Bob-the-Kuhn 6 years ago
parent
commit
7342d5c07a

+ 14
- 2
Marlin/Conditionals_LCD.h View File

@@ -39,7 +39,15 @@
39 39
     #define LCD_CONTRAST_MIN 60
40 40
     #define LCD_CONTRAST_MAX 140
41 41
 
42
-  #elif ENABLED(MAKRPANEL) || ENABLED(MINIPANEL)
42
+  #elif ENABLED(MAKRPANEL)
43
+
44
+    #define DOGLCD
45
+    #define ULTIPANEL
46
+    #define NEWPANEL
47
+    #define DEFAULT_LCD_CONTRAST 17
48
+    #define U8GLIB_ST7565_64128N
49
+
50
+  #elif ENABLED(MINIPANEL)
43 51
 
44 52
     #define DOGLCD
45 53
     #define ULTIPANEL
@@ -76,8 +84,12 @@
76 84
       #define LCD_CONTRAST_MIN  75
77 85
       #define LCD_CONTRAST_MAX 115
78 86
       #define DEFAULT_LCD_CONTRAST 95
87
+      #define U8GLIB_ST7565_64128N
79 88
     #elif ENABLED(VIKI2)
80
-      #define DEFAULT_LCD_CONTRAST 40
89
+      #define LCD_CONTRAST_MIN 0
90
+      #define LCD_CONTRAST_MAX 255
91
+      #define DEFAULT_LCD_CONTRAST 140
92
+      #define U8GLIB_ST7565_64128N
81 93
     #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
82 94
       #define LCD_CONTRAST_MIN  90
83 95
       #define LCD_CONTRAST_MAX 130

+ 59
- 32
Marlin/pins_RAMPS_RE_ARM.h View File

@@ -232,6 +232,28 @@
232 232
 
233 233
   #define BEEPER_PIN          37  // not 5V tolerant
234 234
 
235
+  //#define BTN_EN1             31  // J3-2 & AUX-4
236
+  #define BTN_EN2             33  // J3-4 & AUX-4
237
+  #define BTN_ENC             35  // J3-3 & AUX-4
238
+
239
+  #define SD_DETECT_PIN       49  // not 5V tolerant   J3-1 & AUX-3
240
+  #define KILL_PIN            41  // J5-4 & AUX-4
241
+  #define LCD_PINS_RS         16  // J3-7 & AUX-4
242
+  #define LCD_SDSS            16  // J3-7 & AUX-4
243
+  #define LCD_BACKLIGHT_PIN   16  // J3-7 & AUX-4 - only used on DOGLCD controllers
244
+  #define LCD_PINS_ENABLE     51  // (MOSI) J3-10 & AUX-3
245
+  #define LCD_PINS_D4         52  // (SCK)  J3-9 & AUX-3
246
+
247
+  #define LCD_PINS_D5         59  // J3-8 & AUX-2
248
+  #define DOGLCD_A0           59  // J3-8 & AUX-2
249
+  #define LCD_PINS_D6         63  // J5-3 & AUX-2
250
+  #define DOGLCD_CS           63  // J5-3 & AUX-2
251
+  #define LCD_PINS_D7          6  // (SERVO1) J5-1 & SERVO connector  
252
+  
253
+  #define LCD_PINS_D5         71  // ENET_MDIO
254
+  #define LCD_PINS_D6         73  // ENET_RX_ER
255
+  #define LCD_PINS_D7         75  // ENET_RXD1
256
+ 
235 257
   #if ENABLED(NEWPANEL)
236 258
     #if ENABLED(REPRAPWORLD_KEYPAD)
237 259
       #define SHIFT_OUT         51  // (MOSI) J3-10 & AUX-3
@@ -245,7 +267,7 @@
245 267
     //#define SHIFT_EN            41  // J5-4 & AUX-4
246 268
   #endif
247 269
 
248
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && ENABLED(SDSUPPORT)
270
+  #if ENABLED(SDSUPPORT)
249 271
     #define SDCARD_SORT_ALPHA           // Using SORT feature to keep one directory level in RAM
