rsiot/components/cmp_linux_uart_slave/config.rs
1use std::time::Duration;
2
3use crate::{
4 components_config::uart_general::{Baudrate, DataBits, Parity, StopBits},
5 message::MsgDataBound,
6};
7
8/// Конфигурация для компонента cmp_linux_uart_slave
9#[derive(Clone)]
10pub struct Config<TMsg>
11where
12 TMsg: MsgDataBound,
13{
14 /// Название порта
15 ///
16 /// Примеры:
17 ///
18 /// ```
19 /// port: "/dev/ttyUSB0"
20 /// port: "/dev/ttyAMA0"
21 /// ```
22 pub port: &'static str,
23
24 /// Скорость сетевого обмена
25 pub baudrate: Baudrate,
26
27 /// Кол-во бит данных
28 pub data_bits: DataBits,
29
30 /// Бит четности
31 pub parity: Parity,
32
33 /// Кол-во стоповых бит
34 pub stop_bits: StopBits,
35
36 /// Время ожидания данных в буфере
37 pub timeout: Duration,
38
39 /// # Пример
40 ///
41 /// ```rust
42 /// fn_output: |_| vec![]
43 /// ```
44 pub fn_output: fn(&[u8]) -> Result<Option<TMsg>, anyhow::Error>,
45}