pub trait OutputPin: ErrorType {
    fn set_high(&mut self) -> Result<(), Self::Error>;
    fn set_low(&mut self) -> Result<(), Self::Error>;
    fn set_state(&mut self, state: PinState) 
           -> Result<(), Self::Error>;
}
