Björn Quentin
f9203dc523
Disable peripherals when unused ( #2544 )
...
* Disable peripherals when unused
* Fixes
* CHANGELOG.md
* Fix
* Address review comments
* Have dedicated guards for CAM and LCD
* Re-use `Cam`'s guard
* De-duplicate, assert
* fmt
* Require CriticalSection
* Address comments
* Remove redundant guard
* Use `GenericPeripheralGuard`
* Renaming
2024-11-21 09:21:28 +00:00
Jesse Braham
92b91257e9
Remove get_ prefix from functions ( #2528 )
...
* Remove `get_` prefixes from functions
* Update migration guides for `esp-hal` and `esp-wifi`
* Update `CHANGELOG.md` files
2024-11-13 15:40:26 +00:00
Dániel Buga
fbc57542a8
Remove pins from Io ( #2508 )
...
* Split pins off of Io
* Remove the GPIO peripheral
* p.GPIO
2024-11-12 10:36:25 +00:00
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
0c86740418
Peripheral interconnect redo, vol 2 (split()) ( #2418 )
...
* Replace peripheral connection conversions with split
* Constrain Flex conversions
2024-11-04 11:29:28 +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
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
c7a2368845
Print test panics using semihosting ( #2257 )
...
* Print panic messages using semihosting
* Don't use defmt's asserts
* Make RA_OFFSET available without panic-handler
* Re-add defmt imports where missing
* Revert unintended test change
* Initialise hal in critical-section test
* Disable defmt in tests by default
2024-10-04 06:31:39 +00:00
Dániel Buga
515e67092b
Remove PcntSource ( #2134 )
2024-09-12 08:30:16 +00:00
Dániel Buga
7a733a75db
GPIO interconnect ( #2128 )
...
* 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
2024-09-11 15:15:55 +00:00
Juraj Sadel
f374d6a102
Enable SPI_DMA_XX_ASYNC and _PCNT tests on ESP32 and S2, remove GPIO usage from description ( #2140 )
2024-09-11 10:23:07 +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
Juraj Sadel
17daa464ba
Enable ESP32 HIL ( #1977 )
...
* Enable ESP32 HIL
* RMT fixed
* SPI DMA partially works, _pcnt tests not working
* bckup
* finish
* readme and cleanup
* rebase + cleanup
* RMT S2 pin typo + clean forgotten comments
* review comments
* update 10000
* indentation
* replace cfg gate with cfg_if
2024-09-06 08:53:27 +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
Kirill Mikhailov
9bec6a1806
Adding I2C HIL test ( #2023 )
...
* i2c hil test
* pin
* fmt
* Test
* WIP (gpio test left)
* Finalize the CODE part (to be cleaned up)
fmt
* Smaller cleanup
* cleanup
* rebase
* fix
* getting last chips ready
* Addressing reviews
2024-09-04 12:45:58 +00:00
Dániel Buga
447411fb58
Rework hal initialization ( #1970 )
...
* Rework hal initialization
* Turn sw interrupt control into a virtual peripheral
* Return a tuple instead of a named struct
* Fix docs
* Remove SystemClockControl
* Move software interrupts under interrupt
* Re-document what's left in system
* Update time docs
* Update sw int docs
* Introduce Config
* Fix tests
* Remove redundant inits
* Doc
* Clean up examples&tests
* Update tests
* Add changelog entry
* Start migration guide
* Restore some convenience-imports
* Remove Config from prelude
2024-09-02 13:38:46 +00:00
Dániel Buga
84a060013d
Fix defmt compatibility ( #2017 )
...
* Fix defmt compatibility
* Update tests to cover macros
2024-08-28 14:07:09 +00:00
Scott Mabin
65c5dc1781
SPI DMA: use State for both blocking and async operations ( #1985 )
...
* use `State` for both blocking and async operations, remove async version of SpiDmaBus in favour of being generic over the mode
* reuse wait_for_idle more
* changelog
* rename generic params for consistency
* Add duplex mode to SpiDmaBus
* implement HalfDuplexReadWrite for SpiDmaBus
* Docs on new async APIs
* Limit half duplex transfers to the capacity of the DmaBuf
* docs
* rebase tests
* address review comments
* remove duplex traits from spi
* fix tests
* spi docs rejig
* s/InUse/TemporarilyRemoved/g
2024-08-27 16:15:59 +00:00
Dániel Buga
e1697310f6
Refactor SPI tests & re-enable S3 and some S2 ( #1990 )
...
* Deduplicate spi_full_duplex_dma_async
* Refactor SPI tests
* Separate out PCNT tests
* Re-enable test on S3
* Re-enable some S2 tests
2024-08-26 14:22:19 +00:00
Dominic Fischer
dc6c53ee47
Remove redundant WithDmaSpi traits ( #1975 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-08-21 12:59:55 +00:00
Dominic Fischer
41f9925e2c
[3/3] DMA Move API: Introduce DMA buffer objects ( #1856 )
...
* [3/3] DMA Move API: Introduce DMA buffer objects
* Remove FlashSafeDma
* Add async HIL test
* Handle set_length(0) correctly
* Fix tx/rx booleans
* Unlucky
* Preserve previous blocking semantics
* Add delay between starting DMA TX and SPI driver
* Update CHANGELOG
* merge tidy
* Add with_buffers builder
---------
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-08-20 11:47:55 +00:00
Dániel Buga
ec130877b7
Disable RTT polling in HIL tests by default ( #1960 )
...
* Disable defmt-rtt by default
* Update i2s test based on changes done to async
* fmt
* Update readme
* Update more tests
2024-08-19 13:47:22 +00:00
Juraj Sadel
e708dbc777
Add more SPI DMA (full-duplex) HIL tests (blocking and async) ( #1952 )
...
* Add more SPI DMA HIL tests (blocking and async)
* move test repetitions into loops instead, add a description about why PCNT is used, import embedded_hal_async::spi
* clean up
2024-08-19 06:59:55 +00:00
Björn Quentin
1424f2a43d
Implement InterruptConfigurable ( #1819 )
...
* Implement `InterruptConfigurable`
* Fix doc-tests
* Clippy
* Fix lp_core_uart example
* CHANGELOG.md
* Have DEFAULT_INTERRUPT_HANDLER
* Fix docs
* Clippy
* Add `set_interrupt_handler` for WDT
2024-07-18 13:37:46 +00:00
Scott Mabin
04cad71926
bump esp-backtrace to 0.13.0 ( #1804 )
...
* bump esp-backtrace to 0.13.0
* disable spi_half_duplex_write for esp32s2
2024-07-16 13:19:16 +00:00
Dominic Fischer
31a135c0f1
Add SPI Half Duplex Write HIL test ( #1801 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-07-16 10:19:16 +00:00