1use super::fugit::KilohertzU32;
2use core::cell::Cell;
3
4pub struct FrequencyHolder {
7 frequency: Cell<KilohertzU32>,
8}
9
10unsafe impl Sync for FrequencyHolder {}
11
12impl FrequencyHolder {
13 pub const fn new(frequency: KilohertzU32) -> Self {
14 Self {
15 frequency: Cell::new(frequency),
16 }
17 }
18
19 pub fn set(&self, frequency: KilohertzU32) {
20 critical_section::with(|_| {
21 self.frequency.set(frequency);
22 })
23 }
24
25 pub fn get(&self) -> KilohertzU32 {
26 self.frequency.get()
27 }
28}