This makes it possible to safely implement the InputPin and OutputPin
traits for AnyPin. Now you can convert any pin to AnyPin with the
appropriate type and use it in other library modules
Added:
- Peripheral implementation for AnyPin
- Implementation of Pin for AnyPin
- Implementation of OutputPin for AnyPin with type IsOutputPin
- Implementation of InputPin for AnyPin with type IsInputPin
- Upgrade types for AnyPin (for example InputOutputAnalogPinType ->
InputOutputPinType)
- Implementation of From<Gpio> for AnyPin with the appropriate type
Changed:
- The Gpio::degrage method returns AnyPin with the appropriate type
* Make the `DMA` peripheral API more consistent
* Update examples for devices with `PDMA`
* Update examples for devices with `GDMA`
* Update `CHANGELOG.md`
* Update example after rebasing
* Create virtual peripherals for `ADC`/`DAC`
* Refactor the `analog::dac` module
* Refactor the `analog::adc` module
* Decouple the ADC driver from the `embedded-hal` traits
* Update `CHANGELOG.md`
* Seal the `AdcCalScheme` trait, reduce visibility of `AdcCalEfuse` trait
* Remove `APB_SARADC`/`SENS` peripherals from the `Peripherals` struct
* Add `document-features` dependency to all HAL packages
* Update package-level documentation for each chip-specific HAL package
* Document package features for all chip-specific HALs
* update embassy in Cargo.toml and add embassy-time-driver
* fix embassy-time for esp-hal-common
* update CHANGELOG.md
* fix clippy warning by removing manual adc implimentation for esp32
* undo change, fixing clippy error by removing unused use statement
* remove embassy crates-io patches
* remove a remaining embassy patch
* Update embassy-time version in esp-hal-common/Cargo.toml
Co-authored-by: Scott Mabin <scott@mabez.dev>
* remove the remaining embassy patches
* remove embassy-time as a dependency for esp*-hal
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
* Add `rt-riscv` and `rt-xtensa` features to `esp-hal-common` to allow enabling/disable runtime support
* Update the CI workflow to check the chip-specific HAL packages without default features
* Update `CHANGELOG.md`
* Update to `embedded-hal@1.0.0-rc.2` and friends, bump some other deps
* Update method name in `SetDutyCycle` trait implementation
* Implement `DelayNs` trait
* Update `CHANGELOG.md`
* Update `usb-device` as well
* Use latest `embassy-executor` release
* Add macro to create DMA buffers and descriptors
* Remove WDT disabling from remaining examples
* CHANGELOG.md entry
* Remove redundant `unsafe`
* Easier way to make RX and TX same sized
* RISC-V executors
* Add multiprio example to RISC-V SoCs
* Check new examples
* Hack in support for generic queue
* Reserve SoftwareInterrupt0 for multicore thread-mode executors
* Merge interrupt executors
* Merge thread-mode executors
* Document the new features and expand on time drivers
* Main tasks don't have to return !
* Unify multiprio examples
* Undo C6 log output change
* make pins optional for Spi::new (master, full-duplex mode)
* add additional method to setup spi pins (master, full-duplex mode)
* add additional method to setup spi pins (master, half-duplex mode)
* remove generic type parameters for Spi::new
* update documentation
* make `with_pins` could be chained
* update CHANGELOG.md
* update CHANGELOG.md
* make the return value of a method like `with_{*}` owned
* fix (maybe?) all broken examples caused by the change (esp32-hal)
* fix (maybe?) all broken examples caused by the change (esp32c2-hal)
* fix (maybe?) all broken examples caused by the change (esp32c3-hal)
* fix (maybe?) all broken examples caused by the change (esp32c6-hal)
* fix (maybe?) all broken examples caused by the change (esp32h2-hal)
* fix (maybe?) all broken examples caused by the change (esp32s2-hal)
* fix (maybe?) all broken examples caused by the change (esp32s3-hal)
* rerun 'cargo fmt' for esp-hal-common
* rerun 'cargo fmt' for the rest of examples
* Temporarily disable async `SYSTIMER` implementation, remove mention from `CHANGELOG.md`
* Remove a couple files which are not required
* Fix warning for `sha` examples
* Fix warning for non-C3 devices
* s/interrupt_clear/clear_interrupt/
* Force frame pointers for RISC-V chips
* Various dependency updates
* Update to latest published PACs and resolve build errors
* Top-level `README` updates
* Further clarify when `RUSCT_BOOTSTRAP=1` is required
* Fix Async UART
The uart handler was `writing` to the enable register instead of
`modify`, which meant any wake would see the cleared enabled bit and
think the event had occurred. This wasn't seen before the split of uart
because it was only possible to listen to one thing at a time.
This PR also removes the ReadBufferFull error in favour of returning the
max bytes in the buffer.
The serial examples has been updated to actually have some cross task
communication.
* changelog
* fix dev deps
* Move SPI-related traits into their own preludes in the `spi` module
* Remove the `embedded-hal-async` trait re-exports and the `eh1` module from the prelude
* Update `CHANGELOG.md`