Преглед изворни кода

MKS_MINI, FYSETC RGB, backlight (#15334)

DrDitto пре 5 година
родитељ
комит
04e4eb35be

+ 6
- 4
Marlin/src/Marlin.cpp Прегледај датотеку

974
 
974
 
975
   // UI must be initialized before EEPROM
975
   // UI must be initialized before EEPROM
976
   // (because EEPROM code calls the UI).
976
   // (because EEPROM code calls the UI).
977
+
978
+  // Set up LEDs early
979
+  #if HAS_COLOR_LEDS
980
+    leds.setup();
981
+  #endif
982
+
977
   ui.init();
983
   ui.init();
978
   ui.reset_status();
984
   ui.reset_status();
979
 
985
 
1068
     OUT_WRITE(STAT_LED_BLUE_PIN, LOW); // OFF
1074
     OUT_WRITE(STAT_LED_BLUE_PIN, LOW); // OFF
1069
   #endif
1075
   #endif
1070
 
1076
 
1071
-  #if HAS_COLOR_LEDS
1072
-    leds.setup();
1073
-  #endif
1074
-
1075
   #if HAS_CASE_LIGHT
1077
   #if HAS_CASE_LIGHT
1076
     #if DISABLED(CASE_LIGHT_USE_NEOPIXEL)
1078
     #if DISABLED(CASE_LIGHT_USE_NEOPIXEL)
1077
       if (PWM_PIN(CASE_LIGHT_PIN)) SET_PWM(CASE_LIGHT_PIN); else SET_OUTPUT(CASE_LIGHT_PIN);
1079
       if (PWM_PIN(CASE_LIGHT_PIN)) SET_PWM(CASE_LIGHT_PIN); else SET_OUTPUT(CASE_LIGHT_PIN);

+ 20
- 7
Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp Прегледај датотеку

170
     case U8G_DEV_MSG_INIT:
170
     case U8G_DEV_MSG_INIT:
171
       u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
171
       u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);
172
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_init_seq);
172
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_init_seq);
173
+      #if ENABLED(MKS_MINI_12864)
174
+        u8g_Delay(5);
175
+      #endif
173
       break;
176
       break;
174
 
177
 
175
     case U8G_DEV_MSG_STOP: break;
178
     case U8G_DEV_MSG_STOP: break;
176
 
179
 
177
     case U8G_DEV_MSG_PAGE_NEXT: {
180
     case U8G_DEV_MSG_PAGE_NEXT: {
178
       u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
181
       u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
179
-
180
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start);
182
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start);
181
-      u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page)); /* select current page */
182
-      u8g_SetAddress(u8g, dev, 1);           /* data mode */
183
+      #if ENABLED(MKS_MINI_12864)
184
+        u8g_Delay(5);
185
+      #endif
186
+      u8g_WriteByte(u8g, dev, 0x0B0 | (2 * pb->p.page)); /* select current page */
187
+      u8g_SetAddress(u8g, dev, 1); /* data mode */
183
       u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)pb->buf);
188
       u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)pb->buf);
184
       u8g_SetChipSelect(u8g, dev, 0);
189
       u8g_SetChipSelect(u8g, dev, 0);
185
-
186
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start);
190
       u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_HAL_data_start);
187
-      u8g_WriteByte(u8g, dev, 0x0B0 | (2*pb->p.page+1)); /* select current page */
188
-      u8g_SetAddress(u8g, dev, 1);           /* data mode */
191
+      #if ENABLED(MKS_MINI_12864)
192
+        u8g_Delay(5);
193
+      #endif
194
+      u8g_WriteByte(u8g, dev, 0x0B0 | (2 * pb->p.page + 1)); /* select current page */
195
+      u8g_SetAddress(u8g, dev, 1); /* data mode */
189
       u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);
196
       u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);
190
       u8g_SetChipSelect(u8g, dev, 0);
197
       u8g_SetChipSelect(u8g, dev, 0);
191
     } break;
198
     } break;
192
 
199
 
193
     case U8G_DEV_MSG_CONTRAST:
200
     case U8G_DEV_MSG_CONTRAST:
194
       u8g_SetChipSelect(u8g, dev, 1);
201
       u8g_SetChipSelect(u8g, dev, 1);
