Henrik Tjäder
9764121cc1
Upgrade of semihosting changed timing
...
New semihosting 0.5 does not use error handling,
returns directly and as semihosting is generally slow
this led to missing print statements.
Workaround is to add NOP, which seems sufficient
to let it flush the buffers
2023-01-14 11:24:51 +01:00
Henrik Tjäder
050313d62d
Missed hprintln with multiline
2023-01-11 22:16:56 +01:00
Henrik Tjäder
c370c0b21f
Remove ok() from hprintln!()
...
sd 'hprintln(.*).ok\(\)' 'hprintln' (fd -e rs .)
2023-01-11 21:40:33 +01:00
Henrik Tjäder
1fe587c516
Remove unwrap() from hprintln!()
...
sd 'hprintln(.*).unwrap\(\)' 'hprintln' (fd -e rs .)
2023-01-11 21:33:44 +01:00
Emil Fresk
b711c036ab
Fix new lint in the compiler
2022-09-28 20:42:16 +02:00
Per Lindgren
f86dab5ff3
Added support for SRP based scheduling for armv6m
2022-03-02 13:23:47 +01:00
Jakub Młynarczyk
20f1c396d5
Fix the locals.rs comment
...
I believe that is a typo s/shared/local_to_bar
2022-01-08 16:36:59 +11:00
Per Lindgren
305e8295d5
Drift free timing examples
2022-01-04 22:21:57 +01:00
Emil Fresk
7bec234766
Improved docs on where the 12 MHz comes from in SysTick
2021-12-26 11:42:14 +01:00
Henrik Tjäder
8c8f7f12c3
Idle: Switch to NOP instead of WFI
...
Add example how to get old WFI behaviour
2021-12-14 22:18:17 +01:00
Emil Fresk
0dcb0c4e49
New monotonic trait working
2021-11-09 10:20:43 +01:00
Emil Fresk
9e24fcbbd9
Fix CI
2021-11-03 08:54:18 +01:00
Per Lindgren
56a423cdbe
remove outdated comment
2021-10-13 10:37:52 +02:00
Emil Fresk
b71df58f2f
The great docs update
2021-09-23 16:11:04 +02:00
Jorge Aparicio
5805a05fac
book/resources: rm #[task_local] mention; add #[lock_free] example
...
the #[task_local] attribute was removed
2021-07-22 09:17:39 +02:00
Jorge Aparicio
ae1f9008a4
comment out line that doesn't compile
2021-07-22 08:28:11 +02:00
Jorge Aparicio
cd4e8183f6
book/resources: remove mentions of the field attribute #[init(<expr>)]
...
it no longer exists. all resources are now late resources
2021-07-21 15:59:08 +02:00
Jorge Aparicio
6bf1c76d84
book/resources: do not use the lock API in the very first example
...
instead stick to `#[local]` resources
2021-07-21 15:55:14 +02:00
Jorge Aparicio
18880406cb
use tuple struct syntax for Monotonics everywhere
2021-07-21 10:14:00 +02:00
Andrey Zgarbul
bf80035aef
rustfmt
2021-07-20 11:44:03 +03:00
mriise
5e92715d8c
fix pool example
2021-07-20 01:17:11 -07:00
Andrey Zgarbul
e4319de3d5
const generics
2021-07-09 18:44:19 +03:00
Emil Fresk
8f37043782
Cleanup from review (needs releases to compile)
2021-07-08 23:18:44 +02:00
Emil Fresk
98d2af9d73
Fixing tests
2021-07-07 23:07:09 +02:00
Emil Fresk
6155f1366a
Minor cleanup
2021-05-23 14:11:51 +02:00
Emil Fresk
b4509bdbfe
Flattened the _ out of it
2021-05-06 19:40:37 +02:00
Emil Fresk
6fc7b96474
use super::xx now works with monotonics
2021-04-22 17:39:07 +02:00
Emil Fresk
fbcf2aabb0
Fix for default monotonic, monotonics::now()
now properly works
2021-04-20 10:34:26 +02:00
Emil Fresk
51500a1d70
Fixed UB in spawn_at
2021-04-08 10:14:14 +02:00
Emil Fresk
2068eae928
Type aliases now work in the app module
2021-04-08 09:15:38 +02:00
Emil Fresk
ae691952c3
Updated dwt-systick-monotonic
2021-04-07 11:09:21 +02:00
Emil Fresk
3adda3c766
Updated schedule example with all combinations
2021-03-22 08:24:18 +01:00
Emil Fresk
1087f2ee64
Added interface for cancel/reschedule
...
Use wrapping add for marker
No need to store handle to queue
Remove unnecessary `SpawnHandle::new`
Fix test
Updated interface to follow proposal
2021-03-13 10:50:56 +01:00
Henrik Tjäder
612efaf0c4
Use panic_semihosting for all examples
2021-03-03 08:53:03 +01:00
Emil Fresk
cd3484cbab
GHA update
...
Fmt fixes
Spawn_after did not work with parameters
Examples working again
Revert "GHA update"
This reverts commit e0a71d4859966a6c5cf2629d3cb27e88acada9c0.
Readd flags
Only add DWT based dep with __v7 flag
2021-02-23 21:03:51 +01:00
Emil Fresk
555f36857e
Test fixes
2021-02-20 19:22:45 +01:00
Emil Fresk
6277183906
Now handling SysTick as well
2020-12-13 14:52:16 +01:00
Emil Fresk
1c8de78f6f
Cleanup
2020-12-12 23:35:47 +01:00
Emil Fresk
97a48983d2
More work
2020-12-10 20:33:13 +01:00
Emil Fresk
b23bb1192c
TQ handlers being generated
2020-12-08 20:49:13 +01:00
Emil Fresk
ef50aeb2e8
Save, init generation fixed
2020-12-03 21:04:06 +01:00
Henrik Tjäder
f957f05b66
Move entry-point main into a separate module
...
Prevents conflict with user provided tasks named main
2020-11-15 17:28:19 +00:00
Emil Fresk
f111c825ba
Added multilock to CI
2020-11-14 17:06:03 +01:00
Emil Fresk
243668df54
Multilock support
2020-11-14 16:02:36 +01:00
Per Lindgren
0cb7cb0ba8
resources
2020-11-12 18:55:11 +01:00
Per Lindgren
96cd625223
extern task
2020-10-29 19:29:46 +01:00
bors[bot]
4f4c95be40
Merge #400
...
400: codegen and examples r=AfoHT a=perlindgren
just a test
Co-authored-by: Per Lindgren <per.lindgren@ltu.se>
2020-10-23 22:03:08 +00:00
Per Lindgren
1c244a995d
move dispatchers to app argument
2020-10-23 23:58:09 +02:00
Emil Fresk
e8eca4be37
Now all locks are symmetric
...
Test fixes
Fix test
Fix comment
2020-10-23 08:38:18 +02:00
Henrik Tjäder
86699039e9
Add the cfgs on a task to the module for that task
2020-10-22 17:04:34 +00:00
Emil Fresk
17e976ab49
Fix UI tests
...
Fix
2020-10-22 17:45:06 +02:00
Emil Fresk
f076b33bb9
Namespace cleanup
2020-10-21 20:25:13 +02:00
Emil Fresk
f96b25fdf2
Updated examples
...
More work
2020-10-21 20:25:05 +02:00
Emil Fresk
6808cc7cdf
Merge branch 'master' into spawn_experiment
2020-10-15 18:27:48 +02:00
Emil Fresk
b5779d834e
Fix comments in examples
2020-10-15 18:06:03 +02:00
bors[bot]
1cda9eaecc
Merge #371
...
371: task_local and lock_free r=korken89 a=AfoHT
Getting this going to test with GHA
For further discussion see https://github.com/rtic-rs/rfcs/issues/30
Co-authored-by: Per <Per Lindgren>
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-15 16:01:07 +00:00
Henrik Tjäder
e2364aae3e
Updated examples and rtic-name
2020-10-15 15:56:20 +00:00
Henrik Tjäder
b29a0c1348
Add example with features on all resources combined with lock_free and task_local
2020-10-15 15:56:20 +00:00
Per
6eafcf10e9
task_local and lock_free analysis (take 1)
2020-10-15 15:56:20 +00:00
Emil Fresk
5ac16f6aae
Merge branch 'master' into spawn_experiment
2020-10-15 17:55:00 +02:00
Emil Fresk
5b8e6a22ab
Fixing examples and tests, modules now import user imports correctly
...
Fmt
Correct syntax crate
UI test fix
Fix build script
Cleanup
More cleanup
2020-10-11 20:35:50 +02:00
Emil Fresk
524273c96a
Now with spawn/schedule from anywhere
2020-10-11 18:38:38 +02:00
Emil Fresk
c83b15b643
Merge branch 'master' into spawn_experiment
2020-10-08 17:33:42 +02:00
Emil Fresk
6d003e20a8
Now core contains the same Peripherals
type based on monotonic
2020-10-07 15:17:00 +02:00
Per Lindgren
0bc2168cd6
spawn examples updated
2020-10-05 22:30:38 +02:00
Per Lindgren
6bd168d711
spawn POC works, likely unsound
2020-10-05 21:57:44 +02:00
Emil Fresk
eec0908024
Merge branch 'master' into always_late_resources
2020-10-05 18:25:15 +02:00
bors[bot]
dbf9a7f298
Merge #368
...
368: Mod over const r=korken89 a=AfoHT
Related [RFC](https://github.com/rtic-rs/rfcs/pull/34 )
Dependent on [rtic-syntax-PR30](https://github.com/rtic-rs/rtic-syntax/pull/30 )
~~Currently using my own dev-branch~~
Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
2020-10-05 08:40:19 +00:00
Emil Fresk
f0f982faca
Updated documentation to include the critical section token in init
2020-10-03 15:30:15 +02:00
Emil Fresk
e7f0d9c3e3
Now late resources are always used
2020-10-01 19:38:49 +02:00
Henrik Tjäder
fa4dcdd6e1
Annotate the resource struct
2020-09-29 11:56:56 +00:00
Henrik Tjäder
19b35d7aad
Pool example need to import things into the mod
2020-09-29 11:56:56 +00:00
Henrik Tjäder
4b40ff00b6
Workaround lint for now
2020-09-29 11:56:56 +00:00
Henrik Tjäder
487fea45ce
Keep user code as-is within the module, add example
2020-09-29 11:56:56 +00:00
Henrik Tjäder
96df0a33b1
All examples use #[resources] attribute
2020-09-29 11:33:41 +00:00
Henrik Tjäder
abc50d2c58
Name collision with RTIC-main
...
With modules the scoping is different and task names collide with main generated by RTIC
2020-09-25 14:33:08 +00:00
Henrik Tjäder
224e1991e0
Update new example to use mod {}
2020-09-25 14:33:08 +00:00
Henrik Tjäder
dcc31fb884
Examples need to import the resources
2020-09-25 14:29:34 +00:00
Henrik Tjäder
5cfd9b9238
Modules using lower-case in examples
2020-09-25 14:29:34 +00:00
Henrik Tjäder
8df2ec11b0
Examples using mod instead of const
2020-09-25 14:29:34 +00:00
Emil Fresk
7ff35bd041
Fixed example and v7 flag
2020-09-25 14:52:09 +02:00
Emil Fresk
72ba18b0e8
Regression in master on double schedule
2020-09-24 20:56:49 +02:00
Emil Fresk
413f525c93
Fixed so examples do not crash in release mode
2020-09-14 09:35:10 +02:00
bors[bot]
bfb498e722
Merge #337
...
337: Examples: Clarify extern section r=korken89 a=dbrgn
Some beginners are confused about the "extern" section, so I added an explanation comment to all examples.
![image](https://user-images.githubusercontent.com/105168/85903840-9ad2a780-b807-11ea-943d-3f37b814c23f.png )
Furthermore, using the UARTx interrupts when UART is actually being used in the same example may be confusing, so I changed them all to SSI0/QEI0.
Co-authored-by: Danilo Bargen <mail@dbrgn.ch>
2020-06-30 20:16:46 +00:00
Emil Fresk
d9e8b68662
Fixes an issue where one could double take the cortex_m Peripheral
...
Added qemu test
Added comment
Typo
Add cfg for homogeneous
More cfg
Now multicore working
Add .run file
2020-06-30 22:06:57 +02:00
Danilo Bargen
8e636f0d12
Examples: Clarify extern section
...
Some beginners are confused about the "extern" section, so I added an
explanation comment to all examples. Furthermore, using the UARTx
interrupts when UART is actually being used in the same example may be
confusing, so I changed them all to SSI0/QEI0.
2020-06-26 23:53:11 +02:00
Henrik Tjäder
602a5b4374
Rename RTFM to RTIC
2020-06-11 17:18:29 +00:00
Emil Fresk
eb6406da7e
Fmt
2020-06-11 19:00:52 +02:00
Emil Fresk
ac0e687431
Merge pull request #313 from russell/patch-1
...
Update example to use better initial value
2020-06-11 18:45:51 +02:00
bors[bot]
4795c1dba3
Merge #315
...
315: allow handlers to be named 'main' r=korken89 a=japaric
`#[init]`, `#[idle]` and `#[task]` handlers can now be named `main`
fixes #311
Co-authored-by: Jorge Aparicio <jorge.aparicio@ferrous-systems.com>
2020-06-11 16:22:33 +00:00
Henrik Tjäder
5f61f7b75f
Use cargo feature instead of conditional compilation hacks
2020-06-10 13:31:48 +00:00
Henrik Tjäder
137283959c
Run cargo fmt
2020-06-03 10:34:01 +00:00
Jorge Aparicio
0ad311074e
allow handlers to be named 'main'
...
`#[init]`, `#[idle]` and `#[task]` handlers can now be named `main`
fixes #311
2020-05-29 14:50:28 +02:00
Russell Sim
7266ffe3a6
Update example to use better initial value
...
The example above this in the documentation states
```
// semantically, the monotonic timer is frozen at time "zero" during `init`
// NOTE do *not* call `Instant::now` in this context; it will return a nonsense value
let now = cx.start; // the start time of the system
```
It results in weird scheduling issues, but still eventually works. `cx.start` is much more reliable.
Relates to https://github.com/rtfm-rs/cortex-m-rtfm/issues/196
2020-05-26 07:33:18 +02:00
Henrik Tjäder
f58f37b2b9
Retain cfg-attributes on resources
2020-04-22 09:26:13 +00:00
bors[bot]
60c14ef680
Merge #294
...
294: use the safe DWT::unlock API r=korken89 a=japaric
instead of a unsafe write_volatile call
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2020-01-24 15:45:14 +00:00
Jorge Aparicio
b04103f6df
docs: do not use Instant::now in #[init]
2020-01-21 22:23:20 +01:00
Jorge Aparicio
60639b3a9c
use the safe DWT::unlock API
...
instead of a unsafe write_volatile call
2020-01-21 22:13:23 +01:00
Emil Fresk
76e234599f
Added struct de-structure-ing example in tips & tricks
2019-11-07 14:12:16 +01:00
Jorge Aparicio
eef4e7bf79
more monotonic timer docs
...
covers
- initialization and configuration of the timer; this is now a responsibility of
the application author
- correctness of `Monotonic::now()` in `#[init]`
- safety of `Monotonic::reset()`
closes #251
2019-10-15 18:44:49 -05:00