1978 Commits

Author SHA1 Message Date
Jesse Braham
fd2bdefaab
New package releases (#3163)
* Update dependencies and bump version numbers

* Update `CHANGELOG.md` for each package being published

* Update repo-level `README.md`

* Use older nightly to resolve CI issues

* also release esp-backtrace and esp-metadata

* Cleanup

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
esp-storage-v0.5.0 esp-riscv-rt-v0.10.0 esp-hal-v1.0.0-beta.0 esp-hal-procmacros-v0.17.0 esp-lp-hal-v0.1.0 esp-hal-embassy-v0.7.0 xtensa-lx-v0.10.0 esp-println-v0.13.1 xtensa-lx-rt-v0.18.0 esp-config-v0.3.0 esp-wifi-v0.13.0 esp-build-v0.2.0 esp-alloc-v0.7.0
2025-02-24 13:32:29 +00:00
Scott Mabin
0a8c609a02
Deploy docs (#3147)
* take json input from action

* use hal xtask for all jobs

* temp, use checkout task

* use same xtask again

* tmp

* fixup output path

* try and send via scp

* fill in a bit more data

* debug

* base url adjust, try and remove doc dir

* prevent index generation errors

* remove docs prefix

* Create an xtask subcommand to tag releases for packages

* output json workflow input when tagging releases

* output full output for docs

* mention xtask output, set GITHUB_TOKEN in docs workflow

* target esp-hal proper

---------

Co-authored-by: Jesse Braham <jesse@beta7.io>
2025-02-21 15:36:31 +00:00
Björn Quentin
4d075751ae
Minor fixes (#3162) 2025-02-21 10:27:37 +00:00
Dániel Buga
a5bfa3a61d
Disable multiple-integrated timer queue flavour (#3159) 2025-02-21 10:01:05 +00:00
Scott Mabin
b38d5cc8d5
Update to 1.85 toolchain (#3146)
* test esp 1.85 toolchain

* clippy lints
2025-02-20 12:13:02 +00:00
Björn Quentin
53d57bd01a
ESP32-H2/ESP32-C6: Don't rely on the bootloader to deconfigure permission control (#3150)
* ESP32-H2/ESP32-C6: Don't rely on the bootloader to deconfigure permission control

* CHANGELOG.md
2025-02-20 09:57:12 +00:00
David Laban
7a6d381e19
Make wifi_embassy_access_point_with_sta example listen on both network addresses (#3121)
* Make wifi_embassy_access_point_with_sta listen on both network addresses

* turns out it does work on esp32s2

* update example instructions

* whitespace
2025-02-20 09:35:38 +00:00
Dániel Buga
9a307f0fb3
Wait for the FIFO to be empty in flush (#3151)
* Deduplicate existing test

* Wait for the FIFO to be empty in flush
2025-02-20 09:34:20 +00:00
Tommaso Clini
1a3664d951
add clone and copy to ledc speed types to make channel::config::Confi… (#3139)
* add clone and copy to ledc speed types to make channel::config::Config Clone and Copy

* CHANGELOG entry

* Update esp-hal/CHANGELOG.md

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
2025-02-20 08:58:12 +00:00
Dániel Buga
df3a8e3936
Add some esp-wifi MG content (#3156) 2025-02-20 08:48:00 +00:00
Dániel Buga
ff2a46dbc8
UART: make async operations cancellation-safe, update others for consistency (#3142)
* Make async operations cancellable

* Handle thresholds

* Fix written amount calculation

* Fix waiting for events

* Don't return 0 bytes, don't modify TX threshold

* Add read_exact implementation

* Fix tests

* Add tests

* Inline constant into the default values

* Make FIFO config stable

* Fix doc links

* Changelog

* Remove duplicate changelog entries

* Check for RX error

* Fix write_async not recalculating available space

* Fix ESP32 timeout loop

* Check the unmasked interrupt bits to actually detect errors

* Improve naming

* Change async handler to not clear interrupt status

* Test and fix case where write_async returned Ok(0)

* Tweak docs

* Address review feedback

* Use embedded_io to fill buffer in test

* Rename
2025-02-20 08:19:55 +00:00
Björn Quentin
90cc8b219c
Fix example (#3155) 2025-02-20 08:05:19 +00:00
Dániel Buga
26cf556cde
Hide Interrupts (#3152) 2025-02-19 16:44:18 +00:00
Priit Laes
1a40e3419b
migration: Fix example to use correct method .with_pull(...) (#3145) 2025-02-18 12:05:43 +00:00
Dániel Buga
acbb98339c
Uart tweaks (#3141)
* Impose some order on UART config impl blocks

* Only pass the relevant config half

* Remove incorrect statements from documentation

* Move error documentation to enum variants

* Changelog

* Undo config split related changes

* Mark rx fifo threshold config unstable

* Remove explicit numeric values

* Add note
2025-02-17 16:16:43 +00:00
Scott Mabin
07463bfabf
unstabilize Uart::split, globally remove _bytes postfix (#3137)
* unstabilize split, remove unneeded bounds

* remove _byte postfixes, make uart::flush fallible (inline with the async variant), unify read/write logic for inherent impls and trait impls

* fix tests

* changelog and migration

* put trait dm bound on driver structs

* changelog again

* fixups

* fixups

* fix uart tests

* small docs update

* small docs update

* test fix

* rebase fixup
2025-02-17 12:58:04 +00:00
Dániel Buga
0008bf5f8f
Split UART errors (#3138) 2025-02-17 12:20:03 +00:00
Dániel Buga
75ca8b6e3b
Do not enable unstable features by default (#3136)
* Do not enable unstable features by default

* Add to changelog and MG

* Update esp-hal/MIGRATING-0.23.md

Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>

---------

Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
2025-02-17 12:09:48 +00:00
PascalKoe
7c6e28a8d4
TWAI: make async transmission abortable and wait for actuall transmission (#3132)
* Add future for transmitting TWAI frames.

Compared to the previous implementation, the future cancels the pending transmission and only resolves when the transmission is done.

* update the changelog
2025-02-17 09:19:10 +00:00
Björn Quentin
0138d462b7
Rethink WiFi API (#3027)
* Rethink WiFi API

* Fix
2025-02-14 10:02:35 +00:00
Dániel Buga
1e58278a6a
Remove redundant macro syntax (#3135) 2025-02-14 08:04:07 +00:00
Björn Quentin
68c660f1c5
CI optimizations (#3129)
* CI Improvements

* Fix

* Lint with stable

* Fix

* Xtensa

* cleanup
2025-02-13 15:20:10 +00:00
Easyoakland
d1fd24fc32
fix #3051: pass attributes through heap_allocator macro (#3133)
* pass attributes through heap_allocator macro

* Update changelog

* use global path in macro

* fix typo.

use 64*1024B of dram2_uninit not 72

* Fix doc example

* Add PR number to changelog
2025-02-13 09:24:01 +00:00
Jesse Braham
15f2e914d6
Patch generated documentation to include a version selector (#3131)
* Refactor all documentation-related functions into their own module

* Rename `Package::should_document` to `Package::is_published`

* Patch the generated documentation to include a version selector

* Only try to fetch package manifest if `deploy-docs` feature is enabled
2025-02-13 08:33:25 +00:00
Easyoakland
65caa3b596
fix: ethernet frame header is 14 not 18 (#3025)
* ethernet frame header is 14 not 18

* resize buffer to match MTU.
smoltcp doesn't transmit larger packets
2025-02-12 08:28:15 +00:00
Kaspar Schleiser
853e3aacc2
esp-wifi: support using an external scheduler (#3115)
* support using an external scheduler

* update changelog for `preempt-extern` feature

* change to "extern trait impl" scheme

* make built-in scheduler use the `Scheduler` trait

* pull timer tick out of  trait

* lint `esp-wifi` with `builtin-scheduler`

* esp-wifi: silence warning when not using `builtin-scheduler`

* enable timer tick before scheduler

* esp-wifi: fix preempt.rs type `now` -> `know`
2025-02-11 08:12:19 +00:00
Jesse Braham
ca8cfe6a1f
Fix nightly CI errors (#3123)
* Update nightly CI workflow

* Fix nightly clippy errors
2025-02-10 09:42:05 +00:00
Dániel Buga
0344b14db1
Change the main example to work with stable esp-hal (#3113) 2025-02-10 07:28:41 +00:00
Dániel Buga
392d5ccdc1
Unstabilize CPU-related functionality, merge modules (#3099)
* Move Cpu to a new module

* Move cpu_control's contents into cpu

* Merge raw_core functions

* Hide cpu control APIs

* Move reset into cpu

* Fix software_reset_cpu

* Allow inlining cpu functions

* Changelog

* Mark software_reset no-return

* Move WakeupReason

* Remove PeripheralIter

* Move cpu into system

* Mark system stable
2025-02-07 14:15:26 +00:00
Dániel Buga
bb92715f6b
Don't enable the interrupt when waiti isn't used (#3116) 2025-02-07 13:29:33 +00:00
Kaspar Schleiser
235ee624f8
refactor esp-wifi to ease using external task scheduler (#3106)
* esp-wifi: untangle `setup_timer_isr`

* esp-wifi: bundle scheduler functions into `preempt`

* esp-wifi: split `timer` into `preempt::timer`, `radio` and `time`

* move more deinit stuff into `preempt::disable()`

* move getter of `thread_semaphore` into `preempt`
2025-02-07 09:55:56 +00:00
Louis
d6bc83c189
Format PanicInfo with defmt (#3112)
Remove use of Display2Format to format PanicInfo. Format has been implemented on PanicInfo.
2025-02-07 08:24:04 +00:00
Dominic Fischer
5003ae6047
Use correct Crypto DMA interrupt (#3111)
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2025-02-07 08:19:51 +00:00
Dominic Fischer
b30b60063f
Fix auto writeback on CryptoDMA (#3108)
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2025-02-07 07:55:37 +00:00
Dominic Fischer
aa0d78db18
Add auto-writeback support to DMA buffers (#3107)
Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2025-02-07 07:50:56 +00:00
Dániel Buga
dc4daa9217
Clean up clocks_ll (#3101) 2025-02-06 16:48:41 +00:00
Kirill Mikhailov
477e1d6521
More validation and # Errors entries (#3074)
* WIP

* updates

* upd

* +spi

* fmt + lint

* rework `Exact` setting

* Reviews + spi failed experiment

* clean

* address reviews, roll back SPI changes

* rebase

* small fixes

* address reviews

* reviews

fmt

Rebase

dumb

* address reviews

unstable: macro -> feat
2025-02-06 14:40:26 +00:00
Scott Mabin
6f5c48e54c
Allow more baud rates (#3104)
* merge change_baud impls

* merge further with pac updates

* avoid overflow when calculating uart clk divider

* xfmt

* avoid u64 ops

* changelog

* reword comment
2025-02-06 11:05:54 +00:00
Dániel Buga
715e447a47
Radio clock refactor (#3100)
* Move RadioClockController impls to clock

* Replace trait with driver

* Remove docs that are no longer meaningful

* Update esp-ieee802154

* Refcount phy clock
2025-02-05 16:58:36 +00:00
Dániel Buga
3bca047086
Fix waiting for short periods (#3093)
* Shorten test delays

* Fix TIMG

* Fix systimer

* Changelog

* Use a single future implementation

* Explain level interrupts
2025-02-05 14:53:58 +00:00
Dániel Buga
f0faa61a92
Read more bytes in one go in BleConnector (#3098) 2025-02-05 10:57:42 +00:00
Dániel Buga
806215fa43
Add xtal frequency configuration (#3054)
* Try to avoid pointer read in time conversion

* Explain Other(0)
2025-02-05 10:45:25 +00:00
Dániel Buga
c21e50e850
Fix BLE controller test (#3097) 2025-02-05 10:19:36 +00:00
Björn Quentin
f46f862495
ESP32-S2: Fix creation of .rwdata_dummy section (#3096)
* ESP32-S2: Fix creation of .rwdata_dummy section

* CHANGELOG.md
2025-02-05 09:05:34 +00:00
Dániel Buga
8c69e8cb51
Newtype fugit Rate, Instant and Duration (#3083)
* Newtype fugit Rate, Instant and Duration

* Document, remove time::now

* Fix perf

* Tweak docs
2025-02-04 17:23:08 +00:00
Dominic Fischer
fe53061931
Migrate PARL_IO driver to newer DMA API (#3033)
* Migrate PARL_IO driver to newer DMA API

* Register waker when necessary

* Basic HIL test

* fmt

* oops

* return resources on error

* Invert sampling edge

* Attempt manual formatting

---------

Co-authored-by: Dominic Fischer <git@dominicfischer.me>
2025-02-03 11:58:20 +00:00
Juraj Sadel
8ba212c717
Create an issue when nightly-ci fails (#3080)
* Create an issue when nightly-ci fails

* cleanup

* Use GitHub CLI instead of action, link failed job
2025-02-03 11:51:12 +00:00
Dániel Buga
9ff40f94ff
Use self-hosted mac mini for the small, auxiliary tasks (#3072)
* Delegate smaller tasks to mac runner

* Build xtasks on the same runner

* Test the toolchian action
2025-02-03 11:46:51 +00:00
Dániel Buga
28e935a27d
Remove set_priority (#3088) 2025-02-03 10:38:03 +00:00
Dániel Buga
17255ac0ab
Enable async ADC for C2 and H2 (#3082)
* Enable async ADC for H2

* Enable for C2

* Prevent disabling interrupt if an async ADC is in use

* Introduce adc1/2 symbols
2025-02-03 09:41:04 +00:00