195
-      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */
202
+      #if ENABLED(MKS_MINI_12864)
203
+        u8g_Delay(5);
204
+      #endif
205
+      u8g_SetAddress(u8g, dev, 0); /* instruction mode */
196
       u8g_WriteByte(u8g, dev, 0x081);
206
       u8g_WriteByte(u8g, dev, 0x081);
197
       u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
207
       u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);
198
       u8g_SetChipSelect(u8g, dev, 0);
208
       u8g_SetChipSelect(u8g, dev, 0);
209
+      #if ENABLED(MKS_MINI_12864)
210
+        u8g_Delay(5);
211
+      #endif
199
       return 1;
212
       return 1;
200
   }
213
   }
201
   return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
214
   return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);

+ 4
- 4
Marlin/src/lcd/dogm/ultralcd_DOGM.cpp Прегледај датотеку

21
  */
21
  */
22
 
22
 
23
 /**
23
 /**
24
- * ultralcd_DOGM.cpp
24
+ * lcd/dogm/ultralcd_DOGM.h
25
  *
25
  *
26
  * Implementation of the LCD display routines for a DOGM128 graphic display.
26
  * Implementation of the LCD display routines for a DOGM128 graphic display.
27
  * by STB for ErikZalm/Marlin. Common LCD 128x64 pixel graphic displays.
27
  * by STB for ErikZalm/Marlin. Common LCD 128x64 pixel graphic displays.
30
  * License: http://opensource.org/licenses/BSD-3-Clause
30
  * License: http://opensource.org/licenses/BSD-3-Clause
31
  *
31
  *
32
  * With the use of:
32
  * With the use of:
33
- * u8glib by Oliver Kraus
34
- * https://github.com/olikraus/U8glib_Arduino
35
- * License: http://opensource.org/licenses/BSD-3-Clause
33
+ *  u8glib by Oliver Kraus
34
+ *  https://github.com/olikraus/U8glib_Arduino
35
+ *  License: http://opensource.org/licenses/BSD-3-Clause
36
  */
36
  */
37
 
37
 
38
 #include "../../inc/MarlinConfigPre.h"
38
 #include "../../inc/MarlinConfigPre.h"

+ 119
- 61
Marlin/src/lcd/dogm/ultralcd_DOGM.h Прегледај датотеку

22
 #pragma once
22
 #pragma once
23
 
23
 
24
 /**
24
 /**
25
- * ultralcd_DOGM.h
25
+ * lcd/dogm/ultralcd_DOGM.h
26
  */
26
  */
27
 
27
 
28
 #include "../../inc/MarlinConfigPre.h"
28
 #include "../../inc/MarlinConfigPre.h"
30
 #include <U8glib.h>
30
 #include <U8glib.h>
31
 #include "HAL_LCD_class_defines.h"
31
 #include "HAL_LCD_class_defines.h"
32
 
32
 
33
-// LCD selection
33
+//#define ALTERNATIVE_LCD
34
+
34
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
35
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
35
   #define U8G_CLASS U8GLIB_ST7920_128X64_4X
36
   #define U8G_CLASS U8GLIB_ST7920_128X64_4X
36
   #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN)
37
   #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN)
40
   #endif
41
   #endif
41
 
42
 
42
 #elif ENABLED(U8GLIB_ST7920)
43
 #elif ENABLED(U8GLIB_ST7920)
44
+
43
   // RepRap Discount Full Graphics Smart Controller
45
   // RepRap Discount Full Graphics Smart Controller
46
+
44
   #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN)
47
   #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN)
45
-    #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL
46
-    #define U8G_PARAM LCD_PINS_RS // 2 stripes, HW SPI (shared with SD card, on AVR does not use standard LCD adapter)
48
+    #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL               // 2 stripes, HW SPI (Shared with SD card. Non-standard LCD adapter on AVR.)
49
+    #define U8G_PARAM LCD_PINS_RS
47
   #else
50
   #else
