Scott Mabin
6b758d75b8
Finalize releases ( #3805 )
...
* Finalize crate releases
* changelog fixup
* fixup docsrs ci test
* docs fixup
esp-riscv-rt-v0.12.0
esp-hal-procmacros-v0.19.0
esp-backtrace-v0.17.0
esp-storage-v0.7.0
esp-rom-sys-v0.1.1
esp-hal-v1.0.0-rc.0
esp-ieee802154-v0.8.0
esp-metadata-generated-v0.1.0
esp-metadata-v0.8.0
esp-println-v0.15.0
esp-config-v0.5.0
esp-bootloader-esp-idf-v0.2.0
esp-hal-embassy-v0.9.0
esp-wifi-v0.15.0
xtensa-lx-rt-proc-macros-v0.4.0
xtensa-lx-rt-v0.20.0
xtensa-lx-v0.12.0
2025-07-16 10:29:34 +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
Dániel Buga
634120f700
Clean up ( #3798 )
...
* Clean up unnecessary unsafe code
* Do not print level of unhandled interrupt
* Remove transmutes
* Changelog
2025-07-15 11:40:50 +00:00
Scott Mabin
e620244dfa
use new pac releases ( #3797 )
2025-07-15 11:13:57 +00:00
Dániel Buga
906fa56435
Update PAC ( #3794 )
2025-07-15 10:38:29 +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
978f9083a6
Use array-ified TWAI DATA registers ( #3793 )
2025-07-15 09:07:26 +00:00
Dániel Buga
9e5e643bb0
Disable USB pads before connecting a function ( #3795 )
2025-07-15 08:02:30 +00:00
Dániel Buga
496aeb864b
More touching up of generated code ( #3791 )
...
* Document remaining macros, update gpio syntax
* Update if_pin_is_type syntax, simplify impl
* Remove impl_for_pin_type
* Remove if_pin_is_type
* Remove the gpio macro
2025-07-14 13:05:27 +00:00
Dániel Buga
40fc4f2c6c
Make sure repeated matchers in for_each
macros don't overlap ( #3790 )
...
* Allow generating separate repeat branches
* Generate separate repeated matchers for simple/expanded signals
2025-07-14 13:04:51 +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
1e611aaf80
More doc replace ( #3788 )
...
* Allow macros for `doc_replace`
* Use `doc_replace` for the DMA macros
* Cleanup
2025-07-11 12:04:56 +00:00
Dániel Buga
3a5aa72c4e
Define analog/LP functions ( #3781 )
...
* Shorten name
* Define analog/rtc functions
* Try to make the data useable
* Remove general pin attributes
* Do not generate unnecessary expanded matchers
* Remove expanded GPIO cases
* Move simplified io_type to where it is used
* Fix RTC IO with resistors calls
* Hide macros on H2
* Define rtcio pins for C2/C3
* Fix S2
* Compare against the correct GPIO number
* Deduplicate
* Restore one waker per pin
* Remove case that is no longer needed, avoid inline(always)
2025-07-11 09:41:50 +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
Chris Mumford
d585f75997
Add configuration option to pin the RMT driver in RAM ( #3778 )
...
* Add configuration option to pin the RMT driver in RAM
Allow the RMT driver to pinned in RAM. Doing so avoids
a costly load from flash as using the RMT peripheral is often
a very time senstive operation.
Controlled by the `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM`
environment variable.
* Update esp-config/CHANGELOG.md
* Add PR's
* Remove ESP_HAL_PLACE_RMT_DRIVER_IN_RAM from esp-config/README.md
* Make internal functions inline
This also results in a smaller executable. With a release build:
| | In RAM | inline |
|-----------|----------:|----------:|
| File size | 1,108,028 | 1,104,956 |
| .rwtext | 0016d0 | 00153c |
2025-07-11 09:29:18 +00:00
mennovf
b2c3b1d9bb
ESP32-S2: Go into hibernation if there's only Ext1 WakeupSource ( #3785 )
...
* Don't request rtc_perip power up in ext1 and enable hold for pad in case of rtc_peri power down.
* Update CHANGELOG.md with pull-request id
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-07-11 08:00:35 +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
Dániel Buga
c907645422
Add downcast to AnyPeripherals ( #3784 )
2025-07-10 14:10:28 +00:00
Dániel Buga
fbac30993a
Add AnyPin::downcast ( #3783 )
2025-07-10 12:53:30 +00:00
Juraj Sadel
cbdb4f05ba
Fix nightly CI ( #3755 )
...
* fix nightly ci
* reviews
2025-07-10 11:00:14 +00:00
Björn Quentin
3700497d7a
Better deal with multiple config files ( #3774 )
...
* Better deal with multiple config files
* Improve key handling
* Apply suggestion from review
2025-07-09 12:47:02 +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
7343929d0e
Fix ADC resolution variant name ( #3777 )
...
* Fix ADC resolution variant
* Update esp-hal/src/analog/adc/xtensa.rs
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
---------
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
2025-07-09 09:38:31 +00:00
Simon Neuenhausen
3d6e522cbc
Allow splitting control over modem clocks. ( #3687 )
...
* Minimal architecture for split RCC.
* Removed critical section.
* Add all modem clock controllers and adjust esp-ieee802154.
* Fixed incorrect cfg.
* Fixed unstable attribute usage.
* Replaced AtomicU8 with Cell<u8>
* Reverted example channel back to 15
* Added unstable attribute to ModemClockController impls.
* Remember to actually increase the ref count.
* Experimentally removed RadioClockController
* Merged ref counters and made decrease panic if zero is reached.
* Removed RADIO_CLK peripheral.
* Removed RADIO_CLK again.
* Revert "Removed RADIO_CLK again."
This reverts commit 6da2d2834850068aa21bc52b141de2cfd8154acc.
* Removed RADIO_CLK without reformatting the files.
* Applied changes to examples and hil-tests.
* Fixed OS adapter for C2 and H2
* Adjusted docs and used unwrap!
* Fixed comments.
* Added changelog.
* Fixed esp-wifi for esp32h2.
* Changed comment for PHY_CLOCK_REF_COUNTER.
* Fixed lint for esp32c2.
* Update esp-hal/src/clock/mod.rs
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Update esp-hal/src/clock/mod.rs
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Removed unnecessary comments and made init_radio_clocks unstable.
* Update esp-hal/src/clock/mod.rs
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Fixed lint.
* Removed clocks_ll functions for chips that don't have those peripherals.
* fmt
* Changed modem clock controller stealing.
* Added lifetime
* fixed peripheral stealing again
* Made modem_clock_controller not const.
* Used type alias instead of function for peripheral stealing.
* fmt
* Adjusted remaining comments.
* Added note about coex.
* fmt
* misc
* Revert "misc"
This reverts commit d8740421e0dff84af605160939e246f2308a48e1.
* Regenerated esp metadata
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
2025-07-08 17:23:55 +00:00
Dániel Buga
1a9b4bafe0
Calculate max input/output signal ID automatically ( #3773 )
2025-07-08 13:39:00 +00:00
Björn Quentin
41fed590c2
Requires unstable feature ( #3772 )
...
* Add `requires-unstable` feature
* Docs
* CHANGELOG.md
* Advise for library authors
2025-07-08 11:40:06 +00:00
Dániel Buga
3537b5ecae
Use indexmap to ensure stable iteration order ( #3771 )
2025-07-08 09:51:43 +00:00
Björn Quentin
8b810c43bc
Move rtc_clk_xtal_freq_get
impl to esp-rom-sys ( #3769 )
...
* Move `rtc_clk_xtal_freq_get` impl to esp-rom-sys
* Fix comment
2025-07-08 08:18:11 +00:00
Dániel Buga
940f318b68
Remove some unnecessary caches ( #3768 )
2025-07-08 07:43:09 +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
Sergio Gasquez Arcos
d28bf16777
Resolve C-EXAMPLE
: Gpio and I2c ( #3746 )
...
* docs: C-example for i2c
* docs: C-example for gpio
* feat: Mark Flex as unstable
* docs: Remove outdate fixmes
* fix: Clippy lint
* docs: Add time doc examples
* docs: Dont hide imports
* docs: Add link to Peripheral section
* docs: Avoid unsafe when posible
* feat: Generate api baseline
2025-07-07 14:21: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
9b59942824
Use MD5 from ROM ( #3758 )
2025-07-07 12:12:19 +00:00
Sergio Gasquez Arcos
4f7b46df27
docs: Add app desc macro examples ( #3750 )
2025-07-04 12:48:56 +00:00
Dániel Buga
86e006b601
Rework how peripheral singletons are generated ( #3747 )
...
* Handle GPIOs as stable peripherals
* Define interrupts in create_peripheral
* Remove the rest of paste from the peripherals macro
* Move create_peripheral calls out of peripherals!
* Merge macros
* Merge peripherals files
* Delete the peripheral module
* Replace the peripherals macro with for_each generated code
* Do not generate code directly in GPIO metadata
2025-07-04 12:15:12 +00:00
Dániel Buga
68b992f6d6
Add macro to let rustfmt format code blocks in doc comments ( #3744 )
...
* Add insert_doc_snippet proc macro
* Replace placeholders
* Allow defining (conditional) replacements
* Use unstable features for module-level docs
* Document the new macro
* Rename macro
* Lint
* Remove nonsense code block check, change syntax
* Remove redundant doc_switch macro
2025-07-04 08:25:37 +00:00
Scott Mabin
ce469d3fd2
make peripheral module private ( #3745 )
...
* make peripheral module private
* update api baseline
2025-07-03 15:57:42 +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
583be70559
Allow hooking into the executor ( #3737 )
...
* Allow hooking into the executor
* Attempt to test that the callback API is not dysfunctional
2025-07-03 09:17:34 +00:00
Sergio Gasquez Arcos
f8b43a9ca9
Resolve C-EXAMPLE
: Spi ( #3743 )
...
* docs: Resolve C-example for spi
* style: Update format
2025-07-03 09:15:51 +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
Dániel Buga
9146407573
Fix and extend pin layouts ( #3726 )
...
* Fix ESP32 pin layout
Co-authored-by: rmsyn <github@weathered-steel.dev>
* Tabulate ESP32
* Fix C2 pin layout
* Fix C3 pin layout
* Fix C6 pin layout
Co-authored-by: rmsyn <github@weathered-steel.dev>
* Note AF availability on IoMuxSignal
* Add mising AFs to H2
* Remove unavailable pins
* Add mising signals to S2
* Add mising signals to S3
* Changelog
* Update semver baseline
---------
Co-authored-by: rmsyn <github@weathered-steel.dev>
2025-07-02 13:16:48 +00:00
Dániel Buga
a7798f6902
Tweak config table ( #3734 )
...
* Tweak config table
* Restore active condition on xtal-frequenc
* Print values using display hint
* Fix clippy lints
2025-07-02 10:11:54 +00:00
Björn Quentin
b76a738263
Improve esp-wifi cfg docs ( #3733 )
2025-07-02 08:53:48 +00:00
Dániel Buga
21f1d89f15
Generate peripherals macro call & remove paste ( #3713 )
...
* Expand peripheral metadata
* Generate peripherals macro call
* Remove paste from peripherals
* Add missing peris
* Fix ETM and TRACE0 naming
* Remove redundant tsens symbol
* Remove RTCIO stuff from h2
* Rename S2 RTC_CNTL
* Add missing SYSCON back to S2
* Do not mark the GPIO singleton stable
* Treat unlisted drivers as not available
* Assign stability based on driver info
* Fmt
* Remove unused info
2025-07-01 19:31:21 +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