aboutsummaryrefslogtreecommitdiff
path: root/rtic-monotonics
diff options
context:
space:
mode:
Diffstat (limited to 'rtic-monotonics')
-rw-r--r--rtic-monotonics/CHANGELOG.md1
-rw-r--r--rtic-monotonics/src/imxrt.rs2
-rw-r--r--rtic-monotonics/src/nrf/rtc.rs2
-rw-r--r--rtic-monotonics/src/nrf/timer.rs2
-rw-r--r--rtic-monotonics/src/stm32.rs2
5 files changed, 5 insertions, 4 deletions
diff --git a/rtic-monotonics/CHANGELOG.md b/rtic-monotonics/CHANGELOG.md
index 041cff97..e1a0f83b 100644
--- a/rtic-monotonics/CHANGELOG.md
+++ b/rtic-monotonics/CHANGELOG.md
@@ -13,6 +13,7 @@ For each category, *Added*, *Changed*, *Fixed* add new entries at the top!
- Fix race condition in `nrf::rtc`.
- Fix errata in `nrf::rtc`.
- Add internal counter integrity check to all half-period based monotonics.
+- Apply race condition fixes from `rtic-time`.
## v1.4.0 - 2023-12-04
diff --git a/rtic-monotonics/src/imxrt.rs b/rtic-monotonics/src/imxrt.rs
index ecf9129b..2299beac 100644
--- a/rtic-monotonics/src/imxrt.rs
+++ b/rtic-monotonics/src/imxrt.rs
@@ -212,7 +212,7 @@ macro_rules! make_timer {
let gpt = unsafe{ $timer::instance() };
Self::Instant::from_ticks(calculate_now(
- $period.load(Ordering::Relaxed),
+ || $period.load(Ordering::Relaxed),
|| ral::read_reg!(ral::gpt, gpt, CNT)
))
}
diff --git a/rtic-monotonics/src/nrf/rtc.rs b/rtic-monotonics/src/nrf/rtc.rs
index 643d8bdb..d425b114 100644
--- a/rtic-monotonics/src/nrf/rtc.rs
+++ b/rtic-monotonics/src/nrf/rtc.rs
@@ -224,7 +224,7 @@ macro_rules! make_rtc {
fn now() -> Self::Instant {
let rtc = unsafe { &*$rtc::PTR };
Self::Instant::from_ticks(calculate_now(
- $overflow.load(Ordering::Relaxed),
+ || $overflow.load(Ordering::Relaxed),
|| TimerValueU24(rtc.counter.read().bits())
))
}
diff --git a/rtic-monotonics/src/nrf/timer.rs b/rtic-monotonics/src/nrf/timer.rs
index 2f83f40b..7b760e4c 100644
--- a/rtic-monotonics/src/nrf/timer.rs
+++ b/rtic-monotonics/src/nrf/timer.rs
@@ -242,7 +242,7 @@ macro_rules! make_timer {
let timer = unsafe { &*$timer::PTR };
Self::Instant::from_ticks(calculate_now(
- $overflow.load(Ordering::Relaxed),
+ || $overflow.load(Ordering::Relaxed),
|| {
timer.tasks_capture[3].write(|w| unsafe { w.bits(1) });
timer.cc[3].read().bits()
diff --git a/rtic-monotonics/src/stm32.rs b/rtic-monotonics/src/stm32.rs
index 601196a3..68f95a25 100644
--- a/rtic-monotonics/src/stm32.rs
+++ b/rtic-monotonics/src/stm32.rs
@@ -234,7 +234,7 @@ macro_rules! make_timer {
fn now() -> Self::Instant {
Self::Instant::from_ticks(calculate_now(
- $overflow.load(Ordering::Relaxed),
+ || $overflow.load(Ordering::Relaxed),
|| $timer.cnt().read().cnt()
))
}