Core2 and M5Unified display no longer works
-
Wow,
I have uploaded the standard M5Unified Button code to my M5Core2.
I know the program is running because my serial.print shows button counts.
But the display shows nothing.
I have tried this on multiple Core2 of which I know the display is not defect. All boards and libs are updated (as fwr as i know).
What am i doing wrong here?
Thanks#include <M5Unified.h> void setup(void) { M5.begin(); Serial.begin(115200); /// For models with EPD : refresh control M5.Display.setEpdMode(epd_mode_t::epd_fastest); // fastest but very-low quality. if (M5.Display.width() < M5.Display.height()) { /// Landscape mode. M5.Display.setRotation(M5.Display.getRotation() ^ 1); } } void loop(void) { M5.delay(1); M5.update(); //------------------- Button test /* /// List of available buttons: M5Stack BASIC/GRAY/GO/FIRE: BtnA,BtnB,BtnC M5Stack Core2: BtnA,BtnB,BtnC,BtnPWR M5Stick C/CPlus: BtnA,BtnB, BtnPWR M5Stick CoreInk: BtnA,BtnB,BtnC,BtnPWR,BtnEXT M5Paper: BtnA,BtnB,BtnC M5Station: BtnA,BtnB,BtnC,BtnPWR M5Tough: BtnPWR M5Atom M5AtomU: BtnA M5Stamp Pico/C3/C3U: BtnA */ static constexpr const int colors[] = { TFT_WHITE, TFT_CYAN, TFT_RED, TFT_YELLOW, TFT_BLUE, TFT_GREEN }; static constexpr const char* const names[] = { "none", "wasHold", "wasClicked", "wasPressed", "wasReleased", "wasDeciedCount" }; int w = M5.Display.width() / 5; int h = M5.Display.height(); M5.Display.startWrite(); /// BtnPWR: "wasClicked"/"wasHold" can be use. /// BtnPWR of CoreInk: "isPressed"/"wasPressed"/"isReleased"/"wasReleased"/"wasClicked"/"wasHold"/"isHolding" can be use. int state = M5.BtnPWR.wasHold() ? 1 : M5.BtnPWR.wasClicked() ? 2 : M5.BtnPWR.wasPressed() ? 3 : M5.BtnPWR.wasReleased() ? 4 : M5.BtnPWR.wasDecideClickCount() ? 5 : 0; if (state) { M5_LOGI("BtnPWR:%s count:%d", names[state], M5.BtnPWR.getClickCount()); M5.Display.fillRect(w*0, 0, w-1, h, colors[state]); } /// BtnA,BtnB,BtnC,BtnEXT: "isPressed"/"wasPressed"/"isReleased"/"wasReleased"/"wasClicked"/"wasHold"/"isHolding" can be use. state = M5.BtnA.wasHold() ? 1 : M5.BtnA.wasClicked() ? 2 : M5.BtnA.wasPressed() ? 3 : M5.BtnA.wasReleased() ? 4 : M5.BtnA.wasDecideClickCount() ? 5 : 0; if (state) { M5_LOGI("BtnA:%s count:%d", names[state], M5.BtnA.getClickCount()); M5.Display.fillRect(w*1, 0, w-1, h, colors[state]); Serial.println(M5.BtnA.getClickCount()); } state = M5.BtnB.wasHold() ? 1 : M5.BtnB.wasClicked() ? 2 : M5.BtnB.wasPressed() ? 3 : M5.BtnB.wasReleased() ? 4 : M5.BtnB.wasDecideClickCount() ? 5 : 0; if (state) { M5_LOGI("BtnB:%s count:%d", names[state], M5.BtnB.getClickCount()); M5.Display.fillRect(w*2, 0, w-1, h, colors[state]); } state = M5.BtnC.wasHold() ? 1 : M5.BtnC.wasClicked() ? 2 : M5.BtnC.wasPressed() ? 3 : M5.BtnC.wasReleased() ? 4 : M5.BtnC.wasDecideClickCount() ? 5 : 0; if (state) { M5_LOGI("BtnC:%s count:%d", names[state], M5.BtnC.getClickCount()); M5.Display.fillRect(w*3, 0, w-1, h, colors[state]); } state = M5.BtnEXT.wasHold() ? 1 : M5.BtnEXT.wasClicked() ? 2 : M5.BtnEXT.wasPressed() ? 3 : M5.BtnEXT.wasReleased() ? 4 : M5.BtnEXT.wasDecideClickCount() ? 5 : 0; if (state) { M5_LOGI("BtnEXT:%s count:%d", names[state], M5.BtnEXT.getClickCount()); M5.Display.fillRect(w*4, 0, w-1, h, colors[state]); } M5.Display.endWrite(); } #if !defined ( ARDUINO ) && defined ( ESP_PLATFORM ) extern "C" { void loopTask(void*) { setup(); for (;;) { loop(); } vTaskDelete(NULL); } void app_main() { xTaskCreatePinnedToCore(loopTask, "loopTask", 8192, NULL, 1, NULL, 1); } } #endif