250 272
                                         // When going up/down directory levels the SD card is
251 273
                                         // accessed but the garbage/lines are removed when the
@@ -263,38 +285,43 @@
263 285
     #endif
264 286
   #endif
265 287
 
266
-  #define BTN_EN1             31  // J3-2 & AUX-4
267
-  #define BTN_EN2             33  // J3-4 & AUX-4
268
-  #define BTN_ENC             35  // J3-3 & AUX-4
269
-
270
-  #define SD_DETECT_PIN       49  // not 5V tolerant   J3-1 & AUX-3
271
-  #define KILL_PIN            41  // J5-4 & AUX-4
272
-  #define LCD_PINS_RS         16  // J3-7 & AUX-4
273
-  #define LCD_SDSS            16  // J3-7 & AUX-4
274
-  #define LCD_BACKLIGHT_PIN   16  // J3-7 & AUX-4 - only used on DOGLCD controllers
275
-  #define LCD_PINS_ENABLE     51  // (MOSI) J3-10 & AUX-3
276
-  #define LCD_PINS_D4         52  // (SCK)  J3-9 & AUX-3
277
-
278
-  #define LCD_PINS_D5         71  // ENET_MDIO
279
-  #define DOGLCD_A0           59  // J3-8 & AUX-2
280
-  #define LCD_PINS_D6         73  // ENET_RX_ER
281
-  #define DOGLCD_CS           63  // J5-3 & AUX-2
282
-  #define LCD_PINS_D7         75  // ENET_RXD1
283
-
284
-
285
-  //#define MISO                50  // system defined J3-10 & AUX-3
286
-  //#define MOSI                51  // system defined J3-10 & AUX-3
287
-  //#define SCK                 52  // system defined J3-9 & AUX-3
288
-  //#define SS_PIN              53  // system defined J3-5 & AUX-3 - sometimes called SDSS
289
-
290
-
291
-  #if ENABLED(VIKI2) || ENABLED(miniVIKI)
292
-    #define LCD_SCREEN_ROT_180
293
-
294
-    #define STAT_LED_RED_PIN  20  // I2C connector
295
-    #define STAT_LED_BLUE_PIN 21  // I2C connector
288
+ #if ENABLED(VIKI2) || ENABLED(miniVIKI)
289
+//    #define LCD_SCREEN_ROT_180
290
+    
291
+    #define SOFTWARE_SPI  // temp to see if it fixes the  "not found" error
292
+    
293
+    #undef  BEEPER_PIN
294
+    #define BEEPER_PIN          37  // may change if cable changes
295
+    
296
+    #define BTN_EN1             31  // J3-2 & AUX-4
297
+    #define BTN_EN2             33  // J3-4 & AUX-4
298
+    #define BTN_ENC             35  // J3-3 & AUX-4
299
+
300
+    #define SD_DETECT_PIN       49  // not 5V tolerant   J3-1 & AUX-3
301
+    #define KILL_PIN            41  // J5-4 & AUX-4
302
+
303
+    #undef  DOGLCD_CS
304
+    #define DOGLCD_CS           16 
305
+    #undef  LCD_BACKLIGHT_PIN   //16  // J3-7 & AUX-4 - only used on DOGLCD controllers
306
+    #undef  LCD_PINS_ENABLE     //51  // (MOSI) J3-10 & AUX-3
307
+    #undef  LCD_PINS_D4         //52  // (SCK)  J3-9 & AUX-3
308
+
309
+    #undef  LCD_PINS_D5         //59  // J3-8 & AUX-2
310
+    #define DOGLCD_A0           59  // J3-8 & AUX-2
311
+    #undef  LCD_PINS_D6         //63  // J5-3 & AUX-2
312
+    #undef  LCD_PINS_D7          //6  // (SERVO1) J5-1 & SERVO connector
313
+    #define DOGLCD_SCK SCK_PIN 
314
+    #define DOGLCD_MOSI MOSI_PIN
315
+ 
316
+    #define STAT_LED_BLUE_PIN   63  // may change if cable changes
317
+    #define STAT_LED_RED_PIN     6  // may change if cable changes
296 318
   #endif
