2054 Commits

Author SHA1 Message Date
Björn Quentin
4f4e063c7a
Remove heapless from esp-wifi (#3317)
* Remove heapless from esp-wifi

* CHANGELOG.md

* defmt

* More defmt derives

* Use new scan API

* Simplify scan result

* Update migration guide

* Back again

* Review comments

* Validate

* Address review comments
2025-04-03 13:33:46 +00:00
Dominic Fischer
4c3c4253ed
Migrate SPI Slave to new DMA API (#3326)
* Migrate SPI Slave to new DMA API

* fix bad merge
2025-04-03 11:30:55 +00:00
Bykov Denis
6d781b0cdf
return 'set_as_input' function for Flex (#3250)
* return 'set_as_input' function for Flex

* Update CHANGELOG.md
2025-04-03 11:00:23 +00:00
Dániel Buga
ae60ceb8bc
Remove restrictive three-wire check (#3325) 2025-04-03 10:41:27 +00:00
Dániel Buga
9db968b473
Remove Peripheral/PeripheralRef (#3305)
* Rework GPIOs without Peripheral/PeripheralRef

* Completely remove Peripheral/Ref

* Remove lifetime from DMA Channel structs

* Try to document changes

* Explain reborrow

* Add lifetime to Instance traits, make them public

* Add Trace to changelog

* Remove lifetimes from Instance traits

* Rewrite section about singletons

* Remove unintended doc comment

* Remove inherent degrade

* Fix reiniting esp-wifi

* Add examples to the root-level docs
2025-04-03 10:40:07 +00:00
Dominic Fischer
5cec008506
Refactor I2S driver to take DmaDescriptors later in construction (#3324)
* Refactor I2S driver to take `DmaDescriptor`s later in construction

* unused import

* stray test
2025-04-03 07:53:56 +00:00
Björn Quentin
faf7115b0c
Define DRAM memory region in esp-metadata (#3300)
* Define DRAM memory region in esp-metadata

* CHANGELOG.md

* Dedicated macros for memory region start/end

* Use `from_str_radix` in esp-config

* Fix search+replace mistake

* Fix

* fix'n fmt

* fix unused

* Minor change
2025-04-02 14:56:34 +00:00
Dániel Buga
76083289cf
Annotate macros with collapse_debuginfo(yes) (#3323)
* Enable esp-wifi/defmt if tests want defmt

* Annotate log macros with collapse_debuginfo
2025-04-02 14:26:22 +00:00
Dániel Buga
65c1ddc31f
[esp-alloc] Implement allocator_api2 (#3318)
* Add allocator_api2, AnyMemory

* Implement more allocators

* Document

* Sub PR number

* Fix doc formatting

* Remove redundant checks

* Test failure case in try_reserve
2025-04-02 12:41:10 +00:00
Dániel Buga
7289b27e65
Make the critical-section impl optional (#3293)
* Make CS optional

* Feature -> config

* Add note about restore state
2025-04-02 11:57:54 +00:00
Juraj Sadel
dca82d60b1
fix wifi_embassy_access_point example, use interfaces.ap instead of interfaces.sta (#3321) 2025-04-02 09:52:38 +00:00
Björn Quentin
5c8ae9569c
Add the esp-idf bootloader support crate (#3281)
* Add the esp-idf bootloader support crate

* CHANGELOG.md

* fmt

* Refactor

* Clippy

* Clippy

* Rename + esp-idf version

* Simplify

* Fix

* show real value in dbg

* Add defmt/log features (mostly unused for now)
2025-03-31 13:11:06 +00:00
Dániel Buga
739e203f39
Fix inverting pins (#3312)
* Merge tests

* Add test case with inverted pins

* Connect signal before converting to AnyPin
2025-03-31 09:40:55 +00:00
Dániel Buga
9d2005841d
Miniscule interrupt handler optimizations (#3282)
* Add QA test for GPIO interrupt handler testing

* Simplify generated interrupt handling

* Ensure interrupt status is bounds-check-free

* Deduplicate default handlers

* S3: Remove dead branch

* Remove an instruction

* Remove interrupt id bounds check

* Invert condition - prioritize interrupt

* Explain QA test

* Update qa-test
2025-03-28 16:28:23 +00:00
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