#[macro_export]
macro_rules! uart_traits_macro {
() => {
pub trait TxPin<UART>: crate::Sealed {}
pub trait RxPin<UART>: crate::Sealed {}
pub trait CtsPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
pub trait DcdPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
pub trait DsrPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
pub trait DtrPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
pub trait RiPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
pub trait RtsPin<UART>: crate::Sealed {
fn enable(&mut self, _uart: &mut UART);
}
impl<U> TxPin<U> for () {}
impl<U> RxPin<U> for () {}
impl<U> CtsPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
impl<U> DcdPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
impl<U> DsrPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
impl<U> DtrPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
impl<U> RiPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
impl<U> RtsPin<U> for () {
fn enable(&mut self, _uart: &mut U) {
}
}
};
}
#[derive(PartialEq, Clone, Copy)]
pub enum NewlineMode {
Binary,
SwapLFtoCRLF,
}