Skip to content

Not working with Arduino Due #1

@ghost

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions