Added a light-weight status screen for the ST7920

- The status screen uses the ST7920 character generator to greatly
  reduce SPI traffic and MCU load when updating the status screen.

- Has been tested with the RepRapDiscount Full Graphics Smart Controller
  but should work with any LCD that uses an ST7920 or fully compatible
  controller.
This commit is contained in:
Marcio Teixeira
2018-02-14 14:43:54 -07:00
parent d741bcf8a9
commit 4880ac6533
24 changed files with 287 additions and 17 deletions

View File

@ -1510,7 +1510,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1510,7 +1510,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1658,9 +1658,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// Note: Details on connecting to the Anet V1.0 controller are in the file pins_ANET_10.h
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1513,6 +1513,7 @@
//
//#define G3D_PANEL
//
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
@ -1521,6 +1522,18 @@
//
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic
// controller and SD support - http://reprap.org/wiki/Mini_panel

View File

@ -1510,7 +1510,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1510,7 +1510,18 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1516,7 +1516,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1514,7 +1514,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1521,7 +1521,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1512,6 +1512,18 @@
//
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic
// controller and SD support - http://reprap.org/wiki/Mini_panel

View File

@ -1513,7 +1513,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1541,7 +1541,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1495,7 +1495,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1510,7 +1510,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1543,7 +1543,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1510,7 +1510,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1504,7 +1504,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1634,7 +1634,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1524,7 +1524,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic

View File

@ -1513,7 +1513,18 @@
// RepRapDiscount FULL GRAPHIC Smart Controller
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
// If USE_ST7920_LIGHTWEIGHT_UI is uncommented, then an alternative
// light-weight status screen will be used that takes advantage of
// the ST7920 character-generator to conserve MCU resources.
//
// Since the lightweight status screen can only show a status
// message or the position, but not both, set DELAY_TO_SHOW_POSITION
// to the number of seconds until the position is revealed after a new
// status message is drawn.
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
//#define USE_ST7920_LIGHTWEIGHT_UI
//#define DELAY_TO_SHOW_POSITION 20
//
// MakerLab Mini Panel with graphic