diff --git a/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h b/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h index 3fcf6612..b4c205aa 100644 --- a/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h +++ b/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h @@ -175,7 +175,9 @@ class FourLineDisplayUsermod : public Usermod { if (!pinManager.allocateMultiplePins(pins, 5, po)) { type=NONE; return; } } else { isHW = (ioPin[0]==i2c_scl && ioPin[1]==i2c_sda); + //isHW = true; if (isHW) po = PinOwner::HW_I2C; // allow multiple allocations of HW I2C bus pins + if (ioPin[0] < 0 || ioPin[1] < 0) { type=NONE; return; } //WLEDSR bugfix - ensure that "final" GPIO are valid PinManagerPinType pins[2] = { { ioPin[0], true }, { ioPin[1], true } }; if (!pinManager.allocateMultiplePins(pins, 2, po)) { type=NONE; return; } } diff --git a/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h b/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h index 7555933f..e599909e 100644 --- a/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h +++ b/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h @@ -336,8 +336,10 @@ class FourLineDisplayUsermod : public Usermod { ioPin[1] = hw_sda; } isHW = (ioPin[0]==hw_scl && ioPin[1]==hw_sda); + // isHW = true; if (isHW) po = PinOwner::HW_I2C; // allow multiple allocations of HW I2C bus pins PinManagerPinType pins[2] = { {ioPin[0], true }, { ioPin[1], true } }; + if (ioPin[0] < 0 || ioPin[1] < 0) { type=NONE; return; } //WLEDSR bugfix - ensure that "final" GPIO are valid if (!pinManager.allocateMultiplePins(pins, 2, po)) { type=NONE; return; } }