* ESP32(SPI): Disable the write side when reading is being done in DMA mode
* disable and re-enable MISO and MOSI in write and transfer methods
* changelog
* Added touch pad support
* touch: Introduced blocking mode
* touch: moved fns out of TouchPad to prepare async code
* touch: added async support and embassy example
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>
* implement async for lcd_cam i8080
* lcd_cam: implement InterruptConfigurable for blocking and improve async
* lcd_cam: use new async interrupt semantics from #1835
* lcd_cam: move interrupt handler binding into `new_async()`
* lcd_cam: Instance::is_listening_lcd_done not used
* i8080: no need for seperate `new_async()`
* i8080: don't use DmaTxFuture, just test for dma error after complete
* add HIL tests for LCD_CAM i8080 in blocking and async.
* lcd_cam_i8080: test channels configured for async as well since teh compiler can't prevent it for now
* fmt :-/
* lcd_cam fix comment
* changelog
* lcd_cam async: no need to enable interrupts until polled
* lcd_cam: i8080 update for ReadBuffer changes
* Deny missing documentation within the `analog` module
* Deny missing documentation in the `dma` module
* Remove unused `ENCRYPT_MODE`/`DECRYPT_MODE` constants from `AesFlavour` trait
* Deny missing documentation in the `aes` module
* Deny missing documentation in the `clock` module
* Update `CHANGELOG.md`
* Use the peripheral ref pattern for `OneShotTimer` and `PeriodicTimer`
* Update tests and examples to reflect changes in timer API
* Update `CHANGELOG.md`
* initial non-working attemt for dma from psram on esp32s3
* flush cache - now works for extmem as source but not for extmem as destination
* use cache_invalidate_addr on destination address
* update changelog
* require dma transfers to/from psram to be aligned to dcache line size
* cache_writeback_addr() should suspend/resume dcache autoload
* no need for cfg(esp32s3) in esp32s3 specific module
* dma: document alignment requirements for DMA to/from PSRAM
* fix doc typos
* Change semantics of DMA futures
* Only clear specific interrupt bit when listening for an "in progress" interrupt
* Fix PARL_IO Rx
* Only enable interrupts when future is polled
---------
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
* Check more features and targets in CI when linting
* Address clippy lints
* Address clippy lints for esp-wifi
* Expand println and storage checks
* Remove uneeded clippy lint
* Check every package for each target
* resolve esp-wifi clippy lints
* use defmt when building esp-wifi
* clean up
* fix warning in meta crate
* simplify CI workflow
* split up clippy jobs
* Re-export the `main` procmacro from `esp-hal-embassy` rather than `esp-hal`
* Fix documentation warnings
* Flatten the `time_driver` module
* clippy
* Update `CHANGELOG.md`
* Add the `xtensa-lx` package
* Add the `xtensa-lx-rt` and `xtensa-lx-rt-proc-macros` packages
* Exclude new packages from workspace, add to `xtask::Package`
* rustfmt
* clippy