* Use published versions of all dependencies, update dependencies as needed
* Fix `embassy_usb_serial` example build errors after updating `embassy-usb`
* New package releases
* Fix warning in `esp-hal-procmacros` when building for `esp-lp-hal`
* Document cargo features, use `embedded-hal@1.x.x` by default
* Derive more traits on public types, assorted cleanup and improvements
* Implement `embedded-hal-nb` and `embedded-io` traits for UART
* Update `CHANGELOG.md`
* Silence `clippy` for now...
* Module documentation for UART
* Update module documentation format
* Check docs examples II
* rebase and update
* fix root crate macro expansion in doctest snippets
* clean up and fmt
* add xtask run-doc-test subcommand and check in CI
* address review comments
* remove commented printlns
* fix the host target check
* rebase and update
* hide docs for before_snippet macro and remove commented block code in twai
* Extract embassy support into `esp-hal-embassy` package
* Update relevant packages/examples/tests to get CI green again
* Add back `defmt` support
* Re-export `Executor` and `InterruptExecutor` rather than making `executor` module public
* Document the `esp-hal-embassy` package
* Update `CHANGELOG.md`
* Hack together a "fix" for the `SYSTIMER` time driver
* Make `clippy` shut up
* Remove TODO comments from linker scripts for ESP32-C6/H2
* Small refactor in Xtensa interrupt module to get rid of some allow attributes
* Remove unused function and attribute from `esp-hal-procmacros`
* Extract inner modules of `gpio` module into their own files
* Update `CHANGELOG.md`
* Add missing doc comment in `gpio::lp_io` module
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
* Remove patches and just use git dependency for PACs instead
* Various `README.md` normalization/updates for simpler packages
* Update `README.md` for `esp-hal` and `esp-lp-hal`
* Update repo-level `README.md`
* Interrupt runtime binding
* Add `set_interrupt_handler` for GPIO
* Fix
* Fix typo
* Make sure to produce a warning for an unused `#[handler]`
* Simplify GPIO interrupt handling
* Appease Clippy
* Make sure to patch the PACS in esp-hal
* Use latest PAC commit
* CHANGELOG.md entry
* New package releases
* Fix the `CHANGELOG.md` check in CI
* `defmt` is annoying
* Update documentation index to point to new version, correct release date
* Remove docs.rs badge from and update docs link in `README.md`
* Silence `clippy`
* Fix documentation link in `esp-hal/README.md`
* Remove the chip-specific HAL packages
* Update some doc comments which were missed, fix build script for ESP32/S2
* Refactor/update `esp-hal-procmacros`
* Create the `examples` package, add back all of the previously existing examples
* Use `xtask` automation package for checking examples and documentation in CI
* Combine the `rt-riscv` and `rt-xtensa` features into a single `rt` feature
* Bump MSRV to 1.76.0 (shocking!)
* Re-document the features for the HAL
* No need to re-export the `riscv` package like this
* Make clippy happy, improve CI clippy checks
* Update `CHANGELOG.md`
* riscv: zero bss
Co-authored-by: Björn Quentin <bjoernQ@users.noreply.github.com>
* Address a number of review comments
* Correct pin number in `hello_rgb` example for ESP32-C3
* Address the remaining review comments
* More small tweaks/improvements
* Fix RMT examples (#11)
* Fix RMT examples
* Remove logger-init
* Make I2S examples work on ESP32 (#12)
* Make I2S examples work on ESP32
* Remove logger init
* Fix the direct-vectoring examples on all RISCV chips (#10)
* Update GPIOs for some examples...
* Embassy timer example fixes (#13)
* Switch to generic queue instead of integrated for all examples
* changelog
* Update GPIO in another example, make `rustfmt` happy
* Fix ESP32-S2 PSRAM
* Avoid UART0 and SPI flash pins (#15)
* Avoid UART0 and SPI flash pins
* Fix spi_eh1_device_loopback for non-ESP32
* Update examples/src/bin/gpio_interrupt.rs
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
---------
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
---------
Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Björn Quentin <bjoernQ@users.noreply.github.com>
Co-authored-by: bjoernQ <bjoern.quentin@mobile-j.de>
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
* After more analysis and coding
* More work is done, writing/reading WIP
* `write` prototype done, small fixes. Read next
* pre-rebase
* Rebased and updated
* Pre-final state of driver
* More work (near-final state) done
* WIP
* WIP
* working
* cleanup
* changelog
* address review comments
* remove Option from conjure and improve lp-i2c example description
---------
Co-authored-by: Kirill Mikhailov <konnor1980@yandex.ru>
* RISC-V executors
* Add multiprio example to RISC-V SoCs
* Check new examples
* Hack in support for generic queue
* Reserve SoftwareInterrupt0 for multicore thread-mode executors
* Merge interrupt executors
* Merge thread-mode executors
* Document the new features and expand on time drivers
* Main tasks don't have to return !
* Unify multiprio examples
* Undo C6 log output change
* Bump MSRV to 1.67, check with `defmt` feature enabled in MSRV checks where applicable
* Add `esp32c6-lp-hal-procmacros` package to VS Code workspace
* Update `CHANGELOG.md`
* Macro to load LP core code
* Fix imports, add CHANGELOG.md entry
* Avoid code warning
* Omit path from function signature
* More error checking
* Clippy fix
* Include the ELF used by the lp_core_basic example
* Make object dependency optional
* Use 1.65 for RISCV MSRV check
* Use RUSTC_BOOTSTRAP for RISCV MSRV check
* Remove the pre-compiled LP core example
* Pin toml_edit in esp32c6-lp-hal-procmacro
* Add README, improve documentation for `esp-hal-procmacros`
* Improve documentation for `esp-hal-smartled`
* Use esp-rs logo for all packages' documentation
* Add additional `cfg` gates to re-exports in `esp-hal-common`
This leaves only `clock`, `delay`, `peripheral`, `prelude`, `rom`, and `soc` *not* behind `cfg`s
* Simplify the prelude, update its `cfg`s, and re-export some missing traits
* Update various dependencies
* Create the `esp32c6-hal` package
* Teach `esp-hal-common` about the ESP32-C6
* Get a number of peripheral drivers building for the ESP32-C6
bckup
initial clocks_ii
* Create the `esp32c6-hal` package
C6: update
* Simplify and fix the linker script
update
* C6: add I2S
* Create the `esp32c6-hal` package
* Teach `esp-hal-common` about the ESP32-C6
* Get a number of peripheral drivers building for the ESP32-C6
bckup
initial clocks_ii
* Create the `esp32c6-hal` package
* C6: update
* Simplify and fix the linker script
* update
* C6: add I2S
* update
* C6 Interrupts
* C6: Update build.rs, linker scripts and initial examples
* C6: RMT
* Fix interrupt handling
* Fix `ClockControl::configure`
* C6: revert to I2S0 instead of just I2S
* C6: rebase and update
* RTC not buildable
* Implement RWDT and SWD disable
* C6: working LEDC
* C6: working RMT
* C6: add aes
* C6: add mcpwm
* C6: add rtc_cntln - not finished
* C6: update and formatting
* C6: add pcnt
* C6: add examples and format
* Remove inline assembly, fix interrupts and linker scripts
* Remove unused features, update cargo config for atomic emu, misc cleanup
* Get ADC building and example "working" (as much as it ever does)
* Remove a bunch of unused constants which were copied from ESP-IDF
* The `mcpwm` example now works correctly
* Get `TWAI` peripheral driver building for C6
* Clean up the `rtc_cntl` module and get all the other HALs building again
* Add the C6 to our CI workflow
* Fix various things that have been missed when rebasing
Still missing a few examples (`clock_monitor`, `embassy_spi`, `ram`)
* C6: Small updates in wdt (#1)
* C6: Update WDT
* C6: Update examples with WDT update
* Update `esp-println` dependency to fix build errors
* Fix formatting issues causing pre-commit hook to fail
* Get some more examples working
* Working `ram` example
* Sync with changes in `main` after rebasing
* Working `embassy_spi` example
* Use a git dependency for the PAC until we publish a release
* Fix I2S for ESP32-C6
* Fix esp32c6 direct boot (#4)
* Add direct boot support for C6
* Fix direct boot for c6
- Actually copy into rtc ram
- remove dummy section that is no longer needed (was just a waste of
flash space)
- Move RTC stuff before the no load sections
* Update RWDT and refactor RTC (#3)
* C6: Update RWDT and add example, refactor RTC and add not-really-good example
* Update based on review comments, resolve bunch of warnings and run cargo fmt
* Update C6 esp-pacs rev commit
* Fix clocks_ll/esp32c6.rs
* Fix riscv interrupts
* Remove clock_monitor example for now
* RAM example works in direct-boot mode
* Add a TODO for &mut TIMG0 and cargo fmt
* Fix linker script after a bad rebase
* Update CI and Cargo.toml embassy required features
* use riscv32imac-unknown-none-elf target for C6 in CI
* change default target to riscv32imac-unknown-none-elf
* add riscv32imac-unknown-none-elf target to MSRV job
* another cleanup
---------
Co-authored-by: bjoernQ <bjoern.quentin@mobile-j.de>
Co-authored-by: Jesse Braham <jesse@beta7.io>
* Make required changes to include new `RADIO` peripheral
* Use published versions of PAC and `esp-println`
* Use the correct target extensions (`imac`)
* Fix the super watchdog timer, plus a few more examples
* Fix UART clock configuration
* Make sure to sync UART registers when configuring AT cmd detection
* Disable APM in direct-boot mode
* Address a number of review comments
* Fix `SPI` clocks and `rtc_watchdog` example (#6)
* fix SPI clocks
* run cargo fmt
* Add comment about used default clk src
* Fix rtc_watchdog example in BL mode
* run cargo fmt
* Update rtc_watchdog example that it works in DB mode
* README and example fixes/cleanup
* Add I2C peripheral enable and reset
* Fix `ApbSarAdc` configuration in `system.rs`
---------
Co-authored-by: bjoernQ <bjoern.quentin@mobile-j.de>
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
Co-authored-by: Juraj Sadel <jurajsadel@gmail.com>
Co-authored-by: Scott Mabin <scott@mabez.dev>