# Rust Team Sync-up ## 2023-05-02 ### esp-hal - [JB] Need to publish new HALs soon, anything we want to merge first? - [JB] When should be consider `esp32h2-hal` ready to merge into `main`? - I'd like to do this as soon as possible - Once Kirill finishes `WDT` I think we're okay? - [JB] I would like to re-visit the idea of HAL configuration - https://github.com/esp-rs/esp-hal/issues/42 - I think this is an important consideration for using the HAL in "real" projects - Can we come up with a list of values which should be configurable? - How do we want to accomplish this? - Cargo package metadata? - Configuration file? - Environment variables? (not a fan, but included for completeness) - Other? - [JB] ADC calibration status? - Is each chip going to be unique or is the process generally the same? - Can we get some progress tracking in the issue? - [JB] Let's make a push to implement the remaining `embedded-hal-async` traits? - `I2c` is a bit tricky due to lack of DMA and use of FIFO/interrupts instead - `SpiDevice`, `SpiDeviceRead`, and `SpiDeviceWrite` hopefully won't be too bad? - `serial::Write` (haven't looked into it) ### esp-wifi - [JB] Can we make a list of items which need to be completed before we publish a release? - As I've stated previously, I think it's important to have something published for various reasons ### espflash - [JB] There are still (unfortunately) a number of issues which need resolving - Some of these I am not able to reproduce - I am emotionally drained from working on this project (mostly alone) for so long and am struggling to find motivation to work on this project ## 2023-03-09 ## esp-hal - Discuss configuration of various parameters which have open issues - https://github.com/esp-rs/esp-hal/issues/42 - https://github.com/esp-rs/esp-hal/issues/378 - [Jesse] I'm concerned we're approaching "feature hell" - This is less of a problem now, but something to think about if we do want to unify the HALs - We're having increasingly more features for various things, and I'm worried it's going to become difficult to use these packages. Setting all the correct features may be a frustrating process. - I'm hesitant to introduce any sort of configuration file, but maybe this is needed? - Maybe we can re-use some of the macros from other build scripts to better verify the selected features, though this seems more reactive than proactive - [Scott] Maybe if most of the build scripts are the same we can move it out of each hal and use https://doc.rust-lang.org/cargo/reference/manifest.html#the-build-field to share them - No immediate action required, but something to think about - How do we want to handle `CHANGELOG`s? Per package? Just one? - https://keepachangelog.com/en/1.1.0/ - Per-HAL changelogs seem like a maintenance headache - We can deviate from the traditional format and have sub-sections for each package, maybe? - If we unify the HALs this issue goes away - Clean up `FIXME` and `TODO` comments (there are a lot of them :) ), triage issues - [Scott] Our linker script situation is a bit of a mess. I think we should try and find a way to simplify and reuse parts across chips where we can, atleast for bootloader mode. - [Bjoern] Wouldn't it make sense to add `log` to esp-hal? - during chip bring-up we usually temporarily add esp-println as a dependency and remove it afterwards - by using the right feature flags we can make it zero-cost for normal builds - [Bjoern] I feel like we should move things like modem power-up, phy power-up etc. from esp-wifi to esp-hal (and make it look less hacky) - but in esp-wifi we use a lot of registers that are not in the SVDs/PACs - I wouldn't like to add it that way to esp-hal - [Bjoern] We wanted to get rid of the smartleds adapter (i.e. the whole utils module) and move it to it's own util crate. - I still think we should do that. Other opinions? - What else would be worth to have in such a crate? - Maybe a convenience function to hide the usual boiler-plate code we usually have in `main`? - Do we actually care about the remaining issues for `esp32c6-hal`, or should we just try to get something published? ## espflash - Sergio will be helping with this project moving forward - Goal at this point is to get a stable release out; hopefully not much else required for this - [Jesse] Sergio and I spoke and I think we have a reasonbly clear path forward - If you have any breaking requests (ie. not just _adding_ functionality) then please let us know ASAP! ## Other - What other projects do we want to prioritize next quarter? - [Bjoern] Probably continue and improve esp-wifi and ieee802.15.4 driver (at least it's one of my personal priorities) - [Scott] Is there anything we can do to split the work here? Initial bring up is mostly a single person job, but perhaps the next steps can be split. FYI I bought one of those sniffers, so at the very least I can validate - @Mabez would it be possible to have a quick presentation/tutorial on using `probe-rs` before the end of the month? - No pressure, we're all busy :) We've just been wanting to do this for awhile now - [Sergio] Book overhaul - We have support from the documentation team. Kirill Chalov will be helping us for a month. - [Sergio] Ferrous System update - Once the examples are update we will need to update the book to match the updated examples