2115 Commits

Author SHA1 Message Date
Sergio Gasquez Arcos
ab18d89470
fix: Nightly issues (#3434) 2025-04-28 11:41:35 +01:00
Dániel Buga
68ffb747db
Update embedded-test (#3432) 2025-04-28 11:29:58 +01:00
Dániel Buga
ddbac7b12d
Make nb optional, remove void (#3418) 2025-04-25 10:42:27 +00:00
Dániel Buga
cb4b09fb62
Rework GPIO matrix impl (#3395)
* WIP

* Clean up init_gpio

* Expand docs a bit

* Remove Input/OutputConnection

* Not everything has PCNT and it's not important for the example

* Remove Frozen, enable input when creating the signal

* Hide fields, add getters

* Update MG

* Add force GPIO matrix fns

* Fix formatting

* Mention latency in the docs

* Rename number to gpio_number

* Deduplicate pin setup code

* Reword associated peripheral

* Rename with_inverted_input/output

* Remove link to doc-hidden OutputSignal

* Fix link syntax
2025-04-25 10:33:29 +00:00
Dániel Buga
fec36e3be3
Implement ReadReady and WriteReady (#3423) 2025-04-25 07:54:58 +00:00
Dániel Buga
e0c4ae75d2
Fix nightly woes (#3422) 2025-04-25 07:17:59 +00:00
Dániel Buga
8f717c49bb
Move some code to non-generic impl (#3417) 2025-04-24 14:58:17 +00:00
Dániel Buga
b1f487093b
Update dependencies (#3416) 2025-04-24 13:41:20 +00:00
Björn Quentin
11ff06a368
Fix esp32 coex (#3403)
* Make sure to enable relevant interrupts

* Fix more

* Make `current_runlevel` public

* Check that interrupts are enabled when initializing

* Try to be more honest in `is_in_isr`

* Adjust log levels

* Really fix ESP32 COEX

* Improve COEX example

* fmt

* CHANGELOG

* CHANGELOG

* Clarify on `esp_bt_controller_config_t`

* Take INTENABLE into account

* Test esp-wifi init fails

* Simplify test code

* Clarify comment

* fmt

* Rename

* Adapt the test

* Revert unrelated changes (esp_bt_controller_config_t)

* Align Xtensa (current_runlevel)

* Additional test

* Change test
2025-04-24 11:39:07 +00:00
Björn Quentin
934bf818fc
Fix s2 enterprise wpa (#3406)
* Don't use `strcasecmp` from ROM

* fmt

* CHANGELOG
2025-04-24 08:37:04 +00:00
Dániel Buga
ab73f43d7d
Mark methods as unstable to prevent unused warnings (#3409) 2025-04-23 08:53:01 +00:00
Kirill Mikhailov
04b71139be
disconnect unused connections (#3407) 2025-04-22 15:50:09 +00:00
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