* 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 |
* 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
* Reduce use of iter::chain
* Cache all symbols
* Trim xtensa-lx-rt deps
* Remove unused dep
* Replace chrono with jiff
* Yeet minijinja
* Save a bit on toml_edit
* Disable some default features
* Disable regex log filters
* Reduce xtensa-lx-rt build script
* Remove unnecessary dependencies
* Remove darling
* Update embedded-test
* lol
* Clean up
* Only validate loaded config once
* fmt
* Changelog
* Define configs in YAML files
* Fix error message string
* Cleanup
* Fix rebase
* Experiment: Value is String
* More i64 -> i128
* More i64 -> i128
* yml -> yaml
* Clippy
* Expect
* Test more
* Explicit `trunc`
* fmt
* Typo
* `is_tooling` -> `ignore_feature_gates`
* Fix
* Briefly explain the config format
* Evaluate conditions in order, first match wins
* Address review
* Move evalexpr I128 support into separate file
* Parse and update changelog on version bump
* Add check-changelog
* Fix changelogs
* Check changelog format in CI
* Fix log string
* Update readme
* Add tests, remove empty changelog groups
* 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
* apply_feature_rules applies more things
* apply features in one place only, fix missing features and clippy warnings
* move various logic to package enum, re-add the ability to test packages with custom feature sets
* small cleanup
* simplify msrv check, fix CI
* review feedback
* try and fix msrv check
* rebase fixups
* use msrv toolchain in check
* Add stability to config options
* Reject unstable options
* Add note to docs
* Use enum validator in e-h-embassy
* Generate a list for enumerated values
* Don't allow line-wrapping headers
* Center default/allowed values
* Changelog
* Display stability under name
* Remove - from Allowed value when option has no constraints
* Mark more options as unstable
* Include a hint in the unstable error
* Extract value and validator modules
* Clean up
* Replace tuples with ConfigOption
* Move generate.rs
* Further refactor write_doc_table_line
* Carry around the config option, too
* Move markdown table processing out of random places
* Compare prettified json, use pretty_assertions to diff it
* Work with Vec
* Emit enumerated cfgs in one place
* Define DRAM memory region in esp-metadata
* CHANGELOG.md
* Dedicated macros for memory region start/end
* Use `from_str_radix` in esp-config
* Fix search+replace mistake
* Fix
* fix'n fmt
* fix unused
* Minor change
* 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
* Fix some styling issues in top-level README.md
* Update package dependencies and bump version numbers
* Update each `CHANGELOG.md` file for packages to be published
* Update `esp-hal` migration guide
* Fix typo in `esp-hal` changelog
* Clean up and re-organize `lib.rs` a bit (sorry)
* Add configuration validation, some other refactoring/improvements
* Add a built-in range validator, re-document the `generate_config` function
* Update build scripts to reflect new configuration API
* Initial esp-config poc, replacing the place-spi-driver-in-ram feature
* Allow documentation generation for configuration options
* add `Value::Number` and a macro to parse
* Add Value::String and replace esp-wifi's config
* repo maint
* make bool parsing stricter and number parsing more flexible
* use hand rolled const str to int
* Collect unknown config options
* friendly errors
* also batch invalid values
* dump msrv to 1.79
* Mention perf boost from disabling logging
* review suggestions
* output selected config
* changelogs and migration guides
* review feedback
* avoid multiple case conversions where possible
* refactor generate, fix bug, add full test
* run host tests in CI
* add more esp-config tests
* review comments
* add cargo env workaround