Trait embedded_hal::Pwm 
source · [−]pub trait Pwm {
    type Channel;
    type Time;
    type Duty;
    fn disable(&mut self, channel: Self::Channel);
    fn enable(&mut self, channel: Self::Channel);
    fn get_period(&self) -> Self::Time;
    fn get_duty(&self, channel: Self::Channel) -> Self::Duty;
    fn get_max_duty(&self) -> Self::Duty;
    fn set_duty(&mut self, channel: Self::Channel, duty: Self::Duty);
    fn set_period<P>(&mut self, period: P)
    where
        P: Into<Self::Time>;
}Expand description
Pulse Width Modulation
This trait is available if embedded-hal is built with the "unproven" feature.
Examples
Use this interface to control the power output of some actuator
extern crate embedded_hal as hal;
use hal::prelude::*;
fn main() {
    let mut pwm: Pwm1 = {
        // ..
    };
    pwm.set_period(1.khz());
    let max_duty = pwm.get_max_duty();
    // brightest LED
    pwm.set_duty(Channel::_1, max_duty);
    // dimmer LED
    pwm.set_duty(Channel::_2, max_duty / 4);
}
Required Associated Types
Required Methods
sourcefn get_period(&self) -> Self::Time
 
fn get_period(&self) -> Self::Time
Returns the current PWM period
sourcefn get_max_duty(&self) -> Self::Duty
 
fn get_max_duty(&self) -> Self::Duty
Returns the maximum duty cycle value
sourcefn set_period<P>(&mut self, period: P)where
    P: Into<Self::Time>,
 
fn set_period<P>(&mut self, period: P)where
    P: Into<Self::Time>,
Sets a new PWM period