297
-
319
+  //#define MISO_PIN            50  // system defined J3-10 & AUX-3
320
+  //#define MOSI_PIN            51  // system defined J3-10 & AUX-3
321
+  //#define SCK_PIN             52  // system defined J3-9 & AUX-3
322
+  //#define SS_PIN              53  // system defined J3-5 & AUX-3 - sometimes called SDSS
323
+  
324
+  
298 325
   #if ENABLED(MINIPANEL)
299 326
     // GLCD features
300 327
     //#define LCD_CONTRAST   190

+ 8
- 4
Marlin/ultralcd_impl_DOGM.h View File

@@ -44,6 +44,7 @@
44 44
  */
45 45
 #include "ultralcd.h"
46 46
 #include "ultralcd_st7920_u8glib_rrd.h"
47
+#include "ultralcd_st7565_u8glib_VIKI.h"
47 48
 #include "dogm_bitmaps.h"
48 49
 #include "utility.h"
49 50
 #include "duration_t.h"
@@ -171,10 +172,13 @@
171 172
   // Based on the Adafruit ST7565 (http://www.adafruit.com/products/250)
172 173
   //U8GLIB_LM6059 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
173 174
   U8GLIB_LM6059_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
174
-#elif ENABLED(MAKRPANEL) || ENABLED(VIKI2) || ENABLED(miniVIKI)
175
-  // The MaKrPanel, Mini Viki, and Viki 2.0, ST7565 controller as well
176
-  //U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
177
-  U8GLIB_NHD_C12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
175
+#elif ENABLED(U8GLIB_ST7565_64128N)
176
+  // The MaKrPanel, Mini Viki, and Viki 2.0, ST7565 controller 
177
+//  U8GLIB_ST7565_64128n_2x_VIKI u8g(0);  // using SW-SPI DOGLCD_MOSI != -1 && DOGLCD_SCK 
178
+    U8GLIB_ST7565_64128n_2x_VIKI u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, DOGLCD_A0);  // using SW-SPI 
179
+    //U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);  // 8 stripes
180
+    //U8GLIB_NHD_C12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes  HWSPI
181
+  
178 182
 #elif ENABLED(U8GLIB_SSD1306)
179 183
   // Generic support for SSD1306 OLED I2C LCDs
180 184
   //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST);  // 8 stripes

+ 248
- 0
Marlin/ultralcd_st7565_u8glib_VIKI.h View File

