150 Commits

Author SHA1 Message Date
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
Dániel Buga
79ac43ca3d
Also update renamed packages (#3502) 2025-05-20 13:57:28 +00:00
Dániel Buga
74c1f13e1f
Move release-related code to their own module (#3501) 2025-05-20 13:15:53 +00:00
Dániel Buga
3d29a8765a
Add a version placeholder and replace on version bump (#3485)
* Use a version placeholder in MGs

* Replace version placeholder in package files

* Document bump-version better
2025-05-20 11:58:49 +00:00
Dániel Buga
f782b06326
Validate dependencies before bumping crate version (#3483)
* Extract BumpedPackage

* Validate dependencies before bumping crate version

* Clean up

* Remove redundant write
2025-05-20 10:12:58 +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
Dániel Buga
00e1cf7d7d
Extract bump_version code (#3472) 2025-05-09 11:05:06 +00:00
Dániel Buga
5b842231f5
xtask: Tweak dependency updates (#3471)
* Do not add version to a dependency that does not specify it

* Also bump dependencies in examples/tests

* Also update build and dev dependencies
2025-05-09 09:16:17 +00:00
Björn Quentin
29060aee6a
Enable problem-matchers in CI (#3480) 2025-05-08 13:07:51 +00:00
Dániel Buga
8271760498
Increment beta version (#3470) 2025-05-08 12:25:57 +00:00
Björn Quentin
123544deb7
Group CI output (#3476) 2025-05-08 12:22:50 +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
Jesse Braham
63ed40c368
Update eFuse field definitions (#3440)
* Copy eFuse field definitions from `espflash` repo, make required changes to get building again

* Clean up functions for reading eFuse fields a bit

* Make reading the MAC address chip-agnostic

* Remove eFuse field generation from `xtask` package

* Remove `read_field_be` function, as it's not really required

* Fix clippy lint errors

* Update `CHANGELOG.md`

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-05-06 08:39:35 +00:00
Dániel Buga
16897bb68d
Tweak features and dependencies (#3425)
* Group optional dependencies

* Separate version from crate name

* Restore defmt-log mutual exclusivity

* Gate ufmt

* Remove usb-device

* Feature-gate unsable dependencies behind unstable

* S2: assume single core for portable-atomic

* Clean up feature flag docs

* Sack debug

* Fix clippy

* Update examples

* Fix usb-otg feature

* Fix fmt

* Add version to log dep

* Also mark bluetooth private

* Correct changelog/MG

* Clean up esp-hal-embassy

* Clean up ieee802154

* Clean up esp-println

* Move the timestamp function up

* Move info from readme to feature docs

* Clean up esp-storage

* Clean up esp-wifi

* Fix examples

* Add a note for the private features
2025-05-05 11:33:55 +00:00
Dániel Buga
f497b75ee8
Clean up esp_hal_embassy timebase documentation (#3444)
* Clean up systimer conditional cfgs

* Seal and clean up e-h-embassy timebase

* Remove separate collection trait

* Panic if EmbassyTimer::init is called multiple times

* Changelog

* Make documentation respect ESP32
2025-05-01 09:57:29 +00:00
Dániel Buga
9a04b258bf
esp-storage: Remove nor-flash and storage features (#3431) 2025-04-29 07:52:46 +00:00
Dániel Buga
b1f487093b
Update dependencies (#3416) 2025-04-24 13:41:20 +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
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
a98a96821b
Fix ieee802154 lint errors, allow log+defmt (#3374) 2025-04-14 07:17:34 +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
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