use arduino_hal::Usart; use arduino_hal::usart::UsartOps; use arduino_hal::prelude::*; use embedded_hal::serial::{Read}; mod vector; pub use vector::Vector; pub struct Webee where USART: UsartOps { webee: Usart, } enum SEND_CMD {} impl Webee { const STOP: u8 = 0xFF; pub fn new(device: USART, rx: RX, tx: TX) -> Self { Self { webee: Usart::new(device, rx, tx, 38400.into_baudrate()) } } pub fn send(&mut self, data: Vector) -> Vector { for byte in data { self.webee.write_byte(byte); } return self.recv(); } fn recv(&mut self) -> Vector { const buffer: Vector = Vector::new(0, &[]); let byte: u8 = self.webee.read_byte(); while byte != self.STOP { buffer.push(byte); } return buffer; } }