* Support for all async executors
* Make all Notifiucation primitives a public API
* Address a small typo
* Address a small typo
* Fix CI
* Tighten the notify APIs by not taking 0s
* Fix CI
* Fix changelog
* Fix changelog
* Fix the examples
* edge-executor support moved to edge-executor
* wake-from-isr feature for edge-executor
* Fix CI
* Bugfixing
* Clippy
* Upgrade to e-hal 1.0-rc1
* e-hal is no longer alpha
* Fix for ESP IDF < 5
* Unite all delay impls in a single module
* Model delays between transactions
* SPI: Make queueing it a bit more readable
* SPI: Plug delays
* Shorten the threshold for the Delay provider
* Clippy
* Fix the examples
* SPI: Detect last transaction in the presence of delays
* SPI: Introduce CsPin
* SPI: Introduce CsPin
* SPI: Mark delays with TODO
* Clippy
* SPI: Rename CsPin to CsCtl
* Transfer_transaction not necessary
* 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
* Continuous mode ADC
* GPIO: Switch to the common notification; remove alloc req for async
* (WIP) async SPI
* Notification callbacks in async SPI
* SPI: Lower the code repetition
* Fix the build
* I2S pre-async simplification
* Async methods for I2S
* SPI: Wait for the transaction to complete on drop
* More flexibility in PinDriver::wait_for
* Remove the gargantuan mutex for now
* Arrays supported as ADC channels
* Fix timeouts
* ADC: measurement shape
* Fix the dependencies
* Fix CI
* ADC: cont config
* ADC: better atten API; fix delays
* ADC: Raw handle access
* I2S: Make config more symmetric with the other drivers
* I2S: Remove unnecessary generics
* Improve the semantics of read/write vrt partial r/w
* Review feedback
* Clippy
* Shorten static array initializers
* Do not glob-import all of esp-idf-sys
* SPI: make notifications non-static
* SPI: Remove the async fetch() hack; extend async support
* Fix the CI
* SPI: Restore WriteIter impl
* Bugfix: tx/rx handles mismatch
* I2S: Utility methods to write the whole buffer
* I2S Bugfix: wrong translation to native format
* More ergonomic API for TickType
* unsubscribe during reset will fail if ISR service is not enabled yet
* Typo
* Same defaults
* No need for unsafe here
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* Assert that ESP_ERR_TIMEOUT should never happen
* Safe variant of completion
* ADC: wrong timeout conversion
* Proof of posession of i2s0/spi3 for esp32/esp32s2
* write_async only available on ESP IDF 5+
* Option to transmute the adc buffer to pcm
* ADC: only expose PCM conversion where it is possible (esp32/esp32s2)
* ADC: Fix channel chaining
* ADC: fix the CI
* ADC: Nullify everything
* ADC: as_pcm32 for riscv and esp32s3
* ADC: as_pcm32 for riscv and esp32s3
* ADC: read_raw
* I2S: Proper driver shutdown
* ADC: Fix clippy and compile errors on ESP-IDF 4
* Compat with ESP-IDF master
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* upgrade to embedded-hal 1.0.0-alpha.6
This version has CAN traits. So this is prerequisite for adding CAN support.
* update upl/delay.rs traits
* use error type that preserves original EspError
* First cut of dual support: i2c, spi, gpio
* More dual-hal support: adc, serial
* Canbus support (thanks to @andresv)
* Stop the can driver first
* esp-idf driver expects bit length
* SPI: bus lock implementation; bugfixing
* make sure TRANS_LEN size is correct
* CAN fixes (#31)
* add CAN to peripherals.rs
* can: fix allow all filters
* can: fix can::Id types
* can: set correct bits in twai_message_t
* can: improve documentation
* ulp compatibility
* fix ULP Clippy warnings
* Bugfix: SPI transfer was broken
* New breaking release
* Move ESP-IDF CI build on a separate schedule
Co-authored-by: Andres Vahter <andres@vahter.me>