pub trait Master {
type Error;
// Required methods
fn send_wakeup(&mut self) -> Result<(), Self::Error>;
fn write_frame(&mut self, frame: &Frame) -> Result<(), Self::Error>;
fn read_frame(
&mut self,
pid: PID,
data_lengh: usize,
) -> Result<Frame, Self::Error>;
}