Also, is there a Wire.begin in the sketch somewhere?
No, neither in the old project nor this one there is a Wire.begin()
There is and three has been before gfx.begin()
Maybe something along the line of clearing the display and then printing something anywhere on the display and waiting for a few seconds. Dont forget to flush the buffer after printing something though!
I have added to the generated code, in the PROJECTNAME_main.cpp this
void setup() {
Serial.begin(115200);
printf("\n\nCalling setupMenu()...");
setupMenu();
printf(" OK.\n");
}
void loop() {
taskManager.runLoop();
renderer.takeOverDisplay(fnTakeOver);
}
void CALLBACK_FUNCTION fnTakeOver(unsigned int encoderValue, RenderPressMode clicked) {
if (encoderValue != 1)
printf("encoder: %d\tclicked: %d\n", encoderValue, clicked);
gfx.drawCircle(20, 20, 18, true);
renderer.giveBackDisplay();
}
No circle is drawn, and if I touch the sensors you can see changes in encoderValue over the USB monitor (printf), so it demonstrates fnTakeOver is called periodically (I don't print nothing if encoder==1):
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[ . . .]
Calling setupMenu()... OK.
encoder: 2 clicked: 0
encoder: 0 clicked: 0
Sorry if I don't know exactly how to draw a circle. My programmer skills are very limited.