Skip to content

Commit 8754ebe

Browse files
committed
mono 4.2
1 parent e5d0c41 commit 8754ebe

File tree

3 files changed

+40
-11
lines changed

3 files changed

+40
-11
lines changed

src/Adafruit_ThinkInk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ typedef enum {
1919
#include "panels/ThinkInk_213_Mono_B72.h"
2020
#include "panels/ThinkInk_213_Mono_B73.h"
2121
#include "panels/ThinkInk_213_Mono_BN.h"
22+
#include "panels/ThinkInk_420_Mono_BN.h"

src/drivers/Adafruit_SSD1619.cpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ const uint8_t ssd1619_default_init_code[] {
1212
SSD1619_SET_ANALOGBLOCK, 1, 0x54, // set analog block control
1313
SSD1619_SET_DIGITALBLOCK, 1, 0x3B, // set digital block control
1414

15-
SSD1608_DRIVER_CONTROL, 3, 0x2B, 0x01, 0x00,
16-
SSD1619_DATA_MODE, 1, 0x01, // Ram data entry mode
17-
18-
SSD1608_SET_RAMXPOS, 2, 0x0, 0x31,
19-
SSD1608_SET_RAMYPOS, 4, 0x2B, 0x1, 0x00, 0x00,
15+
SSD1619_DATA_MODE, 1, 0x03, // Ram data entry mode
2016

2117
SSD1619_WRITE_BORDER, 1, 0x01, // border color
2218
SSD1619_TEMP_CONTROL, 1, 0x80, // Temp control
@@ -178,16 +174,13 @@ void Adafruit_SSD1619::powerUp() {
178174
}
179175
EPD_commandList(init_code);
180176

181-
/*
182177
// Set display size and driver output control
183178
buf[0] = (WIDTH - 1);
184179
buf[1] = (WIDTH - 1) >> 8;
185180
buf[2] = 0x00;
186181
EPD_command(SSD1619_DRIVER_CONTROL, buf, 3);
187182

188-
189-
setRAMWindow(0, 0, (HEIGHT / 8) - 1, WIDTH - 1);
190-
*/
183+
setRAMWindow(0, 0, HEIGHT-1, WIDTH-1);
191184
}
192185

193186
/**************************************************************************/
@@ -243,8 +236,8 @@ void Adafruit_SSD1619::setRAMAddress(uint16_t x, uint16_t y) {
243236
EPD_command(SSD1619_SET_RAMXCOUNT, buf, 1);
244237

245238
// set RAM y address count
246-
buf[0] = 0x2B;
247-
buf[1] = 0x01;
239+
buf[0] = 0x0;
240+
buf[1] = 0x0;
248241
EPD_command(SSD1619_SET_RAMYCOUNT, buf, 2);
249242
}
250243

src/panels/ThinkInk_420_Mono_BN.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#ifndef _THINKINK_420_MONO_BN_H
2+
#define _THINKINK_420_MONO_BN_H
3+
4+
#include "Adafruit_EPD.h"
5+
6+
class ThinkInk_420_Mono_BN : public Adafruit_SSD1619 {
7+
private:
8+
public:
9+
ThinkInk_420_Mono_BN(int8_t SID, int8_t SCLK, int8_t DC, int8_t RST,
10+
int8_t CS, int8_t SRCS, int8_t MISO, int8_t BUSY = -1)
11+
: Adafruit_SSD1619(300, 400, SID, SCLK, DC, RST, CS, SRCS, MISO, BUSY){};
12+
13+
ThinkInk_420_Mono_BN(int8_t DC, int8_t RST, int8_t CS, int8_t SRCS,
14+
int8_t BUSY = -1, SPIClass *spi = &SPI)
15+
: Adafruit_SSD1619(300, 400, DC, RST, CS, SRCS, BUSY, spi){};
16+
17+
void begin(thinkinkmode_t mode = THINKINK_MONO) {
18+
Adafruit_EPD::begin(true);
19+
setColorBuffer(0, true); // layer 0 uninverted
20+
setBlackBuffer(0, true); // only one buffer
21+
22+
layer_colors[EPD_WHITE] = 0b00;
23+
layer_colors[EPD_BLACK] = 0b01;
24+
layer_colors[EPD_RED] = 0b01;
25+
layer_colors[EPD_GRAY] = 0b01;
26+
layer_colors[EPD_LIGHT] = 0b00;
27+
layer_colors[EPD_DARK] = 0b01;
28+
29+
default_refresh_delay = 1000;
30+
setRotation(1);
31+
powerDown();
32+
};
33+
};
34+
35+
#endif // _THINKINK_420_MONO_BN_H

0 commit comments

Comments
 (0)