48
-    //#define U8G_CLASS U8GLIB_ST7920_128X64_4X
49
-    //#define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS     // Original u8glib device. 2 stripes, SW SPI
50
-    #define U8G_CLASS U8GLIB_ST7920_128X64_RRD
51
-    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS       // Number of stripes can be adjusted in ultralcd_st7920_u8glib_rrd.h with PAGE_HEIGHT
52
-                                                                      // AVR version ignores these pin settings
53
-                                                                      // HAL version uses these pin settings
51
+    #if ENABLED(ALTERNATIVE_LCD)
52
+      #define U8G_CLASS U8GLIB_ST7920_128X64_4X                 // 2 stripes, SW SPI (Original u8glib device)
53
+    #else
54
+      #define U8G_CLASS U8GLIB_ST7920_128X64_RRD                // Adjust stripes with PAGE_HEIGHT in ultralcd_st7920_u8glib_rrd.h
55
+    #endif
56
+    #define U8G_PARAM LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS // AVR version ignores these pin settings
57
+                                                                // HAL version uses these pin settings
54
   #endif
58
   #endif
55
 
59
 
56
 #elif ENABLED(CARTESIO_UI)
60
 #elif ENABLED(CARTESIO_UI)
57
-  // The CartesioUI display
58
-  //#define U8G_CLASS U8GLIB_DOGM128_2X
59
-  //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0   // 4 stripes
60
-  #define U8G_CLASS U8GLIB_DOGM128_2X
61
-  #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                              // 4 stripes
61
+
62
+  // CartesioUI LCD
63
+
64
+  #if ENABLED(ALTERNATIVE_LCD)
65
+    #define U8G_CLASS U8GLIB_DOGM128_2X                         // 4 stripes
66
+    #define FORCE_SOFT_SPI                                      // SW-SPI
67
+  #else
68
+    #define U8G_CLASS U8GLIB_DOGM128_2X                         // 4 stripes (HW-SPI)
69
+  #endif
62
 
70
 
63
 #elif ENABLED(U8GLIB_LM6059_AF)
71
 #elif ENABLED(U8GLIB_LM6059_AF)
72
+
64
   // Based on the Adafruit ST7565 (http://www.adafruit.com/products/250)
73
   // Based on the Adafruit ST7565 (http://www.adafruit.com/products/250)
65
-  //#define U8G_CLASS U8GLIB_LM6059
66
-  //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0                            // 8 stripes
67
-  #define U8G_CLASS U8GLIB_LM6059_2X
68
-  #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                              // 4 stripes
74
+
75
+  #if ENABLED(ALTERNATIVE_LCD)
76
+    #define U8G_CLASS U8GLIB_LM6059                             // 8 stripes (HW-SPI)
77
+  #else
78
+    #define U8G_CLASS U8GLIB_LM6059_2X                          // 4 stripes (HW-SPI)
79
+  #endif
69
 
80
 
70
 #elif ENABLED(U8GLIB_ST7565_64128N)
81
 #elif ENABLED(U8GLIB_ST7565_64128N)
71
-  // The MaKrPanel, Mini Viki, Viki 2.0 & AZSMZ 12864 ST7565 controller
82
+
83
+  // MaKrPanel, Mini Viki, Viki 2.0, AZSMZ 12864 ST7565 controller
84
+
72
   #define SMART_RAMPS (MB(RAMPS_SMART_EFB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_SMART_EFF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_SMART_SF))
85
   #define SMART_RAMPS (MB(RAMPS_SMART_EFB) || MB(RAMPS_SMART_EEB) || MB(RAMPS_SMART_EFF) || MB(RAMPS_SMART_EEF) || MB(RAMPS_SMART_SF))
73
-  #if DOGLCD_SCK == SCK_PIN && DOGLCD_MOSI == MOSI_PIN && !SMART_RAMPS
74
-    #define U8G_CLASS U8GLIB_64128N_2X_HAL
75
-    #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                            // using HW-SPI
76
-  #else
77
-    #define U8G_CLASS U8GLIB_64128N_2X_HAL
78
-    #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0   // using SW-SPI
86
+  #define U8G_CLASS U8GLIB_64128N_2X_HAL                        // 4 stripes (HW-SPI)
87
+  #if SMART_RAMPS || DOGLCD_SCK != SCK_PIN || DOGLCD_MOSI != MOSI_PIN
88
+    #define FORCE_SOFT_SPI                                      // SW-SPI
79
   #endif
89
   #endif
80
 
90
 
81
 #elif ENABLED(MKS_12864OLED_SSD1306)
91
 #elif ENABLED(MKS_12864OLED_SSD1306)
92
+
82
   // MKS 128x64 (SSD1306) OLED I2C LCD
