Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kd8bxp/ff9da93a377716176869aac121afd909 to your computer and use it in GitHub Desktop.
Save kd8bxp/ff9da93a377716176869aac121afd909 to your computer and use it in GitHub Desktop.
ED047TC1 Lilygo T5 EPD Experiment to rotate display using Arduino IDE
Clearly I don't know what I'm doing! (This is not a joke)
Thanks to the work of @martinberlin and all hard work found here:
https://github.com/martinberlin/cale-idf/wiki/Model-parallel-ED047TC1.h
I thought it might be easy to get this to work with the Arduino IDE
and ended up with a lot of compile errors.
Most were easy to fix, a few were not. I finally ended up doing a mix of Martin's code with the Adafruit GFX library written
for the Arduino IDE and the the LilyGo-EPD47 library (also writtend for the IDE) https://github.com/Xinyuan-LilyGO/LilyGo-EPD47
Still a lot of errors, so I decided that I really just needed to scale everything back.
I ended up using:
calepd_version.h
ED047TC1.cpp
ED047TC1.h
epdParallel.cpp
epdParallel.h
From the CalEPD library written by Martin, after a few what I thought were minor changes - everything compiled
but the T5 Paper resets before it even starts, this is very bad.
Clearly I am missing something, not understanding something, and not doing something correctly.
Here is the current debug error displayed in the serial console:
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
abort() was called at PC 0x400ef5c3 on core 0
Backtrace: 0x4008dd34:0x3ffe3920 0x4008df61:0x3ffe3940 0x400ef5c3:0x3ffe3960 0x400ef60a:0x3ffe3980 0x400eefab:0x3ffe39a0 0x400efdb6:0x3ffe39c0 0x400d2059:0x3ffe39e0 0x400d22f9:0x3ffe3a40 0x400d26f2:0x3ffe3a70 0x400d270e:0x3ffe3a90 0x400f038b:0x3ffe3ab0 0x400d413a:0x3ffe3ad0 0x400d2579:0x3ffe3b70 0x400d2601:0x3ffe3b90 0x400d1276:0x3ffe3bb0 0x400d6837:0x3ffe3bd0 0x40082269:0x3ffe3bf0 0x40082445:0x3ffe3c20 0x4007906f:0x3ffe3c40 0x400790d5:0x3ffe3c70 0x400790e0:0x3ffe3ca0 0x400792a9:0x3ffe3cc0 0x400806ea:0x3ffe3df0 0x40007c15:0x3ffe3eb0 0x4000073d:0x3ffe3f20
Rebooting...
The ESP decoder says this:
Decoding stack results
0x4008dd34: invoke_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c line 155
0x4008df61: abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c line 170
0x400ef5c3: __cxxabiv1::__terminate(void (*)()) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc line 47
0x400ef60a: std::terminate() at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc line 57
0x400efdb6: Adafruit_GFX::writePixel(short, short, unsigned short) at /tmp/arduino_build_949227/sketch/src/Adafruit_GFX/Adafruit_GFX.cpp line 191
0x400d2059: Adafruit_GFX::drawChar(short, short, unsigned char, unsigned short, unsigned short, unsigned char, unsigned char) at /tmp/arduino_build_949227/sketch/src/Adafruit_GFX/Adafruit_GFX.cpp line 1161
0x400d22f9: Adafruit_GFX::write(unsigned char) at /tmp/arduino_build_949227/sketch/src/Adafruit_GFX/Adafruit_GFX.cpp line 1254
0x400d26f2: EpdParallel::write(unsigned char) at /tmp/arduino_build_949227/sketch/src/CalEPD/epdParallel.cpp line 10
0x400f038b: Print::write(unsigned char const*, unsigned int) at /home/lfmiller/.arduino15/packages/esp32/hardware/esp32/1.0.4/cores/esp32/Print.cpp line 42
0x400d413a: Print::printf(char const*, ...) at /home/lfmiller/.arduino15/packages/esp32/hardware/esp32/1.0.4/cores/esp32/Print.cpp line 70
0x400d2579: EpdParallel::EpdParallel(short, short) at /tmp/arduino_build_949227/sketch/src/CalEPD/epdParallel.h line 23
0x400d2601: Ed047TC1::Ed047TC1() at /tmp/arduino_build_949227/sketch/src/CalEPD/ED047TC1.cpp line 11
0x400d1276: _GLOBAL__sub_I_display() at /tmp/arduino_modified_sketch_3679/rotate_test.ino line 6
0x400d6837: do_global_ctors at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/cpu_start.c line 456
0x40082269: start_cpu0_default at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/cpu_start.c line 367
0x40082445: call_start_cpu0 at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/cpu_start.c line 238
I think this maybe the correct idea to get rotation working, but clearly someone who knows a lot more needs to take up the project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment