diff options
| author | pennae <[email protected]> | 2023-05-17 02:46:38 +0200 |
|---|---|---|
| committer | pennae <[email protected]> | 2023-05-17 21:36:19 +0200 |
| commit | 1379eb4e707e2b60b381a7288a586657dc539dfc (patch) | |
| tree | 1def56b3fc1688451eac405fed5b816d326edd81 /embassy-rp | |
| parent | f97b591831cab5ec29cfdb7cb98bc93debfdb57e (diff) | |
rp/clocks: handle fractional gpout dividers
Diffstat (limited to 'embassy-rp')
| -rw-r--r-- | embassy-rp/src/clocks.rs | 7 |
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 | ||
