pub struct VfdConfig {
pub serial: SerialSettings,
pub display: DisplaySettings,
pub queue_capacity: usize,
}Expand description
Полная конфигурация VFD: serial transport плюс геометрия/протокол дисплея.
Один и тот же VfdConfig используется sync и Tokio API. queue_capacity влияет
только на worker-обёртки; низкоуровневый crate::Vfd открывает порт напрямую.
Fields§
§serial: SerialSettingsНастройки serial-порта.
display: DisplaySettingsНастройки дисплея.
queue_capacity: usizeЁмкость очереди фонового worker.
Используется только crate::VfdWorker и escpos_vfd::tokio::AsyncVfdWorker.
Значение 32 по умолчанию даёт backpressure без бесконтрольного роста памяти.
Implementations§
Source§impl VfdConfig
impl VfdConfig
Sourcepub fn new(
serial: SerialSettings,
display: DisplaySettings,
) -> Result<Self, ConfigError>
pub fn new( serial: SerialSettings, display: DisplaySettings, ) -> Result<Self, ConfigError>
Создаёт полностью ручную конфигурацию.
Метод сразу валидирует serial и display настройки, поэтому ошибки конфигурации возвращаются до попытки открыть устройство.
§Ошибки
Возвращает ConfigError, если serial, display или queue_capacity содержат
недопустимые значения.
Sourcepub fn preset(
port_name: impl Into<String>,
preset: Preset,
) -> Result<Self, ConfigError>
pub fn preset( port_name: impl Into<String>, preset: Preset, ) -> Result<Self, ConfigError>
Создаёт конфигурацию из пресета.
Preset::Epson20x2Cp866 воспроизводит прежние настройки библиотеки: 20x2,
9600 baud, CP866, ESC @, ESC t 6 и яркость 1..=4.
§Ошибки
Возвращает ConfigError::EmptyPortName, если имя порта пустое.
Sourcepub fn with_queue_capacity(self, capacity: usize) -> Result<Self, ConfigError>
pub fn with_queue_capacity(self, capacity: usize) -> Result<Self, ConfigError>
Устанавливает ёмкость bounded-очереди worker.
Значение 0 запрещено: такая очередь не смогла бы принять даже команду shutdown.
§Ошибки
Возвращает ConfigError::ZeroQueueCapacity при capacity = 0.