* Hide most of the unstable peripherals
* Lint with correct toolchain, lint with unstable enabled
* Require unstable feature and lint using it
* Auto-lint xtensas with esp toolchain
* Fix msrv and ieee802154
* Add feature to examples
* Don't require building ieee802154 for all examples
* Mark modules in documentation
* added dhcp to access point example, also GW IP is configure from environment as shown in Cargo.toml
* changelog entry
* Revert "changelog entry"
This reverts commit 3412d1c1948e42789f0dc2ec2d46ac3c23c879ac.
* default gateway IP in case env IP isn't provided
* dhcp server runs in a loop so that it will restart on an error
* Derive Builder Lite pattern for `esp_hal::Config` and `WatchdogConfig`
* User builder pattern for `esp_hal::Config` in examples/tests
* Update `CHANGELOG.md`
* Add a derive procmacro to implement the Builder Lite pattern for a struct
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in I2C module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in UART module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in SPI module
* Update `CHANGELOG.md`
* Fix build errors in HIL tests
* Fix generated doc comments
* Return a `ParseError` rather than panicking
* Add a method to set the value to `None` for `Option` types
* Add mode param and type erasure to high level timer drivers
* Add async impls for the timers plus eha impl
* re add etm example, fix etm for systimer
* re add tests
* Add Into<AnyTimer> + 'static bounds to the Timer trait
* remove set_alarm_active impl detail from the timer trait
* clippy
* doc fix ups
* changelog and migration guide
* review
* fix h2, reuse schedule for delay
* WIP
* WIP(1)
* done
* changelog entry
* swint example needs to lose some weight
+ fix psram
* get twai and touch examples back, lcd example to qa, less embassy
* more moving
* move changelog entry
* address reviews
upd: revert "is_not_release" check
* rebase + a bit more changes
remove useless feature
* address review
remove inappropriate doctest tutorial
* get all sleep examples back and to qa-test
fmt
* get rid of some redundant printlns in doctests
* etm timer upd
* make printlns great again
* writeln! -> println!
* clear "timer with interrupts" doctest
* system timer simplfication
* Removes _all_ type params on Alarm
* Systimer no longer implements peripheral ref, the peripheral ref
pattern is instead intended to be used on the higher level timer
drivers
* Removed `Unit` as a type, in favour of an enum
* Alarms are back in the main `SystemTimer` "driver"
* Made all `Unit` modification methods unsafe, it's not possible to
modify the `Unit`'s safely whilst timers and or the `time::now` API is
in use
* fix examples and tests (by removing them :D)
* changelog and migration
* Review feedback
* changelog and migration
* /unit_count/unit_value/g
* changelog and migration
* /unit_count/unit_value/g
* system timer simplfication
* Removes _all_ type params on Alarm
* Systimer no longer implements peripheral ref, the peripheral ref
pattern is instead intended to be used on the higher level timer
drivers
* Removed `Unit` as a type, in favour of an enum
* Alarms are back in the main `SystemTimer` "driver"
* Made all `Unit` modification methods unsafe, it's not possible to
modify the `Unit`'s safely whilst timers and or the `time::now` API is
in use
* Make TimerGroup Timer's dumb and untyped
* changelog
* review
* review
* system timer simplfication
* Removes _all_ type params on Alarm
* Systimer no longer implements peripheral ref, the peripheral ref
pattern is instead intended to be used on the higher level timer
drivers
* Removed `Unit` as a type, in favour of an enum
* Alarms are back in the main `SystemTimer` "driver"
* Made all `Unit` modification methods unsafe, it's not possible to
modify the `Unit`'s safely whilst timers and or the `time::now` API is
in use
* fix examples and tests (by removing them :D)
* changelog and migration
* /unit_count/unit_value/g
* etm doctest
* Review feedback
* Introduce RGB/DPI driver
* Choose different pin for HIL test
* fail
* Use official devkit
* merge update
* non_exhaustive
---------
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
* Teach `xtask` about the `qa-test` package
* Create the `qa-test` package and move some examples to it
* Check `qa-test` package in CI
* Add `README.md`
* Fail RMT one-shot transactions if end-marker is missing
* CHANGELOG.md
* Add test
* Fix
* Fix
* RMT: use u32, turn PulseCode into a convenience trait
* Clippy
* Adapt test
* implement event handling for apsta{,dis}connect and probe
add to wifi_access_point example
* hide internal `Option` to simplify api
* move handler call logic to event.rs
* update_handler_leak
* - Add comments
- match simpler api from `std::panic::update_hook`
- do not assume size_of in prelude
- make all events handleable
- box static instead of leak
* update changelog
* elide lifetime on default handler
* newtypes for all event types.
* add doc to newtypes
* fix previous doc example
* - `get_handler` -> `handler`
- pass critical section to event handlers
- comment on perf of Box<ZST>
- don't pass `prev` in `update_handler`, instead call previous handler first unconditionally
* pass cs to dispatch_event_handler
* don't print "unhandled event" for handled events.
* Remove hidden public SPI API
* Fix in_progress flags not being set
* Remove redundant checks, fix full-duplex flag
* Remove now-redundant Send impl
* apply_config
* SetConfig
* Return ConfigError
* Unwrap config result in ctor
* Remove configure_for_async
* Add into_async and into_blocking to I2c
* Add into_async and into_blocking to UsbSerialJtag
* Rework LCD_CAM
* Rmt
* RSA
* TWAI
* Uart
* Documentation
* Disable interrupts set on other core
* Move configure into RegisterAccess
* Disable interrupts on the other core
* Use EnumSet in RMT
* More granular init and deinit per driver
- Rework EspWifiInit
- No longer require EspWifiInitFor
- Add Drop impls for each driver, and add Drop for EspWifiController to
fully deinit the stack
* unwrap! more stuff
* fixup examples and esp-now
* unwrap less stuff
* review feedback
* seal wifi traits, allow rng or trng to init esp-wifi
* changelog and migration guide
* return wifi error in esp now constructor instead of panic
* i2s_parallel for esp32 - partially working
* i2s_parallel for esp32 - works sync 16bit (still WIP)
* i2s_parallel - add 8-bit
* i2s_parallel - naive async implementation
* i2s_parallel - clippy
* add examples (mainly for testing now and we can reduce these before merge)
* set tx_wrx2 in 8 bit mode or it updates on half clocks!
* adjust clock config (still really a hack)
* better clock calculation/configuration
* no need to reset dma or interrupts in start, the DMA DmaTxBuf handles that
* seems to need a short delay during tx_reset
* use 20 clocks instead of 1us
* 1us delay between dma start and tx_start (like idf)
* changelog & documentation
* remove debugging functions
* no need for option in example
* make async example actually use async & remove Option
* implement Drop for I2sParallelTransfer
* fix signal offset comment for I2S0
* small cleanup in i2s_parallel examples
* added a note re I2S0 not supporting true 8bit
* update doc & fmt
* instace functions take &self
* fmt
* if run at 240MHz (CPU) delay needs to be bigger
* wait for fifo on start and fixes for 240MHz
* update for esp-hal-changes
* fmt
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Check for error when pushing into a circular dma transaction too late
* Adapt tests
* Adapt example
* Don't block forever if trxing to pop from a circular DMA transfer too late
* Have a dedicated error for circular-DMA reading/writing too late
* Stop I2S RX before resetting it
* Migration guide
* Address review comment, make CI pass
* Adopt ideas from review
* Fix
* Update esp-hal/MIGRATING-0.21.md
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* assert
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>