* chore: Update smoltcp to `0.12.0` and embassy-net to `0.5.0`
* Add CHANGELOG entry
* Remove `wifi_dhcp_smoltcp_nal.rs` example
`smoltcp-nal`, a core dependency on which this example depends on doesn't receive the desired amount of maintainability needed to keep up to date with new dependencies releases.
* test ci
* fix ci with new compiler
* god bless clippy fix
* refmuts
* clippy
* tests work
* use new compiler
* use new compiler
* bump MSRV of esp-hal and crates that depend on esp-hal
* fix eyesore
* clippy again
* remove hardcoded compiler version
* bump rust-version as well
* note MSRV bump in changelog
* Fixed triggering a debug-assertion during scan
* CHANGELOGs
* Change `debug_assert` into warning level log
* Enable debug-asserts in hil-test, qa-test and examples
* Change the way we detect and warn about debug-builds
* Warn if opt-level is `0` or `1`
* 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.
* 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
* Include ROM API symbols
* Fixes and CHANGELOG.md
* Fix
* Move migration steps to the right crate's migration guide
* Remove `-Trom_functions.x` where necessary
* WIP
* cleanup
* WIP (BLE)
* WIP (BLE)
* c2 ble deinit doesn't work with ble alone, works in coex (WIP)
* fmt
* cleanup
* changelog entry
changelog entry
* WIP (do not check it)
it's just to save things before weekend!
* polishing, refactor
* cleanup
* lint
* Addressing reviews
* address reviews
* utilize `EspWifiInitialization` in deinit
* example -> description
* reviews
* reviews
* fix memory leak + rebase
* typo
* fix
* init -> initialize
screwed up after rebase
* make esp32c6/h2 buildable again
* edit safety comment
* Update drivers
* Fixes
* Changelogs
* Actually remove timers when we should
* Have one waker for all events
* Prefer `swap_remove` over `remove`
* Really implement new coex fucntions for C3/S3
* Real implementation for `coex_schm_flexible_period_set` and `coex_schm_flexible_period_get`
* Mute warnings
* Move binary logging to sys crate
* make ieee take radio clks by value
* rename wifi-logs to binary-logs and fix compilation
* update sys to use correct size types
* move rtc_clk_xtal_freq_get to esp-hal
* changelogs and migration guide
* s/wifi-logs/sys-logs/g
* activate log features for esp-wifi-sys
* ble log fix c2
* fix logs using latest sys rev
* fix warning
* Initial esp-config poc, replacing the place-spi-driver-in-ram feature
* Allow documentation generation for configuration options
* add `Value::Number` and a macro to parse
* Add Value::String and replace esp-wifi's config
* repo maint
* make bool parsing stricter and number parsing more flexible
* use hand rolled const str to int
* Collect unknown config options
* friendly errors
* also batch invalid values
* dump msrv to 1.79
* Mention perf boost from disabling logging
* review suggestions
* output selected config
* changelogs and migration guides
* review feedback
* avoid multiple case conversions where possible
* refactor generate, fix bug, add full test
* run host tests in CI
* add more esp-config tests
* review comments
* add cargo env workaround
* Allow accessing signal list via ErasedPin
* Replace AnyPin with more flexible signal config
* Update tests and examples
* Fix enable_from_gpio value
* Access signals from pin drivers
* DummyPin is not a pin
* Remove redundant public fns
* Various fixes, rename ErasedPin
* Changelog
* rustfmt
* Update i8080
* Typos and endless recursion
* Drop Pin suffix from traits
* Extract AF conversion
* Touch up changelog
* Clean up spi tests
* Refactor pull resistor handling
* Don't disable configured output functionality
* Clean up TODO
* Tweak docs
* Clean up examples
* esp-wifi uses global allocator, esp-alloc supports multiple regions
* CHANGELOG.md
* Apply suggestions
* Use `alloc` when linting esp-wifi
* Make coex example build for ESP32
* Re-enable some wifi examples for ESP32-S2
* Optionally depend on `esp-alloc` (by default)
* Rename INSTANCE -> HEAP
* Add integration with bt-hci crate
Implementing traits from bt-hci allows the BleConnector to
be used with the Trouble BLE stack.
* use packed based read interface
* Improve example to allow another connection after disconnect
* update trouble version
* Workaround for spurious command complete events
* fix formatting
* ignore notify errors in example
* fix clippy warnings
* remove async feature from hal dependency
* remove deprecated feature from example
* Adopt to api changes
* Api fix for esp32
* Set rust-version of esp-wifi
* bump MSRV to 1.77 for CI and esp-hal
* Add changelog entry
* Update package dependencies and bump version numbers
* Update `CHANGELOG.md` for each package to be published
* Remember to update `xtensa-lx-rt` too :)
* Add and use TrapFrame::new() in esp-wifi
* Bump `xtensa-lx-rt` by minor instead of patch, as there are breaking changes
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
With my ESP32-C6 device, I saw the following panic when scanning was
enabled and there were many BLE devices in vicinity:
unwrap of `EVENT_QUEUE.enqueue((*event).dummy as usize)` failed: 14,
This occurs because the NPL event queue has overflowed. I increased the
queue size from 10 to 16, and the panic went away. I also did some
testing and discovered that there were at most 13 elements on the queue
at any given time, so a queue size of 16 (which allows for 15 elements)
should give us some margin. This also gives a slight overhead reduction
as the heapless crate recommends the queue size to be a power of two.
Co-authored-by: Gavin Li <git@thegavinli.com>