93
   // MKS 128x64 (SSD1306) OLED I2C LCD
83
-  #define U8G_CLASS U8GLIB_SSD1306_128X64
84
-  #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0     // 8 stripes
85
-  //#define U8G_CLASS U8GLIB_SSD1306_128X64_2X
86
-  //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0   // 4 stripes
94
+
95
+  #define FORCE_SOFT_SPI                                        // SW-SPI
96
+
97
+  #if ENABLED(ALTERNATIVE_LCD)
98
+    #define U8G_CLASS U8GLIB_SSD1306_128X64_2X                  // 4 stripes
99
+  #else
100
+    #define U8G_CLASS U8GLIB_SSD1306_128X64                     // 8 stripes
101
+  #endif
87
 
102
 
88
 #elif ENABLED(U8GLIB_SSD1306)
103
 #elif ENABLED(U8GLIB_SSD1306)
89
-  // Generic support for SSD1306 OLED I2C LCDs
90
-  //#define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE
91
-  //#define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)           // 4 stripes
92
-  #define U8G_CLASS U8GLIB_SSD1306_128X64_2X
93
-  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)             // 4 stripes
104
+
105
+  // Generic SSD1306 OLED I2C LCD
106
+
107
+  #if ENABLED(ALTERNATIVE_LCD)
108
+    #define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE       // 4 stripes
109
+  #else
110
+    #define U8G_CLASS U8GLIB_SSD1306_128X64_2X                  // 4 stripes
111
+  #endif
112
+  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)
94
 
113
 
95
 #elif ENABLED(MKS_12864OLED)
114
 #elif ENABLED(MKS_12864OLED)
115
+
96
   // MKS 128x64 (SH1106) OLED I2C LCD
116
   // MKS 128x64 (SH1106) OLED I2C LCD
97
-  #define U8G_CLASS U8GLIB_SH1106_128X64
98
-  #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0     // 8 stripes
99
-  //#define U8G_CLASS U8GLIB_SH1106_128X64_2X
100
-  //#define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0   // 4 stripes
117
+
118
+  #define FORCE_SOFT_SPI                                        // SW-SPI
119
+
120
+  #if ENABLED(ALTERNATIVE_LCD)
121
+    #define U8G_CLASS U8GLIB_SH1106_128X64_2X                   // 4 stripes
122
+  #else
123
+    #define U8G_CLASS U8GLIB_SH1106_128X64                      // 8 stripes
124
+  #endif
125
+
101
 #elif ENABLED(U8GLIB_SH1106)
126
 #elif ENABLED(U8GLIB_SH1106)
102
-  // Generic support for SH1106 OLED I2C LCDs
103
-  //#define U8G_CLASS U8GLIB_SH1106_128X64_2X_I2C_2_WIRE
104
-  //#define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)           // 4 stripes
105
-  #define U8G_CLASS U8GLIB_SH1106_128X64_2X
106
-  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)             // 4 stripes
127
+
128
+  // Generic SH1106 OLED I2C LCD
129
+
130
+  #if ENABLED(ALTERNATIVE_LCD)
131
+    #define U8G_CLASS U8GLIB_SH1106_128X64_2X_I2C_2_WIRE        // 4 stripes
132
+  #else
133
+    #define U8G_CLASS U8GLIB_SH1106_128X64_2X                   // 4 stripes
134
+  #endif
135
+  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)       // I2C
136
+
107
 #elif ENABLED(U8GLIB_SSD1309)
137
 #elif ENABLED(U8GLIB_SSD1309)
138
+
108
   // Generic support for SSD1309 OLED I2C LCDs
139
   // Generic support for SSD1309 OLED I2C LCDs
140
+
109
   #define U8G_CLASS U8GLIB_SSD1309_128X64
141
   #define U8G_CLASS U8GLIB_SSD1309_128X64
110
-  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)
111
-#elif ENABLED(MINIPANEL)
112
-  // MINIPanel display
113
-  //#define U8G_CLASS U8GLIB_MINI12864
114
-  //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0                            // 8 stripes
115
-  #define U8G_CLASS U8GLIB_MINI12864_2X
116
-  #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                              // 8 stripes
142
+  #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST)       // I2C
143
+
117
 #elif ENABLED(FYSETC_MINI_12864)
