sam3x8e 0.1.1

Device support crate for sam3x8e devices
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Channel Control Register (channel = 0)"]
    pub ccr0: CCR0,
    #[doc = "Channel Mode Register (channel = 0)"]
    pub cmr0: CMR0_UNION,
    #[doc = "0x08 - Stepper Motor Mode Register (channel = 0)"]
    pub smmr0: SMMR0,
    _reserved3: [u8; 4usize],
    #[doc = "0x10 - Counter Value (channel = 0)"]
    pub cv0: CV0,
    #[doc = "0x14 - Register A (channel = 0)"]
    pub ra0: RA0,
    #[doc = "0x18 - Register B (channel = 0)"]
    pub rb0: RB0,
    #[doc = "0x1c - Register C (channel = 0)"]
    pub rc0: RC0,
    #[doc = "0x20 - Status Register (channel = 0)"]
    pub sr0: SR0,
    #[doc = "0x24 - Interrupt Enable Register (channel = 0)"]
    pub ier0: IER0,
    #[doc = "0x28 - Interrupt Disable Register (channel = 0)"]
    pub idr0: IDR0,
    #[doc = "0x2c - Interrupt Mask Register (channel = 0)"]
    pub imr0: IMR0,
    _reserved11: [u8; 16usize],
    #[doc = "0x40 - Channel Control Register (channel = 1)"]
    pub ccr1: CCR1,
    #[doc = "Channel Mode Register (channel = 1)"]
    pub cmr1: CMR1_UNION,
    #[doc = "0x48 - Stepper Motor Mode Register (channel = 1)"]
    pub smmr1: SMMR1,
    _reserved14: [u8; 4usize],
    #[doc = "0x50 - Counter Value (channel = 1)"]
    pub cv1: CV1,
    #[doc = "0x54 - Register A (channel = 1)"]
    pub ra1: RA1,
    #[doc = "0x58 - Register B (channel = 1)"]
    pub rb1: RB1,
    #[doc = "0x5c - Register C (channel = 1)"]
    pub rc1: RC1,
    #[doc = "0x60 - Status Register (channel = 1)"]
    pub sr1: SR1,
    #[doc = "0x64 - Interrupt Enable Register (channel = 1)"]
    pub ier1: IER1,
    #[doc = "0x68 - Interrupt Disable Register (channel = 1)"]
    pub idr1: IDR1,
    #[doc = "0x6c - Interrupt Mask Register (channel = 1)"]
    pub imr1: IMR1,
    _reserved22: [u8; 16usize],
    #[doc = "0x80 - Channel Control Register (channel = 2)"]
    pub ccr2: CCR2,
    #[doc = "Channel Mode Register (channel = 2)"]
    pub cmr2: CMR2_UNION,
    #[doc = "0x88 - Stepper Motor Mode Register (channel = 2)"]
    pub smmr2: SMMR2,
    _reserved25: [u8; 4usize],
    #[doc = "0x90 - Counter Value (channel = 2)"]
    pub cv2: CV2,
    #[doc = "0x94 - Register A (channel = 2)"]
    pub ra2: RA2,
    #[doc = "0x98 - Register B (channel = 2)"]
    pub rb2: RB2,
    #[doc = "0x9c - Register C (channel = 2)"]
    pub rc2: RC2,
    #[doc = "0xa0 - Status Register (channel = 2)"]
    pub sr2: SR2,
    #[doc = "0xa4 - Interrupt Enable Register (channel = 2)"]
    pub ier2: IER2,
    #[doc = "0xa8 - Interrupt Disable Register (channel = 2)"]
    pub idr2: IDR2,
    #[doc = "0xac - Interrupt Mask Register (channel = 2)"]
    pub imr2: IMR2,
    _reserved33: [u8; 16usize],
    #[doc = "0xc0 - Block Control Register"]
    pub bcr: BCR,
    #[doc = "0xc4 - Block Mode Register"]
    pub bmr: BMR,
    #[doc = "0xc8 - QDEC Interrupt Enable Register"]
    pub qier: QIER,
    #[doc = "0xcc - QDEC Interrupt Disable Register"]
    pub qidr: QIDR,
    #[doc = "0xd0 - QDEC Interrupt Mask Register"]
    pub qimr: QIMR,
    #[doc = "0xd4 - QDEC Interrupt Status Register"]
    pub qisr: QISR,
    #[doc = "0xd8 - Fault Mode Register"]
    pub fmr: FMR,
    _reserved40: [u8; 8usize],
    #[doc = "0xe4 - Write Protect Mode Register"]
    pub wpmr: WPMR,
}
#[doc = "Channel Mode Register (channel = 0)"]
#[repr(C)]
pub union CMR0_UNION {
    #[doc = "0x04 - Channel Mode Register (channel = 0)"]
    pub cmr0_wave_eq_1: CMR0_WAVE_EQ_1,
    #[doc = "0x04 - Channel Mode Register (channel = 0)"]
    pub cmr0: CMR0,
}
#[doc = "Channel Mode Register (channel = 1)"]
#[repr(C)]
pub union CMR1_UNION {
    #[doc = "0x44 - Channel Mode Register (channel = 1)"]
    pub cmr1_wave_eq_1: CMR1_WAVE_EQ_1,
    #[doc = "0x44 - Channel Mode Register (channel = 1)"]
    pub cmr1: CMR1,
}
#[doc = "Channel Mode Register (channel = 2)"]
#[repr(C)]
pub union CMR2_UNION {
    #[doc = "0x84 - Channel Mode Register (channel = 2)"]
    pub cmr2_wave_eq_1: CMR2_WAVE_EQ_1,
    #[doc = "0x84 - Channel Mode Register (channel = 2)"]
    pub cmr2: CMR2,
}
#[doc = "Channel Control Register (channel = 0)"]
pub struct CCR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Control Register (channel = 0)"]
pub mod ccr0;
#[doc = "Channel Mode Register (channel = 0)"]
pub struct CMR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 0)"]
pub mod cmr0;
#[doc = "Channel Mode Register (channel = 0)"]
pub struct CMR0_WAVE_EQ_1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 0)"]
pub mod cmr0_wave_eq_1;
#[doc = "Stepper Motor Mode Register (channel = 0)"]
pub struct SMMR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Stepper Motor Mode Register (channel = 0)"]
pub mod smmr0;
#[doc = "Counter Value (channel = 0)"]
pub struct CV0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Counter Value (channel = 0)"]
pub mod cv0;
#[doc = "Register A (channel = 0)"]
pub struct RA0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register A (channel = 0)"]
pub mod ra0;
#[doc = "Register B (channel = 0)"]
pub struct RB0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register B (channel = 0)"]
pub mod rb0;
#[doc = "Register C (channel = 0)"]
pub struct RC0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register C (channel = 0)"]
pub mod rc0;
#[doc = "Status Register (channel = 0)"]
pub struct SR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status Register (channel = 0)"]
pub mod sr0;
#[doc = "Interrupt Enable Register (channel = 0)"]
pub struct IER0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Enable Register (channel = 0)"]
pub mod ier0;
#[doc = "Interrupt Disable Register (channel = 0)"]
pub struct IDR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Disable Register (channel = 0)"]
pub mod idr0;
#[doc = "Interrupt Mask Register (channel = 0)"]
pub struct IMR0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Mask Register (channel = 0)"]
pub mod imr0;
#[doc = "Channel Control Register (channel = 1)"]
pub struct CCR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Control Register (channel = 1)"]
pub mod ccr1;
#[doc = "Channel Mode Register (channel = 1)"]
pub struct CMR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 1)"]
pub mod cmr1;
#[doc = "Channel Mode Register (channel = 1)"]
pub struct CMR1_WAVE_EQ_1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 1)"]
pub mod cmr1_wave_eq_1;
#[doc = "Stepper Motor Mode Register (channel = 1)"]
pub struct SMMR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Stepper Motor Mode Register (channel = 1)"]
pub mod smmr1;
#[doc = "Counter Value (channel = 1)"]
pub struct CV1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Counter Value (channel = 1)"]
pub mod cv1;
#[doc = "Register A (channel = 1)"]
pub struct RA1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register A (channel = 1)"]
pub mod ra1;
#[doc = "Register B (channel = 1)"]
pub struct RB1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register B (channel = 1)"]
pub mod rb1;
#[doc = "Register C (channel = 1)"]
pub struct RC1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register C (channel = 1)"]
pub mod rc1;
#[doc = "Status Register (channel = 1)"]
pub struct SR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status Register (channel = 1)"]
pub mod sr1;
#[doc = "Interrupt Enable Register (channel = 1)"]
pub struct IER1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Enable Register (channel = 1)"]
pub mod ier1;
#[doc = "Interrupt Disable Register (channel = 1)"]
pub struct IDR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Disable Register (channel = 1)"]
pub mod idr1;
#[doc = "Interrupt Mask Register (channel = 1)"]
pub struct IMR1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Mask Register (channel = 1)"]
pub mod imr1;
#[doc = "Channel Control Register (channel = 2)"]
pub struct CCR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Control Register (channel = 2)"]
pub mod ccr2;
#[doc = "Channel Mode Register (channel = 2)"]
pub struct CMR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 2)"]
pub mod cmr2;
#[doc = "Channel Mode Register (channel = 2)"]
pub struct CMR2_WAVE_EQ_1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Mode Register (channel = 2)"]
pub mod cmr2_wave_eq_1;
#[doc = "Stepper Motor Mode Register (channel = 2)"]
pub struct SMMR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Stepper Motor Mode Register (channel = 2)"]
pub mod smmr2;
#[doc = "Counter Value (channel = 2)"]
pub struct CV2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Counter Value (channel = 2)"]
pub mod cv2;
#[doc = "Register A (channel = 2)"]
pub struct RA2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register A (channel = 2)"]
pub mod ra2;
#[doc = "Register B (channel = 2)"]
pub struct RB2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register B (channel = 2)"]
pub mod rb2;
#[doc = "Register C (channel = 2)"]
pub struct RC2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Register C (channel = 2)"]
pub mod rc2;
#[doc = "Status Register (channel = 2)"]
pub struct SR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status Register (channel = 2)"]
pub mod sr2;
#[doc = "Interrupt Enable Register (channel = 2)"]
pub struct IER2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Enable Register (channel = 2)"]
pub mod ier2;
#[doc = "Interrupt Disable Register (channel = 2)"]
pub struct IDR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Disable Register (channel = 2)"]
pub mod idr2;
#[doc = "Interrupt Mask Register (channel = 2)"]
pub struct IMR2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Mask Register (channel = 2)"]
pub mod imr2;
#[doc = "Block Control Register"]
pub struct BCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Block Control Register"]
pub mod bcr;
#[doc = "Block Mode Register"]
pub struct BMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Block Mode Register"]
pub mod bmr;
#[doc = "QDEC Interrupt Enable Register"]
pub struct QIER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "QDEC Interrupt Enable Register"]
pub mod qier;
#[doc = "QDEC Interrupt Disable Register"]
pub struct QIDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "QDEC Interrupt Disable Register"]
pub mod qidr;
#[doc = "QDEC Interrupt Mask Register"]
pub struct QIMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "QDEC Interrupt Mask Register"]
pub mod qimr;
#[doc = "QDEC Interrupt Status Register"]
pub struct QISR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "QDEC Interrupt Status Register"]
pub mod qisr;
#[doc = "Fault Mode Register"]
pub struct FMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Fault Mode Register"]
pub mod fmr;
#[doc = "Write Protect Mode Register"]
pub struct WPMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Write Protect Mode Register"]
pub mod wpmr;