extern crate std;
use crate::Error;
use embedded_io_adapters::tokio_1::FromTokio;
use embedded_io_async::ErrorType;
use serial2_tokio::{Parity, SerialPort, Settings};
pub type Port = FromTokio<SerialPort>;
pub type PortError = <Port as ErrorType>::Error;
pub fn open(path: &str) -> Result<Port, Error<std::io::Error>> {
let port = SerialPort::open(path, |mut settings: Settings| {
settings.set_raw();
settings.set_baud_rate(2400)?;
settings.set_parity(Parity::Even);
Ok(settings)
})?;
port.discard_buffers()?;
Ok(FromTokio::new(port))
}