Commit graph

94 commits

Author SHA1 Message Date
Finomnis
8c23e178f3
Monotonic rewrite (#874)
* 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>
2024-04-10 22:00:38 +00:00
onsdagens
906278e310
Adjust esp32c3 codegen, bump pac to 0.21.0 (#906)
* adjust esp32c3 codegen, bump pac to 0.21.0

* add esp32c3 example

* adjust workflow flags

* CI: Fix esp32c3 comment

* esp32c3: Remove commented out git-dep

* CI: Actually check the ESP32-C3 examples

* Autoformat rtic/cargo.toml

---------

Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2024-04-04 09:35:41 +00:00
Román Cárdenas Rodríguez
4060c3def8
RISC-V support over CLINT (#815)
* 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>
2024-03-20 20:06:47 +00:00
Emil Fresk
2798500957 Make RTIC 2 work on stable by using main's stack as an allocator 2024-02-27 12:22:18 +01:00
Emil Fresk
4a23c8d6da
rtic-sync: Remove unstable flag, and add defmt derives (#889) 2024-02-23 07:38:10 +00:00
Finomnis
c227a71d24
Refactor race condition free timer helper (#850)
* 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
2023-12-04 14:53:02 +00:00
Nils Fitinghoff
ff5cad9cd2 rtic-sync: Add SPI bus sharing with arbiter 2023-11-22 19:42:46 +00:00
Emil Fresk
3c9a8f290d Fix CI with async_fn_in_trait not being a feature 2023-11-01 19:52:57 +00:00
Nils Fitinghoff
4ea73021d6 rtic-monotonics: Add 64-bit SysTick monotonic
Counting at 1 kHz, 32 bits for counting ticks is not enough to ensure
monotonicity for more than 50 days. Add a feature to change the backing
storage to 64 bits.
2023-08-25 15:16:18 +00:00
datdenkikniet
02215b6972 Check rtic-monotonics with eh-async enabled 2023-04-23 21:46:47 +02:00
datdenkikniet
b7e4498a71 Also allow denying for QEMU, and fix the link-arg problem caused by
overriding RUSTFLAGS
2023-04-16 14:14:49 +02:00
datdenkikniet
e4b673646a Tests should always deny warnings 2023-04-16 13:30:23 +02:00
datdenkikniet
0ee2d2c2db Actually chain these 2023-04-16 13:27:54 +02:00
datdenkikniet
319c2263f3 Also print extra env variables as cmd_str 2023-04-16 13:27:46 +02:00
datdenkikniet
bc92e43b11 Rename + better printout 2023-04-16 13:22:10 +02:00
datdenkikniet
85e2cd6d4b Also always deny warnings for doc 2023-04-16 13:16:28 +02:00
datdenkikniet
2db26c1015 Deny on warnings in xtasks 2023-04-16 13:08:46 +02:00
datdenkikniet
4d3361658b Unconditionally deny warnings for clippy 2023-04-16 13:08:46 +02:00
datdenkikniet
fd011cd5ec FIx printing for Run and Qemu 2023-04-16 13:08:46 +02:00
datdenkikniet
65f1f4c1b7 Also separate all results and data 2023-04-16 13:08:46 +02:00
datdenkikniet
b87d55f960 Move run into a subdirectory and split iter stuff into a module 2023-04-16 13:08:46 +02:00
datdenkikniet
c6b43800d2 Move all run-related stuff into run 2023-04-16 13:08:46 +02:00
datdenkikniet
66a3d02b45 Rename cargo_commands -> run
Rename command -> cargo_command
2023-04-16 13:08:46 +02:00
datdenkikniet
b59bf686c1 Redo command building so that we don't repeat as much, and to
make it easier to add new ones
2023-04-16 13:08:46 +02:00
datdenkikniet
404867cdf9 CargoCommand can take any package 2023-04-16 13:08:46 +02:00
datdenkikniet
9dc9f49263 Use chdir() instead of unstable option, also confirm whenver a command succeeds because
why not
2023-04-16 13:08:46 +02:00
datdenkikniet
deeb3877f0 Improve locality of error messages & ExampleBuild + Qemu commands, and
indicate failure earlier
2023-04-16 13:08:46 +02:00
datdenkikniet
1c84ccf6e4 Fix running of tests 2023-04-16 13:08:46 +02:00
datdenkikniet
d838286de6 Fix config pickup behaviour so that both examples and usage-examples build
correctly
2023-04-16 13:08:46 +02:00
datdenkikniet
859cd418f0 Rename some things 2023-04-16 13:08:46 +02:00
datdenkikniet
6517a4bec2 Also check for CommandErrors in error checking 2023-04-16 13:08:46 +02:00
datdenkikniet
fa8af4cbcf Add the most important message 2023-04-16 13:08:46 +02:00
datdenkikniet
63b7024cb9 xtask: build usage examples and general improvements 2023-04-16 13:08:46 +02:00
datdenkikniet
aeeb623a70 Don't print no cargo args here either 2023-04-15 15:32:33 +02:00
datdenkikniet
b11b4f8cdd Missed a paren 2023-04-15 15:16:43 +02:00
datdenkikniet
c6f4b834c1 Fix fmt 2023-04-15 14:43:40 +02:00
datdenkikniet
feb00a9755 Add support for "feature mixer" 2023-04-15 14:32:32 +02:00
datdenkikniet
622a58db5a Also log command with enough verbosity 2023-04-15 13:55:56 +02:00
datdenkikniet
461023e3b8 More emojis and correct place for things 2023-04-15 13:45:58 +02:00
datdenkikniet
df69b35c25 More housekeeping and making it work that bit better 2023-04-15 13:21:09 +02:00
datdenkikniet
cefb622cf8 Make all globals actually global 2023-04-15 13:17:59 +02:00
datdenkikniet
3458288946 Oops, these aren't std-only 2023-04-15 12:38:17 +02:00
datdenkikniet
525703358b Rework command execution structure and make rayon optional (since it's not necessarily faster
due to workspace wide lockfile contention)
2023-04-15 12:33:46 +02:00
datdenkikniet
1ccca03a70 Use pretty_env_logger instead 2023-04-15 10:10:04 +02:00
datdenkikniet
480aa21059 Always run stuff for all packages if none is specified 2023-04-15 10:03:52 +02:00
datdenkikniet
4adae80f2d xtask: don't add default arguments if building for a no_std target 2023-04-15 01:08:28 +02:00
datdenkikniet
18522122f1 xtask: forward globals through the chain and add stderr-inheritance flag 2023-04-15 01:08:28 +02:00
datdenkikniet
fa92d8abe7 Add some QoL to run_command 2023-04-15 00:09:50 +02:00
datdenkikniet
25c2c59a42 Add feature to xtask test for rtic-time 2023-04-10 10:57:22 +02:00
Henrik Tjäder
88b435c2f8 xtask: Fix cargo fmt logmsg 2023-03-15 20:32:58 +01:00