pub trait SetDutyCycle: ErrorType {
    fn max_duty_cycle(&self) -> u16;
    fn set_duty_cycle(&mut self, duty: u16)
        -> Result<(), Self::Error>;
    #[inline]
    fn set_duty_cycle_fully_off(&mut self)
        -> Result<(), Self::Error>;
    #[inline]
    fn set_duty_cycle_fully_on(&mut self)
        -> Result<(), Self::Error>;
    #[inline]
    fn set_duty_cycle_fraction(&mut self, num: u16,
        denom: u16) -> Result<(), Self::Error>;
    #[inline]
    fn set_duty_cycle_percent(&mut self,
        percent: u8) -> Result<(), Self::Error>;
}
