Module embedded_hal::digital::v2_compat [−][src]
v2 compatibility shims
This module adds implicit forward support to v1 digital traits, allowing v1 implementations to be directly used with v2 consumers.
extern crate embedded_hal; use embedded_hal::digital::{v1, v2}; struct OldOutputPinImpl { } impl v1::OutputPin for OldOutputPinImpl { fn set_low(&mut self) { } fn set_high(&mut self) { } } struct NewOutputPinConsumer<T: v2::OutputPin> { _pin: T, } impl <T>NewOutputPinConsumer<T> where T: v2::OutputPin { pub fn new(pin: T) -> NewOutputPinConsumer<T> { NewOutputPinConsumer{ _pin: pin } } } fn main() { let pin = OldOutputPinImpl{}; let _consumer = NewOutputPinConsumer::new(pin); }