* Move ROM function definitions to esp-hal-rom crate
* Patch ESP32 ROM-functions, use it in esp-storage
* Allow placing additional code in IRAM
* esp-storage depends on esp-hal-rom
* Move ROM function wrappers from esp-hal to esp-hal-rom
* Make bootloader-support crate use CRC ROM function
* Minor polishing
* changelogs
* Make CI green
* Define (some) spiflash ROM functions in esp-hal-rom
* Lint
* Avoid duplicate definition of `__assert_func`
* Rename to `esp-rom-sys`
* Mention versioning this crate in the README
* Fixes
* Check self-version
* Docs
* Clippy
* Check if version bump is allowed
* Unconditionally place spiflash ROM function patches (if present) in rwtext
* Cleanup
* Change how unacceptable version bump requests are detected
* Initial version 0.1.0
* Docs
* Use correct version
* Force esp-rom-sys bumps to patch
* Fix
From a user's perspective, logic based on asynchronous ADC
functionalities using esp-hal v0.23 is no longer possible with
v1.0.0-beta.0. This is due to the fact that asynchronous traits used to
implement the latter are gatekept behind a module, called `asynch`,
accessible only to the esp-hal crate itself. As a result, users cannot
write generic logic that requires the implementation of such traits as
they are currently private.
See https://github.com/esp-rs/esp-hal/discussions/3441 for a concrete
example.
Co-authored-by: Juraj Sadel <juraj.sadel@espressif.com>
* Group optional dependencies
* Separate version from crate name
* Restore defmt-log mutual exclusivity
* Gate ufmt
* Remove usb-device
* Feature-gate unsable dependencies behind unstable
* S2: assume single core for portable-atomic
* Clean up feature flag docs
* Sack debug
* Fix clippy
* Update examples
* Fix usb-otg feature
* Fix fmt
* Add version to log dep
* Also mark bluetooth private
* Correct changelog/MG
* Clean up esp-hal-embassy
* Clean up ieee802154
* Clean up esp-println
* Move the timestamp function up
* Move info from readme to feature docs
* Clean up esp-storage
* Clean up esp-wifi
* Fix examples
* Add a note for the private features
* inter-state
* inter-state (2)
* warnings fix
* fix warnings
* fmt + changelogs
* another unsafe extern "C" doode
* real fmt now
* MSRV + format
* Ignore unsafe_op_in_unsafe_fn lint for now in esp-hal and esp-wifi
* msrv + fmt
* ugh....
* get lcd_cam example right
* expr_2021 -> expr experiment
* gagagugu
* reviews
* more unneeded unsafes (help)
* finish esp-hal unsafe cleanup
* each unsafe call is marked separately
fmt
* should be good now (?)
* piece was never an option...
* dumb
* esp32s3 copy for esp32s2
* idf's rtc_sleep_pd
* Add the new NRX, FE & FE2 peripherals from the PAC
* Went through rtc_sleep_init -> apply
* Add all else statements of idf's rtc_sleep_init and made the style match the cpp code more for easier checking
* Finish checking/copying base_settings
* Checked flags in apply
* Allow base_settings
* Remove unused variables
* Reenable rtc_peri for Ext1WakeupSource
* Correct comment. Probably copy-pasted and still present in esp32s3
* Remove TODO comments
* Add the esp32s2 sleep work to the changelog
* Add esp32s2 to qa-test where applicable
* update pacs and update after rebase
* changelog
* provide missing ROM functions
* Update PACs
* review comments and cleanup
* review
* Fix wrong cfg condition
---------
Co-authored-by: mennovf <mennovanfrachem@hotmail.com>
* Use a different SCLK pin for QSPI qa-tests on ESP32
* Try to be helpful when building for an unsupported target
* Typo
* Check we are building for the correct target
* Typo, again
* Correctly clear fastrd_mode when data mode is Single
* Print logs in QA test
* Port SPI timing tuning from esp-idf
* Fix ESP32 QSPI signals
* Print the reason of an Unsupported error
* Partial changelog
* Move Cpu to a new module
* Move cpu_control's contents into cpu
* Merge raw_core functions
* Hide cpu control APIs
* Move reset into cpu
* Fix software_reset_cpu
* Allow inlining cpu functions
* Changelog
* Mark software_reset no-return
* Move WakeupReason
* Remove PeripheralIter
* Move cpu into system
* Mark system stable
* Fix renamed config options
* Make `flip-link` feature into a config-option
* Remove `psram-quad`/`psram-octal` - replaced by `psram`
* Changelogs
* Fix
* Add `esp_config::Validator::Enumeration`
* Fix HIL-tests
* HIL: use octal psram for the S3
* Fix xtask
* xtask
* examples
* Make `spi-address-workaround` only available on ESP32
* Always allow `cfg(spi_address_workaround)`
* Make config-options valid for all targets
* Add configuration structs for GPIO drivers, make constructors fallible
* Update all examples and HIL tests to use new GPIO driver API
* Update migration guide
* Update `CHANGELOG.md`
* Fix errors
* Add `apply_config` functions
* Fixes
* Support 3-wire-SPI
* CHANGELOG.md
* Remove 'Error::ArgumentsInvalid', more docs
* Rebase Fix
* `DataMode::Single` -> `DataMode::FourWire`
* Rename, again
* docs wording
* Honor ESP32
* Have some testing for DataMode::Single
* Mark `with_sio0/1` unstable
* Mark unstable APIs + make `macros` private
* address reviews
* use `instability` instead of feature
* fix dependencies
* More tagging
* `Persistable` and `procmacros` - unstable
* Adjust for changes
* sure...
* feat: add basic support for temperature sensor (tsens) for esp32c6
* feat: add basic support for temperature sensor (tsens) for esp32c3
* feat: add configurable clock source for temperature sensor
* feat: add Temperature struct to avoid enforcing usage of floats
- Also add misc derives to multiple structs
- Add power_up / power_down methods to TemperatureSensor
- Enable ApbSarAdc via PeripheralGuard
* fix: move tsens module to unstable module list
* Derive Builder Lite pattern for `esp_hal::Config` and `WatchdogConfig`
* User builder pattern for `esp_hal::Config` in examples/tests
* Update `CHANGELOG.md`
* feat(esp-alloc): Add heap usage stats and provide `esp_alloc::get_info!()` macro
* refactor(esp-alloc): Feature gate internal memory usage that requires extra computation.
- Introduce the `internal-heap-stats` feature for `esp-alloc`.
- Add `esp_alloc::get_info!()` to `psram_quad` example to show usage and
ensure coverage of the feature in tests.
* refactor(esp-alloc): Remove `get_info!()` macro in favour of documenting `HEAP.stats()`
* Implement defmt::Format for HeapStats and RegionStats
* rustfmt
* show usage percent + move bar drawing logic to separate functions
* update doc comments
* Fixed a typo in qa-test/src/bin/psram_quad.rs
Co-authored-by: Scott Mabin <scott@mabez.dev>
* minor improvements to write bar functions
* Aligned the indentation in Cargo.toml
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Fixed a typo in docs
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Nitpicking x2
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Surround a function call with backticks
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* rustfmt
---------
Co-authored-by: Anthony Grondin <104731965+AnthonyGrondin@users.noreply.github.com>
Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Kirill Mikhailov <62840029+playfulFence@users.noreply.github.com>
* Add a derive procmacro to implement the Builder Lite pattern for a struct
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in I2C module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in UART module
* Add `#[non_exhaustive]` and derive `BuilderLite` where necessary in SPI module
* Update `CHANGELOG.md`
* Fix build errors in HIL tests
* Fix generated doc comments
* Return a `ParseError` rather than panicking
* Add a method to set the value to `None` for `Option` types
* Fixed triggering a debug-assertion during scan
* CHANGELOGs
* Change `debug_assert` into warning level log
* Enable debug-asserts in hil-test, qa-test and examples
* Change the way we detect and warn about debug-builds
* Warn if opt-level is `0` or `1`