tsc2046 0.1.0

TSC2046 SPI 4-Wire Touch Screen Controller driver
Documentation
use bitflags::bitflags;

bitflags! {
    pub struct ControlBit: u8 {
        const PD0 = 0b00000001;
        const PD1 = 0b00000010;
        const SER = 0b00000100;
        const MODE = 0b00001000;
        const A0 = 0b00010000;
        const A1 = 0b00100000;
        const A2 = 0b01000000;
        const S = 0b10000000;
        const TEMP0 = 0;
        const TEMP1 = Self::A2.bits() | Self::A1.bits() | Self::A0.bits();
        const YPOS = Self::A0.bits();
        const VBAT = Self::A1.bits();
        const Z1 = Self::A1.bits() | Self::A0.bits();
        const Z2 = Self::A2.bits();
        const XPOS = Self::A2.bits() | Self::A0.bits();
        const AUX = Self::A2.bits() | Self::A1.bits();
    }
}
pub enum Axes {
    X,
    Y,
    Z1,
    Z2,
}
impl Axes {
    pub fn ctrl_bits(&self) -> ControlBit {
        match self {
            Axes::X => ControlBit::XPOS,
            Axes::Y => ControlBit::YPOS,
            Axes::Z1 => ControlBit::Z1,
            Axes::Z2 => ControlBit::Z2,
        }
    }
}