Easyoakland
30276e1609
implement wifi event handling with data ( #2453 )
...
* 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.
2024-11-13 08:49:41 +00:00
Dominic Fischer
456bcfb7c6
Remove redundant Enable trait ( #2523 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-11-13 08:26:18 +00:00
Björn Quentin
0b452f7933
C6/H2 Make higher LEDC frequencies work ( #2520 )
...
* ESP32-C6/H2: Make higher LEDC frequencies work
* FMT
* CHANGELOG.md
2024-11-13 08:11:01 +00:00
Dániel Buga
5d9cc1a588
Add ESP32-S2 alternate functions ( #2512 )
2024-11-12 12:18:16 +00:00
Björn Quentin
5d120f7a70
Remove the integrated blocking networking stack ( #2488 )
...
* Add simple example using `smoltcp-nal`
* Remove the blocking networking stack
* Renaming
* Fix CI
* CHANGELOG.md
* Fixes after re-base
* Update esp-wifi/MIGRATING-0.10.md
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
* Improve diff in migration guide
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
2024-11-12 11:43:01 +00:00
Dániel Buga
6cb5d9643f
Deduplicate impl, chunk data in ehal transaction Operations ( #2481 )
2024-11-12 10:49:30 +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
Jesse Braham
321ca2f131
Add CHANGELOG.md for remaining packages which do not have one ( #2518 )
...
* Add `CHANGELOG.md` for remaining packages which do not have it
* Update `changelog` workflow to check all relevant packages
2024-11-12 10:17:11 +00:00
Jesse Braham
cf10f07a9e
Add validation to esp-config ( #2475 )
...
* Clean up and re-organize `lib.rs` a bit (sorry)
* Add configuration validation, some other refactoring/improvements
* Add a built-in range validator, re-document the `generate_config` function
* Update build scripts to reflect new configuration API
2024-11-12 10:14:14 +00:00
Jesse Braham
57fc5df858
Modify bump-version subcommand to also bump dependent packages' dependencies ( #2514 )
2024-11-12 07:08:32 +00:00
Jesse Braham
33659380dd
Update revision of PACs and fix all build errors ( #2515 )
2024-11-11 21:27:50 +00:00
Dániel Buga
4af44b1498
Introduce Driver and move implementation into it ( #2480 )
2024-11-11 15:43:07 +00:00
Dániel Buga
2c14e595db
I2C: add apply_config, implement SetConfig, add with_sda and with_scl ( #2477 )
...
* Implement apply_config, SetConfig
* Remove pins from constructors
* Implement timeout changes, document them
* Fix up changelog
2024-11-08 22:51:42 +00:00
Dániel Buga
e10ae2ddff
GPIO: do not overwrite interrupt handler ( #2486 )
...
* Prefer defmt unwrap
* Auto-bind the GPIO interrupt handler
* Changelog
* Bind interrupt handler when initializing the hal
* Remove user handler overhead unless user handler is bound
* Add tests
* Try to preserve direct-bound handlers
* Fix match
* Don't rely on the vector table to check direct binding
* Fix comment
2024-11-08 17:04:06 +00:00
Sergio Gasquez Arcos
7402ad61ed
Expose CSI API in esp-wifi ( #2422 )
...
* feat: (WIP) add CSI api
* feat: Enable G_CONFIG.csi_enable and update example
* fix: Allow user to set the dessired cb method
* fix: Clippy warnings
* fix: Add missing doccomments
* feat: Add csi_enable config
* refactor: Update CsiConfiguration c6 struct
* feat: Create set_csi WifiController and EspNowManager methods
* docs: Update changelog
* refactor: Rename CsiConfig struct
* docs: Document c6 version of CsiConfig
* feat: impl From<CsiConfig> for crate::include::wifi_csi_config_t
* style: Rustfmt
* docs: Fix comment
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* docs: Fix typo
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
* feat: Enable CSI on examples by default
* feat: Handle errors
* style: Rustfmt
* feat: Update error
* feat: Panic if csi config is not enabled
* feat: Cfg CSI stuff when CSI is disabled instead of panicing
* fix: Clippy lints
* feat: Fix signed bitfields
* feat: Pass the cb via ctx
* feat: Update CSI callback to use closures
* refactor: Rename promiscuous_csi_rx_cb to csi_rx_cb
* feat: Move extra boxing inside set_receive_cb
* feat: Refactor CSI callback to use generic types
* refactor: Remove Sized bound from CsiCallback trait
* feat: Add csi_enable field to EspWifiConfig and update CsiCallback trait for conditional compilation
* feat: Remove unnecessary boxes
* feat: Update callback type in set_csi to require Send trait
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
2024-11-08 16:33:13 +00:00
Björn Quentin
3c4b7f0f66
Test more embassy interrupt spi dma ( #2490 )
...
* Add C3,C6 and H2 for `embassy_interrupt_spi_dma`
* Test more
* Don't require physically connected pins
2024-11-08 13:43:34 +00:00
Scott Mabin
50d8187e39
esp-wifi: Remove unneeded features ( #2446 )
...
* remove async features
* phy-usb config
* modem powersaving
* Fix examples
* make ps a runtime config
* fix linting
* changelog and migration guide
* revert esp-config changes
* remove blanklines after doc comments
* cfg away ps API
2024-11-08 13:30:33 +00:00
Dániel Buga
6d6f6a7baa
Move I2C driver to i2c::master ( #2476 )
...
* Move I2C driver to i2c::master
* Update esp-hal/CHANGELOG.md
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
---------
Co-authored-by: Dominic Fischer <14130965+Dominaezzz@users.noreply.github.com>
2024-11-08 12:28:53 +00:00
Dániel Buga
31d714a156
Tweak guidelines ( #2482 )
...
* Tweak guidelines
* Restore builder rule
* Address review comments
2024-11-08 11:50:52 +00:00
Dániel Buga
ac4679a1ae
Remove public hidden I2C APIs ( #2474 )
2024-11-08 10:37:13 +00:00
Dominic Fischer
d6f63d67a9
Fix I8080.set_byte_order() ( #2487 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2024-11-08 08:01:36 +00:00
Dániel Buga
d5e6ba5ceb
SPI slave with_pin functions ( #2485 )
2024-11-08 07:29:37 +00:00
Dániel Buga
4233bddf23
Fix test warnings ( #2483 )
2024-11-07 15:05:49 +00:00
yanshay
639853ede9
Add MultiwriteNorFlash trait to FlashStorage ( #2478 )
...
* Add MultiwriteNorFlash trait to FlashStorage
* add PR number
* Revert "add PR number"
This reverts commit 28bf0acd24 .
* Added changelog with PR number
2024-11-07 13:58:32 +00:00
Dániel Buga
ac819fb42f
Remove PeripheralMarker ( #2468 )
...
* Redo DMA compatibility check using DmaEligible
* Remove PeripheralMarker
2024-11-07 13:51:48 +00:00
Dániel Buga
8782429e9f
SPI slave: remove public hidden API ( #2470 )
...
* Redo declaration as macro
* Add Info
* Move impl out of Instance traits
* Publish traits
2024-11-07 09:41:16 +00:00
Dániel Buga
0da6eec089
Move I2S drivers to i2s::master and i2s::parallel ( #2472 )
...
* Move I2S drivers to i2s::master and i2s::parallel
* Remove mention of master mode
2024-11-07 09:39:08 +00:00
Dániel Buga
feac6f17c3
Mark State/Info as #[non_exhaustive] ( #2471 )
2024-11-07 09:37:56 +00:00
Dániel Buga
255f5e7c73
TWAI: Always configure a default filter ( #2467 )
2024-11-06 14:11:49 +00:00
Dániel Buga
4c5be2c907
Interconnect: force signals through GPIO matrix if split ( #2419 )
...
* Allow splitting off of gpio drivers
* Extract and correct low level connection bits
* Add Input/OutputSignal::connect_to
* Remove unnecessary public API
* Fix typos
* Remove unused private methods
* Add separate Direct signals that do bypass the GPIO matrix
* Do not disable stage input
* Clean up spi_slave test
* Constrain to static Flex
* Improve docs
* Separate input_enable and open_drain parameters
* Link to the chapter
* Changelog
* Clarify
2024-11-06 13:55:34 +00:00
Björn Quentin
ccb3a1ba40
Use diagnostic on DmaChannelConvert ( #2465 )
...
* Use `diagnostic` on `DmaChannelConvert`
* Typo
2024-11-06 11:43: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
eabb6fb1c6
ETM improvements ( #2427 )
...
* ETM simplifications
* Work with GPIO signals
* Fix changelog
2024-11-05 13:39:19 +00:00
Dániel Buga
665fb0e278
Flatten Uart module, remove unnecessary data, replace methods with apply_config ( #2449 )
...
* Flatten uart config
* Do not remember at_command config
* Don't save config values in memory
* Move config implementations to Info
* Changelog
* Remove unused methods
* apply_config, SetConfig
* Fix test
* simplify futures
* Update esp-hal/CHANGELOG.md
Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
---------
Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2024-11-05 09:56:14 +00:00
Dániel Buga
ed7960ce8b
Also add into_async for ParlIO ( #2461 )
2024-11-04 16:00:21 +00:00
Björn Quentin
ca9ee23b5e
Prefer ROM-fns over custom impl ( #2462 )
...
* Prefer ROM-fns over custom impl
* PR number
2024-11-04 15:55:23 +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
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
177db100fb
Remove redundant lifetimes ( #2459 )
2024-11-04 10:51:12 +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
Scott Mabin
c717f04d4d
Remove EspWifiInitFor & more granular init/deinit per driver ( #2301 )
...
* 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
2024-11-04 08:08:19 +00:00
Dominic Fischer
f9ba299f2e
Mark DmaDescriptors as Send ( #2456 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-11-04 07:50:44 +00:00
Dominic Fischer
05f2ee5a72
Allow users to create DMA Preparations ( #2455 )
...
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-11-04 07:38:46 +00:00
Dominic Fischer
b953f178b8
Add check owner support to DMA buffers ( #2337 )
...
* Add check owner support to DMA buffers
* More docs
* Explicit check owner bit setting
---------
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2024-11-02 16:07:40 +00:00
Dániel Buga
111ae93cc5
Fix, clean up and type-erase parallel i2s ( #2436 )
...
* Fix, clean up and type-erase parallel i2s
* Fix capitalization
* Add link to esp-idf code that offsets by 8
2024-11-01 10:50:39 +00:00
Jesse Braham
fc4eaa1ebf
Make our nightly CI checks pass ( #2356 )
...
* Fix nightly lint errors for ESP32-C2
* Fix nightly lint errors for ESP32-C3
* Fix nightly lint errors for ESP32-C6
* Fix remaining nightly lint errors
2024-11-01 10:31:56 +00:00
Dániel Buga
a5c4aa1cea
Tweak interrupt API ( #2442 )
...
* Tweak interrupt API
* Constrain SPI interrupt handling to Blocking mode
2024-10-31 16:18:44 +00:00
Dániel Buga
7d717c6acf
Fix UART erratum on ESP32 ( #2441 )
2024-10-31 15:00:36 +00:00
Dániel Buga
f9c7d06a6e
Disable i2s test ( #2439 )
2024-10-31 14:16:39 +00:00
Björn Quentin
e5b923b678
Esp wifi/more dynamic allocations ( #2396 )
...
* Dynamic allocation of timers
* Replace statically allocated NPL events
* Remove NPL CALLOUTS
* Remove NPL EventQueue
* Use `Vec` instead of `heapless::spsc::Queue` internally in NPL
* Use `alloc` since we have it in NPL
* Refactor
* Fix
* More `Vec`
* Fix
* Fix nightly-warnings
* Limit RX_STA queue
* Revert unintentional change
* esp-now: Make data private
* CHANGELOG.md
* Clippy
* MSRV
* Move locking into RawQueue
* Remove unused import
* Simplify `queue_recv`
* Address TODO
* Clippy
* Review I
* Review II
* Clarify
* Review III
* Review IV
* Review V
* Fix
* `steal` RNG and RADIO_CLOCKS
* `drop_in_place`
* De-duplicate
* Use `VecDeque`
* Revert unintentional changes
* Fix
* Update esp-wifi/MIGRATING-0.10.md
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* assert
* Fix
* Expect `*mut ConcurrentQueue` where applicable
* Comment why stealing is fine
* Fix
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2024-10-31 12:26:10 +00:00