2253 Commits

Author SHA1 Message Date
Kirill Mikhailov
ec6aec4b59
Fix I2C HIL tests (#3405) 2025-04-22 13:32:58 +00:00
Dániel Buga
ffbcae162a
Simplify Flex (#3387)
* Simplify Flex

* Rename functions
2025-04-22 12:30:34 +00:00
Björn Quentin
4bc9ef2f5b
Check for ST_TOUT / MAIN_ST_TOUT (#3333)
* Check for ST_TOUT / MAIN_ST_TOUT

* Fix & CHANGELOG

* cfg gate

* Field renaming in PACs

* Introduce FsmTimeout type

* `new_const`

* Review comments

* Async I2C tests

* Remove FSM timeout for S2

* Add test

* Don't run `async_test_timeout_when_scl_kept_low` on S2 - we know it fails

* Fix

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-04-22 11:11:11 +00:00
Kirill Mikhailov
b33b877592
Bump edition to 2024, bump MSRV to 1.85 (#3391)
* inter-state

* inter-state (2)

* warnings fix

* fix warnings

* fmt + changelogs

* another unsafe extern "C" doode

* real fmt now

* MSRV + format

* Ignore unsafe_op_in_unsafe_fn lint for now in esp-hal and esp-wifi

* msrv + fmt

* ugh....

* get lcd_cam example right

* expr_2021 -> expr experiment

* gagagugu

* reviews

* more unneeded unsafes (help)

* finish esp-hal unsafe cleanup

* each unsafe call is marked separately

fmt

* should be good now (?)

* piece was never an option...

* dumb
2025-04-22 10:39:11 +00:00
Dániel Buga
df6aa9c18f
Rename ESP_HAL_CONFIG_PLACE_SPI_MASTER_DRIVER_IN_RAM (#3402)
Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-04-22 09:09:07 +00:00
liebman
d5f8f297ab
parl_io: make TxPins, RxPins & ConfigurePins public (#3398)
* parl_io: make TxPins, RxPins & ConfigurePins public

* fmt

* CHANGELOG
2025-04-22 07:53:36 +00:00
Dominic Fischer
3a06e2553d
Add all SPI signals to Info struct (#3396)
* Add all SPI signals to Info struct

* cfg away opi signals

* spi_octal
2025-04-22 07:46:06 +00:00
Dominic Fischer
b526bdc6b0
Fix incorrect doc on LCD_CAM (#3397) 2025-04-22 06:49:42 +00:00
Dániel Buga
bc35b6f2fd
Deduplicate pin setters (#3394) 2025-04-16 10:20:29 +00:00
Björn Quentin
8c7531253a
Ota partition support (#3354)
* Add basic OTA functionality

* Return Result from Ota::new

* Restructured

* Enable `ota` by default

* Include metadata to let tooling know we need an ota-data partition

* More docs

* CHANGELOG.md

* Make OSX happy to run tests

* Another try

* OSX...

* OSX, again

* Add tests

* Prefer ROM CRC function

* Unconditionally include the "ota" feature

* Renaming and docs

* de-noise tests

* De-duplicate

* Address more review comments

* Review comments and Clippy
2025-04-16 09:56:22 +00:00
Dominic Fischer
bfe6a1c689
Tidy up Camera according to latest guidelines (#3375)
* Tidy up `Camera` according to latest guidelines

* fmt

* enum
2025-04-16 09:19:49 +00:00
Scott Mabin
4ec4e6cfbd
install rust-src properly (#3390) 2025-04-15 11:55:05 +00:00
Scott Mabin
3cfa8ec852
Install rust-src for building docs (#3386) 2025-04-14 15:05:13 +00:00
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