mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-18 05:45:19 +01:00
Fix nrf monotonics (#852)
* Fix nrf::timer * Bootstrap nrf52840-blinky example * More work on nrf blinky example * Fix README * Add asserts for correct timer functionality * Add correctness check to other monotonics as well * Update Changelog * Fix potential timing issues * Fix race condition in nrf::rtc * Add changelog * Add rtc blinky example * Change rtc example to RC lf clock source * Add changelog to rtic-time * Add changelog * Attempt to fix CI * Update teensy4-blinky Cargo.lock
This commit is contained in:
parent
1622f6b953
commit
89160b7cb9
18 changed files with 1080 additions and 101 deletions
|
|
@ -272,12 +272,14 @@ macro_rules! make_timer {
|
|||
// Full period
|
||||
if $timer.sr().read().uif() {
|
||||
$timer.sr().modify(|r| r.set_uif(false));
|
||||
$overflow.fetch_add(1, Ordering::Relaxed);
|
||||
let prev = $overflow.fetch_add(1, Ordering::Relaxed);
|
||||
assert!(prev % 2 == 1, "Monotonic must have missed an interrupt!");
|
||||
}
|
||||
// Half period
|
||||
if $timer.sr().read().ccif(2) {
|
||||
$timer.sr().modify(|r| r.set_ccif(2, false));
|
||||
$overflow.fetch_add(1, Ordering::Relaxed);
|
||||
let prev = $overflow.fetch_add(1, Ordering::Relaxed);
|
||||
assert!(prev % 2 == 0, "Monotonic must have missed an interrupt!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue