rsiot/components_config/uart_general/
baudrate.rs

1//! Значения скорости
2
3/// Значения скорости
4#[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}