Adds the `rt` feature which disables `esp_hal::init` and removes
runtime symbols from the global name space.
Disabling the `rt` feature is the recommended way to use esp-hal as a
library.
* Shorten name
* Define analog/rtc functions
* Try to make the data useable
* Remove general pin attributes
* Do not generate unnecessary expanded matchers
* Remove expanded GPIO cases
* Move simplified io_type to where it is used
* Fix RTC IO with resistors calls
* Hide macros on H2
* Define rtcio pins for C2/C3
* Fix S2
* Compare against the correct GPIO number
* Deduplicate
* Restore one waker per pin
* Remove case that is no longer needed, avoid inline(always)
* Add configuration option to pin the RMT driver in RAM
Allow the RMT driver to pinned in RAM. Doing so avoids
a costly load from flash as using the RMT peripheral is often
a very time senstive operation.
Controlled by the `ESP_HAL_CONFIG_PLACE_RMT_DRIVER_IN_RAM`
environment variable.
* Update esp-config/CHANGELOG.md
* Add PR's
* Remove ESP_HAL_PLACE_RMT_DRIVER_IN_RAM from esp-config/README.md
* Make internal functions inline
This also results in a smaller executable. With a release build:
| | In RAM | inline |
|-----------|----------:|----------:|
| File size | 1,108,028 | 1,104,956 |
| .rwtext | 0016d0 | 00153c |
* Don't request rtc_perip power up in ext1 and enable hold for pad in case of rtc_peri power down.
* Update CHANGELOG.md with pull-request id
---------
Co-authored-by: Dániel Buga <bugadani@gmail.com>
* Move macros to new crate
* Generate a single file
* Pre-generate esp-metadata-generated
* Move saving code to xtask
* Format with both rustfmt and prettyplease
* Fix doc build
* Unhide macros
* Fix doc string
* Update semver-check baseline
* docs: C-example for i2c
* docs: C-example for gpio
* feat: Mark Flex as unstable
* docs: Remove outdate fixmes
* fix: Clippy lint
* docs: Add time doc examples
* docs: Dont hide imports
* docs: Add link to Peripheral section
* docs: Avoid unsafe when posible
* feat: Generate api baseline
* Handle GPIOs as stable peripherals
* Define interrupts in create_peripheral
* Remove the rest of paste from the peripherals macro
* Move create_peripheral calls out of peripherals!
* Merge macros
* Merge peripherals files
* Delete the peripheral module
* Replace the peripherals macro with for_each generated code
* Do not generate code directly in GPIO metadata
* Update MSRV to 1.88
* Clean up lints
* Generate new baseline
* Bump MSRV of xtensa-lx-rt
* Do not try to replace in semver baseline, bump dependent msrvs
* Changelog
* Expand peripheral metadata
* Generate peripherals macro call
* Remove paste from peripherals
* Add missing peris
* Fix ETM and TRACE0 naming
* Remove redundant tsens symbol
* Remove RTCIO stuff from h2
* Rename S2 RTC_CNTL
* Add missing SYSCON back to S2
* Do not mark the GPIO singleton stable
* Treat unlisted drivers as not available
* Assign stability based on driver info
* Fmt
* Remove unused info
* 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
* feat: Add examples to Uart
* feat: Simplify doc examples based on review comments
* feat: Use `uart` as variable name and use UART0
* feat: Remove empty lines
* feat: Include initialization lines
* docs: Add general into_blocking/async examples