144
 #elif ENABLED(FYSETC_MINI_12864)
118
-  // The FYSETC_MINI_12864 display
119
-  #define U8G_CLASS U8GLIB_MINI12864_2X_HAL
120
-  #if ENABLED(FORCE_SOFT_SPI)
121
-    #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0   // 4 stripes SW-SPI
145
+
146
+  // The FYSETC Mini 12864 display
147
+
148
+  #define U8G_CLASS U8GLIB_MINI12864_2X_HAL                     // 4 stripes
149
+
150
+#elif ENABLED(MKS_MINI_12864)
151
+
152
+  // The MKS_MINI_12864 V1/V2 aren't exact copies of the MiniPanel.
153
+  // Panel management is in u8g_dev_uc1701_mini12864_HAL.cpp with
154
+  // extra delays added to remove glitches seen with fast MCUs.
155
+
156
+  #define U8G_CLASS U8GLIB_MINI12864_2X_HAL                     // 8 stripes (HW-SPI)
157
+
158
+#elif ENABLED(MINIPANEL)
159
+
160
+  #if ENABLED(ALTERNATIVE_LCD)
161
+    #define U8G_CLASS U8GLIB_MINI12864
122
   #else
162
   #else
123
-    #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                            // 4 stripes HW-SPI
163
+    #define U8G_CLASS U8GLIB_MINI12864_2X                       // 8 stripes (HW-SPI)
124
   #endif
164
   #endif
165
+
125
 #elif ENABLED(U8GLIB_SH1106_EINSTART)
166
 #elif ENABLED(U8GLIB_SH1106_EINSTART)
167
+
126
   // Connected via motherboard header
168
   // Connected via motherboard header
169
+
127
   #define U8G_CLASS U8GLIB_SH1106_128X64
170
   #define U8G_CLASS U8GLIB_SH1106_128X64
128
   #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS
171
   #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS
172
+
129
 #elif ENABLED(FSMC_GRAPHICAL_TFT)
173
 #elif ENABLED(FSMC_GRAPHICAL_TFT)
174
+
130
   // Unspecified 320x240 TFT pre-initialized by built-in bootloader
175
   // Unspecified 320x240 TFT pre-initialized by built-in bootloader
176
+
131
   #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64
177
   #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64
132
   #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN
178
   #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN
179
+
133
 #else
180
 #else
134
-  // for regular DOGM128 display with HW-SPI
135
-  //#define U8G_CLASS U8GLIB_DOGM128
136
-  //#define U8G_PARAM DOGLCD_CS, DOGLCD_A0                            // HW-SPI Com: CS, A0  // 8 stripes
137
-  #define U8G_CLASS U8GLIB_DOGM128_2X
138
-  #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                              // HW-SPI Com: CS, A0 // 4 stripes
181
+
182
+  #if ENABLED(ALTERNATIVE_LCD)
183
+    #define U8G_CLASS U8GLIB_DOGM128                            // 8 stripes (HW-SPI)
184
+  #else
185
+    #define U8G_CLASS U8GLIB_DOGM128_2X                         // 4 stripes (HW-SPI)
186
+  #endif
187
+
188
+#endif
189
+
190
+// Use HW-SPI if no other option is specified
191
+#ifndef U8G_PARAM
192
+  #if ENABLED(FORCE_SOFT_SPI)
193
+    #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0 // SW-SPI
194
+  #else
195
+    #define U8G_PARAM DOGLCD_CS, DOGLCD_A0                      // HW-SPI
196
+  #endif
139
 #endif
197
 #endif
140
 
198
 
141
 #ifndef LCD_PIXEL_WIDTH
199
 #ifndef LCD_PIXEL_WIDTH

+ 0
- 1
Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h Прегледај датотеку

217
       #define DOGLCD_A0    P0_16
217
       #define DOGLCD_A0    P0_16
218
       #define DOGLCD_SCK   P0_07
218
       #define DOGLCD_SCK   P0_07
219
       #define DOGLCD_MOSI  P1_20
219
       #define DOGLCD_MOSI  P1_20
220
-      #define FORCE_SOFT_SPI
221
 
220
 
222
       #define LCD_BACKLIGHT_PIN -1
221
       #define LCD_BACKLIGHT_PIN -1
223
 
222
 

Loading…
Откажи
Сачувај