Jorge Aparicio
30d6327001
bump heapless dependency to v0.5.0; remove "nightly" feature
...
with the upcoming version of heapless we are able to initialize all internal
queues in const context removing the need for late initialization
this commit also removes the "nightly" feature because all the optimization
provided by it are now enabled by default
2019-05-21 15:22:25 +02:00
Jorge Aparicio
ccd7f4586b
book: indirection for faster message passing
2019-05-01 21:32:00 +02:00
Jorge Aparicio
a452700628
implement RFCs 147 and 155, etc.
...
This commit:
- Implements RFC 147: "all functions must be safe"
- Implements RFC 155: "explicit Context parameter"
- Implements the pending breaking change #141 : reject assign syntax in `init`
(which was used to initialize late resources)
- Refactors code generation to make it more readable -- there are no more random
identifiers in the output -- and align it with the book description of RTFM
internals.
- Makes the framework hard depend on `core::mem::MaybeUninit` and thus will
require nightly until that API is stabilized.
- Fixes a ceiling analysis bug where the priority of the system timer was not
considered in the analysis.
- Shrinks the size of all the internal queues by turning `AtomicUsize` indices
into `AtomicU8`s.
- Removes the integration with `owned_singleton`.
2019-05-01 20:49:25 +02:00
Jorge Aparicio
a562fb3232
v0.4.3
2019-04-21 18:20:57 +02:00
Jorge Aparicio
10d2638488
[NFC] fix nightly ci
2019-04-16 23:17:28 +02:00
Jorge Aparicio
3310f507c0
v0.4.2
2019-02-27 00:56:56 +01:00
Jorge Aparicio
88078e7770
add "nightly" feature
2019-02-19 12:37:25 +01:00
Jorge Aparicio
197d5264c4
update documentation link in crate metadata
2019-02-14 21:41:24 +01:00
Jorge Aparicio
aadd00c068
bump macros version
2019-02-12 17:29:50 +01:00
Jorge Aparicio
8890f10e1c
v0.4.1
2019-02-12 11:28:34 +01:00
Jorge Aparicio
313a2074d7
make docs.rs build docs with +timer-queue
2018-12-17 01:42:53 +01:00
Jorge Aparicio
d98f6c9a61
v0.4.0
2018-12-16 21:19:19 +01:00
Jorge Aparicio
9757c33b00
use the single core variant of spsc::Queue
2018-12-16 01:11:54 +01:00
Jorge Aparicio
8ac60ce369
bump cortex-m-rt dep
2018-12-15 22:40:45 +01:00
Jorge Aparicio
35bb76ef5f
codegen: stop using export_name
...
`export_name` creates external symbols that won't be removed when using `-Z
emit-stack-sizes`
2018-12-02 17:43:36 +01:00
Jorge Aparicio
9d0227bfeb
0.4.0-beta.2
2018-11-04 20:12:31 +01:00
Jorge Aparicio
a279218295
use new cortex_m_semihosting::hprintln macro
2018-11-04 19:57:39 +01:00
Jorge Aparicio
c631049efc
v0.4.0
...
closes #32
closes #33
2018-11-03 17:16:55 +01:00
Jorge Aparicio
653338e799
v0.3.4
2018-08-27 14:55:09 +02:00
Jorge Aparicio
2ec5d59ee9
v0.3.3
2018-08-24 16:49:03 +02:00
Jorge Aparicio
53dbbad891
v0.3.2
2018-04-16 23:33:55 +02:00
Jorge Aparicio
8767f625d8
switch to a crates.io release of rtfm-syntax
2018-04-16 23:22:01 +02:00
Jorge Aparicio
bf94be9f7e
specify both the path and version of the cortex-m-rtfm-macros dependency
2018-01-16 00:15:07 +01:00
Jorge Aparicio
d8eb3eac75
fix documentation link
2018-01-15 23:58:04 +01:00
Jorge Aparicio
def4fc8079
v0.3.0
2018-01-15 23:33:09 +01:00
Jorge Aparicio
f695bdb7e9
fix the compiletest_rs version
2018-01-11 16:03:41 +01:00
Jorge Aparicio
6e3b9a30fd
switch to a stable release of compiletest_rs
2018-01-11 15:46:38 +01:00
Jorge Aparicio
2249985e81
use master branch of cortex-m
2018-01-11 15:46:27 +01:00
Jorge Aparicio
c94bd2d98d
add a Cargo feature, cm7-r0p1, to fix a Cortex-M7 BASEPRI erratum
2017-12-23 21:49:15 +01:00
Jorge Aparicio
a238fd5dc7
switch to a compiletest version that works with the latest nightly
2017-12-23 11:35:56 +01:00
Jorge Aparicio
88f505369c
switch to master branches
2017-12-23 11:17:03 +01:00
Jorge Aparicio
219e172680
drop the Static wrapper
2017-12-09 17:15:15 +01:00
Jorge Aparicio
e97afa71ce
peripherals as scoped singletons
2017-12-09 12:45:57 +01:00
Jorge Aparicio
8e523d036c
fix cfail tests
2017-12-08 13:28:27 +01:00
Jorge Aparicio
948e1fd0fb
v0.2.2
2017-11-22 09:29:01 +01:00
Jonas Schievink
ee59e8711f
Bump stm32f103xx version
...
Fixes compilation on x86-64
2017-09-22 13:44:36 +02:00
Jonas Schievink
57ed0963ff
Use untagged_option
crate
2017-09-06 19:06:43 +02:00
Jonas Schievink
7ebba49644
Allow initialization of resources in init
.
2017-09-03 18:19:21 +02:00
Jorge Aparicio
a43c8a4d57
v0.2.1
2017-07-29 01:50:04 -05:00
Jorge Aparicio
6160548153
v0.2.0
2017-07-29 01:17:54 -05:00
Jorge Aparicio
2d80f3631b
update examples
2017-07-29 00:46:38 -05:00
Jorge Aparicio
0b5afce771
refactor Resource / Threshold into its own crate, drop task!, tweak rtfm::atomic
...
task! can be re-added in a backward compatible fashion and I'd like to not have
two ways to assign a task handler to an interrupt / exception in the first
release.
rtfm::atomic now uses the `Threshold` token instead of the `CriticalSection`
token. This reduces overhead by dropping the "are interrupts enabled?" check.
2017-07-27 11:37:58 -05:00
Jorge Aparicio
749ce810d5
bump the static-ref dependency
2017-07-23 21:08:52 -05:00
Jorge Aparicio
c7b9507a57
Resource
trait, docs, examples and rtfm-syntax related changes
2017-07-20 22:53:44 -05:00
Jorge Aparicio
6577f4a91a
bump cortex-m version to v0.3.1
...
barrier! is no longer needed
2017-07-20 16:13:02 -05:00
Jorge Aparicio
1f1cf84ab4
add cfail tests
2017-07-18 15:14:39 -05:00
Jorge Aparicio
59afbf02aa
compiler plugin -> proc macro
2017-07-11 23:44:54 -05:00
Jorge Aparicio
86a360a396
rtfm! macro take 2
2017-07-04 11:26:11 -05:00
Jorge Aparicio
2bf5401439
v0.1.1
2017-06-05 21:05:29 -05:00
Jorge Aparicio
5cecc12d4c
v0.1.0
2017-05-09 09:04:35 -05:00
Jorge Aparicio
fc4cb7d472
replace the ceiling token with a preemption threshold token
2017-05-08 12:05:42 -05:00
Jorge Aparicio
25f959d329
add categories
2017-04-27 15:37:27 -05:00
Jorge Aparicio
4992db7877
more docs, remove Ceiling / Priority / Level traits
2017-04-21 00:24:54 -05:00
Jorge Aparicio
a94de6bafc
wrap references to resources in static-ref's Ref/RefMut
...
to assert that they point to `static` data
2017-04-14 10:19:08 -05:00
Jorge Aparicio
595404c5ff
compile time verified ceilings
2017-04-09 22:42:17 -05:00
Jorge Aparicio
185f368d63
use volatile read/writes for checked::Resource.locked
2017-04-07 18:57:13 -05:00
Jorge Aparicio
f2bab47aa4
allow returns from checked::Resource.lock{,mut}
...
also add compiler barriers
2017-04-07 18:14:48 -05:00
Jorge Aparicio
441a822780
use stable release of the cortex-m crate
2017-03-12 11:19:43 -05:00
Jorge Aparicio
d88a15fb25
adapt to changes in cortex-m, verify the input of the priority
function
2017-03-08 08:10:58 -05:00
Jorge Aparicio
aba9333799
initial commit
2017-03-05 00:29:08 -05:00