瀏覽代碼

Merge pull request #3936 from thinkyhead/rc_sav_mk1

Support for SAV_3DGLCD OLED LCD controller
Scott Lahteine 9 年之前
父節點
當前提交
1a01a44a94

+ 6
- 12
Marlin/Conditionals.h 查看文件

74
     #define ENCODER_STEPS_PER_MENU_ITEM 1
74
     #define ENCODER_STEPS_PER_MENU_ITEM 1
75
   #endif
75
   #endif
76
 
76
 
77
-  // Generic support for SSD1306 OLED based LCDs.
78
-  #if ENABLED(U8GLIB_SSD1306)
77
+  // Generic support for SSD1306 / SH1106 OLED based LCDs.
78
+  #if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
79
     #define ULTRA_LCD  //general LCD support, also 16x2
79
     #define ULTRA_LCD  //general LCD support, also 16x2
80
-    #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 graphic Display Family)
80
+    #define DOGLCD  // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
81
   #endif
81
   #endif
82
 
82
 
83
-  #if ENABLED(PANEL_ONE)
83
+  #if ENABLED(PANEL_ONE) || ENABLED(U8GLIB_SH1106)
84
     #define ULTIMAKERCONTROLLER
84
     #define ULTIMAKERCONTROLLER
85
   #endif
85
   #endif
86
 
86
 
245
    * Default LCD contrast for dogm-like LCD displays
245
    * Default LCD contrast for dogm-like LCD displays
246
    */
246
    */
247
   #if ENABLED(DOGLCD)
247
   #if ENABLED(DOGLCD)
248
-    #if !defined(DEFAULT_LCD_CONTRAST)
248
+    #define HAS_LCD_CONTRAST (DISABLED(U8GLIB_ST7920) && DISABLED(U8GLIB_SSD1306) && DISABLED(U8GLIB_SH1106))
249
+    #if HAS_LCD_CONTRAST && !defined(DEFAULT_LCD_CONTRAST)
249
       #define DEFAULT_LCD_CONTRAST 32
250
       #define DEFAULT_LCD_CONTRAST 32
250
     #endif
251
     #endif
251
-    #define HAS_LCD_CONTRAST
252
-    #if ENABLED(U8GLIB_ST7920)
253
-      #undef HAS_LCD_CONTRAST
254
-    #endif
255
-    #if ENABLED(U8GLIB_SSD1306)
256
-      #undef HAS_LCD_CONTRAST
257
-    #endif
258
   #endif
252
   #endif
259
 
253
 
260
 #else // CONFIGURATION_LCD
254
 #else // CONFIGURATION_LCD

+ 7
- 0
Marlin/Configuration.h 查看文件

1063
 //
1063
 //
1064
 //#define U8GLIB_SSD1306
1064
 //#define U8GLIB_SSD1306
1065
 
1065
 
1066
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1067
+//#define SAV_3DGLCD
1068
+#if ENABLED(SAV_3DGLCD)
1069
+  //#define U8GLIB_SSD1306
1070
+  #define U8GLIB_SH1106
1071
+#endif
1072
+
1066
 //
1073
 //
1067
 // CONTROLLER TYPE: Shift register panels
1074
 // CONTROLLER TYPE: Shift register panels
1068
 //
1075
 //

+ 2
- 2
Marlin/Marlin_main.cpp 查看文件

5628
 
5628
 
5629
 #endif // CHDK || PHOTOGRAPH_PIN
5629
 #endif // CHDK || PHOTOGRAPH_PIN
5630
 
5630
 
5631
-#if ENABLED(HAS_LCD_CONTRAST)
5631
+#if HAS_LCD_CONTRAST
5632
 
5632
 
