esp-rs/esp-hal repo issues and pull requests
Fix various typos across the whole project. #5043 [AnthonyGrondin] skip-ci-non-code-change
Pull Request Details 📖 Description Fix various typos errors across the whole project. I separated the CHANGELOG...
Add basic async/await support for `SimpleMem2MemTransfer`s #5005 [Limeth] merge-conflict
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
SystemTimer: Reading it is slow #5029 [penguin42] bug investigation
Bug description Reading the systemtimer is surprisingly slow To Reproduce ...call SystemTimer::unit_value(..)...
Confusion about usage of I2S as DAC DMA unit #1356 [Slamy] peripheral:dma peripheral:dac peripheral:i2s
Howdy! I would like to use the DAC of the ESP32 in DMA mode. The dac.rs itself only supports direct writing to it...
Try to reduce duplicated code between `I2C`/`LP_I2C` drivers #1271 [jessebraham] peripheral:i2c
Setting individual MAC address (for BLE advertisements) #1616 [Natureshadow] package:esp-radio investigation
For a device sending a Bluetooth beacon, I need to set a custom (pseudo-random) MAC address that is then used for...
Static linking in psram. Is there support or what is needed for it? #1083 [Volkalex28] peripheral:psram
Hello. Are there any plans to add a linking attribute to psram? As in idf: #[link_section = ".ext_ram.bss.****"]
Is there any plan for BLE MESH? #1615 [VingeNie] help wanted package:esp-radio
Is there any plan for BLE MESH?
ESP32-C5 - Basic WiFi support #4742 [MabezDev] package:esp-radio
I2C slave driver #1909 [okhsunrog] peripheral:i2c
Are there any plans for I2C slave driver? I only found embassy example for I2C slave for rp2040...
Stabilize `peripherals::WIFI` #4961 [MabezDev]
The first stage in this decoupling from unstable, we need to stabilize the singleton. I don't think this needs much...
Mark WIFI stable #5026 [bugadani]
Closes #4961 This is done by adding a stable key to peripherals. This is actually a bit better than the previous...
esp-radio: Remove some of the WifiError's variants #5018 [JurajSadel]
Progress towards #4796
C5: Mark PHY partially supported #5046 [bugadani] skip-changelog
Just ticking the box
Fix example #5044 [bjoernQ] skip-changelog
Fixes #4976 skip-changelog - we introduced the example in the current development cycle
`embassy_coex` example broken #4976 [bjoernQ] bug examples package:esp-radio
Broken since d7e307b (at least on C2 and C6) I (23) boot: ESP-IDF v5.5.1-838-gd66ebb86d2e 2nd stage bootloader I...
Check is esp32 ble hack is still required #5025 [MabezDev]
See: esp-hal/esp-radio/src/radio/radio_esp32.rs Lines 6 to 19 in ...
Clean up radio ISR handling #5034 [bugadani] skip-changelog
This PR removes the radio module, and moves its contents to ble/wifi. The PR also removes the initial ISR disable...
Direct bindable interrupt enum #5037 [bugadani] skip-changelog
This PR makes it impossible to overwrite vectored interrupt handlers by direct-binding an interrupt handler to them.
Clean up radio interrupt dispatch #5035 [bugadani] skip-changelog
This PR encapsulates the copy-pasted heaps of unsafe code that forwarded interrupts to functions registered by the...
C5: enable PARLIO #5042 [bugadani]
The peripheral is close in capability to what's in H2, with a few differences: A new, dedicated chip select output...
Metadata: mark peripherals explicitly stable #5045 [bugadani] skip-changelog
This PR follows up on #5026 (comment) and removes the "supported driver -> (sometimes) stable peripheral" implication.
Do not allow using CPU interrupt 1 #5047 [bugadani] skip-changelog
On C2 and C3 #5037 remapped interrupts so that esp-rtos uses CPU interrupt 1 as its context switch handler. This...
Use `ets_get_cpu_frequency` instead of the `Clock` struct to check CPU speed #5013 [MabezDev]
We have various checks around CPU speed which we currently use the Clock API to retrieve. To avoid stabilizing Clock...
Feature-gate RTC timekeeping #5049 [playfulFence] skip-changelog
closes #4901 I thoroughly went through our code base and through all the C5-bringup-related PRs. Almost all the...
metadata: improve the separation of hardware configuration from code parts deactivation #4901 [playfulFence]
While working on adding C5 support, we've noticed that in order to be able to run some super-simple hello_world...
Use instability attribute on reexports #4704 [bugadani]
Test PR for ratatui/instability#33
C5: Slow down PARL_IO max frequency in tests #5048 [bugadani] skip-changelog
This should be debugged, but the driver could use some general improvements anyway.
Implement BlockSizeUser for ShaContexts #5050 [bugadani]
This PR adds a SW+HW mode demo to the hmac example demonstrating HW-accelerated HMAC operations even without the...
Add chip bring-up guide. #5041 [playfulFence] skip-ci-non-code-change
closes #5004
Add chip support guidelines #5004 [playfulFence] documentation
I'm creating this issue so that I can track the process of writing this document. Our chip support addition...
Provide guidance on heap size for wifi esp-radio #4947 [linde12] feature request
Motivations I noticed in the examples and in #2099 that heap size was chosen (in my eyes) a bit arbitrarily and i...
Add some notes about wifi heap memory usage #5056 [bjoernQ] skip-changelog skip-ci-non-code-change
This might resolve #4947 I think we mentioned we could show the expected heap usage for different scenarios and...
ECC: initial exploratory refactor #5055 [bugadani] skip-changelog
I'm not done but this will be enough for a first pass :) The PR splits up the ecc/rsa/sha test file into multiple...
feat(xtask): Add check to ensure proc-macro generated user-space items are documented or hidden #5030 [AnthonyGrondin]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
C5: enable `ASSIST_DEBUG` #5058 [playfulFence]
@bugadani debug_assist example works as expected now. PAC changes: esp-rs/esp-pacs#402
Inline `asynch::AtomicWaker` into esp-radio #5015 [MabezDev]
Another simple type that we can afford to copy/move to esp-radio until we have something stable to work with.
API guideline review for RNG #5010 [MabezDev]
As part of our stabilization process, we must bring the intended stable APIs in line with our devleoper guidelines,...
Document Rng stable APIs #5012 [MabezDev] documentation
see tracking issue for the API's that need to be documented. Please add a concise doc test on methods.
Rework RNG top level docs #5011 [MabezDev] documentation
The top level docs for the RNG module is a bit over the place, I think it comes from a time before we had a...
Update documentation URL in Cargo.toml #5059 [bombless] skip-changelog skip-ci-non-code-change
Submission Checklist 📝 I have updated existing examples or added new ones (if applicable). I have used cargo...
Inline `init_radio_clocks` into esp-radio #5014 [MabezDev]
This would require depending on the pacs instead of the peripherals from the HAL, but avoids stabilizing this part...
Merge crypto tests #5060 [bugadani]
This PR merges the crypto tests into one. This makes it easier to run them (no need to remember where a crypto...
Only `try_claim_adc2` and `release_adc2` on unstable #5017 [MabezDev]
This an esp32 specific quirk, that I think we should only apply whilst the unstable feature is enabled. It's not...
esp-radio: Gate `try_claim_adc2` and `release_adc2` with `unstable` feature #5057 [JurajSadel] skip-changelog
closes #5017
Use `rtc_clk_xtal_freq_get` in esp-radio / esp-phy #5054 [bjoernQ] skip-changelog merge-conflict
Addresses #5013 (comment)
Revisit `WifiError::NotStarted` #5031 [JurajSadel] package:esp-radio api
Currently (e156b54) when set_config is not called, we can end up with NotStarted error. We could try to provide an...
Review `WifiError`'s variants #4796 [MabezDev]
We should ensure we're not listing something we currently don't emit. We must also gate various variants behind...
Add `Config` variant to the `ControllerConfig` and remove `WifiError::NotStarted` #5039 [JurajSadel]
Potential solution for #5031. What this does is just reshuffling some methods from WifiController to newly created...
Stabilize a mechanism to enable and disable peripheral interrupts #5036 [MabezDev]
We don't need bind, as we can rely on linkage to enter the handler into the vector table but we do need a way to...
Stabilize minimal interrupt API #5040 [bugadani] skip-changelog
This PR stabilizes peripheral interrupt enable/disable functions on the peripheral singletons. This does not...
github-actions: New commits in main has made this PR unmergable. Please resolve the conflicts.
github-actions: New commits in main has made this PR unmergable. Please resolve the conflicts.
github-actions: New commits in main has made this PR unmergable. Please resolve the conflicts.
bugadani: I've added disable_X_interrupt_on_all_cores (as stable) and reverted stabilisation of...
esp-hal: Update `rng` top level docs, make `trng` module public #5063 [JurajSadel] skip-changelog
Is there any reason why trng is not public that I'm missing? closes #5011
Add MCP server for our xtask #4926 [MabezDev] skip-changelog
This should hopefully stop any agents falling back to trying to compile our special little projects with generic...
ESP32-C5 - BLE support #4743 [MabezDev] package:esp-radio
HMAC example fails on ESP32 #5051 [bugadani] bug
The HMAC example (as of #5050) could easily enough support the ESP32, but enabling it panics - the software and...
Support `digest` 0.11 #5052 [bugadani] feature request
digest 0.11 has been released a few days ago
ESP32-C5 BLE #5065 [bjoernQ] skip-changelog
skip-changelog because of the changes in esp-hal
Exception occurred on ProCpu 'Illegal' when using PSRAM on ESP32s3 #4592 [microidea] bug peripheral:psram
Bug description PSRAM is detected (start address = 3c020000), but an Illegal exception occurs when...
qa-test `embassy_scan_after_sleep` is broken on C6 at least #5053 [JurajSadel] bug examples
Current main (5d6da52): Start sleep ====================== PANIC ====================== panicked at...
fix nightly ci #5069 [JurajSadel] skip-changelog
closes #5068
Stabilize `efuse::Efuse::mac_address()` and `efuse::Efuse::interface_mac_address()` #5020 [MabezDev]
Naming and location may change based on the outcome of #5002 but we'll need a stable way to obtain these addresses...
ESP32-C5 IEEE-802.15.4 support #5070 [bjoernQ] skip-changelog
skip-changelog because of the changes in esp-hal
Fix PLL reconfiguration causing garbled serial output #5067 [okhsunrog] trusted-author
Summary Several issues in clock initialization caused PLL reconfiguration to produce garbled serial output when...
bugadani: I'd prefer if you used the request/release_rc_fast_clk APIs here.
bugadani: This shouldn't be necessary, measure_rtc_clock is supposed to manage its source clocks.
bugadani: I don't mind resetting to defaults, but this should be done for other chips as well.
okhsunrog: @bugadani can we run HIL on this one if you think it's in a good state to merged already?
github-actions: [HIL trust list] Trusted users for this PR (click to expand) @okhsunrog
github-actions: Triggered HIL run for #5067 (chips: esp32c3). Run:...
Stabilize `RunLevel` #5038 [MabezDev]
We need to check the run level in a few places in esp-radio. Alternative: If we don't feel this API is close to...
xtask MCP server, round 2 #5064 [MabezDev] skip-changelog
Builds on #4926. Instead of manually curating the table of MCP commands, we now have a proc_macro that we can add on...
Simplify cfg-gates #5072 [bjoernQ] skip-changelog
WiFi/BLE basic HIL tests #3071 [MabezDev] CI tests package:esp-radio
We should figure out the infra involved here and keep in mind local testing too, see #3069
bug: when using BLE, esp-radio doesn't respect `Scheduler::max_task_priority` #5062 [nponsard] bug package:esp-radio
Bug description Found when debugging BLE on Ariel OS, the task "ble_ll_task" doesn't respect the maximum priority...
Ensure task priorities don't go higher than the OS supports #5074 [bugadani]
Closes #5062
ECC refactor - round 2 #5061 [bugadani]
Remove implicit endian conversion Remove alignment helper usage Replace immediate writeback with on-demand result...
Use PAC directly to access registers #5066 [playfulFence] skip-changelog
closes #5016 WIFI and BT are virtual peripherals and use only what HAL or esp-phy define for them. Regarding...
Use PAC directly for register access on unstable singletons #5016 [MabezDev] package:esp-radio
Instead of using regs(), use the pacs directly for things like: ...
Persistent variables may be UB #5077 [MabezDev] bug
Copied verbatim from @jamesmunns on matrix: This probably isn't decided territory, opsem wise, but personally I...
Clean up wifi examples #5075 [JurajSadel] skip-changelog
I missed these in #5039
C5: Support the P384 ECC curve #5071 [bugadani]
This PR defines ECC curves in metadata, providing for_each_ecc_curve! which in turn is used to (IMO) clean up tests....
esp-radio documentation #4448 [MabezDev] documentation package:esp-radio
A tracking issue for the various things we need to improve in esp-radio's documentation.
Fix cargo machete #5081 [JurajSadel] skip-ci-non-code-change
closes #5080
`wifi` module level docs #5082 [MabezDev] documentation
Maybe we should also add some content to the wifi module level documentation - e.g. something like the introduction...
esp-storage: Erase by 64KB blocks when possible #5079 [elipsitz]
This updates esp-storage to use block erases when possible instead of only sector erases. Block erases are generally...
Avoid stabilizing Clocks for esp-radio (yet) #5076 [bjoernQ] skip-changelog
This is not necessarily meant to get merged but shows an alternative approach to solve #5013 - we might agree the...
Clean up warnings #5083 [bugadani] skip-changelog
RTC is very inaccurate #5078 [AlyoshaVasilieva] bug
Bug description On my ESP32-C6, the RTC runs about 3.5 minutes fast per hour, which is bad. To Reproduce Clone...
ECC: add modulus parameter to modular arithmetic methods, driver config #5073 [bugadani]
The PR also fixes the recently introduced issue on the C2, which apparently needs its memory written word by...
Small ECC tweaks #5085 [bugadani] skip-changelog
This PR changes the verifies_point property to be optional similar to modular_arithmetic_method, and tweaks...
ECC crypto backend #5084 [bugadani]
This is even more on the experimental side, and not just because of the macro-defined-macro-generated-code. We...
JurajSadel: Thank you!