-
Notifications
You must be signed in to change notification settings - Fork 355
Description
Let's keep track of desirable refactorings and enhancements of the RMT driver. A bunch of these have come up in recent PRs, where it was decided to not address them immediately:
-
Always type-erase the RMT channel number on
Channel -
Move channel specification from
cfg_if!branches toesp-metadata -
Consider redesigning the extended channel RAM feature to avoid global shared mutable state
-
Support wrapping rx/tx for all methods
-
Support more general data types (iterator, an encoder type similar to IDF)
- also remove
From<PulseCode>/Into<PulseCode>support: RMT: refactor copies to/from channel RAM #4126 (review) - PR (partial): RMT: refactor copies to/from channel RAM #4126
- PR: ...
- @wisp3rwind currently working on this
- also remove
-
Support multi-channel sync tx
-
Implement blocking methods for owned and borrowed channels and redesign how data is passed in
- came up in RMT: Refactor state checks, support non-blocking poll on blocking transactions #3716 (comment)
- related: RMT API no wait #1749
- PR (partial): RMT: lifetimes, tests, fixes #4174
- @wisp3rwind currently working on this
-
Properly tie
Rmt,ChannelCreator,Channellifetimes together. -
Fractional divider support:
-
Better reflect hardware capabilities for continuous tx in the API and add HIL tests:
- came up in RMT: Misc refactoring #4100 (comment)
- PR: RMT: clarify continuous tx API and add HIL tests #4260
- PR: RMT: Obtain field witdths from PAC instead of esp-metadata, verify loopcount #4276
- still missing: clarify/improve
is_loopcount_interrupt_set()
-
Add an async continuous tx method
- @wisp3rwind curently working on this
-
Ensure that all fallible methods that take
Channelby value return it on error
I've marked points that I'm currently working on/have some local prototype for.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status