Skip to content

I2Cdev does not properly write to a register #4

@bombasticbob

Description

@bombasticbob

attempted to write to a register, caused a hang in the library. seems to be looping in the ISR due to a bus error. I2C spec says I write the register byte [word] followed immediately by the data; i.e. no re-start transaction.

Also if the data exceeds the buffer size, there should be no stop sent [it should continue]

need to make sure that if I get a write interrupt while waiting for more data in a 'bus held' state, that I don't loop in the ISR in XWire, either.

See implementation in XWire twi.cpp for twi_sendTo() to make sure this won't happen, and all bytes will be sent, and so forth.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions