173 Commits

Author SHA1 Message Date
Scott Mabin
7c944ec939
s/esp-radio-preempt-baremetal/esp-preempt/g (#3938)
* s/esp-radio-preempt-baremetal/esp-preempt/g

esp-preempt will hopefully one day be more useful than just a scheduler
for esp-radio, therefore I've removed the radio prefix for that future
goal. I also felt that baremetal didn't really add much other than
noise, so I've removed that postfix too.

* fix xtask

* remove test code

* fixups
2025-08-15 13:52:42 +00:00
Kirill Mikhailov
614fc59814
xtask: Rework example command structure (#3927)
* reduce duplicity in function call

* Readme update

* part of reviews

* more reviews addressing
2025-08-15 09:55:36 +00:00
Jesse Braham
8c86bf727a
Restructure example applications into self-contained projects (#3915)
* Move all `embassy` examples to `async` and convert to individual projects

* Move all peripheral examples to `peripheral` and convert to individual projects

* Move all interrupt examples to `interrupt` and convert to individual projects

* Move all `ble` examples to `ble` and convert to individual projects

* Move all `esp-now` examples to `esp-now` and convert to individual projects

* Move all Wi-Fi examples to `wifi` and convert to individual projects

* Move all `ieee802154` examples to `ieee802154` and convert to individual projects

* Move all OTA examples to `ota` and convert to individual projects

* Remove files which are no longer required

* Update `xtask` to handle new examples project layout

* Update `examples/README.md`

* Don't hide TOML parsing error in `is_published`

* Update `fmt-packages` subcommand to handle new examples project layout
2025-08-11 10:22:42 +00:00
Juraj Sadel
0fbbe2d22c
esp-wifi: Add unstable feature, mark ble, esp-now, csi, sniffer, and smoltcp features and APIs as unstable (#3865)
* esp-wifi: Add unstable feature, mark ble, esp-now and csi features and APIs as unstable

* changelog

* fix hils

* rebase and reviews

* rebase

* Make at least wifi_embassy_dhcp work without unstable feature

* remove rand_core

* rebase

* Check if a feature is selected which needs unstable

* reviews and fix ci

* reviews
2025-07-31 07:59:05 +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
Dániel Buga
07214ef80d
Split out preempt driver and default impl (#3855) 2025-07-25 06:35:19 +00:00
Dániel Buga
af6ffb102f
Update instability (#3836) 2025-07-21 09:37:58 +00:00
Dániel Buga
fc27f983c9
Generate new semver baseline (#3835) 2025-07-18 15:32:05 +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
9dcaa153a3
fixup (#3804) 2025-07-16 08:46:42 +00:00
Scott Mabin
d15b6ac4e9
xtask: allow manually creating the PR (#3803) 2025-07-15 17:32:31 +00:00
Scott Mabin
21069f30a0
allow pre version bumps, run xtask tests in CI (#3800) 2025-07-15 16:23:56 +00:00
Scott Mabin
1d99fae9ee
ensure the plan phase accounts for perma-unstable packages (#3799) 2025-07-15 14:46:09 +00:00
Scott Mabin
6db771c80e
(re-)introduce the rt feature on esp-hal (#3706)
Adds the `rt` feature which disables `esp_hal::init` and removes
runtime symbols from the global name space.

Disabling the `rt` feature is the recommended way to use esp-hal as a
library.
2025-07-15 09:20:26 +00:00
Dániel Buga
df7ba7d427
Document esp-metadata-generated (#3787)
* Try to make it more obvious how to update e-m-g

* Document top level, ensure build-script docs are present

* Document Chip, hide Config
2025-07-11 12:48:25 +00:00
Dániel Buga
9e20bc3807
Fix, simplify and ignore PSRAM doc example (#3789)
* Run doctests with all needed features

* Fix, simplify and ignore PSRAM doc example
2025-07-11 12:47:20 +00:00
Björn Quentin
5d1472d73e
Use doc_replace more (#3786)
* Use `doc_replace` more

* Fix

* Fix
2025-07-11 09:32:12 +00:00
Dániel Buga
547afd5cb9
Fix warnings, lint esp-hal without unstable (#3782)
* Prevent warnings

* Test esp-hal with no features enabled

* Update wording of error variants

* Re-generate semver baseline
2025-07-11 07:14:59 +00:00
Sergio Gasquez Arcos
3bc667ee4f
Add missing c-examples (#3770)
* docs: Add missing c-examples

* feat: Config docflags for `run doc-tests`

* docs: Update before/after macro and format code in docs

* docs: Improve chip! example

* docs: Fix format and error

* feat: Add ESP_HAL_DOCTEST environment variable for documentation tests
2025-07-09 12:46:22 +00:00
Dániel Buga
692a768b3a
Introduce esp-metadata-generated (#3754)
* Move macros to new crate

* Generate a single file

* Pre-generate esp-metadata-generated

* Move saving code to xtask

* Format with both rustfmt and prettyplease

* Fix doc build

* Unhide macros

* Fix doc string

* Update semver-check baseline
2025-07-07 15:37:05 +00:00
Dániel Buga
ad445752ae
Add clean and build timings to xtask (#3759)
* Add --timings

* Add alias to clean all packages

* Update readme

* Add alias
2025-07-07 13:03:39 +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
Dániel Buga
517b5ccbe2
Make cargo xfmt respect the format config (#3739)
* Make cargo xfmt respect the format config

* Make sure comments and doc code have the same width
2025-07-03 08:18:02 +00:00
Björn Quentin
cc2083fd1a
Introduce esp-rom-sys crate (#3688)
* Move ROM function definitions to esp-hal-rom crate

* Patch ESP32 ROM-functions, use it in esp-storage

* Allow placing additional code in IRAM

* esp-storage depends on esp-hal-rom

* Move ROM function wrappers from esp-hal to esp-hal-rom

* Make bootloader-support crate use CRC ROM function

* Minor polishing

* changelogs

* Make CI green

* Define (some) spiflash ROM functions in esp-hal-rom

* Lint

* Avoid duplicate definition of `__assert_func`

* Rename to `esp-rom-sys`

* Mention versioning this crate in the README

* Fixes

* Check self-version

* Docs

* Clippy

* Check if version bump is allowed

* Unconditionally place spiflash ROM function patches (if present) in rwtext

* Cleanup

* Change how unacceptable version bump requests are detected

* Initial version 0.1.0

* Docs

* Use correct version

* Force esp-rom-sys bumps to patch

* Fix
2025-07-01 13:05:01 +00:00
Björn Quentin
0137fbb5c4
xtask: msrv-bump (#3708)
* Add bump-msrv command

* Make regex dependency optional

* Adjustments

* Make bump-msrv a release sub-command

* Don't assume to bump MSRV for all packages always

* Check

Check

* Re-arrange code

* Remove controversial CLI-switch
2025-06-30 10:29:46 +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
75ac7ead62
Delete esp-build (#3645)
* Delete esp-build

* Delete redundant clone
2025-06-18 09:33:16 +00:00
Dániel Buga
2438d03b21
Simplify generated code to save on build time, yeet a few dependencies (#3643)
* Reduce use of iter::chain

* Cache all symbols

* Trim xtensa-lx-rt deps

* Remove unused dep

* Replace chrono with jiff

* Yeet minijinja

* Save a bit on toml_edit

* Disable some default features

* Disable regex log filters

* Reduce xtensa-lx-rt build script

* Remove unnecessary dependencies

* Remove darling

* Update embedded-test

* lol

* Clean up

* Only validate loaded config once

* fmt

* Changelog
2025-06-17 20:35:00 +00:00
Dániel Buga
e05d588f72
Save time on default xtask build (#3647) 2025-06-16 15:02:29 +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
Björn Quentin
45248100f4
Simple ota example (#3629)
* Fix esp-bootloader-esp-idf

* Use OTA enabled partition table for examples

* Add simple OTA example

* CHANGELOG.md

* Create a dummy `ota_image` in CI

* mkdir

* Remove unnecessary details from CHANGELOG

* Make non-Window's users life easier

* Test ROM function in esp-bootloader-esp-idf

* Fix
2025-06-13 13:42:09 +00:00
Björn Quentin
3b181a342d
Always show example description before compiling it (#3622) 2025-06-11 08:05:16 +00:00
Dániel Buga
48a5927767
Generate peripheral support table (#3617) 2025-06-10 13:13:24 +00:00
Dániel Buga
f6d54a0471
Generate macros from metadata (#3604)
* Generate macros from metadata

* Don't generate metadata env vars

* Add trm link, change cores to integer

* Port RMT memory constants

* Add some I2C flags

* Auto-generate PeriConfig, remove trait

* Make sure memory_range is hidden
2025-06-10 10:06:32 +00:00
Scott Mabin
71fe3f0e46
Add subcommand to rollover migration guides (#3606)
* add subcommand to create migration guides

* make git changes
2025-06-09 14:18:53 +00:00
Dániel Buga
77be40d2e4
Skip generating index if documentation doesnt exists (#3608) 2025-06-09 10:01:15 +00:00
Björn Quentin
b88ed17c1c
Prepare semver check for toolchain 1.87 (#3607)
* Honor 1.87's changed `attr`s

* re-gen api-baseline
2025-06-06 12:32:53 +00:00
Dániel Buga
5b55161885
Collect crates that have inline assembly (#3597) 2025-06-05 12:04:15 +00:00
Dániel Buga
c6153fa067
Remove chip features from xtensa-lx-rt (#3598) 2025-06-05 11:55:51 +00:00
Björn Quentin
75f728aec9
esp-wifi: Fix ble + coex + defmt for ESP32 (#3596)
* Make CI fail as it should

* Fix ESP32 + defmt + ble + coex

* CHANGELOG
2025-06-04 14:26:59 +00:00
Dániel Buga
b6ba222dec
Lint with DEFMT_LOG=trace (#3595) 2025-06-04 14:08:26 +00:00
Björn Quentin
42e239ccf1
Summarize failed CI checks (#3574) 2025-05-30 09:16:10 +00:00
Dániel Buga
13b46968f3
Create new semver baseline on release (#3568)
* Fix bumping renamed packages

* Generate new baseline

* Print PR body if too long

* Extract and test version bump code

* Also handle simple dependencies
2025-05-28 15:05:20 +00:00
Dániel Buga
f203d25cb7
Remove probe speed override for C2 (#3562) 2025-05-27 15:56:55 +00:00
Dániel Buga
692b7dddc2
Publish based on release plan (#3542)
* Publish and tag based on release plan

* Update wording

* Update xtask/src/commands/release/execute_plan.rs

Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>

---------

Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
2025-05-26 11:37:38 +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
c8da165aa5
Prepare a release plan (#3506)
* Add plan subcommand

* Skip binary files when replacing placeholders

* Specify the next step

* Make the plan ordered

* Prevent creating a plan that includes an unpublished crate

* Explain repo_dependencies

* Tweak plan comment

* Check branch during planning

* Tweak logs

* Hint about --allow-non-main
2025-05-22 11:07:57 +00:00
Dániel Buga
d66b1397a2
Read from Cargo.toml whether a crate is published (#3507) 2025-05-21 09:27:16 +00:00