Merge pull request #3936 from thinkyhead/rc_sav_mk1
Support for SAV_3DGLCD OLED LCD controller
This commit is contained in:
		
						commit
						1a01a44a94
					
				| @ -74,13 +74,13 @@ | ||||
|     #define ENCODER_STEPS_PER_MENU_ITEM 1 | ||||
|   #endif | ||||
| 
 | ||||
|   // Generic support for SSD1306 OLED based LCDs.
 | ||||
|   #if ENABLED(U8GLIB_SSD1306) | ||||
|   // Generic support for SSD1306 / SH1106 OLED based LCDs.
 | ||||
|   #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106) | ||||
|     #define ULTRA_LCD  //general LCD support, also 16x2
 | ||||
|     #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 graphic Display Family)
 | ||||
|     #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
 | ||||
|   #endif | ||||
| 
 | ||||
|   #if ENABLED(PANEL_ONE) | ||||
|   #if ENABLED(PANEL_ONE) || ENABLED(U8GLIB_SH1106) | ||||
|     #define ULTIMAKERCONTROLLER | ||||
|   #endif | ||||
| 
 | ||||
| @ -245,16 +245,10 @@ | ||||
|    * Default LCD contrast for dogm-like LCD displays | ||||
|    */ | ||||
|   #if ENABLED(DOGLCD) | ||||
|     #if !defined(DEFAULT_LCD_CONTRAST) | ||||
|     #define HAS_LCD_CONTRAST (DISABLED(U8GLIB_ST7920) && DISABLED(U8GLIB_SSD1306) && DISABLED(U8GLIB_SH1106)) | ||||
|     #if HAS_LCD_CONTRAST && !defined(DEFAULT_LCD_CONTRAST) | ||||
|       #define DEFAULT_LCD_CONTRAST 32 | ||||
|     #endif | ||||
|     #define HAS_LCD_CONTRAST | ||||
|     #if ENABLED(U8GLIB_ST7920) | ||||
|       #undef HAS_LCD_CONTRAST | ||||
|     #endif | ||||
|     #if ENABLED(U8GLIB_SSD1306) | ||||
|       #undef HAS_LCD_CONTRAST | ||||
|     #endif | ||||
|   #endif | ||||
| 
 | ||||
| #else // CONFIGURATION_LCD
 | ||||
