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
Jorge Aparicio
7ca5bbf404
fix preempt example
2019-08-21 10:53:13 +02:00
Jorge Aparicio
07b2b4d830
doc up
2019-08-21 10:17:27 +02:00
Jorge Aparicio
9195038c87
implement RFC #212
2019-07-10 22:42:44 +02:00
Jorge Aparicio
4e51bb68b9
RFC #207
2019-06-20 06:19:59 +02:00
Jorge Aparicio
81275bfa4f
rtfm-syntax refactor + heterogeneous multi-core support
2019-06-13 23:56:59 +02:00
Jorge Aparicio
ccd7f4586b
book: indirection for faster message passing
2019-05-01 21:32:00 +02:00
Jorge Aparicio
1b4b006bab
update examples
2019-05-01 20:49:25 +02:00
Jorge Aparicio
e865cbb2e5
book: resources shared with init must also be Send
2019-04-21 18:00:22 +02:00
Jorge Aparicio
11f795aaf6
add binds
example and make it work
2019-02-26 23:22:34 +01:00
Jorge Aparicio
89c922079e
update examples and tests
2019-02-12 15:08:46 +01:00
Jorge Aparicio
34e74f4bb3
book: add an example of conditional compilation of resources and tasks
2018-12-16 20:57:04 +01:00
Jorge Aparicio
a279218295
use new cortex_m_semihosting::hprintln macro
2018-11-04 19:57:39 +01:00
Jorge Aparicio
37a0692a0f
impl Mutex on all shared resources
...
document how to write generic code that operates on resources
2018-11-04 18:50:42 +01:00
Jorge Aparicio
c631049efc
v0.4.0
...
closes #32
closes #33
2018-11-03 17:16:55 +01:00
Jorge Aparicio
abca829926
more fixes
2018-08-24 16:31:04 +02:00
Jorge Aparicio
efca108103
cargo fmt
2018-04-16 21:32:52 +02:00
Jorge Aparicio
def4fc8079
v0.3.0
2018-01-15 23:33:09 +01:00
Jorge Aparicio
1be43fc489
adapt to changes in the cortex-m crate
2018-01-11 20:56:45 +01:00
Jorge Aparicio
d30bdcb096
safe &'static mut
references via init.resources
2017-12-09 17:17:56 +01:00
Jorge Aparicio
a6dd004113
implement the Resource trait for owned resources
...
this unbreaks the "generics" example
2017-12-09 17:17:56 +01:00
Jorge Aparicio
219e172680
drop the Static wrapper
2017-12-09 17:15:15 +01:00
Jorge Aparicio
8f23fdc934
deny warnings and unsafe code in tests and examples
2017-12-09 15:12:42 +01:00
Jorge Aparicio
512091e8a3
fix the "generics" example
2017-12-09 14:45:59 +01:00
Jorge Aparicio
79e2b7dc2e
rename LateResourceValues to LateResources
2017-12-09 13:20:41 +01:00
Jorge Aparicio
e97afa71ce
peripherals as scoped singletons
2017-12-09 12:45:57 +01:00
Jorge Aparicio
948e1fd0fb
v0.2.2
2017-11-22 09:29:01 +01:00
Jorge Aparicio
c184f91e3c
fix the example
2017-10-02 15:11:37 +02:00
Jorge Aparicio
2415a640af
fix idle::Resources::new
...
it assumed that all resources were "early" resources
2017-10-02 14:49:40 +02:00
Jonas Schievink
1556948458
Fix shared resource handling and extend example.
...
The extended example tests that this actually works this time.
2017-09-22 18:19:18 +02:00
Jonas Schievink
c8bdb7329f
Add late resources example
2017-09-04 23:31:14 +02:00
Jorge Aparicio
2d80f3631b
update examples
2017-07-29 00:46:38 -05:00
Jorge Aparicio
e85d6e53c8
update examples
2017-07-27 22:40:47 -05:00
Jorge Aparicio
d396da5950
make task.$T.enabled optional
...
and move the logic that differentiates interrupts from exceptions from the crate
to the procedural macro logic
2017-07-27 17:08:42 -05:00
Jorge Aparicio
aa22494549
update tests and examples
...
with task! gone 3 types of errors / gotchas have been eliminated 🎉
2017-07-27 11:40:15 -05:00
Jorge Aparicio
f5a4d8e904
don't wrap static references in a Static
2017-07-23 20:59:35 -05:00
Jorge Aparicio
05feb7b018
update examples
2017-07-23 20:51:52 -05:00
Jorge Aparicio
e56ab1334e
add example about placing init, idle and tasks in modules
2017-07-23 12:29:33 -05:00
Jorge Aparicio
0788a15a39
update CI
2017-07-20 23:03:45 -05:00
Jorge Aparicio
c7b9507a57
Resource
trait, docs, examples and rtfm-syntax related changes
2017-07-20 22:53:44 -05:00