41 lines
2.8 KiB
Rust
41 lines
2.8 KiB
Rust
//! Демонстрирует фоновую бегущую строку с регулируемой скоростью и паузой в конце.
|
|
|
|
mod common;
|
|
|
|
use anyhow::Result;
|
|
use std::time::Duration;
|
|
|
|
use m::worker::VfdWorker;
|
|
|
|
fn main() -> Result<()> {
|
|
// args:
|
|
// 1) port (default: /dev/cu.usbmodem101)
|
|
// 2) width (default: 20)
|
|
// 3) cps (chars per second, default: 8)
|
|
// 4) end_pause_ms (default: 1500)
|
|
// 5) brightness 1..4 (default: 2)
|
|
let mut args = common::ExampleArgs::from_env();
|
|
let cps: u32 = args.parse_or(8);
|
|
let end_pause_ms: u64 = args.parse_or(1500);
|
|
let brightness: u8 = args.parse_or(2);
|
|
let worker = VfdWorker::start(args.config)?;
|
|
let vfd = worker.handle();
|
|
|
|
vfd.clear();
|
|
vfd.set_brightness(brightness);
|
|
|
|
let text = String::from(
|
|
"Однозначно, базовые сценарии поведения пользователей призывают нас к новым свершениям, которые, в свою очередь, должны быть объявлены нарушающими общечеловеческие нормы этики и морали. С другой стороны, понимание сути ресурсосберегающих технологий не даёт нам иного выбора, кроме определения экономической целесообразности принимаемых решений. Задача организации, в особенности же укрепление и развитие внутренней структуры обеспечивает актуальность соответствующих условий активизации. Предварительные выводы неутешительны: укрепление и развитие внутренней структуры однозначно фиксирует необходимость укрепления моральных ценностей. Высокий уровень вовлечения представителей целевой аудитории является четким доказательством простого факта: повышение уровня гражданского сознания представляет собой интересный эксперимент проверки поэтапного и последовательного развития общества.",
|
|
);
|
|
// “рыба” + бесконечный цикл
|
|
vfd.set_marquee_text(text);
|
|
vfd.start_marquee(2, cps, Duration::from_millis(end_pause_ms));
|
|
|
|
// можно подсветить вторую строку статикой
|
|
let _ = vfd.print_line_diff(1, "Бегущая строка");
|
|
|
|
loop {
|
|
common::sleep_ms(3_600_000);
|
|
}
|
|
}
|