|
@@ -23,9 +23,13 @@
|
23
|
23
|
// NOTE - the HAL version of the rrd device uses a generic ST7920 device. See the
|
24
|
24
|
// file u8g_dev_st7920_128x64_HAL.cpp for the HAL version.
|
25
|
25
|
|
|
26
|
+#include "../../inc/MarlinConfig.h"
|
|
27
|
+
|
|
28
|
+#if ENABLED(DOGLCD)
|
|
29
|
+
|
26
|
30
|
#ifndef U8G_HAL_LINKS
|
27
|
31
|
|
28
|
|
-#include "../../Marlin.h"
|
|
32
|
+//#include "../../Marlin.h"
|
29
|
33
|
|
30
|
34
|
//#if ENABLED(U8GLIB_ST7920)
|
31
|
35
|
//#if ( ENABLED(SHARED_SPI) || !ENABLED(SHARED_SPI) && (defined(LCD_PINS_D4) && LCD_PINS_D4 >= 0) && (defined(LCD_PINS_ENABLE) && LCD_PINS_ENABLE >= 0))
|
|
@@ -97,18 +101,15 @@
|
97
|
101
|
#define U8G_DELAY() u8g_10MicroDelay()
|
98
|
102
|
#endif
|
99
|
103
|
|
100
|
|
-
|
101
|
|
-
|
102
|
104
|
static void ST7920_WRITE_BYTE(uint8_t val) {
|
103
|
105
|
for (uint8_t i = 0; i < 8; i++) {
|
104
|
106
|
WRITE(ST7920_DAT_PIN, val & 0x80);
|
105
|
107
|
WRITE(ST7920_CLK_PIN, HIGH);
|
106
|
108
|
WRITE(ST7920_CLK_PIN, LOW);
|
107
|
|
- val = val << 1;
|
|
109
|
+ val <<= 1;
|
108
|
110
|
}
|
109
|
111
|
}
|
110
|
112
|
|
111
|
|
-
|
112
|
113
|
#define ST7920_SET_CMD() { ST7920_WRITE_BYTE(0xF8); U8G_DELAY(); }
|
113
|
114
|
#define ST7920_SET_DAT() { ST7920_WRITE_BYTE(0xFA); U8G_DELAY(); }
|
114
|
115
|
#define ST7920_WRITE_NIBBLES(a) { ST7920_WRITE_BYTE((uint8_t)((a)&0xF0u)); ST7920_WRITE_BYTE((uint8_t)((a)<<4u)); U8G_DELAY(); }
|
|
@@ -118,17 +119,13 @@ static void ST7920_WRITE_BYTE(uint8_t val) {
|
118
|
119
|
#define ST7920_CS() { WRITE(ST7920_CS_PIN,1); U8G_DELAY(); }
|
119
|
120
|
#define ST7920_NCS() { WRITE(ST7920_CS_PIN,0); }
|
120
|
121
|
|
121
|
|
-
|
122
|
|
-
|
123
|
122
|
uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) {
|
124
|
123
|
uint8_t i, y;
|
125
|
124
|
switch (msg) {
|
126
|
125
|
case U8G_DEV_MSG_INIT: {
|
127
|
126
|
OUT_WRITE(ST7920_CS_PIN, LOW);
|
128
|
|
-
|
129
|
|
-
|
130
|
|
- OUT_WRITE(ST7920_DAT_PIN, LOW);
|
131
|
|
- OUT_WRITE(ST7920_CLK_PIN, LOW);
|
|
127
|
+ OUT_WRITE(ST7920_DAT_PIN, LOW);
|
|
128
|
+ OUT_WRITE(ST7920_CLK_PIN, LOW);
|
132
|
129
|
|
133
|
130
|
ST7920_CS();
|
134
|
131
|
u8g_Delay(120); //initial delay for boot up
|
|
@@ -197,4 +194,7 @@ u8g_dev_t u8g_dev_st7920_128x64_rrd_sw_spi = {u8g_dev_rrd_st7920_128x64_fn, &u8g
|
197
|
194
|
|
198
|
195
|
//#endif //( ENABLED(SHARED_SPI) || !ENABLED(SHARED_SPI) && (defined(LCD_PINS_D4) && LCD_PINS_D4 >= 0) && (defined(LCD_PINS_ENABLE) && LCD_PINS_ENABLE >= 0))
|
199
|
196
|
//#endif // U8GLIB_ST7920
|
200
|
|
-#endif // AVR
|
|
197
|
+
|
|
198
|
+#endif // U8G_HAL_LINKS
|
|
199
|
+
|
|
200
|
+#endif // DOGLCD
|