@ -998,7 +998,7 @@ void setup() {
#if defined(PIN_BOARD_SDA) && defined(PIN_BOARD_SCL)
// Initialise I2C early so both the touch controller (FT5x06 @ 0x48)
// and the IO expander (TCA9535 @ 0x20) are ready before lcd.begin().
Wire.begin(PIN_BOARD_SDA, PIN_BOARD_SCL);
Wire.begin(PIN_BOARD_SDA, PIN_BOARD_SCL, 400000);
#endif
initializeDisplay();
@ -119,6 +119,7 @@ int RadioLibWrapper::recvRaw(uint8_t* bytes, int sz) {
int err = _radio->startReceive();
if (err == RADIOLIB_ERR_NONE) {
state = STATE_RX;
state &= ~STATE_INT_READY; // BUSY transitions during startReceive fire TCA9535 /INT spuriously
} else {
MESH_DEBUG_PRINTLN("RadioLibWrapper: error: startReceive(%d)", err);
}
@ -105,7 +105,7 @@ bool radio_init() {
// Wire must be up before TCA9535 access — force full re-init after recovery
Wire.end();
delay(5);
Wire.setTimeOut(15); // 15 ms per address for fast scan
delay(10);