2240 Commits

Author SHA1 Message Date
Dániel Buga
89d5a78da4
S2: wait for SPI to become idle (#3382) 2025-04-14 13:18:44 +00:00
Scott Mabin
0876bac6c5
xtask: refactor feature selection and package validation (#3358)
* apply_feature_rules applies more things

* apply features in one place only, fix missing features and clippy warnings

* move various logic to package enum, re-add the ability to test packages with custom feature sets

* small cleanup

* simplify msrv check, fix CI

* review feedback

* try and fix msrv check

* rebase fixups

* use msrv toolchain in check
2025-04-14 11:23:54 +00:00
Dániel Buga
f034f827b3
Only provide relevant config options (#3371)
* Only display/accept relevant config options

* Only offer xtal-frequency for 32 and S2
2025-04-14 10:41:47 +00:00
Dániel Buga
e697c62cfd
Document that atomics in psram don't work (#3379) 2025-04-14 09:33:00 +00:00
Dániel Buga
11ba2509d2
Peripheralize DMA channels (#3372) 2025-04-14 09:09:54 +00:00
Dániel Buga
a98a96821b
Fix ieee802154 lint errors, allow log+defmt (#3374) 2025-04-14 07:17:34 +00:00
Dániel Buga
014db9bc7e
Define unstable config options (#3365)
* Add stability to config options

* Reject unstable options

* Add note to docs

* Use enum validator in e-h-embassy

* Generate a list for enumerated values

* Don't allow line-wrapping headers

* Center default/allowed values

* Changelog

* Display stability under name

* Remove - from Allowed value when option has no constraints

* Mark more options as unstable

* Include a hint in the unstable error
2025-04-11 15:00:13 +00:00
Dominic Fischer
a1cc34fd71
Simply DMA interrupt handlers (#3361) 2025-04-11 14:27:03 +00:00
Dániel Buga
718d228d39
Simplify GPIO macros with a new PAC (#3350)
* Simplify gpio-related macros using PAC changes

* Remove redundant bit clearing

* Update PAC rev

* Explain paste noise
2025-04-11 14:06:55 +00:00
Dániel Buga
c92d0d3667
Make sure the default power saving mode is applied by default (#3370) 2025-04-11 10:47:32 +00:00
Juraj Sadel
0e7b1c3b8d
fix my mess (#3368) 2025-04-11 09:55:23 +00:00
enelson1001
a19a05bcc4
Add support for RMT extended memory #3182 (#3292)
* Support rmt extended memory

* Add entry in changelog

* More updates

* Ran xtask fmt-packages

* ran xtask fmt-pakages

* Try adding whitespace on lines 78, 110, 219
2025-04-11 08:46:46 +00:00
Björn Quentin
1c74bc2adf
Misc esp wifi (#3364)
* Allow `Configuration::None`

* esp-wifi: set country early

* CHANGELOG.md

* Set power-save-mode to None initially
2025-04-11 08:25:17 +00:00
Dominic Fischer
ba944a2931
Replace ParlIoFullDuplex/ParlIoTxOnly/ParlIoRxOnly with just ParlIo (#3367) 2025-04-11 07:52:04 +00:00
Dániel Buga
2aac175f77
Refactor esp-config (#3362)
* Extract value and validator modules

* Clean up

* Replace tuples with ConfigOption

* Move generate.rs

* Further refactor write_doc_table_line

* Carry around the config option, too

* Move markdown table processing out of random places

* Compare prettified json, use pretty_assertions to diff it

* Work with Vec

* Emit enumerated cfgs in one place
2025-04-11 05:30:58 +00:00
Dominic Fischer
353950dbdf
Change ParlIo driver to use a config struct (#3359)
* Change `ParlIo` driver to use a config struct

* missed a spot
2025-04-10 09:51:55 +00:00
Dominic Fischer
7b4b41c0ed
Add DMA memcpy support to the S2 (#3352)
* Expose CopyDmaChannel

* Add DMA memcpy support to the S2

* whoops, esp32 is a thing

* clear can be a no-op

* sigh

* rust

* enable the DMA channel

* The S2 wants RX first...

* fmt
2025-04-09 13:57:15 +00:00
Juraj Sadel
1db73628c2
Changelog cleanup (#3355) 2025-04-09 10:54:04 +00:00
Dominic Fischer
f87f8846b2
More PARL_IO HIL tests (#3339)
* More PARL_IO HIL tests

* adjust

* adjust

* tweak

* tweak

* give up on the H2

* remove flakey test

* Update CHANGELOG.md

* add comment
2025-04-09 10:33:41 +00:00
Juraj Sadel
689c362403
S2 sleep (#3341)
* esp32s3 copy for esp32s2

* idf's rtc_sleep_pd

* Add the new NRX, FE & FE2 peripherals from the PAC

* Went through rtc_sleep_init -> apply

* Add all else statements of idf's rtc_sleep_init and made the style match the cpp code more for easier checking

* Finish checking/copying base_settings

* Checked flags in apply

* Allow base_settings

* Remove unused variables

* Reenable rtc_peri for Ext1WakeupSource

* Correct comment. Probably copy-pasted and still present in esp32s3

* Remove TODO comments

* Add the esp32s2 sleep work to the changelog

* Add esp32s2 to qa-test where applicable

* update pacs and update after rebase

* changelog

* provide missing ROM functions

* Update PACs

* review comments and cleanup

* review

* Fix wrong cfg condition

---------

Co-authored-by: mennovf <mennovanfrachem@hotmail.com>
2025-04-09 09:46:16 +00:00
Dániel Buga
0a4089b4d3
Refactor GPIO pin types (#3349) 2025-04-09 08:20:37 +00:00
Dániel Buga
8f0c5179d9
Set up nightly rust for CI (#3351) 2025-04-09 07:57:20 +00:00
Dominic Fischer
17c09ccaec
Remove Rx and Tx traits from the dma module (#3338)
* Remove Rx and Tx traits from the dma module

* merge impl blocks
2025-04-08 12:33:33 +00:00
Björn Quentin
e1e04451ca
Cleanup multiple read-fifo impls (#3344)
* Cleanup multiple read-fifo impls

* Don't check FIFO CNT inside loop, use `end_only` correctly

* CHANGELOG.md

---------

Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
2025-04-08 12:30:29 +00:00
Dániel Buga
e536a38c08
Implement Format on i2c::master::Operation (#3348) 2025-04-08 11:50:17 +00:00
Björn Quentin
523bd381eb
Validate 7-bit I2C addresses (#3343)
* Validate 7-bit I2C addresses

* add test

* CHANGELOG.md

* Docs

* Include address in `Error::AddressInvalid`

* Fix

* CHANGELOG.md

* Revert CHANGELOG change

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-04-08 11:35:36 +00:00
Dominic Fischer
c22797c694
PARL_IO: Use correct max transfer size (#3346) 2025-04-08 08:41:51 +00:00
Dominic Fischer
d6c6894afe
Make ParlIo driver construction more consistent (#3345)
* Make `ParlIo` driver construction more consistent

* missed a spot
2025-04-08 08:37:33 +00:00
Dominic Fischer
96daf998c8
Migrate DMA memcpy driver to newer DMA API (#3329)
* Migrate DMA memcpy driver to newer DMA API

* remove irrelevant HIL test

* Relax descriptor lifetime
2025-04-08 08:10:32 +00:00
Scott Mabin
06ab8ad8ad
Docs fixups (#3342)
* esp-rs/esp-hal

* fix ieee802154 docs
2025-04-07 12:13:08 +00:00
Dániel Buga
70e3f2ca26
Make sure INTERRUPT_CORE0 is referenced (#3336)
* Make sure INTERRUPT_CORE0 is referenced

* Test esp-wifi without radio features

* Allow linting with multiple lists of features

* Just don't bother

* Changelog
2025-04-07 11:07:42 +00:00
Ulf Lilleengen
56be259c41
chore: update esp-wifi bt-hci version (#3340)
* chore: update esp-wifi bt-hci version

The new version contains some fixes to hci serialization.

* docs: update changelog
2025-04-07 08:50:40 +00:00
Dominic Fischer
e06b58b5e1
Fix PCNT counter not keeping the peripheral enabled (#3334) 2025-04-04 11:16:57 +00:00
Dániel Buga
c7df6a1a81
Use allocator_api2 in esp-wifi (#3320)
* Add esp_wifi_deallocate_internal_ram

* Polyfill InternalMemory allocator

* Clean up RawQueue

* Scheduler spring-cleaning
2025-04-04 07:50:57 +00:00
maxwen
5b87495cf7
fix doc for allocator-api2 Cargo.toml usage (#3330) 2025-04-03 16:16:37 +00:00
Björn Quentin
fecd592d57
Basic read partition table functionality, partition "views" (#3316)
* Basic read partition table functionality, partition "views"

* CHANGELOG.md

* Check changelog

* derive defmt

* impl nor-flash

* fmt

* Review comments

* Fix

* Fix

* CI check

* Less unwrap, more tests

* add `fmt.rs`

* Simplify

* Update `fmt.rs`

* (Hopefully) last polishing
2025-04-03 15:19:20 +00:00
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