|  | ||||
| @ -1063,6 +1063,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -5628,7 +5628,7 @@ inline void gcode_M226() { | ||||
| 
 | ||||
| #endif // CHDK || PHOTOGRAPH_PIN
 | ||||
| 
 | ||||
| #if ENABLED(HAS_LCD_CONTRAST) | ||||
| #if HAS_LCD_CONTRAST | ||||
| 
 | ||||
|   /**
 | ||||
|    * M250: Read and optionally set the LCD contrast | ||||
| @ -6979,7 +6979,7 @@ void process_next_command() { | ||||
|           break; | ||||
|       #endif // CHDK || PHOTOGRAPH_PIN
 | ||||
| 
 | ||||
|       #if ENABLED(HAS_LCD_CONTRAST) | ||||
|       #if HAS_LCD_CONTRAST | ||||
|         case 250: // M250  Set LCD contrast value: C<value> (value 0..63)
 | ||||
|           gcode_M250(); | ||||
|           break; | ||||
|  | ||||
| @ -282,7 +282,7 @@ void Config_StoreSettings()  { | ||||
|     EEPROM_WRITE_VAR(i, thermalManager.bedKd); | ||||
|   #endif | ||||
| 
 | ||||
|   #if DISABLED(HAS_LCD_CONTRAST) | ||||
|   #if !HAS_LCD_CONTRAST | ||||
|     const int lcd_contrast = 32; | ||||
|   #endif | ||||
|   EEPROM_WRITE_VAR(i, lcd_contrast); | ||||
| @ -462,7 +462,7 @@ void Config_RetrieveSettings() { | ||||
|       for (uint8_t q=3; q--;) EEPROM_READ_VAR(i, dummy); // bedKp, bedKi, bedKd
 | ||||
|     #endif | ||||
| 
 | ||||
|     #if DISABLED(HAS_LCD_CONTRAST) | ||||
|     #if !HAS_LCD_CONTRAST | ||||
|       int lcd_contrast; | ||||
|     #endif | ||||
|     EEPROM_READ_VAR(i, lcd_contrast); | ||||
| @ -579,7 +579,7 @@ void Config_ResetDefault() { | ||||
|     absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED; | ||||
|   #endif | ||||
| 
 | ||||
|   #if ENABLED(HAS_LCD_CONTRAST) | ||||
|   #if HAS_LCD_CONTRAST | ||||
|     lcd_contrast = DEFAULT_LCD_CONTRAST; | ||||
|   #endif | ||||
| 
 | ||||
| @ -842,7 +842,7 @@ void Config_PrintSettings(bool forReplay) { | ||||
| 
 | ||||
|   #endif // PIDTEMP || PIDTEMPBED
 | ||||
| 
 | ||||
|   #if ENABLED(HAS_LCD_CONTRAST) | ||||
|   #if HAS_LCD_CONTRAST | ||||
|     CONFIG_ECHO_START; | ||||
|     if (!forReplay) { | ||||
|       SERIAL_ECHOLNPGM("LCD Contrast:"); | ||||
|  | ||||
| @ -150,7 +150,10 @@ | ||||
|   U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0); | ||||
| #elif ENABLED(U8GLIB_SSD1306) | ||||
|   // Generic support for SSD1306 OLED I2C LCDs
 | ||||
|   U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); | ||||
|   U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); | ||||
| #elif ENABLED(U8GLIB_SH1106) | ||||
|   // Generic support for SH1106 OLED I2C LCDs
 | ||||
|   U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); | ||||
| #elif ENABLED(MINIPANEL) | ||||
|   // The MINIPanel display
 | ||||
|   U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); | ||||
|  | ||||
| @ -1046,6 +1046,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1044,6 +1044,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1055,6 +1055,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1057,6 +1057,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1080,6 +1080,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1063,6 +1063,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1060,6 +1060,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1071,6 +1071,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1084,6 +1084,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1055,6 +1055,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1063,6 +1063,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1192,6 +1192,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1192,6 +1192,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1196,6 +1196,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1189,6 +1189,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1197,6 +1197,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1066,6 +1066,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -1057,6 +1057,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo | ||||
| //
 | ||||
| //#define U8GLIB_SSD1306
 | ||||
| 
 | ||||
| // SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
 | ||||
| //#define SAV_3DGLCD
 | ||||
| #if ENABLED(SAV_3DGLCD) | ||||
|   //#define U8GLIB_SSD1306
 | ||||
|   #define U8GLIB_SH1106 | ||||
| #endif | ||||
| 
 | ||||
| //
 | ||||
| // CONTROLLER TYPE: Shift register panels
 | ||||
| //
 | ||||
|  | ||||
| @ -97,7 +97,7 @@ static void lcd_status_screen(); | ||||
|   static void lcd_control_motion_menu(); | ||||
|   static void lcd_control_volumetric_menu(); | ||||
| 
 | ||||
|   #if ENABLED(HAS_LCD_CONTRAST) | ||||
|   #if HAS_LCD_CONTRAST | ||||
|     static void lcd_set_contrast(); | ||||
|   #endif | ||||
| 
 | ||||
| @ -1352,7 +1352,7 @@ static void lcd_control_menu() { | ||||
|   MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu); | ||||
|   MENU_ITEM(submenu, MSG_VOLUMETRIC, lcd_control_volumetric_menu); | ||||
| 
 | ||||
|   #if ENABLED(HAS_LCD_CONTRAST) | ||||
|   #if HAS_LCD_CONTRAST | ||||
|     //MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
 | ||||
|     MENU_ITEM(submenu, MSG_CONTRAST, lcd_set_contrast); | ||||
|   #endif | ||||
| @ -1712,7 +1712,7 @@ static void lcd_control_volumetric_menu() { | ||||
|  * "Control" > "Contrast" submenu | ||||
|  * | ||||
|  */ | ||||
| #if ENABLED(HAS_LCD_CONTRAST) | ||||
| #if HAS_LCD_CONTRAST | ||||
|   static void lcd_set_contrast() { | ||||
|     ENCODER_DIRECTION_NORMAL(); | ||||
|     if (encoderPosition) { | ||||
| @ -2383,7 +2383,7 @@ void lcd_setalertstatuspgm(const char* message) { | ||||
| 
 | ||||
| void lcd_reset_alert_level() { lcd_status_message_level = 0; } | ||||
| 
 | ||||
| #if ENABLED(HAS_LCD_CONTRAST) | ||||
| #if HAS_LCD_CONTRAST | ||||
|   void lcd_setcontrast(uint8_t value) { | ||||
|     lcd_contrast = value & 0x3F; | ||||
|     u8g.setContrast(lcd_contrast); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user