5633
   /**
5633
   /**
5634
    * M250: Read and optionally set the LCD contrast
5634
    * M250: Read and optionally set the LCD contrast
6979
           break;
6979
           break;
6980
       #endif // CHDK || PHOTOGRAPH_PIN
6980
       #endif // CHDK || PHOTOGRAPH_PIN
6981
 
6981
 
6982
-      #if ENABLED(HAS_LCD_CONTRAST)
6982
+      #if HAS_LCD_CONTRAST
6983
         case 250: // M250  Set LCD contrast value: C<value> (value 0..63)
6983
         case 250: // M250  Set LCD contrast value: C<value> (value 0..63)
6984
           gcode_M250();
6984
           gcode_M250();
6985
           break;
6985
           break;

+ 4
- 4
Marlin/configuration_store.cpp 查看文件

282
     EEPROM_WRITE_VAR(i, thermalManager.bedKd);
282
     EEPROM_WRITE_VAR(i, thermalManager.bedKd);
283
   #endif
283
   #endif
284
 
284
 
285
-  #if DISABLED(HAS_LCD_CONTRAST)
285
+  #if !HAS_LCD_CONTRAST
286
     const int lcd_contrast = 32;
286
     const int lcd_contrast = 32;
287
   #endif
287
   #endif
288
   EEPROM_WRITE_VAR(i, lcd_contrast);
288
   EEPROM_WRITE_VAR(i, lcd_contrast);
462
       for (uint8_t q=3; q--;) EEPROM_READ_VAR(i, dummy); // bedKp, bedKi, bedKd
462
       for (uint8_t q=3; q--;) EEPROM_READ_VAR(i, dummy); // bedKp, bedKi, bedKd
463
     #endif
463
     #endif
464
 
464
 
465
-    #if DISABLED(HAS_LCD_CONTRAST)
465
+    #if !HAS_LCD_CONTRAST
466
       int lcd_contrast;
466
       int lcd_contrast;
467
     #endif
467
     #endif
468
     EEPROM_READ_VAR(i, lcd_contrast);
468
     EEPROM_READ_VAR(i, lcd_contrast);
579
     absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
579
     absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
580
   #endif
580
   #endif
581
 
581
 
582
-  #if ENABLED(HAS_LCD_CONTRAST)
582
+  #if HAS_LCD_CONTRAST
583
     lcd_contrast = DEFAULT_LCD_CONTRAST;
583
     lcd_contrast = DEFAULT_LCD_CONTRAST;
584
   #endif
584
   #endif
585
 
585
 
842
 
842
 
843
   #endif // PIDTEMP || PIDTEMPBED
843
   #endif // PIDTEMP || PIDTEMPBED
844
 
844
 
845
-  #if ENABLED(HAS_LCD_CONTRAST)
845
+  #if HAS_LCD_CONTRAST
846
     CONFIG_ECHO_START;
846
     CONFIG_ECHO_START;
847
     if (!forReplay) {
847
     if (!forReplay) {
848
       SERIAL_ECHOLNPGM("LCD Contrast:");
848
       SERIAL_ECHOLNPGM("LCD Contrast:");

+ 4
- 1
Marlin/dogm_lcd_implementation.h 查看文件

150
   U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0);
150
   U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0);
151
 #elif ENABLED(U8GLIB_SSD1306)
151
 #elif ENABLED(U8GLIB_SSD1306)
152
   // Generic support for SSD1306 OLED I2C LCDs
152
   // Generic support for SSD1306 OLED I2C LCDs
153
-  U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
153
+  U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);
154
+#elif ENABLED(U8GLIB_SH1106)
155
+  // Generic support for SH1106 OLED I2C LCDs
156
+  U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);
154
 #elif ENABLED(MINIPANEL)
157
 #elif ENABLED(MINIPANEL)
155
   // The MINIPanel display
158
   // The MINIPanel display
156
   U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);
159
   U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0);

+ 7
- 0
Marlin/example_configurations/Felix/Configuration.h 查看文件

1046
 //
1046
 //
1047
 //#define U8GLIB_SSD1306
1047
 //#define U8GLIB_SSD1306
1048
 
1048
 
1049
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1050
+//#define SAV_3DGLCD
1051
+#if ENABLED(SAV_3DGLCD)
1052
+  //#define U8GLIB_SSD1306
1053
+  #define U8GLIB_SH1106
1054
+#endif
1055
+
1049
 //
1056
 //
1050
 // CONTROLLER TYPE: Shift register panels
1057
 // CONTROLLER TYPE: Shift register panels
1051
 //
1058
 //

+ 7
- 0
Marlin/example_configurations/Felix/DUAL/Configuration.h 查看文件

1044
 //
1044
 //
1045
 //#define U8GLIB_SSD1306
1045
 //#define U8GLIB_SSD1306
1046
 
1046
 
1047
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1048
+//#define SAV_3DGLCD
1049
+#if ENABLED(SAV_3DGLCD)
1050
+  //#define U8GLIB_SSD1306
1051
+  #define U8GLIB_SH1106
1052
+#endif
1053
+
1047
 //
1054
 //
1048
 // CONTROLLER TYPE: Shift register panels
1055
 // CONTROLLER TYPE: Shift register panels
1049
 //
1056
 //

+ 7
- 0
Marlin/example_configurations/Hephestos/Configuration.h 查看文件

1055
 //
1055
 //
1056
 //#define U8GLIB_SSD1306
1056
 //#define U8GLIB_SSD1306
1057
 
1057
 
1058
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1059
+//#define SAV_3DGLCD
1060
+#if ENABLED(SAV_3DGLCD)
1061
+  //#define U8GLIB_SSD1306
1062
+  #define U8GLIB_SH1106
1063
+#endif
1064
+
1058
 //
1065
 //
1059
 // CONTROLLER TYPE: Shift register panels
1066
 // CONTROLLER TYPE: Shift register panels
1060
 //
1067
 //

+ 7
- 0
Marlin/example_configurations/Hephestos_2/Configuration.h 查看文件

1057
 //
1057
 //
1058
 //#define U8GLIB_SSD1306
1058
 //#define U8GLIB_SSD1306
1059
 
1059
 
1060
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1061
+//#define SAV_3DGLCD
1062
+#if ENABLED(SAV_3DGLCD)
1063
+  //#define U8GLIB_SSD1306
1064
+  #define U8GLIB_SH1106
1065
+#endif
1066
+
1060
 //
1067
 //
1061
 // CONTROLLER TYPE: Shift register panels
1068
 // CONTROLLER TYPE: Shift register panels
1062
 //
1069
 //

+ 7
- 0
Marlin/example_configurations/K8200/Configuration.h 查看文件

1080
 //
1080
 //
1081
 //#define U8GLIB_SSD1306
1081
 //#define U8GLIB_SSD1306
1082
 
1082
 
1083
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1084
+//#define SAV_3DGLCD
1085
+#if ENABLED(SAV_3DGLCD)
1086
+  //#define U8GLIB_SSD1306
1087
+  #define U8GLIB_SH1106
1088
+#endif
1089
+
1083
 //
1090
 //
1084
 // CONTROLLER TYPE: Shift register panels
1091
 // CONTROLLER TYPE: Shift register panels
1085
 //
1092
 //

+ 7
- 0
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h 查看文件

1063
 //
1063
 //
1064
 //#define U8GLIB_SSD1306
1064
 //#define U8GLIB_SSD1306
1065
 
1065
 
1066
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1067
+//#define SAV_3DGLCD
1068
+#if ENABLED(SAV_3DGLCD)
1069
+  //#define U8GLIB_SSD1306
1070
+  #define U8GLIB_SH1106
1071
+#endif
1072
+
1066
 //
1073
 //
1067
 // CONTROLLER TYPE: Shift register panels
1074
 // CONTROLLER TYPE: Shift register panels
1068
 //
1075
 //

+ 7
- 0
Marlin/example_configurations/RigidBot/Configuration.h 查看文件

1060
 //
1060
 //
1061
 //#define U8GLIB_SSD1306
1061
 //#define U8GLIB_SSD1306
1062
 
1062
 
1063
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1064
+//#define SAV_3DGLCD
1065
+#if ENABLED(SAV_3DGLCD)
1066
+  //#define U8GLIB_SSD1306
1067
+  #define U8GLIB_SH1106
1068
+#endif
1069
+
1063
 //
1070
 //
1064
 // CONTROLLER TYPE: Shift register panels
1071
 // CONTROLLER TYPE: Shift register panels
1065
 //
1072
 //

+ 7
- 0
Marlin/example_configurations/SCARA/Configuration.h 查看文件

1071
 //
1071
 //
1072
 //#define U8GLIB_SSD1306
1072
 //#define U8GLIB_SSD1306
1073
 
1073
 
1074
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1075
+//#define SAV_3DGLCD
1076
+#if ENABLED(SAV_3DGLCD)
1077
+  //#define U8GLIB_SSD1306
1078
+  #define U8GLIB_SH1106
1079
+#endif
1080
+
1074
 //
1081
 //
1075
 // CONTROLLER TYPE: Shift register panels
1082
 // CONTROLLER TYPE: Shift register panels
1076
 //
1083
 //

+ 7
- 0
Marlin/example_configurations/TAZ4/Configuration.h 查看文件

1084
 //
1084
 //
1085
 //#define U8GLIB_SSD1306
1085
 //#define U8GLIB_SSD1306
1086
 
1086
 
1087
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1088
+//#define SAV_3DGLCD
1089
+#if ENABLED(SAV_3DGLCD)
1090
+  //#define U8GLIB_SSD1306
1091
+  #define U8GLIB_SH1106
1092
+#endif
1093
+
1087
 //
1094
 //
1088
 // CONTROLLER TYPE: Shift register panels
1095
 // CONTROLLER TYPE: Shift register panels
1089
 //
1096
 //

+ 7
- 0
Marlin/example_configurations/WITBOX/Configuration.h 查看文件

1055
 //
1055
 //
1056
 //#define U8GLIB_SSD1306
1056
 //#define U8GLIB_SSD1306
1057
 
1057
 
1058
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1059
+//#define SAV_3DGLCD
1060
+#if ENABLED(SAV_3DGLCD)
1061
+  //#define U8GLIB_SSD1306
1062
+  #define U8GLIB_SH1106
1063
+#endif
1064
+
1058
 //
1065
 //
1059
 // CONTROLLER TYPE: Shift register panels
1066
 // CONTROLLER TYPE: Shift register panels
1060
 //
1067
 //

+ 7
- 0
Marlin/example_configurations/adafruit/ST7565/Configuration.h 查看文件

1063
 //
1063
 //
1064
 //#define U8GLIB_SSD1306
1064
 //#define U8GLIB_SSD1306
1065
 
1065
 
1066
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1067
+//#define SAV_3DGLCD
1068
+#if ENABLED(SAV_3DGLCD)
1069
+  //#define U8GLIB_SSD1306
1070
+  #define U8GLIB_SH1106
1071
+#endif
1072
+
1066
 //
1073
 //
1067
 // CONTROLLER TYPE: Shift register panels
1074
 // CONTROLLER TYPE: Shift register panels
1068
 //
1075
 //

+ 7
- 0
Marlin/example_configurations/delta/biv2.5/Configuration.h 查看文件

1192
 //
1192
 //
1193
 //#define U8GLIB_SSD1306
1193
 //#define U8GLIB_SSD1306
1194
 
1194
 
1195
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1196
+//#define SAV_3DGLCD
1197
+#if ENABLED(SAV_3DGLCD)
1198
+  //#define U8GLIB_SSD1306
1199
+  #define U8GLIB_SH1106
1200
+#endif
1201
+
1195
 //
1202
 //
1196
 // CONTROLLER TYPE: Shift register panels
1203
 // CONTROLLER TYPE: Shift register panels
1197
 //
1204
 //

+ 7
- 0
Marlin/example_configurations/delta/generic/Configuration.h 查看文件

1192
 //
1192
 //
1193
 //#define U8GLIB_SSD1306
1193
 //#define U8GLIB_SSD1306
1194
 
1194
 
1195
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1196
+//#define SAV_3DGLCD
1197
+#if ENABLED(SAV_3DGLCD)
1198
+  //#define U8GLIB_SSD1306
1199
+  #define U8GLIB_SH1106
1200
+#endif
1201
+
1195
 //
1202
 //
1196
 // CONTROLLER TYPE: Shift register panels
1203
 // CONTROLLER TYPE: Shift register panels
1197
 //
1204
 //

+ 7
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration.h 查看文件

1196
 //
1196
 //
1197
 //#define U8GLIB_SSD1306
1197
 //#define U8GLIB_SSD1306
1198
 
1198
 
1199
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1200
+//#define SAV_3DGLCD
1201
+#if ENABLED(SAV_3DGLCD)
1202
+  //#define U8GLIB_SSD1306
1203
+  #define U8GLIB_SH1106
1204
+#endif
1205
+
1199
 //
1206
 //
1200
 // CONTROLLER TYPE: Shift register panels
1207
 // CONTROLLER TYPE: Shift register panels
1201
 //
1208
 //

+ 7
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration.h 查看文件

1189
 //
1189
 //
1190
 //#define U8GLIB_SSD1306
1190
 //#define U8GLIB_SSD1306
1191
 
1191
 
1192
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1193
+//#define SAV_3DGLCD
1194
+#if ENABLED(SAV_3DGLCD)
1195
+  //#define U8GLIB_SSD1306
1196
+  #define U8GLIB_SH1106
1197
+#endif
1198
+
1192
 //
1199
 //
1193
 // CONTROLLER TYPE: Shift register panels
1200
 // CONTROLLER TYPE: Shift register panels
1194
 //
1201
 //

+ 7
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration.h 查看文件

1197
 //
1197
 //
1198
 //#define U8GLIB_SSD1306
1198
 //#define U8GLIB_SSD1306
1199
 
1199
 
1200
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1201
+//#define SAV_3DGLCD
1202
+#if ENABLED(SAV_3DGLCD)
1203
+  //#define U8GLIB_SSD1306
1204
+  #define U8GLIB_SH1106
1205
+#endif
1206
+
1200
 //
1207
 //
1201
 // CONTROLLER TYPE: Shift register panels
1208
 // CONTROLLER TYPE: Shift register panels
1202
 //
1209
 //

+ 7
- 0
Marlin/example_configurations/makibox/Configuration.h 查看文件

1066
 //
1066
 //
1067
 //#define U8GLIB_SSD1306
1067
 //#define U8GLIB_SSD1306
1068
 
1068
 
1069
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1070
+//#define SAV_3DGLCD
1071
+#if ENABLED(SAV_3DGLCD)
1072
+  //#define U8GLIB_SSD1306
1073
+  #define U8GLIB_SH1106
1074
+#endif
1075
+
1069
 //
1076
 //
1070
 // CONTROLLER TYPE: Shift register panels
1077
 // CONTROLLER TYPE: Shift register panels
1071
 //
1078
 //

+ 7
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration.h 查看文件

1057
 //
1057
 //
1058
 //#define U8GLIB_SSD1306
1058
 //#define U8GLIB_SSD1306
1059
 
1059
 
1060
+// SAV OLEd LCD module support using either SSD1306 or SH1106 based LCD modules
1061
+//#define SAV_3DGLCD
1062
+#if ENABLED(SAV_3DGLCD)
1063
+  //#define U8GLIB_SSD1306
1064
+  #define U8GLIB_SH1106
1065
+#endif
1066
+
1060
 //
1067
 //
1061
 // CONTROLLER TYPE: Shift register panels
1068
 // CONTROLLER TYPE: Shift register panels
1062
 //
1069
 //

+ 4
- 4
Marlin/ultralcd.cpp 查看文件

97
   static void lcd_control_motion_menu();
97
   static void lcd_control_motion_menu();
98
   static void lcd_control_volumetric_menu();
98
   static void lcd_control_volumetric_menu();
99
 
99
 
100
-  #if ENABLED(HAS_LCD_CONTRAST)
100
+  #if HAS_LCD_CONTRAST
101
     static void lcd_set_contrast();
101
     static void lcd_set_contrast();
102
   #endif
102
   #endif
103
 
103
 
1352
   MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
1352
   MENU_ITEM(submenu, MSG_MOTION, lcd_control_motion_menu);
1353
   MENU_ITEM(submenu, MSG_VOLUMETRIC, lcd_control_volumetric_menu);
1353
   MENU_ITEM(submenu, MSG_VOLUMETRIC, lcd_control_volumetric_menu);
1354
 
1354
 
1355
-  #if ENABLED(HAS_LCD_CONTRAST)
1355
+  #if HAS_LCD_CONTRAST
1356
     //MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
1356
     //MENU_ITEM_EDIT(int3, MSG_CONTRAST, &lcd_contrast, 0, 63);
1357
     MENU_ITEM(submenu, MSG_CONTRAST, lcd_set_contrast);
1357
     MENU_ITEM(submenu, MSG_CONTRAST, lcd_set_contrast);
1358
   #endif
1358
   #endif
1712
  * "Control" > "Contrast" submenu
1712
  * "Control" > "Contrast" submenu
1713
  *
1713
  *
1714
  */
1714
  */
1715
-#if ENABLED(HAS_LCD_CONTRAST)
1715
+#if HAS_LCD_CONTRAST
1716
   static void lcd_set_contrast() {
1716
   static void lcd_set_contrast() {
1717
     ENCODER_DIRECTION_NORMAL();
1717
     ENCODER_DIRECTION_NORMAL();
1718
     if (encoderPosition) {
1718
     if (encoderPosition) {
2383
 
2383
 
2384
 void lcd_reset_alert_level() { lcd_status_message_level = 0; }
2384
 void lcd_reset_alert_level() { lcd_status_message_level = 0; }
2385
 
2385
 
2386
-#if ENABLED(HAS_LCD_CONTRAST)
2386
+#if HAS_LCD_CONTRAST
2387
   void lcd_setcontrast(uint8_t value) {
2387
   void lcd_setcontrast(uint8_t value) {
2388
     lcd_contrast = value & 0x3F;
2388
     lcd_contrast = value & 0x3F;
2389
     u8g.setContrast(lcd_contrast);
2389
     u8g.setContrast(lcd_contrast);

Loading…
取消
儲存