pub fn run<S, AUX, M0, M1, D>( args: &Args, ebyte: Ebyte<S, AUX, M0, M1, D, Normal>, ) -> Result<()>where S: Read<u8> + Write<u8>, <S as Read<u8>>::Error: Debug, <S as Write<u8>>::Error: Debug, AUX: InputPin, M0: OutputPin, M1: OutputPin, D: DelayMs<u32>,