rsiot/components_config/uart_general/
baudrate.rs1#[allow(missing_docs)]
5#[derive(Clone, Debug, Default)]
6pub enum Baudrate {
7 #[default]
8 _9_600,
9 _19_200,
10 _38_400,
11 _57_600,
12 _115_200,
13 _230_400,
14 _460_800,
15 _1_200_000,
16 _12_000_000,
17}
18
19impl From<Baudrate> for u32 {
20 fn from(value: Baudrate) -> Self {
21 match value {
22 Baudrate::_9_600 => 9_600,
23 Baudrate::_19_200 => 19_200,
24 Baudrate::_38_400 => 38_400,
25 Baudrate::_57_600 => 57_600,
26 Baudrate::_115_200 => 115_200,
27 Baudrate::_230_400 => 230_400,
28 Baudrate::_460_800 => 460_800,
29 Baudrate::_1_200_000 => 1_200_000,
30 Baudrate::_12_000_000 => 12_000_000,
31 }
32 }
33}
34
35impl From<Baudrate> for f64 {
36 fn from(value: Baudrate) -> Self {
37 let baudrate_u32: u32 = value.into();
38 baudrate_u32 as f64
39 }
40}
41
42#[cfg(feature = "cmp_esp")]
43impl From<Baudrate> for esp_idf_svc::hal::units::Hertz {
44 fn from(value: Baudrate) -> Self {
45 esp_idf_svc::hal::units::Hertz(value.into())
46 }
47}