* Remove Peripheral/PeripheralRef
* Make ADC unit and channel structs more readable by avoiding const generics
* Remove unused parameter
* fix forgotten reference to the old ADCU syntax
* Mention that we have removed the prelude module
* try_into methods for changing the pin type
* 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>
* 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
* Refactor Rgb struct
Moves hsv convertion into
an associated function and further
implements From<Rgb> for u32.
* Update rmt_neopixel.rs
* Replace if-else with pattern matching
* Correct endianness of RMT signal
Bits were sent reversed, which worked for 0xff but not at smaller values to dim the LED. Also added rainbow example using a hsv function.
* cargo fmt
* Removed logger and fixed delays
* 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!