pub struct SerialSettings {
pub port_name: String,
pub baud_rate: u32,
pub data_bits: DataBits,
pub parity: Parity,
pub stop_bits: StopBits,
pub flow_control: FlowControl,
pub timeout: Duration,
pub exclusive: bool,
}Expand description
Настройки serial-подключения.
Все поля публичные, чтобы приложение могло точно выставить режим конкретного
устройства. Значения проверяются перед открытием порта через SerialSettings::validate.
Fields§
§port_name: StringИмя serial-порта, например /dev/cu.usbmodem101, /dev/ttyUSB0 или COM3.
baud_rate: u32Скорость serial-порта в бодах.
Значение должно быть больше нуля. Типичные значения для VFD: 9600, 19200,
38400, но библиотека не ограничивает список скоростей.
data_bits: DataBitsКоличество бит данных.
parity: ParityПроверка чётности.
stop_bits: StopBitsКоличество stop bits.
flow_control: FlowControlУправление потоком.
timeout: DurationТайм-аут операций serial-порта.
Значение передаётся в serialport; для worker это время ожидания одной
блокирующей операции на устройстве, а не timeout всей очереди команд.
exclusive: boolЭксклюзивное открытие serial-порта на Unix.
По умолчанию включено, чтобы второй процесс не смог случайно писать в тот же дисплей. Поле доступно только на Unix-платформах.
Implementations§
Source§impl SerialSettings
impl SerialSettings
Sourcepub fn new(port_name: impl Into<String>, baud_rate: u32) -> Self
pub fn new(port_name: impl Into<String>, baud_rate: u32) -> Self
Создаёт настройки serial-порта с явным baud rate.
Остальные параметры получают распространённые значения 8N1, без flow control,
timeout 100 ms и exclusive mode на Unix. Их можно изменить напрямую в полях
структуры до создания VfdConfig.
§Ошибки
Метод сам не возвращает ошибку. Проверка выполняется в SerialSettings::validate
или при создании VfdConfig.
§Примеры
use escpos_vfd::SerialSettings;
use std::time::Duration;
let mut serial = SerialSettings::new("/dev/ttyUSB0", 9_600);
serial.timeout = Duration::from_millis(250);
assert!(serial.validate().is_ok());Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Проверяет, что настройки можно применить к serial-порту.
Метод не открывает устройство. Он только ловит ошибки, которые библиотека может определить заранее: пустое имя порта и нулевой baud rate.
§Ошибки
Возвращает ConfigError::EmptyPortName или ConfigError::ZeroBaudRate.
Trait Implementations§
Source§impl Clone for SerialSettings
impl Clone for SerialSettings
Source§fn clone(&self) -> SerialSettings
fn clone(&self) -> SerialSettings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more