serialport_stream/
types.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5pub enum DataBits {
6 Five,
7 Six,
8 Seven,
9 Eight,
10}
11
12impl From<DataBits> for u8 {
13 fn from(bits: DataBits) -> u8 {
14 match bits {
15 DataBits::Five => 5,
16 DataBits::Six => 6,
17 DataBits::Seven => 7,
18 DataBits::Eight => 8,
19 }
20 }
21}
22
23impl TryFrom<u8> for DataBits {
24 type Error = ();
25
26 fn try_from(value: u8) -> Result<Self, Self::Error> {
27 match value {
28 5 => Ok(DataBits::Five),
29 6 => Ok(DataBits::Six),
30 7 => Ok(DataBits::Seven),
31 8 => Ok(DataBits::Eight),
32 _ => Err(()),
33 }
34 }
35}
36
37#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
39pub enum Parity {
40 None,
41 Odd,
42 Even,
43}
44
45#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
47pub enum StopBits {
48 One,
49 Two,
50}
51
52impl From<StopBits> for u8 {
53 fn from(bits: StopBits) -> u8 {
54 match bits {
55 StopBits::One => 1,
56 StopBits::Two => 2,
57 }
58 }
59}
60
61impl TryFrom<u8> for StopBits {
62 type Error = ();
63
64 fn try_from(value: u8) -> Result<Self, Self::Error> {
65 match value {
66 1 => Ok(StopBits::One),
67 2 => Ok(StopBits::Two),
68 _ => Err(()),
69 }
70 }
71}
72
73#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
75pub enum FlowControl {
76 None,
77 Software,
78 Hardware,
79}
80
81#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
83pub enum ClearBuffer {
84 All,
85 Input,
86 Output,
87}