Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding I2C Burst Reading/Writing feature #1495

Merged
merged 3 commits into from
Aug 30, 2024

Conversation

AnhNhan2803
Copy link

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

@peterharperuk
Copy link
Contributor

peterharperuk commented Jan 12, 2024

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

@kilograham
Copy link
Contributor

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

@AnhNhan2803
Copy link
Author

@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 kilograham added this to the 1.6.0 milestone May 20, 2024
@peterharperuk peterharperuk modified the milestones: 1.6.0, 1.6.2 Jul 25, 2024
@kilograham kilograham modified the milestones: 1.6.2, 2.0.0 Aug 8, 2024
@peterharperuk
Copy link
Contributor

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

@kilograham
Copy link
Contributor

because it had merge conflicts

anhnhancao and others added 3 commits August 9, 2024 18:08
Rename the functions. Lose the "mode" and "blocking" needs to be at the
end.
Just set restart_on_next in the caller rather than adding a parameter.
@peterharperuk
Copy link
Contributor

Actually, it was my mistake.

@peterharperuk
Copy link
Contributor

Example here raspberrypi/pico-examples#512

@kilograham kilograham removed this from the 2.0.0 milestone Aug 9, 2024
@kilograham kilograham added this to the 2.0.1 milestone Aug 9, 2024
@peterharperuk
Copy link
Contributor

@kilograham Apologies - could you review this again?

@kilograham kilograham merged commit 3bc8663 into raspberrypi:develop Aug 30, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants