spi: add non-blocking bus acquisition - #126
Conversation
a8a6c03 to
6aa66fa
Compare
57b4b78 to
87ff296
Compare
6aa66fa to
33e8d49
Compare
87ff296 to
d591fb4
Compare
a759c0a to
c96237a
Compare
d591fb4 to
5dbd37e
Compare
c96237a to
c574357
Compare
6f51f7f to
e36931a
Compare
c574357 to
ee96ee8
Compare
e36931a to
9b402a6
Compare
ee96ee8 to
0e068a0
Compare
|
@CodeRabbit review |
|
|
Warning Review limit reached
Next review available in: 26 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
9b402a6 to
6cfc76d
Compare
Adds an explicit non-blocking SPI bus-acquisition API for asynchronous runtimes. A failed try does not leave a pending lock request behind, while success has the same release contract as
spi_device_acquire_bus.This is needed by the stacked Toit asynchronous SPI controller change: primitives must never wait on an RTOS semaphore.
Validated through two-device Toit hardware tests on ESP32 and ESP32-S3, including repeated acquisition attempts while an interrupt-driven transaction owns the bus.
Stacked on #125.