aboutsummaryrefslogtreecommitdiff
path: root/embassy-rp
diff options
context:
space:
mode:
authorpennae <[email protected]>2023-05-17 02:46:38 +0200
committerpennae <[email protected]>2023-05-17 21:36:19 +0200
commit1379eb4e707e2b60b381a7288a586657dc539dfc (patch)
tree1def56b3fc1688451eac405fed5b816d326edd81 /embassy-rp
parentf97b591831cab5ec29cfdb7cb98bc93debfdb57e (diff)
rp/clocks: handle fractional gpout dividers
Diffstat (limited to 'embassy-rp')
-rw-r--r--embassy-rp/src/clocks.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/embassy-rp/src/clocks.rs b/embassy-rp/src/clocks.rs
index 6d389cace..85d4d289b 100644
--- a/embassy-rp/src/clocks.rs
+++ b/embassy-rp/src/clocks.rs
@@ -821,11 +821,10 @@ impl<'d, T: GpoutPin> Gpout<'d, T> {
821 }; 821 };
822 822
823 let div = unsafe { c.clk_gpout_div(self.gpout.number()).read() }; 823 let div = unsafe { c.clk_gpout_div(self.gpout.number()).read() };
824 let int = if div.int() == 0 { 65536 } else { div.int() }; 824 let int = if div.int() == 0 { 65536 } else { div.int() } as u64;
825 // TODO handle fractional clock div 825 let frac = div.frac() as u64;
826 let _frac = div.frac();
827 826
828 base / int 827 ((base as u64 * 256) / (int * 256 + frac)) as u32
829 } 828 }
830} 829}
831 830