* feat(example): Add SNTP example to show how to update Rtc
* Bump embassy-net to 0.7.0 for compatibility
* Revert back to task-arena to build on stable.
* Run test with multiple timeouts
* Align hw_bus_clear option with esp-idf
* Generate stop condition after HW bus clearing
* Tweak software bus clearing algo
* Make sure I2C is always reset
* Properly set finished flag even on timeouts
* Fix reset/clear interactions
* Add a note about blocking in Drop
* Add changelog entry
* Move `embassy_wifi_bench`, `wifi_bench`, and `wifi_csi` examples to `qa-test` package
* Remove blocking BLE example, replace Embassy example with trouble-based scanner
* Add BLE `bas_peripheral` example
* Don't estimate XTAL with RC oscillator if not necessary. Accept wider range in HIL tests. Skip calibration if value is valid.
* Init clock before RTC domain
* Clarify the meaning of the coexist feature
* Update esp-radio/Cargo.toml
Co-authored-by: Dániel Buga <bugadani@gmail.com>
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Read EP1_CONF_REG to get UART FIFO status in UsbSerialJtagTx::flush_tx_async
If the USB_SERIAL_JTAG_SERIAL_IN bit is 1, UART Tx FIFO is not full.
This makes flush_tx_async read the same bits as flush_tx_nb and the blocking flush_tx.
* Add change of UsbSerialJtag's async function to CHANGELOG
* Apply suggestion from @bugadani
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Refactor `os_adapter` into directory module
* Clean up Cargo manifest a bit
* Add and improve documentation for `wifi` module
* Address review comment
* Split wifi feature into wifi-ap, wifi-sta and wifi-eap
* changelog
* Revert most of the changes, keep wifi and wifi-eap features only
* wifi-eap is unstable, include this feature into CI tests and documentation
* More consistent naming of interrupt-related functions
* MG entry
* changelog
* use correct package for MG
* fix hil
* other drivers
* address review comments
* s/esp-radio-preempt-baremetal/esp-preempt/g
esp-preempt will hopefully one day be more useful than just a scheduler
for esp-radio, therefore I've removed the radio prefix for that future
goal. I also felt that baremetal didn't really add much other than
noise, so I've removed that postfix too.
* fix xtask
* remove test code
* fixups
* Tweak I2C timeout defaults and stability
* Add some logs
* Set signal levels before releasing GPIOs
* Use a single option for the pins
* Don't use the hardware to detect idle state, stop when device releases SDA
* RMT: Encapsulate STATE accesses
Abstract away the unsafe AtomicU8 <-> RmtState conversion behind a safe
API. (See the code comments next to the `mod state` fore more details.)
This adds a few methods that are presently unused, but will be in future
PRs.
* RMT: remove unnecessary pub(crate) from *_SIGNAL arrays
* add #[inline] to (un)listen_(rx|tx)_interrupt
Ensure that these methods are always inlined (they probably would be
anyway, but better be sure):
- The `event` argument is usually known, which might allow for more
optimizations.
- Ideally, the compiler should be able to optimize away any complexity
that the `EnumSet` might add.
* RMT: inline Rmt::new_internal
given that there's only a single caller since a previous refactoring
* RMT: add test for channel RAM release on Drop
* RMT: macro simplification
- centralize all macros, getting close to a single source of truth for
the channel specification
- use paste! to avoid some repetitive macro arguments
- replace the tt-muncher by simple repeat patterns: This makes the macro
much easier to read. It would be possible to combine the
declare_channels!, declare_rx_channels!, declare_tx_channels! by using
one big complicated tt-muncher, but the cost in readability of the
macro seems excessive
- no need for absolute paths in these macros, we're the only user, and
they're only used at the top level of the module
* RMT: import crate::gpio to shorten paths
we keep the gpio prefix, since a later commit will also use
gpio::interconnect::{InputSignal, OutputSignal}