rp-hal-boards/rp2040-hal/src/pwm/dyn_slice.rs
Hmvp ffa39f65f5
Pwm improvements (#61)
* Reimplement PWM driver using typestates
* Improve docs
2021-09-02 09:37:17 +10:00

31 lines
738 B
Rust

//! Semi-internal enums mostly used in typelevel magic
/// Value-level `struct` representing slice IDs
#[derive(PartialEq, Clone, Copy)]
pub struct DynSliceId {
/// Slice id
pub num: u8,
}
/// Slice modes
#[derive(PartialEq, Clone, Copy)]
pub enum DynSliceMode {
/// Count continuously whenever the slice is enabled
FreeRunning,
/// Count continuously when a high level is detected on the B pin
InputHighRunning,
/// Count once with each rising edge detected on the B pin
CountRisingEdge,
/// Count once with each falling edge detected on the B pin
CountFallingEdge,
}
/// Channel ids
#[derive(PartialEq, Clone, Copy)]
pub enum DynChannelId {
/// Channel A
A,
/// Channel B
B,
}