Skip to content

Commit

Permalink
T94 working monochromatically
Browse files Browse the repository at this point in the history
  • Loading branch information
ladyada committed Dec 24, 2023
1 parent a3b0330 commit 2db46a3
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 17 deletions.
35 changes: 18 additions & 17 deletions examples/ThinkInk_mono/ThinkInk_mono.ino
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@

#ifdef ARDUINO_ADAFRUIT_FEATHER_RP2040_THINKINK // detects if compiling for
// Feather RP2040 ThinkInk
#define EPD_DC PIN_EPD_DC // ThinkInk 24-pin connector DC
#define EPD_CS PIN_EPD_CS // ThinkInk 24-pin connector CS
#define EPD_BUSY PIN_EPD_BUSY // ThinkInk 24-pin connector Busy
#define SRAM_CS -1 // use onboard RAM
#define EPD_RESET PIN_EPD_RESET // ThinkInk 24-pin connector Reset
#define EPD_SPI &SPI1 // secondary SPI for ThinkInk
#define EPD_DC PIN_EPD_DC // ThinkInk 24-pin connector DC
#define EPD_CS PIN_EPD_CS // ThinkInk 24-pin connector CS
#define EPD_BUSY PIN_EPD_BUSY // ThinkInk 24-pin connector Busy
#define SRAM_CS -1 // use onboard RAM
#define EPD_RESET PIN_EPD_RESET // ThinkInk 24-pin connector Reset
#define EPD_SPI &SPI1 // secondary SPI for ThinkInk
#else
#define EPD_DC 10
#define EPD_CS 9
#define EPD_BUSY 7 // can set to -1 to not use a pin (will wait a fixed delay)
#define SRAM_CS 6
#define EPD_RESET 8 // can set to -1 and share with microcontroller Reset!
#define EPD_SPI &SPI // primary SPI
#define EPD_DC 10
#define EPD_CS 9
#define EPD_BUSY 7 // can set to -1 to not use a pin (will wait a fixed delay)
#define SRAM_CS 6
#define EPD_RESET 8 // can set to -1 and share with microcontroller Reset!
#define EPD_SPI &SPI // primary SPI
#endif

// 1.54" Monochrome displays with 200x200 pixels and SSD1681 chipset
Expand All @@ -36,7 +36,7 @@
// ThinkInk_154_Mono_M10 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);

// 2.13" Monochrome displays with 250x122 pixels and SSD1675 chipset
ThinkInk_213_Mono_B72 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);
//ThinkInk_213_Mono_B72 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);

// 2.13" Monochrome displays with 250x122 pixels and SSD1675B chipset
// ThinkInk_213_Mono_B73 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);
Expand All @@ -48,10 +48,11 @@ ThinkInk_213_Mono_B72 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_
// 2.13" Monochrome displays with 212x104 pixels and UC8151D chipset
// ThinkInk_213_Mono_M21 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);

// 2.9" 4-level Grayscale (use mono) displays with 296x128 pixels and IL0373
// chipset
// ThinkInk_290_Grayscale4_T5 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS,
// EPD_BUSY, EPD_SPI);
// 2.9" 4-level Grayscale (use mono) displays with 296x128 pixels and IL0373 chipset
// ThinkInk_290_Grayscale4_T5 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);

// 2.9" 4-level Grayscale (use mono) displays with 296x128 pixels and SSD1680 chipset
ThinkInk_290_Grayscale4_T94 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);

// 2.9" Monochrome displays with 296x128 pixels and UC8151D chipset
// ThinkInk_290_Mono_M06 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY, EPD_SPI);
Expand Down
1 change: 1 addition & 0 deletions src/Adafruit_ThinkInk.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include "panels/ThinkInk_213_Mono_BN.h"
#include "panels/ThinkInk_213_Mono_M21.h"
#include "panels/ThinkInk_290_Mono_BN.h"
#include "panels/ThinkInk_290_Mono_T94.h"
#include "panels/ThinkInk_290_Mono_M06.h"
#include "panels/ThinkInk_420_Mono_BN.h"
#include "panels/ThinkInk_420_Mono_M06.h"
Expand Down
2 changes: 2 additions & 0 deletions src/drivers/Adafruit_SSD1680.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,15 @@ void Adafruit_SSD1680::powerUp() {
buf[0] = _xram_offset;
buf[1] = height / 8 - 1 + _xram_offset;
EPD_command(SSD1680_SET_RAMXPOS, buf, 2);
//Serial.printf("set XRAM 0x%x 0x%x\n\r", buf[1], buf[0]);

// Set ram Y start/end postion
buf[0] = 0x00;
buf[1] = 0x00;
buf[2] = (WIDTH - 1);
buf[3] = (WIDTH - 1) >> 8;
EPD_command(SSD1680_SET_RAMYPOS, buf, 4);
//Serial.printf("set YRAM 0x00, 0x%x 0x%x\n\r", buf[3], buf[2]);

// Set LUT
/*
Expand Down

0 comments on commit 2db46a3

Please sign in to comment.