Created
March 8, 2021 23:22
-
-
Save kd8bxp/ff9da93a377716176869aac121afd909 to your computer and use it in GitHub Desktop.
ED047TC1 Lilygo T5 EPD Experiment to rotate display using Arduino IDE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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