* Rework timer_queue and monotonic architecture
Goals:
* make Monotonic purely internal
* make Monotonic purely tick passed, no fugit involved
* create a wrapper struct in the user's code via a macro that then
converts the "now" from the tick based monotonic to a fugit based
timestamp
We need to proxy the delay functions of the timer queue anyway,
so we could simply perform the conversion in those proxy functions.
* Update cargo.lock
* Update readme of rtic-time
* CI: ESP32: Redact esp_image: Too volatile
* Fixup: Changelog double entry rebase mistake
---------
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
* fix included examples and markdown(book)
fixes: #911
* fix footnote pre_init
* more example link updates
* Restore pool example name
* Example: pool: Upgrade to heapless v0.8
* Example: pool: thumbv6 unsupported: wild cfg-if
Experiment with multi-backend example contained in the example
* Example: lm3s6965: Updated cargo.lock
* Book: Use cargo xtask for by-example
* Docs: Contributing: cargo xtask
---------
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
* Rebase to master
* using interrupt_mod
* bug fixes
* fix other backends
* Add changelog
* forgot about rtic-macros
* backend-specific configuration
* core peripherals optional over macro argument
* pre_init_preprocessing binding
* CI for RISC-V (WIP)
* separation of concerns
* add targets for RISC-V examples
* remove qemu feature
* prepare examples folder
* move examples all together
* move ci out of examples
* minor changes
* add cortex-m
* new xtask: proof of concept
* fix build.yml
* feature typo
* clean rtic examples
* reproduce weird issue
* remove unsafe code in user app
* update dependencies
* allow builds on riscv32imc
* let's fix QEMU
* Update .github/workflows/build.yml
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
* New build.rs
* removing test features
* adapt ui test to new version of clippy
* add more examples to RISC-V backend
* proper configuration of heapless for riscv32imc
* opt-out examples for riscv32imc
* point to new version of riscv-slic
* adapt new macro bindings
* adapt examples and CI to stable
* fix cortex-m CI
* Review
---------
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
The RTIC book mentions Embassy+RTIC but gives no examples.
fmt.
Add feature flag
Seems CI does not deal with 2 levels of depth.
Forgot to stage.
Thumb m arch.
Co-authored-by: Corey Schuhen <cschuhen@gmail.com>
* Update syn requirement from 1.0.107 to 2.0.48
Updates the requirements on [syn](https://github.com/dtolnay/syn) to permit the latest version.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.107...2.0.48)
---
updated-dependencies:
- dependency-name: syn
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* rtic-macros: attr.path -> attr.path()
* rtic-macros: tokens -> parse_args()
Fix parsing of InitArgs, IdleArgs, *Args
Including HardwareTaskArgs, SoftwareTaskArgs
* rtic-macros: Rename content to input
As syn2 removes the surrounding parenthesis as
part of parse_args() the distinction between
input and content is redundant
* rtic-macros: Handle removal of Expr::Type
Manually parse local_resources
With type ascription de-RFCd syn2 dropped
Expr::Type
* rtic-macros: Syn upgrade CHANGELOG
* rtic-macro: Retain most old errors as they were
Spans are not equal, but good enough
* rtic-macros: syn2 changed some error messages
Additionally some spans were not retained
with the manual parsing workaround
* rtic-macros: clippy fixes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
* Changes `make_channel!` macro to accept more types
Changes `type` macro argument from `path` to `ty`, allowing more complex
types like tuples, arrays, & pointers.
See https://doc.rust-lang.org/reference/types.html#type-expressions.
* Adds to `CHANGELOG.md`
* Fix nrf::timer
* Bootstrap nrf52840-blinky example
* More work on nrf blinky example
* Fix README
* Add asserts for correct timer functionality
* Add correctness check to other monotonics as well
* Update Changelog
* Fix potential timing issues
* Fix race condition in nrf::rtc
* Add changelog
* Add rtc blinky example
* Change rtc example to RC lf clock source
* Add changelog to rtic-time
* Add changelog
* Attempt to fix CI
* Update teensy4-blinky Cargo.lock
* Implement half_period_counter in rtic-time
* Rename compute_now to calculate_now, use it in stm32 and imxrt
* Add more tests
* Add some docs
* Fix clippy warning, add imxrt timer to monotonics tests
* Bump dependency version to make sure monotonics will build properly
* Add changelog to rtic-monotonics
* Add more docs
* Add more docs
* Finish documentation
* Fix typos
* Switch from atomic-polyfill to portable-atomic
* Some more doc fixes
* More doc fixes
* Minor doc fix
* Minor doc fix
* Fix Atomics not existing
* Fix example
* Minor example improvement
* Revert back to atomic-polyfill
* Fix cargo.toml formatting
* Remove atomic-polyfill
* Attempt to fix unused macro warning
* Remove atomics completely from half period counter
* Minor doc fix
* Doc fixes
* Doc fixes
* Remove obsolete comment
* Fix ordering in monotonic initialization sequence