I'm using u8g2_esp32_hal to interface with an I2C OLED device, and whenever the OLED screen is not connected the program aborts, causing a restart. The reason this happens is because ESP_ERROR_CHECK macros are used in several places, which simply abort the thread if they fail. I'm wondering if instead of using ESP_ERROR_CHECK, the relevant functions could print a message and return an error code that users could handle themselves.
Alternatively, maybe provide a function that can test the I2C connection without aborting?
I'm using u8g2_esp32_hal to interface with an I2C OLED device, and whenever the OLED screen is not connected the program aborts, causing a restart. The reason this happens is because ESP_ERROR_CHECK macros are used in several places, which simply abort the thread if they fail. I'm wondering if instead of using ESP_ERROR_CHECK, the relevant functions could print a message and return an error code that users could handle themselves.
Alternatively, maybe provide a function that can test the I2C connection without aborting?
This line is the one that generally causes the abort for me: https://github.com/nkolban/esp32-snippets/blob/fe3d318acddf87c6918944f24e8b899d63c816dd/hardware/displays/U8G2/u8g2_esp32_hal.c#L159