rsiot/components/shared_tasks/cmp_linux_uart/
mod.rs1use linux_embedded_hal::serialport;
4
5use crate::components_config::uart_general::{
6 Baudrate, DataBits, FieldbusRequest, FieldbusResponse, Parity, StopBits,
7};
8
9impl From<DataBits> for serialport::DataBits {
10 fn from(value: DataBits) -> Self {
11 match value {
12 DataBits::_5 => serialport::DataBits::Five,
13 DataBits::_6 => serialport::DataBits::Six,
14 DataBits::_7 => serialport::DataBits::Seven,
15 DataBits::_8 => serialport::DataBits::Eight,
16 }
17 }
18}
19
20impl From<Parity> for serialport::Parity {
21 fn from(value: Parity) -> Self {
22 match value {
23 Parity::None => serialport::Parity::None,
24 Parity::Even => serialport::Parity::Even,
25 Parity::Odd => serialport::Parity::Odd,
26 }
27 }
28}
29
30impl From<StopBits> for serialport::StopBits {
31 fn from(value: StopBits) -> Self {
32 match value {
33 StopBits::_1 => serialport::StopBits::One,
34 StopBits::_1p5 => unimplemented!("Stop bit 1.5 not implemented"),
35 StopBits::_2 => serialport::StopBits::Two,
36 }
37 }
38}