Jorge Aparicio
3973b420ec
add Duration.as_cycles
2019-02-19 17:14:34 +01:00
Jorge Aparicio
7ce052be37
cargo fmt
2019-02-16 00:26:07 +01:00
Jorge Aparicio
2b8e743f35
make debug builds reproducible
2019-02-16 00:25:48 +01:00
Jorge Aparicio
1ba03b9f00
document MSRV and SemVer policy
2019-02-12 11:08:39 +01:00
Jorge Aparicio
0007a35a27
change layout of books
2019-02-11 21:40:53 +01:00
Jorge Aparicio
e7586f4a8a
impl Default for Duration
2019-02-08 11:54:41 +01:00
Eddy Petrișor
8ac179d8ee
Absolute link to the book so it works on crates.io
...
Signed-off-by: Eddy Petrișor <eddy.petrisor@gmail.com>
2019-01-09 01:56:21 +02:00
Jorge Aparicio
7de9687dfa
note that entering / leaving a critical section is always constant time
2018-12-17 01:43:12 +01:00
Jorge Aparicio
06c1e2f9b4
note that the timer queue is not supported on ARMv6-M
2018-12-16 19:38:22 +01:00
Jorge Aparicio
d35f5bc0b0
use edition idioms in the top crate
2018-12-16 19:16:19 +01:00
Jorge Aparicio
4345c10596
properly handle #[cfg] (conditional compilation) on resources
2018-12-16 18:37:36 +01:00
Jorge Aparicio
9757c33b00
use the single core variant of spsc::Queue
2018-12-16 01:11:54 +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
c27efea6b7
fix some links
2018-11-03 19:29:44 +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
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
1be43fc489
adapt to changes in the cortex-m crate
2018-01-11 20:56:45 +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
219e172680
drop the Static wrapper
2017-12-09 17:15:15 +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
Jonas Schievink
bbc873622d
Hide UntaggedOption
reexport
2017-09-22 13:45:28 +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
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
ad2a523cf9
fix yet another warning on ARMv6-M
2017-07-27 15:15:19 -05:00
Jorge Aparicio
5e83dc295e
fix warning on ARMv6-M
2017-07-27 14:59:31 -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
6a2ff0aede
inline claim
...
because it's needed for proper optimization / inlining
2017-07-25 22:30:41 -05:00
Jorge Aparicio
fb4542818b
task! is not needed if tasks.$T.path is specified
2017-07-24 22:46:29 -05:00
Jorge Aparicio
74daa77fe0
document task!
more
2017-07-23 22:35:05 -05:00
Jorge Aparicio
f3b397f460
drop rtfm::Cell
2017-07-23 20:51:37 -05:00
Jorge Aparicio
c64e7decfe
doc tweaks
2017-07-20 23:14:41 -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
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
877a32448f
make compatible with the unsafe_code lint
2017-07-18 20:17:09 -05:00
Jorge Aparicio
97a7e38db7
tasks / idle have exclusive access to Threshold, but do not own the token
2017-07-18 20:03:22 -05:00
Jorge Aparicio
e9788ff9b6
rename rtfm! to app! and adapt to changes in rtfm-syntax
2017-07-14 20:47:06 -05:00
Jorge Aparicio
98596554b3
split macro parser into its own crate and improve error handling / reporting
2017-07-14 18:57:02 -05:00
Jorge Aparicio
59afbf02aa
compiler plugin -> proc macro
2017-07-11 23:44:54 -05:00
Jorge Aparicio
3cebf49a2f
syntax tweaks, relax check, add set_pending(), deal with imported types
...
- allow trailing commas in list of resources
- make task.resources optional
- add rtfm::set_pending function which can be used to force an interrupt into
the pending state. This is a replacement of the old rtfm::request.
rtfm::set_pending takes the Interrupt enum provided by the device crate as
argument. (The old rtfm::request took a task function as argument)
- the user may want to use types they imported into the root of the crate. These
types are not available in e.g. `mod idle` so `idle::Resources` *can't* be
defined in that module. To workaround this problem `idle::Resources` will be
defined in the root, with some other name, and then be re-exported in the
`idle` module.
- remove the "a resource only used by one task should be local data" check. In
some cases you do want a resource owned by a single task instead of local
data since `init` can access resources but not a task local data.
2017-07-06 23:25:29 -05:00
Jorge Aparicio
86a360a396
rtfm! macro take 2
2017-07-04 11:26:11 -05:00