2040 Commits

Author SHA1 Message Date
Tethys Svensson
7d07f1b791
Fix off-by-one in the allowed range of the spi clock calculations (#3266)
* Fix off-by-one in the allowed range of the spi clock calculations

* Update CHANGELOG

* Add test to verify calculation

* Use actual frequency limits in validation

* Rename variables

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-03-28 16:18:34 +00:00
Dominic Fischer
6d84ee2acf
SpiDma<Async> now uses the SPI interrupt (instead of DMA) to wait f… (#3303)
* `SpiDma<Async>` now uses the SPI interrupt (instead of DMA) to wait for completion

* fmt and fix

* hail mary

* review comment
2025-03-28 15:44:29 +00:00
Dániel Buga
4dcb1c7193
Rework regi2c code (#3255)
* Merge register accesses

* Rework regi2c operations

* Update H2

* Update C3

* Update C2

* Update S2

* Update S3

* Update ESP32

* Clean up S2 TRNG code

* Remove unnecessary casts
2025-03-28 14:53:12 +00:00
Dániel Buga
f6b467402a
Don't require interconnect signals to be Peripheral impls (#3302)
* Fix unsoundness around DerefMut

* Don't require interconnect signals to be Peripheral impls

* Remove Peripheral impl from pin drivers

* Changelog

* Yeet Level and NoPin impls

* Re-add missing Sealed impl for mutable references

* Relax
2025-03-28 14:52:05 +00:00
Björn Quentin
873f033089
Disallow Priority::None for the #[handler] macro (#3304)
* Disallow `Priority::None` for the `#[handler]` macro

* CHANGELOG
2025-03-27 11:46:14 +00:00
Björn Quentin
ea7c856201
Move code to internal module (#3301) 2025-03-26 14:59:29 +00:00
Dominic Fischer
80d548c5f0
ESP32: Enforce required pointer alignments in DMA buffers (#3296)
* ESP32: Enforce required pointer alignments in DMA buffers

* try fix HIL
2025-03-25 14:43:47 +00:00
Dániel Buga
537ac73c3a
Add log format metadata to esp-println, chip name to esp-hal (#3276)
* Add a section to place metadata

* Place a marker symbol into `.metadata`

* Clarify that metadata is vendor-specific

* Also add serial log format

* Add chip name metadata

* Changelog

* Place symbols with a fixed format into a single section
2025-03-25 08:25:07 +00:00
Dominic Fischer
ae56074e95
SpiDmaBus no longer adjusts the DMA buffer length for each transfer (#3263)
* `SpiDmaBus` no longer adjusts the DMA buffer length for each transfer

* imports

* lint

* chunking is hard

* Also check received bytes

* Do not check descriptors when copying received data

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-03-24 13:47:30 +00:00
Björn Quentin
cbdaeb648d
esp-wifi: Move esp-now and sniffer into Interfaces (#3283)
* esp-now interface

* sniffer is now a "wifi-interface"

* Remove Drop from EspNowManager

* Fix

* CHANGELOG.md

* Fix

* Don't silently fallback to EspNowWifiInterface::Sta
2025-03-24 13:02:56 +00:00
Sergio Gasquez Arcos
3cee57e6bf
Fix comparing raw pointers (#3294)
* fix: Comparing raw pointers

* fix: Comparing raw pointers for esp-wifi
2025-03-24 11:20:24 +00:00
Dominic Fischer
4947a115d2
Change DmaTxBuf to only reset its descriptors once (#3290) 2025-03-24 08:39:58 +00:00
Dániel Buga
d53e0b8342
Return the backtrace as an opaque type (#3280) 2025-03-20 07:46:20 +00:00
Dániel Buga
ff89a68e9b
Make number of backtrace frames configurable (#3271) 2025-03-19 15:23:35 +00:00
Dániel Buga
284b0666f0
Force spill registers to fix missing backtrace (#3272) 2025-03-19 15:21:29 +00:00
Björn Quentin
d7eae19a70
Provide config information in machine readable format (#3275)
* Provide config information in machine readable format

* Make tests not fail

* Address review issues
2025-03-19 12:36:17 +00:00
Björn Quentin
dc55ef008c
Quality of life improvements (#3279)
* Use a different SCLK pin for QSPI qa-tests on ESP32

* Try to be helpful when building for an unsupported target

* Typo

* Check we are building for the correct target

* Typo, again
2025-03-19 10:24:51 +00:00
Dániel Buga
87d501766f
Fix capturing stack traces containing recursion (#3270) 2025-03-18 15:18:03 +00:00
Juraj Sadel
9e88cac1e3
esp-wifi: Remove libm dependency (#3273) 2025-03-18 11:48:21 +00:00
Dániel Buga
762f111eb9
Clean up (#3269) 2025-03-18 10:01:52 +00:00
Juraj Sadel
0b49b86f47
I2c and uart docs improvement (#3265)
* i2c: make blocking impl first in docs

* uart: group write and flush together

* reviews && use address instead of addr in lp i2c in pub API
2025-03-18 08:37:57 +00:00
Dániel Buga
7c159b6070
Fix typo (#3256) 2025-03-14 11:46:29 +00:00
Dániel Buga
bc28f64f22
SPI: stop transfer if Spi::transfer_in_place is cancelled (#3242)
* Move OnDrop

* Abort async transfer

* Finish sentence
2025-03-14 09:26:39 +00:00
Dániel Buga
eaa7f70381
log fixes (#3240)
* Disregard env setting when level is set manually

* Sort filter rules

* Changelog

* Remove no-longer-true doc line

* Fex typo
2025-03-14 09:13:32 +00:00
Sergio Gasquez Arcos
d65497de59
Update documentation links (#3244)
* docs: Update documentation links

* docs: Update docs.rs badges
2025-03-14 09:01:31 +00:00
Emeric MARTINEAU
21973d5c6c
Update esp-storage repository in Cargo.toml (#3254) 2025-03-13 12:49:20 +00:00
Dániel Buga
918ae9e8d5
Keep ADC enabled on the C6 (#3249) 2025-03-12 15:52:36 +00:00
Sergio Gasquez Arcos
2cd75e195d
ci: Fix nightly issues (#3241) 2025-03-10 11:41:40 +00:00
Juraj Sadel
cdcd3bee4d
spi: docs improvement, re-shuffle and merge impl blocks (#3223)
* spi: docs improvement, re-shuffle and merge impl blocks

* format doc examples
2025-03-07 12:49:58 +00:00
Björn Quentin
38eb5aefc9
Xtask/latest redirect (#3231)
* Support "build-documentation-index --serve"

* Support `/latest` in generated docs

* `/latest` vs `/latest/`

* Update documentation field
2025-03-07 11:28:41 +00:00
Björn Quentin
5efa452f1a
Clarify doc-examples in dev-guide (#3234) 2025-03-07 09:04:46 +00:00
Dániel Buga
6545719a7a
Add degrade fns, move AnyI2s and AnyI2c (#3226)
* Add degrade fns, move anyi2s and anyi2c

* 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>
2025-03-07 08:28:27 +00:00
Andrew Gallant
b1d6023caf
esp-hal: add doctest showing how to use Jiff (#3232)
This attempts to add a doctest showing how to plug a micro-second Unix
timestamp into Jiff, and then get, e.g., the weekday in a particular
locale. The example also makes use of Jiff's new `tz::get!` proc-macro
for embedding time zones into the binary for use in core-only
environments.

Ref #3185, Ref #3200
2025-03-07 08:24:45 +00:00
Dániel Buga
bae929556a
Try to fix nightly workflow (#3225) 2025-03-06 12:43:55 +00:00
Dániel Buga
d27488e3db
Clean up dead code (#3224) 2025-03-06 11:32:59 +00:00
Björn Quentin
d3f3d81d9e
Prepare linker scripts for ESP-IDF application descriptor (#3124)
* Prepare linker scripts for app-desc

* Explain flash offset

* Explain `rotext_dummy`

* Test app-descriptor

* fmt

* embedded-storage
2025-03-06 10:23:26 +00:00
Dániel Buga
c382303ea6
Move xtensa-lx-rt-procmacros to repo root (#3221)
* Pass CI=1 to lint_packages

* Move xtensa procmacros to repo root

* Fix lint issues
2025-03-06 09:17:16 +00:00
Anthony Grondin
e1efec884d
feat(esp-println): Add timestamp to logging (#3194)
* feat(esp-println): Add timestamp to logging

- Introduce new `timestamp` feature to enable logging with a timestamp in millis, in the same format as the bootloader.

* Add CHANGELOG.md entry
2025-03-06 09:07:29 +00:00
Björn Quentin
f58d295cb0
ESP32/ESP32-S2: I2C Workaround (#3199)
* FIFO_SIZE vs CHUNK_SIZE

* I2C: ESP32/S2 workarounds

* Docs

* Fix test

* CHANGELOG.md

* Test empty writes, again

* Empty Write

* Comments

* Add TODO comment

* Use real FIFO size

* Docs

* Chunks
2025-03-06 08:13:18 +00:00
Robert Bastian
e598146175
Use raw u64 instead of chrono on RTC API (#3200)
* and again

* examples

* fix?

* tz

* after snippet

* fmt

* clippy

* ugh

* fix

* ugh

* remove examples

* reset xtask

* Update esp-hal/CHANGELOG.md

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

---------

Co-authored-by: Robert Bastian <me@robertbastian.dev>
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
2025-03-05 20:01:41 +00:00
Dániel Buga
60e0127dfb
Document that subcommand help exists (#3218) 2025-03-05 17:30:31 +00:00
Juraj Sadel
ef1b3cf794
uart: minor docs improvements (#3216)
* uart: docs improvement, re-shuffle and merge impl blocks

* Add a note into developer-guidelines
2025-03-05 17:30:20 +00:00
Björn Quentin
154f3204d4
Mark unstable parts of config unstable (#3215)
* Mark unstable parts of config unstable

* Unstable
2025-03-05 14:41:12 +00:00
Dániel Buga
bcb64816bf
Document driver modes. (#3217)
* WIP

* Explain Async a bit better

* Update esp-hal/src/lib.rs

Co-authored-by: Scott Mabin <scott@mabez.dev>

* Improve consistency

* Disallow constructing driver modes

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-03-05 14:09:31 +00:00
Dániel Buga
f535f1c6fb
Fix flip-link, make SSP configurable (#3203)
* Test flip-link

* Add todo

* Rebuild if linker files change

* Let espsegs show .stack

* Try to fix flip_link

* Changelog

* Make SSP configurable

* Substitute config values
2025-03-05 14:09:17 +00:00
Dániel Buga
eb771e1652
Fix UART with_tx/rx on the Async driver (#3212) 2025-03-05 11:38:45 +00:00
enelson1001
be7794bce0
RMT fix filter threshold max value (#3192)
* RMT fix filter threshold max value

* RMT - remove filter threshold check no longer needed

* Forgot to save file before pushing

* Tried running xtask fmt packages again

* Update entry in change log
2025-03-05 10:59:15 +00:00
Dániel Buga
f2b2d37f24
Various minor SPI fixes (#3201)
* Correctly clear fastrd_mode when data mode is Single

* Print logs in QA test

* Port SPI timing tuning from esp-idf

* Fix ESP32 QSPI signals

* Print the reason of an Unsupported error

* Partial changelog
2025-03-05 10:58:12 +00:00
Dániel Buga
0c89fa3fd1
Add rand_core 0.9 support (#3211) 2025-03-05 10:49:18 +00:00
Dániel Buga
d9c32d5c29
Test that all PSRAM is unsable (#3210) 2025-03-05 10:46:54 +00:00