Dániel Buga
8860aba9b2
Spi master: remove public hidden APIs, add Config/apply_config ( #2448 )
...
* 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
2024-11-06 09:03:43 +00:00
Dániel Buga
1e6820d1a7
Systimer improvements ( #2451 )
...
* Do not read to set update bit
* Deduplicate
* Try to bind interrupts to the correct core
* Inline poll_count into read_count
* Clean up
* Make sure only a single update is done at a time
* Changelog
* Fix docs
* Correct the channel count
* Assign enough timers for HIL test
* Use a lock to prevent re-update
* Remove locking, use esp-idf implementation
* Document timer count requirement
2024-11-04 11:36:34 +00:00
Dániel Buga
40c0a6944e
into_async (#2430 )
...
* 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
2024-11-04 09:32:12 +00:00
Dániel Buga
2ac47868f7
Remove FullDuplexMode and HalfDuplexMode type params ( #2373 )
...
* Remove duplex type param
* Rename dma_ functions
2024-10-24 07:22:21 +00:00
Dániel Buga
632bbc6461
Fix interrupt executors waking up thread-mode executors on the first core ( #2377 )
...
* Clean up
* Add failing multi-core test
* Reset interrupts before main
* Changelog
* Add test case
2024-10-22 14:45:06 +00:00
Dániel Buga
a754e411b1
SPI type erasure ( #2334 )
...
* Move SPI peripheral type to the last position
* Implement AnySpi
* Convert peripheral types
* Add new_typed constructors
* Implement PDMA
* Fix conditional
* Clean up constructors
* Fix test
* Move stuff to utils
* Extract any macros
* Merge PeripheralMarker defs into peripherals macro
* Changelogs
* Implement fn degrade
* Changelog num
* Fix typo
* Rename type-erased dma channel
* Remove degrade fn
* Remove utils
* Explain peripherals macro
2024-10-21 14:03:14 +00:00
Dániel Buga
7ca1b4376f
Erase DMA type params ( #2261 )
...
* Split PdmaChannel into two
* Take &self in PDMA traits
* Implement type-erased PDMA channels
* Remove Degraded assoc type
* Move degrade fns to base trait
* Use PeripheralDmaChannel on constructors only
* Remove WithDmaAes use
* Erase DMA type params
* Clean up examples/tests
* Remove redundant trait bounds
* Remove peripheral-specific DMA traits
* Document i2s change
* Clean up parl_io
* Deduplicate InterruptAccess
* Fix cfg
* Implement runtime compatibility check
* Clean up a bit
* Document changes
* Swap Channel type params, erase dma channel
* Unsplit traits
* Remove redundant cfg
* Fix docs
* Simplify DmaEligible
* Remove unsafe code
* Revert "Swap Channel type params, erase dma channel"
This reverts commit 415e45e44b297fd3cb55b4261c9ce151cca4b9c9.
* Allow different degraded DMA types
* Allow converting into peripheral-specific DMA channel, use it for compat check
* Erase PDMA types without AnyPdmaChannel
* Hide degrade fns for now, remove from MG
* Clean up SPI slave
* Fix QSPI test
* Fix mem2mem, fix S3 peripherals
* Fix S2
* Remove AnyPdmaChannel
* Remove PeripheralDmaChannel
* Remove unnecessary degrade call
2024-10-08 14:09:27 +00:00
Dániel Buga
e7dab298f5
Rename and wrap ErasedTimer ( #2144 )
...
* Rename and wrap ErasedTimer
* Also rename conversion trait
2024-09-11 20:29:21 +00:00
Sergio Gasquez Arcos
b5f0246129
Reordered RX-TX pairs to be consistent ( #2074 )
...
* feat: Update rx-tx order in i2s
* feat: Update rx-tx order in dma macros
* feat: Update rx-tx order in spi
* feat: Update rx-tx order in aes
* feat: Update rx-tx order in mem2mem
* feat: Update rx-tx order in twai and split methods
* feat: Update rx-tx order in twai
* feat: Update rx-tx order in twai and uart docs
* docs: Add sentence about order
* docs: Update changelog
* feat: Update rx-tx order in embassy_interrupt_spi_dma tests
* style: Rustfmt
* docs: Migrating guide
* fix: Typo
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* fix: Diff
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* fix: Tests rx-tx order
* fix: Update new_with_default_pins order
* feat: Update rx/tx order in hil_test::common_test_pins!
* feat: Update dma_extmem2mem example
* fix: Revert deleted input arg
* style: rustfmt
* feat: Disable test_asymmetric_dma_transfer for S2
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2024-09-06 09:56:10 +00:00
Dániel Buga
99bf346898
Remove the need to manually pass clocks around ( #1999 )
...
* Clean up passing clocks to drivers
* Update changelog
* Initialise Clocks in a critical section
* Fix calling now() before init
* Fix doc
* Fix esp-wifi migration guide
* Add safety comment
* Update tests
2024-09-04 14:13:51 +00:00
Dániel Buga
9465244e0d
Fix various SPI/DMA issues ( #2065 )
...
* Add failing test
* Fix enabled interrupt
* Fix using the correct waker
* Changelog
* Enable test on more devices that have SPI3
2024-09-03 10:02:21 +00:00