Skip to content

[bug] Wire library: 'stop' parameter of endTransmission() API is ignored #140

@silabs-VinhLe

Description

@silabs-VinhLe

Hardware

any

Core version

3.0.0

Arduino IDE version

2.3.6

Operating system

any

Radio stack variant

No radio

OpenThread Border Router device (if using Matter)

none

Issue description

Hello,

Some existing libraries which uses I2C master mode require 'repeated START' between WRITE and READ operation, e.g. Adafruit_BusIO I2C library, it require endTransmission() API not sending STOP after ACK received as the READ operation will send a repeated START after that. And I found out that our implementation of endTransmission() API ignores stop parameter.
I've tested it with MLX90640, by using Adafruit_MLX90640 and the MLX90640_GetFrameData() returned incorrect data.
I think we should use I2C IRQ instead of the blocking APIs to be able to support this function.
Thank you.

Serial output

No response

RTT output (if using Matter)

No response

Minimal reproducer code

Just use Adafruit_MLX90640/examples/MLX90640_simpletest for testing

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions