* commit test 1
test commit 2
next device
asd
* try example, haven't built yet
* Add feature flags for legacy RMT examples
Remove references to the ds18b20 specific device.
Add a feature flag `rmt-legacy` that, when enabled, will build the
original rmt modules from v4 of the esp-idf. When disabled, the v5
rmt interface can be used for one wire applications.
Implement the Iterator trait for a device search and use the Iterator
in the example.
* Add more feature guards to examples compile
* Add alternative main functions for examples
* Use std threading
* Add std to thread sleep
* use std duration
* correct use for legacy rmt component
* Remove local bindings and use the esp-idf-sys master
* fix a typo
* Remove esp-idf component inclusion
* Update gitignore
* Fix examples
* mut-ex out the example compilation
* add implementation for temperature readings
* Conditional compile
* esp4.4 compile
* Changes to cargo and config
* Remove OWDevice and simplify API
* Remove phantomdata that is not required
* adjust lifetimes for single search at a time
* Keep RMT peripheral and add channel to onewire
Moves the RMT driver into a private `driver` module, which will only be compiled in rmt-legacy mode.
Also reduce the number of cfg feature flags in examples by wrapping the implementation in a module.
* modularise examples
* Fix for CI
* update example name to make it pop
---------
Co-authored-by: Dane Slattery <dane@polarmonitoring.com>
Co-authored-by: DaneSlattery <dane_s@umantec.net>
* rmt: wrap rmt_item32_t in a newtype
This makes it much easier to use `TxRmtDriver::start_iter` and
`TxRmtDriver::start_iter_blocking` (#113).
* examples/rmt_musical_buzzer: fix for ESP32
Possibly broken by #97, possibly never worked. The ESP-IDF repo
specifically excludes the ESP32 from the RMT musical buzzer demo
because its RMT unit lacks hardware looping. Before this change, the
demo would simply hang when trying to play the second note possibly
because the ESP32 RMT unit does not support asynchronous stopping.
As an added bonus, this example is now much easier to modify to
experiment with 1-bit chiptune synthesis by making every symbol
(cycle) accessible in the ISR iterator.
* rmt: remove Pulse::into_rmt_item in favor of Symbol::new
Also, factor Pulse pairs into function arguments for ease of use.
* Hacky async TWAI driver
* Async TWAI: Custom priority and pin to core
* Async TWAI: Proper configuration of alerts
* Do not refer to esp-idf-sys as it is not an explicit dependency anymore
* Add RMT receiver
* Changed line 891 to rmt_item32_t,
Changed line 835 to carrier_rm
* rmt.rs - changed line 891 to rmt_item32_t
rmt.rs - changed line 835 to carrier_rm
* Changed rmt channel implementation
* wrong rx_config_t field name
* More cleanup from rebase
* Fix cargo fmt check errors
* guess #1 to fix errors
* Try to fix clippy error
* Can't use log change to println
Change gpio pins for esp32-c3
* old update to esp-idf-hal newer one coming
* Fix format errors
* Update TxRmtDriver and RxRmtDriver
* Fix compile errors
* fix rmt_morse_code.rs error
* Fix format failure
* Fix more errors
* Fix examples
* Change PulsePair durationX type
- use u16 instead of PulseTicks
Co-authored-by: enelson1001 <ednelson5080@gmail>
* WIP: Initial tx rmt implementation
* Rename Bulder to Config to line up with other mods
* WIP Potential traits for a "pulses" mod in embedded-hal
* WIP: Initial tx rmt implementation
* Rename Bulder to Config to line up with other mods
* WIP Potential traits for a "pulses" mod in embedded-hal
* Copied example code from ledc fork. Semi-working example.
* Rename level to pulse. dev-dep versions.
* WIP RMT, Examples
* WIP RMT Fix neopixel example
* WIP RMT morse code work
* WIP RMT fixed morse example
* WIP RMT more config, docs.
* WIP RMT fix compilation
* WIP RMT Fix doc comment in example.
* WIP RMT: notes on examples
* WIP RMT Group up same level config items.
* WIP RMT Change half_inserted to an Option
* WIP RMT Don't need to return Result in clear()
* WIP RMT Config refactor. Into for enum.
* Result instead of Option in PulseTick
* Don't use floats for ticks calcs
* WIP Duration for ticks
* Cleanups.
* Moved Duration logic into PulseDuration.
* Remove unused tick_hz field.
* Cleanups.
* WIP playing around with generics
* Refactored out Vec storage out of Writer
* WIP Heap and Stack implementations for data
* WIP about to nuke tricky const code
* Cleanups
* Own PinState. start/start_blocking.
* Wrap duty percent with range safety.
* Use units::Hertz
* Use Hertz in ticks_hz
* Stop transmitting implementation
* Fix morse example
* rmt peripheral for channels (4 for now)
* Small tweaks
* Morse example to demo more functionality
* WIP Fixes and testing functionality
* Cleanups and notes
* Assign devices to number of channels. Cleanups.
* Sprinkled TODO's around for docs/fixes
* Longer messages don't repeat so remove it for now
* Rename data to signal because data is a too generic term
* More docs
* Don't mention receiving in description.
* More docs
* Rename `add` to `push` like Vec. More docs.
* Rename `Writer` to `Transmit` to line up with rmt docs.
* Accidentally had idle_level in carrier config.
* More docs and cleanups. std compatibility.
* Remove chip::HwChannel import because of a * import later.
* Separate duration to ticks calc. Music example.
* Added comment on example.
* clippy: ok_or_else, Default.
* fixes: mut self, allows/features, alloc, &Pulse.
* only need feature alloc for the use warning.
* rename Signal implementations
* Alloc, morse example fix.
* Didn't need that map. iter does the ref.
* Clippy repairs. println! instead of info!