#low-latency #serial-port #latency #serial #ftdi

serialport_low_latency

Enable or disable low latency mode for serial ports on Linux

1 unstable release

0.1.0 Jun 27, 2023

#20 in #rs232

MIT license

9KB
82 lines

serialport_low_latency

license crates.io docs.rs

FTDI serial communication chips support a low latency mode where the latency timer is reduced to 1 ms. This package allows enabling and disabling this low latency mode on Linux via the TIOCSSERIAL ioctl.

Examples

Open a serial port and enable low latency mode

use std::time::Duration;
use serialport_low_latency::enable_low_latency;
let mut port = serialport::new("/dev/ttyUSB0", 115_200)
    .timeout(Duration::from_millis(10))
    .open_native().expect("Failed to open port");
enable_low_latency(&mut port).unwrap();

Open a serial port and disable low latency mode

use std::time::Duration;
use serialport_low_latency::disable_low_latency;
let mut port = serialport::new("/dev/ttyUSB0", 115_200)
    .timeout(Duration::from_millis(10))
    .open_native().expect("Failed to open port");
disable_low_latency(&mut port).unwrap();

Dependencies

~4–8MB
~140K SLoC