230 Commits

Author SHA1 Message Date
Simon Neuenhausen
8e29b925cb
Split out PHY init into esp-phy crate. (#3892)
* Minimal infrastructure

* Implemented dig reg backup.

* usb bbpll

* Removed default feature.

* OS adapter tweaks

* Fixed S2 and implemented PhyController

* Added manual deinit.

* Fixed linker scripts and migrated esp-radio to esp-phy

* Fixed warnings.

* Fixed NPL

* Tried fixing NPL again

* Fixed ieee802154

* Fixed reading chip version of S3.

* fmt

* Added changelog entry

* Added changelog for esp-radio

* Deleted chip specific common adapters.

* Added docs and unstable

* Migrated cal data load/store to esp-phy

* Fixed PHY cal CI error

* Removed instability

* Removed feature from esp-phy

* fmt

* Fixed esp-sync docs.

* Removed log with CONFIG

* Removed nonreentrantmutex from common adapter

* Disable reset for radio blocks where required.

* Fixed cfg_if for s2

* fmt

* Added bt_bb_v2_init_cmplx to phy_provides.x

* Added CHANGELOG

* Moved EXTERN and fixed comment.

* Fixed lint

* Fixed common adapter again.

* Docs and Readme.

* Fixed ref count.

* This time pls.

* Added MAC time update CB for esp-radio

* fixed field init

* Fixed inconsistency in metadata

* Removed useless changelog entry

* Fixed S2.

* Swaped addr_of for &raw mut

* Properly initialize NVS

* Fixed lint

* Fixed C6

* Fixed remaining issues

* Fixed CI

* Added link

* Updated esp-wifi-sys in esp-phy

* Address reviews

* Renamed PHY lock

* Moved syscon let in common_adapter

* Fmt

* Remove critical_section

* Don't steal when not necessary

* Added esp-phy changelog to workflow

* Add cargo metadata for esp-phy

* Added reference to #4015

* Refixed Cargo.toml

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-09-19 14:14:25 +00:00
Dániel Buga
1eed542f64
Use cargo-batch to build tests and examples, avoid linting so much (#4108)
* Use cargo-batch

* Run CI on mac runner

* Rely on MSRV and nightly jobs to lint

* Build docs separately

* Don't copy examples - fix builds on stable

* Run everything by default, set CI env var in ci command

* Run batched commands with RUSTC_BOOTSTRAP enabled

* Force cargo-batch to correctly ignore unstable option

* Test with nightly

* Use a persistent target folder, remove cache

* Don't delete the lp examples

* Restore target dir

* Build with stable again

* Fix rebase fail

* Remove handling tests

* Remove redundant code

* Restore repeated test run option

* Add simpler cargo check

* Introduce check-packages

* Remove stabilized -Zdoctest-xcompile

* Clean up commented code

* Remove more stuff

* Fix uart_uhci test

* No badger for us
2025-09-18 11:25:11 +00:00
Scott Mabin
3f024529e2
upgrade to 1.89.0.0 for CI (#4102)
* upgrade to 1.89.0.0 for CI

* regenerate baseline

* Resolve clippy errors

---------

Co-authored-by: Jesse Braham <jesse@beta7.io>
2025-09-16 11:53:59 +00:00
Juraj Sadel
a5a0833318
Add a CI workflow for checking links in .rs, .md, and .toml files acc… (#4098)
* Add a CI workflow for checking links in .rs, .md, and .toml files accross esp-hal workspace

fix dead links

* exclude unpublished crate documentation's links

* Add .lycheeignore with excluded links

* play with patterns

* don't forget to remove
2025-09-12 10:48:04 +00:00
Kirill Mikhailov
1597443bf1
Add new host-test xtask subcommand (#4085)
* Add new `host-test` xtask subcommand

+ smaller consistency and fmt fixes

* reviews

* reviews
2025-09-09 14:44:36 +00:00
Juraj Sadel
044e042eda
Try to run extras and host-tests on self-hosted(mac-mini) and GH-ubuntu-latest runners (#4052) 2025-09-08 10:08:47 +00:00
Dániel Buga
99e2b936df
Introduce esp-sync, avoid critical_section like the plague (#4023)
* Introduce esp-sync

* Avoid critical_section as much as possible
2025-09-03 09:34:18 +00:00
Juraj Sadel
e6cdd8eb3c
Add xtask command check-unused-deps and remove unused deps/features (#3967)
* Add xtask command check-unused-deps and remove unused deps/features

* fix changelog

* reviews, move check into nightly-ci

* reviews

* readd document-features to esp-preemt

* Just cargo machete
2025-08-27 08:48:58 +00:00
Kirill Mikhailov
4eb4c89944
Fold esp-ieee802154 package into esp-radio (#3861)
* folding esp-ieee802154 to `esp-radio`

* remove the package

 Edit monorepo changelog to reflect the ieee-crate changes

* edit readme

* fix cargo.toml

* changelog update

fix changelog entry

* address reviews

* edit changelog

* remove useless "fmt.rs" file

* address reviews

* fix HIL build

sure

oh

fix hashmap inconsistency
2025-07-28 14:31:15 +00:00
Kirill Mikhailov
73ef8d9227
Rename esp-wifi to esp-radio (part 1) (#3858)
* rename `esp-wifi` to `esp-radio`

* Add migration guide entry

* changelog entry

* address reviews

* more fixes

* address reviews

* Thank you for this rebase!

* mmm, rebase

* Remove unnecessary diff

bob

* get rid off all `esp-wifi` references

* drop the links ƒrom the table
2025-07-25 12:26:08 +00:00
rmsyn
eea0446e77
xtask: add metadata check (#3808)
* xtask: add metadata check

Adds a check for metadata changes to the xtask `update-metadata` task.

* ci: add metadata check to the `ci` workflow

Adds a check for uncommitted metadata changes to the `ci` workflow.
2025-07-16 18:11:53 +00:00
Scott Mabin
6b758d75b8
Finalize releases (#3805)
* Finalize crate releases

* changelog fixup

* fixup docsrs ci test

* docs fixup
2025-07-16 10:29:34 +00:00
Scott Mabin
21069f30a0
allow pre version bumps, run xtask tests in CI (#3800) 2025-07-15 16:23:56 +00:00
Dániel Buga
940f318b68
Remove some unnecessary caches (#3768) 2025-07-08 07:43:09 +00:00
Dániel Buga
c6df02190b
Use 1.88 & bump HAL MSRV (#3742)
* Update MSRV to 1.88

* Clean up lints

* Generate new baseline

* Bump MSRV of xtensa-lx-rt

* Do not try to replace in semver baseline, bump dependent msrvs

* Changelog
2025-07-03 13:44:27 +00:00
Björn Quentin
54c073fcd2
Prepare changelog (#3731)
* Prepare changelog

* Check for esp-rom-sys CHANGELOG
2025-07-01 16:03:45 +00:00
Björn Quentin
8fffa6ccec
esp-config TUI (#3649)
* Introduce esp-config TUI

* Validate more

* Improve chip-selection, support alternate config.toml files

* Minor improvements

* Clippy --fix

* Do crate-level checks on every change

* de-dup

* Address review comments

* Address review comments

* Remove the safety-belt
2025-07-01 15:14:26 +00:00
Sergio Gasquez Arcos
cf26bf0bea
Update xtensa-toolchain (#3719)
* ci: Test xtensa-toolchain

* ci: Use xtensa-toolchain@v1.6
2025-06-30 11:28:03 +00:00
Dániel Buga
0f73826a81
Add toolchain arg to more commands (#3714) 2025-06-30 10:27:59 +00:00
Dániel Buga
e0b613dd3d
Run MSRV checks with the correct toolchain (#3691)
* Run MSRV checks with the correct toolchain

* .
2025-06-26 08:58:22 +00:00
Dániel Buga
5c0469d98c
Use one more bit for bus clearing (#3696) 2025-06-26 06:39:34 +00:00
Björn Quentin
88151e78f9
Fix incorrect usage of MaybeUninit (#3677)
* Fix incorrect usage of MaybeUninit

* CHANGELOG.md

* Run tests in CI

* Address review comments

* Fix wrong path

* Less transmutes

* Don't use link_section on MacOS

* Fix a search+replace gone wrong

* Fix unaligned write buffer, make sure we test all relevant branches

* Fix
2025-06-24 10:54:27 +00:00
Dániel Buga
d8f7ded78c
Run rustfmt as part of the host tests (#3683) 2025-06-24 09:57:32 +00:00
Scott Mabin
c19f5fd159
Fix docs.rs builds (#3665)
* fix docs.rs builds

* add workflow to check docs-rs builds before release
2025-06-20 08:04:17 +00:00
Dániel Buga
8cf0fc7153
Test -Zstack-protector (#3636)
* Test -Zstack-protector

* Pass config as inline TOML to cargo

* Try to fix failing test
2025-06-16 12:05:21 +00:00
Scott Mabin
e97de69b42
use 1.87 in CI, bump MSRV to 1.86 (#3560)
* use 1.87 in CI, bump MSRV to 1.86

* update API baseline files (rustdoc json format change)

* Add api-baseline regen guide to guidelines
2025-05-29 13:45:22 +00:00
Dániel Buga
efbd0cb12a
Accept double quotes in docu workflow input (#3565) 2025-05-28 09:26:53 +00:00
Dániel Buga
ff3c5f4bb3
Apply release plan (#3510)
* Execute plan

* Update plan

* dry-run by default

* dry-run version bumps

* Apply skip-changelog label as well

* cleany uppy

* xtask changes for CI doc generation

* Allow running documentation workflow for release PRs

* Build debug xtask

* Fix docs build for esp-config

* Push release PR to upstream

* Fix base url

* Fall back to default manifest if request is not a success

* Build all documentation regardless of its version

* Restore building landing page

* Build with the correct base url

* Avoid deploying the xtask

* Feature-gate documentation-index
2025-05-23 16:02:44 +00:00
Dániel Buga
fbdb99ec6a
xtask: Bump version in changelog, add check-changelog (#3478)
* Parse and update changelog on version bump

* Add check-changelog

* Fix changelogs

* Check changelog format in CI

* Fix log string

* Update readme

* Add tests, remove empty changelog groups
2025-05-19 07:15:47 +00:00
Björn Quentin
7b7844a855
Semver-Check (#3439)
* Semver-Check

* Clippy

* Improve

* Fix

* Adjust log level

* Add initial API baseline

* CI

* Fix

* Docs

* Debug CI

* Honor CARGO_TARGET_DIR

* Compressed API baseline

* Renaming

* Refactor

* Move code to commands mod

* Prepare for 1.85

* Address review comments

* Simplify
2025-05-09 14:40:42 +00:00
Björn Quentin
29060aee6a
Enable problem-matchers in CI (#3480) 2025-05-08 13:07:51 +00:00
Sergio Gasquez Arcos
a3703651cc
feat: Update Xtensa Rust (#3467) 2025-05-07 14:49:06 +00:00
Jesse Braham
e5ea7e35cd
Refactor xtask subcommands to be group by common functionality (#3457)
* Create `command` submodule, extract build-related args/actions

* Extract run-related args/actions

* Fix clippy warnings

* Update `README.md` for xtask package

* Fix order of positional arguments for examples

* Update workflows and cargo aliases

* Inline function which is only called in one place

* Update HIL workflow
2025-05-07 09:32:51 +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
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
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
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
8f0c5179d9
Set up nightly rust for CI (#3351) 2025-04-09 07:57:20 +00:00
Scott Mabin
06ab8ad8ad
Docs fixups (#3342)
* esp-rs/esp-hal

* fix ieee802154 docs
2025-04-07 12:13:08 +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
Sergio Gasquez Arcos
2cd75e195d
ci: Fix nightly issues (#3241) 2025-03-10 11:41:40 +00:00
Dániel Buga
bae929556a
Try to fix nightly workflow (#3225) 2025-03-06 12:43:55 +00:00
Anthony Grondin
9c99a2ce67
Fix developer guidelines link (#3202)
- Fixes a few links being broken after the rename in
https://github.com/esp-rs/esp-hal/pull/3049
2025-03-05 09:27:40 +00:00
Jesse Braham
6976e6d669
Update portable-atomic (#3171)
* Update `portable-atomic` dependency

* Remove `portable-atomic` hacks
2025-02-24 14:33:01 +00:00
Jesse Braham
fd2bdefaab
New package releases (#3163)
* Update dependencies and bump version numbers

* Update `CHANGELOG.md` for each package being published

* Update repo-level `README.md`

* Use older nightly to resolve CI issues

* also release esp-backtrace and esp-metadata

* Cleanup

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-02-24 13:32:29 +00:00
Scott Mabin
0a8c609a02
Deploy docs (#3147)
* take json input from action

* use hal xtask for all jobs

* temp, use checkout task

* use same xtask again

* tmp

* fixup output path

* try and send via scp

* fill in a bit more data

* debug

* base url adjust, try and remove doc dir

* prevent index generation errors

* remove docs prefix

* Create an xtask subcommand to tag releases for packages

* output json workflow input when tagging releases

* output full output for docs

* mention xtask output, set GITHUB_TOKEN in docs workflow

* target esp-hal proper

---------

Co-authored-by: Jesse Braham <jesse@beta7.io>
2025-02-21 15:36:31 +00:00
Scott Mabin
b38d5cc8d5
Update to 1.85 toolchain (#3146)
* test esp 1.85 toolchain

* clippy lints
2025-02-20 12:13:02 +00:00
Björn Quentin
68c660f1c5
CI optimizations (#3129)
* CI Improvements

* Fix

* Lint with stable

* Fix

* Xtensa

* cleanup
2025-02-13 15:20:10 +00:00
Jesse Braham
ca8cfe6a1f
Fix nightly CI errors (#3123)
* Update nightly CI workflow

* Fix nightly clippy errors
2025-02-10 09:42:05 +00:00