1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum FuriHalClockMcoSourceId {
Lse,
Sysclk,
Msi100k,
Msi200k,
Msi400k,
Msi800k,
Msi1m,
Msi2m,
Msi4m,
Msi8m,
Msi16m,
Msi24m,
Msi32m,
Msi48m,
}
#[repr(u32)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum FuriHalClockMcoDivisorId {
Div1 = 0x00000000,
Div2 = 0x10000000,
Div4 = 0x20000000,
Div8 = 0x30000000,
Div16 = 0x40000000,
}
extern "C" {
#[link_name = "furi_hal_clock_mco_disable"]
pub fn mco_disable();
#[link_name = "furi_hal_clock_mco_enable"]
pub fn mco_enable(source: FuriHalClockMcoSourceId, div: FuriHalClockMcoDivisorId);
}