DCC-EX / CommandStation-EX

EX-CommandStation firmware from DCC-EX. Includes support for WiFi and a standalone WiThrottle server. A complete re-write of the original DCC++.
https://dcc-ex.github.io/
GNU General Public License v3.0
156 stars 108 forks source link

[To Do]: Validate if native DCC-EX I2C implementation on Nucleo resolves device not detected issue #278

Closed peteGSX closed 1 year ago

peteGSX commented 1 year ago

Task description

With OLED disabled in config.h and the current implementation of I2C for Nucleo which is using the Wire() library, EX-IODetector is unable to be detected on the I2C bus, despite a device at the same address being detected.

When OLED is enabled (even if not connected), this issue goes away.

Need to validate if this is a quirk of the Wire() library by testing again once the native I2C driver for Nucleo is implemented.

pmantoine commented 1 year ago

Adding questions I've thought of so we don't lose them from my stoopid brain:

Does the Nucleo hang for a long time probing the I2C when this happens? Are there pullups on the EX-IO board for I2C? What values are they? Does this happen regardless of EX-IO board used... Nano/UNO/Mega etc.?

peteGSX commented 1 year ago

This is a non-event. This was actually a bug in the device driver not calling I2CManager.begin(), in addition to a clock speed issue.