Adding I2C Burst Reading/Writing feature #1495

Merged
AnhNhan2803 merged 3 commits from develop into develop 2024-08-30 12:55:25 -05:00
AnhNhan2803 commented 2023-09-06 19:12:21 -05:00 (Migrated from github.com)

I realize that the C-SDK of Raspberry Pi Pico does not support the burst mode operation in I2C (only supports normal and repeated start in reading/writing). As burst mode is an important I2C feature that is sometimes required in communication with several I2C slaves. e.g. MAX3010X. Hopefully, we can consider adding this feature to the current SDK.

Thank you

I realize that the C-SDK of Raspberry Pi Pico does not support the burst mode operation in I2C (only supports normal and repeated start in reading/writing). As burst mode is an important I2C feature that is sometimes required in communication with several I2C slaves. e.g. MAX3010X. Hopefully, we can consider adding this feature to the current SDK. Thank you
andygpz11 (Migrated from github.com) reviewed 2023-09-06 19:12:21 -05:00
peterharperuk commented 2024-01-12 05:30:01 -06:00 (Migrated from github.com)

Any idea how we would test this? Do you have some code that works with MAX3010X that could be put int pico-examples?

Any idea how we would test this? Do you have some code that works with MAX3010X that could be put int pico-examples?
kilograham commented 2024-05-19 17:08:15 -05:00 (Migrated from github.com)

a bit confused at a very qucik glance; can't you just set nostop to true in the existing API?

a bit confused at a very qucik glance; can't you just set `nostop` to true in the existing API?
AnhNhan2803 commented 2024-05-19 17:24:57 -05:00 (Migrated from github.com)

@kilograham In the original implementation with "nostop" set to true, the start condition can repeat without sending a stop, allowing for repeated starts within a transfer. However, in burst mode, there is only one start and one stop condition, with several commands or data transfers happening continuously in between without any repeated starts or stops.

@kilograham In the original implementation with "nostop" set to true, the start condition can repeat without sending a stop, allowing for repeated starts within a transfer. However, in burst mode, there is only one start and one stop condition, with several commands or data transfers happening continuously in between without any repeated starts or stops.
peterharperuk commented 2024-08-09 08:13:03 -05:00 (Migrated from github.com)

@kilograham Is there a reason this didn't make it into the release?

@kilograham Is there a reason this didn't make it into the release?
kilograham commented 2024-08-09 10:32:54 -05:00 (Migrated from github.com)

because it had merge conflicts

because it had merge conflicts
peterharperuk commented 2024-08-09 12:35:01 -05:00 (Migrated from github.com)

Actually, it was my mistake.

Actually, it was my mistake.
peterharperuk (Migrated from github.com) approved these changes 2024-08-09 12:43:20 -05:00
peterharperuk commented 2024-08-09 12:45:40 -05:00 (Migrated from github.com)
Example here https://github.com/raspberrypi/pico-examples/pull/512
peterharperuk commented 2024-08-13 06:35:39 -05:00 (Migrated from github.com)

@kilograham Apologies - could you review this again?

@kilograham Apologies - could you review this again?
kilograham (Migrated from github.com) approved these changes 2024-08-30 12:55:09 -05:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk!1495
No description provided.