This is an FYI, but if somebody knows a better solution, please let me know.
When compiling the Artemis firmware per the instructions on Github, I hit a small problem:
My esp-idf is checked out at the right version:
wotke:/home/danapple/esp/esp-idf$ git status
HEAD detached at 3a45d4e949
nothing to commit, working tree clean
When I try to compile with idf.py build, I get the following error:
home/danapple/src/GC_Artemis-Firmware/components/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp: In function 'void lgfx::v1::i2c::i2c_set_cmd(i2c_dev_t*, uint8_t, uint8_t, uint8_t, bool)':
/home/danapple/src/GC_Artemis-Firmware/components/LovyanGFX/src/lgfx/v1/platforms/esp32/common.cpp:837:14: error: 'struct i2c_dev_t' has no member named 'comd0'; did you mean 'comd'?
837 | (&dev->comd0)[index].val = cmd_val;
| ^~~~~
| comd
I can eliminate the compile error with the following change:
diff --git a/src/lgfx/v1/platforms/esp32/common.cpp b/src/lgfx/v1/platforms/esp32/common.cpp
index 87942a3..58992a2 100644
--- a/src/lgfx/v1/platforms/esp32/common.cpp
+++ b/src/lgfx/v1/platforms/esp32/common.cpp
@@ -834,7 +834,9 @@ namespace lgfx
|| (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 3, 0))
(&dev->comd[0])[index].val = cmd_val;
#else
- (&dev->comd0)[index].val = cmd_val;
+ // (&dev->comd0)[index].val = cmd_val;
+ (&dev->comd[0])[index].val = cmd_val;
+
#endif
#else
dev->command[index].val = cmd_val;
which I got from:
https://github.com/m5stack/M5Dial-UserDemo/issues/14
I hope this helps others.
Sincerely,
Dan.