enum BaudRate
Source: serial.joule:9
enum BaudRateSource: serial.joule:9
fn value(&self) -> u32Source: serial.joule:26
enum DataBitsSource: serial.joule:47
enum StopBitsSource: serial.joule:56
enum ParitySource: serial.joule:63
enum FlowControlSource: serial.joule:73
struct SerialConfigSource: serial.joule:81
fn default() -> SelfSource: serial.joule:92
fn standard(baud_rate: BaudRate) -> SelfCreate config with common 8N1 settings
Source: serial.joule:107
struct SerialPortInfoSource: serial.joule:117
enum SerialPortTypeSource: serial.joule:136
struct SerialPortSerial port handle
Source: serial.joule:148
fn list() -> Result<Vec<SerialPortInfo>, DeviceError>Source: serial.joule:157
fn open(name: &str) -> Result<Self, DeviceError>Source: serial.joule:181
fn open_with_config(name: &str, config: SerialConfig) -> Result<Self, DeviceError>Source: serial.joule:187
fn name(&self) -> &strGet port name
Source: serial.joule:205
fn config(&self) -> &SerialConfigGet current configuration
Source: serial.joule:210
fn set_baud_rate(&mut self, baud_rate: BaudRate) -> Result<(), DeviceError>Source: serial.joule:216
fn set_read_timeout(&mut self, timeout_ms: Option<u32>) -> Result<(), DeviceError>Set read timeout
Source: serial.joule:222
fn apply_config(&self) -> Result<(), DeviceError>Apply current configuration to hardware
Source: serial.joule:228
fn bytes_available(&self) -> Result<usize, DeviceError>Source: serial.joule:247
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:251
const FIONREAD: u64Source: serial.joule:253
fn flush_output(&self) -> Result<(), DeviceError>Source: serial.joule:271
fn tcdrain(fd: i32) -> i32;Source: serial.joule:275
fn discard_input(&self) -> Result<(), DeviceError>Source: serial.joule:286
fn tcflush(fd: i32, queue_selector: i32) -> i32;Source: serial.joule:290
const TCIFLUSH: i32Source: serial.joule:292
fn discard_output(&self) -> Result<(), DeviceError>Source: serial.joule:302
fn tcflush(fd: i32, queue_selector: i32) -> i32;Source: serial.joule:306
const TCOFLUSH: i32Source: serial.joule:308
fn set_rts(&self, state: bool) -> Result<(), DeviceError>Source: serial.joule:318
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:322
const TIOCMGET: u64Source: serial.joule:324
const TIOCMSET: u64Source: serial.joule:325
const TIOCM_RTS: i32Source: serial.joule:326
fn set_dtr(&self, state: bool) -> Result<(), DeviceError>Source: serial.joule:348
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:352
const TIOCMGET: u64Source: serial.joule:354
const TIOCMSET: u64Source: serial.joule:355
const TIOCM_DTR: i32Source: serial.joule:356
fn get_cts(&self) -> Result<bool, DeviceError>Source: serial.joule:378
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:382
const TIOCMGET: u64Source: serial.joule:384
const TIOCM_CTS: i32Source: serial.joule:385
fn get_dsr(&self) -> Result<bool, DeviceError>Source: serial.joule:402
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:406
const TIOCMGET: u64Source: serial.joule:408
const TIOCM_DSR: i32Source: serial.joule:409
fn get_cd(&self) -> Result<bool, DeviceError>Source: serial.joule:426
fn ioctl(fd: i32, request: u64, ...) -> i32;Source: serial.joule:430
const TIOCMGET: u64Source: serial.joule:432
const TIOCM_CAR: i32Source: serial.joule:433
fn send_break(&self, duration_ms: u32) -> Result<(), DeviceError>Source: serial.joule:450
fn tcsendbreak(fd: i32, duration: i32) -> i32;Source: serial.joule:454
fn read(&mut self, buf: &mut [u8]) -> Result<usize, std::io::Error>Source: serial.joule:467
fn read(fd: i32, buf: *mut u8, count: usize) -> isize;Source: serial.joule:471
fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error>Source: serial.joule:489
fn write(fd: i32, buf: *const u8, count: usize) -> isize;Source: serial.joule:493
fn flush(&mut self) -> Result<(), std::io::Error>Source: serial.joule:508
fn drop(&mut self)Source: serial.joule:517
fn close(fd: i32) -> i32;Source: serial.joule:521
fn open_unix_port(name: &str, config: &SerialConfig) -> Result<SerialPort, DeviceError>Source: serial.joule:531
fn open(path: *const i8, flags: i32) -> i32;Source: serial.joule:533
const O_RDWR: i32Source: serial.joule:536
const O_NOCTTY: i32Source: serial.joule:537
const O_NONBLOCK: i32Source: serial.joule:538
fn apply_unix_config(fd: i32, config: &SerialConfig) -> Result<(), DeviceError>Source: serial.joule:564
fn tcgetattr(fd: i32, termios: *mut Termios) -> i32;Source: serial.joule:566
fn tcsetattr(fd: i32, optional_actions: i32, termios: *const Termios) -> i32;Source: serial.joule:567
fn cfsetispeed(termios: *mut Termios, speed: u32) -> i32;Source: serial.joule:568
fn cfsetospeed(termios: *mut Termios, speed: u32) -> i32;Source: serial.joule:569
struct TermiosSource: serial.joule:573
const TCSANOW: i32Source: serial.joule:658
fn list_linux_ports() -> Result<Vec<SerialPortInfo>, DeviceError>Source: serial.joule:667
fn list_macos_ports() -> Result<Vec<SerialPortInfo>, DeviceError>Source: serial.joule:698
fn list_windows_ports() -> Result<Vec<SerialPortInfo>, DeviceError>Source: serial.joule:733
fn open_windows_port(name: &str, config: &SerialConfig) -> Result<SerialPort, DeviceError>Source: serial.joule:739
fn apply_windows_config(fd: i32, config: &SerialConfig) -> Result<(), DeviceError>Source: serial.joule:744