@@ -0,0 +1,248 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016, 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+#ifndef ULCDST7565_H
24
+#define ULCDST7565_H
25
+
26
+#include "Marlin.h"
27
+
28
+#if ENABLED(U8GLIB_ST7565_64128N)
29
+
30
+
31
+#define ST7565_CLK_PIN  DOGLCD_SCK
32
+#define ST7565_DAT_PIN  DOGLCD_MOSI
33
+#define ST7565_CS_PIN   DOGLCD_CS
34
+#define ST7565_A0_PIN   DOGLCD_A0
35
+
36
+
37
+
38
+
39
+
40
+
41
+#include <U8glib.h>
42
+
43
+#define WIDTH 128
44
+#define HEIGHT 64
45
+#define PAGE_HEIGHT 8
46
+
47
+//set optimization so ARDUINO optimizes this file
48
+#pragma GCC optimize (3)
49
+
50
+// If you want you can define your own set of delays in Configuration.h
51
+//#define ST7565_DELAY_1 DELAY_0_NOP
52
+//#define ST7565_DELAY_2 DELAY_0_NOP
53
+//#define ST7565_DELAY_3 DELAY_0_NOP
54
+
55
+/*
56
+#define ST7565_DELAY_1 u8g_10MicroDelay()
57
+#define ST7565_DELAY_2 u8g_10MicroDelay()
58
+#define ST7565_DELAY_3 u8g_10MicroDelay()
59
+*/
60
+
61
+#if F_CPU >= 20000000
62
+  #define CPU_ST7565_DELAY_1 DELAY_0_NOP
63
+  #define CPU_ST7565_DELAY_2 DELAY_0_NOP
64
+  #define CPU_ST7565_DELAY_3 DELAY_1_NOP
65
+#elif (MOTHERBOARD == BOARD_3DRAG) || (MOTHERBOARD == BOARD_K8200) || (MOTHERBOARD == BOARD_K8400)
66
+  #define CPU_ST7565_DELAY_1 DELAY_0_NOP
67
+  #define CPU_ST7565_DELAY_2 DELAY_3_NOP
68
+  #define CPU_ST7565_DELAY_3 DELAY_0_NOP
69
+#elif (MOTHERBOARD == BOARD_MINIRAMBO)
70
+  #define CPU_ST7565_DELAY_1 DELAY_0_NOP
71
+  #define CPU_ST7565_DELAY_2 DELAY_4_NOP
72
+  #define CPU_ST7565_DELAY_3 DELAY_0_NOP
73
+#elif (MOTHERBOARD == BOARD_RAMBO)
74
+  #define CPU_ST7565_DELAY_1 DELAY_0_NOP
75
+  #define CPU_ST7565_DELAY_2 DELAY_0_NOP
76
+  #define CPU_ST7565_DELAY_3 DELAY_0_NOP
77
+#elif F_CPU == 16000000
78
+  #define CPU_ST7565_DELAY_1 DELAY_0_NOP
79
+  #define CPU_ST7565_DELAY_2 DELAY_0_NOP
80
+  #define CPU_ST7565_DELAY_3 DELAY_1_NOP
81
+#else
82
+  #error "No valid condition for delays in 'ultralcd_st7565_u8glib_VIKI.h'"
83
+#endif
84
+
85
+#ifndef ST7565_DELAY_1
86
+  #define ST7565_DELAY_1 CPU_ST7565_DELAY_1
87
+#endif
88
+#ifndef ST7565_DELAY_2
89
+  #define ST7565_DELAY_2 CPU_ST7565_DELAY_2
90
+#endif
91
+#ifndef ST7565_DELAY_3
92
+  #define ST7565_DELAY_3 CPU_ST7565_DELAY_3
93
+#endif
94
+
95
+#define ST7565_SND_BIT \
96
+  WRITE(ST7565_CLK_PIN, LOW);        ST7565_DELAY_1; \
97
+  WRITE(ST7565_DAT_PIN, val & 0x80); ST7565_DELAY_2; \
98
+  WRITE(ST7565_CLK_PIN, HIGH);       ST7565_DELAY_3; \
99
+  WRITE(ST7565_CLK_PIN, LOW);\
100
+  val <<= 1
101
+
102
+static void ST7565_SWSPI_SND_8BIT(uint8_t val) {
103
+  ST7565_SND_BIT; // 1
104
+  ST7565_SND_BIT; // 2
105
+  ST7565_SND_BIT; // 3
106
+  ST7565_SND_BIT; // 4
107
+  ST7565_SND_BIT; // 5
108
+  ST7565_SND_BIT; // 6
109
+  ST7565_SND_BIT; // 7
110
+  ST7565_SND_BIT; // 8
111
+}
112
+
113
+#if defined(DOGM_SPI_DELAY_US) && DOGM_SPI_DELAY_US > 0
114
+  #define U8G_DELAY delayMicroseconds(DOGM_SPI_DELAY_US)
115
+#else
116
+  #define U8G_DELAY u8g_10MicroDelay()
117
+#endif
118
+
119
+#define ST7565_CS()                          { WRITE(ST7565_CS_PIN,1); U8G_DELAY; }
120
+#define ST7565_NCS()                         { WRITE(ST7565_CS_PIN,0); }
121
+#define ST7565_A0()                          { WRITE(ST7565_A0_PIN,1); U8G_DELAY; }
122
+#define ST7565_NA0()                         { WRITE(ST7565_A0_PIN,0); }
123
+#define ST7565_WRITE_BYTE(a)                 { ST7565_SWSPI_SND_8BIT((uint8_t)a); U8G_DELAY; }
124
+#define ST7560_WriteSequence(count, pointer) { uint8_t *ptr = pointer; for (uint8_t i = 0; i <  count; i++) {ST7565_SWSPI_SND_8BIT( *ptr++);} DELAY_10US; }
125
+
126
+
127
+uint8_t u8g_dev_st7565_64128n_2x_VIKI_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) {
128
+  switch (msg) {
129
+    case U8G_DEV_MSG_INIT:
130
+    { OUT_WRITE(ST7565_CS_PIN, LOW);
131
+      OUT_WRITE(ST7565_DAT_PIN, LOW);
132
+      OUT_WRITE(ST7565_CLK_PIN, LOW);
133
+      OUT_WRITE(ST7565_A0_PIN, LOW);
134
+
135
+      ST7565_CS();                      /* disable chip */
136
+      ST7565_NA0();                     /* instruction mode */
137
+      ST7565_NCS();                     /* enable chip */
138
+
139
+
140
+      ST7565_WRITE_BYTE(0x0A2);         /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */
141
+      ST7565_WRITE_BYTE(0x0A0);         /* Normal ADC Select (according to Displaytech 64128N datasheet) */
142
+
143
+      ST7565_WRITE_BYTE(0x0c8);         /* common output mode: set scan direction normal operation/SHL Select; 0x0c0 --> SHL = 0; normal; 0x0c8 --> SHL = 1 */
144
+      ST7565_WRITE_BYTE(0x040);         /* Display start line for Displaytech 64128N */
145
+
146
+      ST7565_WRITE_BYTE(0x028 | 0x04);  /* power control: turn on voltage converter */
147
+//    U8G_ESC_DLY(50);                  /* delay 50 ms - hangs after a reset if used */ 
148
+
149
+      ST7565_WRITE_BYTE(0x028 | 0x06);  /* power control: turn on voltage regulator */
150
+//    U8G_ESC_DLY(50);                  /* delay 50 ms - hangs after a reset if used */ 
151
+
152
+      ST7565_WRITE_BYTE(0x028 | 0x07);  /* power control: turn on voltage follower */
153
+//   U8G_ESC_DLY(50);                   /* delay 50 ms - hangs after a reset if used */ 
154
+
155
+      ST7565_WRITE_BYTE(0x010);         /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */
156
+
157
+      ST7565_WRITE_BYTE(0x0a6);         /* display normal, bit val 0: LCD pixel off. */
158
+
159
+      ST7565_WRITE_BYTE(0x081);         /* set contrast */
160
+      ST7565_WRITE_BYTE(0x01e);         /* Contrast value. Setting for controlling brightness of Displaytech 64128N */
161
+
162
+
163
+      ST7565_WRITE_BYTE(0x0af);         /* display on */
164
+
165
+      U8G_ESC_DLY(100);                 /* delay 100 ms */
166
+      ST7565_WRITE_BYTE(0x0a5);         /* display all points; ST7565 */
167
+      U8G_ESC_DLY(100);                 /* delay 100 ms */
168
+      U8G_ESC_DLY(100);                 /* delay 100 ms */
169
+      ST7565_WRITE_BYTE(0x0a4);         /* normal display */
170
+      ST7565_CS();                      /* disable chip */
171
+    }                                   /* end of sequence */
172
+      break;
173
+    case U8G_DEV_MSG_STOP:
174
+      break;
175
+    case U8G_DEV_MSG_PAGE_NEXT:
176
+    { u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);
177
+      ST7565_CS();                      /* disable chip */
178
+      ST7565_NA0();                     /* instruction mode */
179
+      ST7565_NCS();                     /* enable chip */
180
+      ST7565_WRITE_BYTE(0x010);         /* set upper 4 bit of the col adr to 0x10 */
181
+      ST7565_WRITE_BYTE(0x000);         /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */
182
+                                        /* end of sequence */
183
+      ST7565_WRITE_BYTE(0x0b0 | (2*pb->p.page));; /* select current page (ST7565R) */
184
+      ST7565_A0();                      /* data mode */
185
+      ST7560_WriteSequence( (uint8_t) pb->width, (uint8_t *)pb->buf);
186
+      ST7565_CS();                      /* disable chip */
187
+      ST7565_NA0();                     /* instruction mode */
188
+      ST7565_NCS();                     /* enable chip */
189
+      ST7565_WRITE_BYTE(0x010);         /* set upper 4 bit of the col adr to 0x10 */
190
+      ST7565_WRITE_BYTE(0x000);         /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */
191
+                                        /* end of sequence */
192
+      ST7565_WRITE_BYTE(0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */
193
+      ST7565_A0();                      /* data mode */
194
+      ST7560_WriteSequence( (uint8_t) pb->width, (uint8_t *)(pb->buf)+pb->width);
195
+      ST7565_CS();                      /* disable chip */
196
+    }
197
+      break;
198
+    case U8G_DEV_MSG_CONTRAST:
199
+      ST7565_NCS();
200
+      ST7565_NA0();                     /* instruction mode */
201
+      ST7565_WRITE_BYTE(0x081);
202
+      ST7565_WRITE_BYTE((*(uint8_t *)arg) >> 2);
203
+      ST7565_CS();                      /* disable chip */
204
+      return 1;
205
+    case U8G_DEV_MSG_SLEEP_ON:
206
+      ST7565_NA0();                     /* instruction mode */
207
+      ST7565_NCS();                     /* enable chip */
208
+      ST7565_WRITE_BYTE(0x0ac);         /* static indicator off */
209
+      ST7565_WRITE_BYTE(0x000);         /* indicator register set (not sure if this is required) */
210
+      ST7565_WRITE_BYTE(0x0ae);         /* display off */
211
+      ST7565_WRITE_BYTE(0x0a5);         /* all points on */
212
+      ST7565_CS();                      /* disable chip , bugfix 12 nov 2014 */
213
+                                        /* end of sequence */
214
+      return 1;
215
+    case U8G_DEV_MSG_SLEEP_OFF:
216
+      ST7565_NA0();                     /* instruction mode */
217
+      ST7565_NCS();                     /* enable chip */
218
+      ST7565_WRITE_BYTE(0x0a4);         /* all points off */
219
+      ST7565_WRITE_BYTE(0x0af);         /* display on */
220
+      U8G_ESC_DLY(50);                  /* delay 50 ms */
221
+      ST7565_CS();                      /* disable chip ,  bugfix 12 nov 2014 */
222
+                                        /* end of sequence */
223
+      return 1;
224
+  }
225
+  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);
226
+}
227
+
228
+uint8_t u8g_dev_st7565_64128n_2x_VIKI_buf[WIDTH*2] U8G_NOCOMMON ;
229
+u8g_pb_t u8g_dev_st7565_64128n_2x_VIKI_pb = { {16, HEIGHT, 0, 0, 0},  WIDTH, u8g_dev_st7565_64128n_2x_VIKI_buf};
230
+u8g_dev_t u8g_dev_st7565_64128n_2x_VIKI_sw_spi = { u8g_dev_st7565_64128n_2x_VIKI_fn, &u8g_dev_st7565_64128n_2x_VIKI_pb, &u8g_com_null_fn};
231
+
232
+
233
+class U8GLIB_ST7565_64128n_2x_VIKI : public U8GLIB {
234
+  public:
235
+  U8GLIB_ST7565_64128n_2x_VIKI(uint8_t dummy) 
236
+    : U8GLIB(&u8g_dev_st7565_64128n_2x_VIKI_sw_spi) 
237
+    {  }
238
+  U8GLIB_ST7565_64128n_2x_VIKI(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) 
239
+    : U8GLIB(&u8g_dev_st7565_64128n_2x_VIKI_sw_spi) 
240
+    {  }  
241
+};
242
+
243
+
244
+
245
+#pragma GCC reset_options
246
+
247
+#endif // U8GLIB_ST7565
248
+#endif // ULCDST7565_H

Loading…
Cancel
Save