MIDAS (once in a while) reports an I2C error seemingly caused by I2C bus contention between the ADC and the GPS chips. The ADC chip that we use has the capability to perform an automatic sequence of reading channels sequentially, and then perform a single batch read to get all ADC values.
This would reduce the amount of transactions on the I2C bus, likely eliminating the issue.
> [251628][E][Wire.cpp:491] requestFrom(): Unfinished Repeated Start transaction! Expected address do not match! 20 != 66
[382844][E][Wire.cpp:491] requestFrom(): Unfinished Repeated Start transaction! Expected address do not match! 20 != 66
[398117][E][Wire.cpp:491] requestFrom(): Unfinished Repeated Start transaction! Expected address do not match! 20 != 66
[502126][E][Wire.cpp:491] requestFrom(): Unfinished Repeated Start transaction! Expected address do not match! 20 != 66
[1380578][E][Wire.cpp:491] requestFrom(): Unfinished Repeated Start transaction! Expected address do not match! 20 != 66
MIDAS (once in a while) reports an I2C error seemingly caused by I2C bus contention between the ADC and the GPS chips. The ADC chip that we use has the capability to perform an automatic sequence of reading channels sequentially, and then perform a single batch read to get all ADC values.
This would reduce the amount of transactions on the I2C bus, likely eliminating the issue.