-
Notifications
You must be signed in to change notification settings - Fork 37
Description
Hi. Tested your code with Arduino Due. I2C problem while reading EEPROM dump and other large registers. In MLX90640_I2CRead(), its seems like the startAddress (which will be updated every I2C_BUFFER_LENGTH) will not be recognized by the MLX90640. If you print out the resulting EEPROM dump (eeMLX90640), the first 32-bytes will be repeated over and over. Any suggestions?
Edit:
I2C Dump:
Start, h66 [ h33 | WR ], h24, h00, Stop
Start, h67 [ h33 | RD ], h00, h09, h00, hAD, h49, h9A, h00, h00, h20, h61, h00, h05, h03, h20, h03, hE0, h16, h0B, hA2, h29, h01, h85, h04, h99, h00, h00, h19, h01, h00, h00, h00, h00 NAK, Stop
Start, h66 [ h33 | WR ], h24, h10, Stop
Start, h67 [ h33 | RD ], h00, h09, h00, hAD, h49, h9A, h00, h00, h20, h61, h00, h05, h03, h20, h03, hE0, h16, h0B, hA2, h29, h01, h85, h04, h99, h00, h00, h19, h01, h00, h00, h00, h00 NAK, Stop
Start, h66 [ h33 | WR ], h24, h20, Stop
Start, h67 [ h33 | RD ], h00, h09, h00, hAD, h49, h9A, h00, h00, h20, h61, h00, h05, h03, h20, h03, hE0, h16, h0B, hA2, h29, h01, h85, h04, h99, h00, h00, h19, h01, h00, h00, h00, h00 NAK, Stop
Its seems like there is a "bug" in the Wire implementation of the Arduino Due. Even with Wire.endTransmission(false), a STOP instead of a Restart will be sent. Therefore I would recomend not using the Due for I2C related tasks.
Issue can be closed.