esp-rs/esp-hal repo issues and pull requests
Security: non-random stack smashing canary severely restricts its effectiveness #3667 [gibbz00] bug
Currently, __stack_chk_guard seems to be "hardcoded" with via the ESP_HAL_CONFIG_STACK_GUARD_VALUE. ...
Cleanup esp-metadata #3686 [bugadani] skip-changelog
This PR splits out the driver-specific configs and tries to explain them a bit.
Improved stack overflow protection on RISC-V targets #3674 [gibbz00]
esp-hal has supports stack overflow protection using flip-link on esp32c6 and esp32h2, (unsure why it's limited to...
Add toolchain arg to more xtask commands #3714 [bugadani]
Why? Because I screwed up the previous change, that relied on RUSTUP_TOOLCHAIN. Obviously that env var always...
xtask: msrv-bump #3708 [bjoernQ]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Automate MSRV bumps #3611 [MabezDev] automation
We're going to do this often, and it's actually listed in a lot of places. We should automate this step. Things to...
Update `xtensa-toolchain` #3719 [SergioGasquez]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
fix: increase esp32 DRAM by 16K #3703 [gibbz00]
This is mostly an experimentation right now to check if CI passes with these changes, hence the draft. Think it's ok...
test #3721 [bugadani] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Minor linker script touchups. #3717 [gibbz00] skip-changelog
Inlines rodata_desc.x and consolidates .trap output section definitions. Changes aren't necessarily impactful....
chore(esp-hal/ld): include metadata.x with the other shared sections #3673 [gibbz00] skip-changelog
Don't think this needs a changelog entry.
Simplify peripheral resets #3720 [bugadani] skip-changelog
This PR updates PACs to get rid of some unnecessary special casing. The PR also replaces the set/clear duplication...
Tweak and make use of the old `bind_X_interrupt` functions #3689 [bugadani] skip-changelog
This PR changes the naming scheme of bind_X_interrupts so that we can now define a common function name for common...
Place I2C async interrupt handler into ram, wait for bus_busy to actually clear #3722 [bugadani]
Move UART instance info to esp-metadata #3698 [bugadani] skip-changelog
fix: increase esp32 heap by about 15K #3705 [gibbz00]
This is mostly an experimentation right now to check if CI passes with these changes, hence the draft. Size increase...
Fix defmt timestamp #3725 [bugadani]
fn _esp_println_timestamp is documented as expected to return millis, but the defmt timestamp was printed as micros.
Adjust ESP32-S2 and ESP32-S3 memory region lengths to reflect those defined in ESP-IDF #3709 [gibbz00]
The size reduction in #734 based on #732 (comment) seems to unfortunately be outdated. The change in...
Extract SPI metadata #3702 [bugadani]
Additionally, this PR bundles the SIO signals into two slices similar to CS, macro-generates their respective...
Fix mcpwm docs #3727 [bugadani] documentation skip-changelog
H2 can only output <= XTAL frequency, we shouldn't display a higher value in the docs, using that would result in an error.
Handling of different bootloaders / bootloader versions #3327 [bjoernQ] RFC
Current Situation the HAL won't include an app-descriptor which is needed by later versions of the esp-idf 2nd...
Calibration calc overflow #3090 [yuri-ncs]
Submission Checklist 📝 I have updated existing examples or added new ones (if applicable). I have used cargo...
Resolve `C-EXAMPLE`: Uart #3712 [SergioGasquez] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
bugadani: Should we maybe add a single "basic usage" example instead of this?
MabezDev: I forget, does no_run still get tested with our doc tests?
Introduce esp-rom-sys crate #3688 [bjoernQ] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
MabezDev: I wouldn't return an error here, just log it and force the version to be a patch bump.
ESP32: psram & esp-storage conflict #3642 [mjwells2002] bug
Bug description writing to onboard flash corrupts values stored in psram To Reproduce write to onboard flash while...
de-`paste!` the `any_peripheral` macro #3699 [bugadani] skip-changelog
Use esp-idf rom-function patches in esp-storage for esp32 #3644 [bjoernQ] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Add sdm #2371 [katyo]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Fix broken link #3729 [bugadani] documentation skip-changelog
Refactor AssistDebug symbols #3730 [bugadani] skip-changelog
esp-config TUI #3649 [bjoernQ] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Prepare changelog #3731 [bjoernQ] skip-changelog
Prepare the esp-rom-sys CHANGELOG after the in-between release see #3688 (review)
Move `rom` module from esp-hal to new crate, esp-rom #3389 [MabezDev]
Following on from #3354 (comment) and something I've had on my mind for a little while too. ROM code is...
Light-/deep-sleep support for ESP32-H2 #1029 [jessebraham] low power status:long-term chip:esp32h2
This will serve as a tracking issue for light-/deep-sleep support for the ESP32-H2. Please feel free to use this...
Generate peripherals macro call & remove paste #3713 [bugadani] skip-changelog
This PR removes the hand-maintained peripherals! macro call and generates it from metadata instead. Peripheral...
RFC: Use `libesp_rom.a` for ESP32 in esp-storage #3529 [bjoernQ] RFC package:esp-storage
In esp-storage we cannot just use the ROM functions like we do for all other chips - we need "patched" versions of...
`esp-println` has no output #3732 [KortanZ] bug status:needs-attention
Bug description using esp-generate generate a very simple project, add esp-println, then using println! in code. No...
Improve esp-wifi cfg docs #3733 [bjoernQ] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Validate wifi configuration #1611 [bugadani] package:esp-wifi
esp-idf does some validation on the configuration, e.g. #if (CONFIG_ESP_WIFI_RX_BA_WIN >...
Tweak config table #3734 [bugadani] skip-changelog
Let's see how this works out. Stability column is a bit meh, but the goal is to make this table somewhat readable,...
Remove magic #3735 [bugadani]
Fix and extend pin layouts #3726 [bugadani] skip-changelog
This PR fixes various swapped U0RX/TX functions, adds missing functions based on TRMs, removes inaccessible pins...
Check for global symbols in esp-hal library #3738 [MabezDev] CI status:blocked automation
Dependent on #3706. This issue is about ensuring we don't pollute the library name space with more global symbols....
RMT: Refactor state checks, support non-blocking poll on blocking transactions #3716 [wisp3rwind]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
RMT: Extend tx and rx capabilities and API #3509 [wisp3rwind]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Initialize `syscall_table` in esp-rom-sys #3740 [bjoernQ]
Remaining ideas from #3389 We should also consider properly initializing...
Lot's of different debug assertions with `esp-hal-1.0.0-beta.1` #3718 [0x53A] bug status:needs-attention
Bug description I've tried to port a small project from IDF to no_std and am getting debug assertions. Different...
Post release rollover #3616 [MabezDev] skip-changelog
Resolve `C-EXAMPLE`: Spi #3736 [SergioGasquez] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Make cargo xfmt respect the format config #3739 [bugadani] skip-changelog
This PR fixes #3736 (comment)
Allow hooking into the executor #3737 [bugadani]
This PR should enable both #3728 and #3670 without actually integrating them into the executor.
fix(esp-hal): avoid disabling the same interrupt twice in `_setup_interrupts` #3741 [gibbz00]
disable doesn't use the Cpu argument passed in: #[cfg(multi_core)] disable(Cpu::AppCpu, intr); disable(Cpu::ProCpu,...
Resolve `C-EXAMPLE`: Spi #3743 [SergioGasquez] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
fix nightly ci #3662 [JurajSadel] skip-changelog
closes #3659
Requesting feedback: Improve async wifi performance #3670 [karlri]
This change seems to increase async wifi performance quite nicely. It helps with http response times and with ping...
Add embassy executor cpu stats #3728 [Szybet]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Config options for specific chips #3020 [MabezDev] package:esp-config 1.0-blocker
Following on from the discussion here: #3001 (comment) We might want a better solution than just documenting which...
esp-storage may be unsound #3009 [MabezDev] bug package:esp-storage
Relevant info here: #1902
Use 1.88 & bump HAL MSRV #3742 [bugadani] skip-changelog
make peripheral module private #3745 [MabezDev] skip-changelog
It no longer has public items since we no longer have any trait magic. So let's make it private. Technically a...
Add macro to let rustfmt format code blocks in doc comments #3744 [bugadani] skip-changelog
This PR adds a new proc macro that allows replacements in code blocks in doc comments. The macro is meant to allow...
esp32s3 wifi station mode can scan but found nothing after wakeup from sleep #3751 [vult0306] bug low power package:esp-wifi
Case 1: Start esp32s3 wifi dhcp example, can scan and connect to wifi normally. Case 2: When device is up, put...
esp-config tui - multi config selection #3752 [MabezDev] package:esp-config
Context in this thread: #3020
Resolve `C-EXAMPLE` violations #2623 [bugadani] documentation 1.0-blocker
As documentation isn't as immutable as the API is, we may not treat rustdoc examples as strictly as the Rust API...
Rework how peripheral singletons are generated #3747 [bugadani] skip-changelog
This PR remove the remaining paste use from the peripherals macros, and introduces a for_each macro for peripheral...
Add app desc macro examples #3750 [SergioGasquez] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
High-speed LEDC channels do not output signal on ESP32 #3753 [Axel-ex] bug peripheral:ledc chip:esp32
Bug description High-speed LEDC channels configured via esp-hal on ESP32 do not generate any PWM signal, even though...
(re-)introduce the rt feature on esp-hal #3706 [MabezDev]
cc: #2589 Adds the rt feature which disables esp_hal::init and removes runtime symbols from the global name space....
QOL: Do something about `regi2c_*` functions. #1740 [playfulFence] status:long-term
It would be nice to do something about them regi2c_* functions (see example below), because honestly, every time I...
Bluetooth client api/example #1606 [ccruquan] examples package:esp-wifi
Is any plan support device as bluetooth client?
How does sleep work on multicore chips? #2108 [dimpolo] bug low power
I noticed that calling Rtc::sleep_deep from the second core does not put the first core to sleep. Is this expected...
Sigma-delta modulation driver #2370 [katyo] peripheral:gpio
Motivations Almost all ESP SoCs has Sigma-delta modulation periphery which can be used as a DAC...
Unexpected behaviour of `ram(rtc_fast, persistent)` #2516 [jukrut] bug low power chip:esp32
Bug description I cloned the esp-hal repo and ran the ram.rs example with a little adjustment: - loop { - ...
I2C: Every line of code is a liability. Take some time to see if your implementation can be simplified before opening a PR. #2769 [bugadani] peripheral:i2c 1.0 non-breaking
The hardware versions are seemingly more similar than the implementation suggests, we may want to explore this.
Stable driver: I2C master #2493 [MabezDev] peripheral:i2c api
As part of #2491, which has more details on driver analysis. esp-hal API-GUIDELINE omissions #2763 #2764 #2765 ...
Resolve `C-EXAMPLE`: Gpio and I2c #3746 [SergioGasquez] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
documentation website has not been updated for 1.0.0-beta.0 #3309 [Be-ing] bug
Bug description The documentation at https://docs.esp-rs.org/esp-hal/ for esp-hal still shows the documentation for...
I2C should expose Ack settings for each transfer (like esp-idf does) #2505 [Dominaezzz] peripheral:i2c
Motivations The I2C hardware can be used to speak SCCB which is a protocol similar to I2C used to speak to...
Allow splitting control over modem clocks. #3687 [Frostie314159]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
bugadani: Do you think we can also remove the RADIO_CLK peripheral?
bugadani: Can you please avoid auto-formatting TOML files? It's not great :D
bugadani: I'm pretty happy with how this looks, although I still have a few technicalities
Provide a more robust solution for getting the current time #1944 [Dominaezzz]
The current implementations for getting the time (since boot?)...
ESP32 / ESP_WIFI: Problems when enabling COEX #2624 [bjoernQ] bug package:esp-wifi chip:esp32
Originally mentioned on Matrix:...
More Examples #2995 [Makuo12]
I just recently used embassy with esp-hal crate to work on a project that uses the matrix keypad and an lcd module....
Make `asynch` modules private #2319 [MabezDev] documentation
Some drivers have this module public, some don't. Imo now async is enabled by default, we should make these modules...
BLE and Wifi examples not working on ESP32S3. #1626 [hydra] package:esp-wifi chip:esp32s3
Hi, I'm testing the examples on board here, and none of the wifi or bluetooth examples that I tried work. I was...
Better define (or document) the startup state of the cores #3410 [bjoernQ] documentation
See #3403 (comment)
Separate `esp-riscv-rt` from `esp-hal` #3638 [gibbz00] linker scripts package:esp-riscv-rt
Hey again, As discussed in the matrix chat 1, I'm investigating the possibility to run my ESP32C3 without needing to...
Introduce `esp-metadata-generated` #3754 [bugadani] skip-changelog
This PR extracts generated code to a new crate. Long-term plans are that this crate is generated/updated from an...
Fix nightly CI #3755 [JurajSadel] skip-changelog
closes #3748
dma: add SDIO dedicated DMA types #3749 [rmsyn]
Adds types needed for SoCs with a dedicated SDIO DMA engine (e.g. ESP32-C6). Thank you for your contribution! We...
rmsyn: This is still a static mut, and I plan to create a new-type to wrap it. Probably something...
Dominaezzz: I took a look at the TRM. The SDIO's DMA is different enough to warrant it going into...
rmsyn: Closing this PR in favor of the suggestions in #3749 (comment) Moving the code into #3503
Unexpected breakage when migrating to 1.0.0-beta.0 #3252 [dimpolo] bug
When trying to update esp-hal to 1.0.0-beta.0 a couple of required changes were difficult to discover because they...
sdio: initial SDIO HAL implementation #3503 [rmsyn]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
ESP-NOW never sends if Rtc::new is called afterwards #3756 [furrycoding] bug status:needs-attention
Bug description If both ESP-NOW and low-power management (RTC) is used in a project, and...
gibbz00: The stack guard is mostly aimed at developers right now, not security. Ah ok, fair. Was going...