|
@@ -61,9 +61,9 @@
|
61
|
61
|
|
62
|
62
|
#include "HAL_LCD_com_defines.h"
|
63
|
63
|
|
64
|
|
-#define WIDTH 128
|
65
|
|
-#define HEIGHT 64
|
66
|
|
-#define PAGE_HEIGHT 8
|
|
64
|
+#define LCD_PIXEL_WIDTH 128
|
|
65
|
+#define LCD_PIXEL_HEIGHT 64
|
|
66
|
+#define PAGE_HEIGHT 8
|
67
|
67
|
|
68
|
68
|
/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */
|
69
|
69
|
static const uint8_t u8g_dev_st7920_128x64_HAL_init_seq[] PROGMEM = {
|
|
@@ -91,11 +91,11 @@ void clear_graphics_DRAM(u8g_t *u8g, u8g_dev_t *dev) {
|
91
|
91
|
u8g_SetAddress(u8g, dev, 0); // cmd mode
|
92
|
92
|
u8g_WriteByte(u8g, dev, 0x08); //display off, cursor+blink off
|
93
|
93
|
u8g_WriteByte(u8g, dev, 0x3E); //extended mode + GDRAM active
|
94
|
|
- for (uint8_t y = 0; y < (HEIGHT) / 2; y++) { //clear GDRAM
|
|
94
|
+ for (uint8_t y = 0; y < (LCD_PIXEL_HEIGHT) / 2; y++) { //clear GDRAM
|
95
|
95
|
u8g_WriteByte(u8g, dev, 0x80 | y); //set y
|
96
|
96
|
u8g_WriteByte(u8g, dev, 0x80); //set x = 0
|
97
|
97
|
u8g_SetAddress(u8g, dev, 1); /* data mode */
|
98
|
|
- for (uint8_t i = 0; i < 2 * (WIDTH) / 8; i++) //2x width clears both segments
|
|
98
|
+ for (uint8_t i = 0; i < 2 * (LCD_PIXEL_WIDTH) / 8; i++) //2x width clears both segments
|
99
|
99
|
u8g_WriteByte(u8g, dev, 0);
|
100
|
100
|
u8g_SetAddress(u8g, dev, 0); /* cmd mode */
|
101
|
101
|
}
|
|
@@ -137,8 +137,8 @@ uint8_t u8g_dev_st7920_128x64_HAL_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
|
137
|
137
|
}
|
138
|
138
|
|
139
|
139
|
u8g_SetAddress(u8g, dev, 1); /* data mode */
|
140
|
|
- u8g_WriteSequence(u8g, dev, WIDTH/8, ptr);
|
141
|
|
- ptr += WIDTH/8;
|
|
140
|
+ u8g_WriteSequence(u8g, dev, (LCD_PIXEL_WIDTH) / 8, ptr);
|
|
141
|
+ ptr += (LCD_PIXEL_WIDTH) / 8;
|
142
|
142
|
y++;
|
143
|
143
|
}
|
144
|
144
|
u8g_SetChipSelect(u8g, dev, 0);
|
|
@@ -182,8 +182,8 @@ uint8_t u8g_dev_st7920_128x64_HAL_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
|
182
|
182
|
}
|
183
|
183
|
|
184
|
184
|
u8g_SetAddress(u8g, dev, 1); /* data mode */
|
185
|
|
- u8g_WriteSequence(u8g, dev, WIDTH/8, ptr);
|
186
|
|
- ptr += WIDTH/8;
|
|
185
|
+ u8g_WriteSequence(u8g, dev, (LCD_PIXEL_WIDTH) / 8, ptr);
|
|
186
|
+ ptr += (LCD_PIXEL_WIDTH) / 8;
|
187
|
187
|
y++;
|
188
|
188
|
}
|
189
|
189
|
u8g_SetChipSelect(u8g, dev, 0);
|
|
@@ -193,14 +193,14 @@ uint8_t u8g_dev_st7920_128x64_HAL_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg,
|
193
|
193
|
return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg);
|
194
|
194
|
}
|
195
|
195
|
|
196
|
|
-U8G_PB_DEV(u8g_dev_st7920_128x64_HAL_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_HAL_fn, U8G_COM_ST7920_HAL_SW_SPI);
|
|
196
|
+U8G_PB_DEV(u8g_dev_st7920_128x64_HAL_sw_spi, LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_HAL_fn, U8G_COM_ST7920_HAL_SW_SPI);
|
197
|
197
|
|
198
|
|
-#define QWIDTH (WIDTH*4)
|
|
198
|
+#define QWIDTH ((LCD_PIXEL_WIDTH) * 4)
|
199
|
199
|
uint8_t u8g_dev_st7920_128x64_HAL_4x_buf[QWIDTH] U8G_NOCOMMON ;
|
200
|
|
-u8g_pb_t u8g_dev_st7920_128x64_HAL_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_128x64_HAL_4x_buf};
|
|
200
|
+u8g_pb_t u8g_dev_st7920_128x64_HAL_4x_pb = { { 32, LCD_PIXEL_HEIGHT, 0, 0, 0 }, LCD_PIXEL_WIDTH, u8g_dev_st7920_128x64_HAL_4x_buf};
|
201
|
201
|
u8g_dev_t u8g_dev_st7920_128x64_HAL_4x_sw_spi = { u8g_dev_st7920_128x64_HAL_4x_fn, &u8g_dev_st7920_128x64_HAL_4x_pb, U8G_COM_ST7920_HAL_SW_SPI };
|
202
|
202
|
|
203
|
|
-U8G_PB_DEV(u8g_dev_st7920_128x64_HAL_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_HAL_fn, U8G_COM_ST7920_HAL_HW_SPI);
|
|
203
|
+U8G_PB_DEV(u8g_dev_st7920_128x64_HAL_hw_spi, LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_HAL_fn, U8G_COM_ST7920_HAL_HW_SPI);
|
204
|
204
|
u8g_dev_t u8g_dev_st7920_128x64_HAL_4x_hw_spi = { u8g_dev_st7920_128x64_HAL_4x_fn, &u8g_dev_st7920_128x64_HAL_4x_pb, U8G_COM_ST7920_HAL_HW_SPI };
|
205
|
205
|
|
206
|
206
|
#if defined(U8G_HAL_LINKS) || defined(__SAM3X8E__)
|