#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Task starting the quadrature decoder"] pub tasks_start: TASKS_START, #[doc = "0x04 - Task stopping the quadrature decoder"] pub tasks_stop: TASKS_STOP, #[doc = "0x08 - Read and clear ACC and ACCDBL"] pub tasks_readclracc: TASKS_READCLRACC, #[doc = "0x0c - Read and clear ACC"] pub tasks_rdclracc: TASKS_RDCLRACC, #[doc = "0x10 - Read and clear ACCDBL"] pub tasks_rdclrdbl: TASKS_RDCLRDBL, _reserved5: [u8; 0xec], #[doc = "0x100 - Event being generated for every new sample value written to the SAMPLE register"] pub events_samplerdy: EVENTS_SAMPLERDY, #[doc = "0x104 - Non-null report ready"] pub events_reportrdy: EVENTS_REPORTRDY, #[doc = "0x108 - ACC or ACCDBL register overflow"] pub events_accof: EVENTS_ACCOF, #[doc = "0x10c - Double displacement(s) detected"] pub events_dblrdy: EVENTS_DBLRDY, #[doc = "0x110 - QDEC has been stopped"] pub events_stopped: EVENTS_STOPPED, _reserved10: [u8; 0xec], #[doc = "0x200 - Shortcut register"] pub shorts: SHORTS, _reserved11: [u8; 0x0100], #[doc = "0x304 - Enable interrupt"] pub intenset: INTENSET, #[doc = "0x308 - Disable interrupt"] pub intenclr: INTENCLR, _reserved13: [u8; 0x01f4], #[doc = "0x500 - Enable the quadrature decoder"] pub enable: ENABLE, #[doc = "0x504 - LED output pin polarity"] pub ledpol: LEDPOL, #[doc = "0x508 - Sample period"] pub sampleper: SAMPLEPER, #[doc = "0x50c - Motion sample value"] pub sample: SAMPLE, #[doc = "0x510 - Number of samples to be taken before REPORTRDY and DBLRDY events can be generated"] pub reportper: REPORTPER, #[doc = "0x514 - Register accumulating the valid transitions"] pub acc: ACC, #[doc = "0x518 - Snapshot of the ACC register, updated by the READCLRACC or RDCLRACC task"] pub accread: ACCREAD, #[doc = "0x51c..0x528 - Unspecified"] pub psel: PSEL, #[doc = "0x528 - Enable input debounce filters"] pub dbfen: DBFEN, _reserved22: [u8; 0x14], #[doc = "0x540 - Time period the LED is switched ON prior to sampling"] pub ledpre: LEDPRE, #[doc = "0x544 - Register accumulating the number of detected double transitions"] pub accdbl: ACCDBL, #[doc = "0x548 - Snapshot of the ACCDBL, updated by the READCLRACC or RDCLRDBL task"] pub accdblread: ACCDBLREAD, } #[doc = "TASKS_START (w) register accessor: an alias for `Reg`"] pub type TASKS_START = crate::Reg; #[doc = "Task starting the quadrature decoder"] pub mod tasks_start; #[doc = "TASKS_STOP (w) register accessor: an alias for `Reg`"] pub type TASKS_STOP = crate::Reg; #[doc = "Task stopping the quadrature decoder"] pub mod tasks_stop; #[doc = "TASKS_READCLRACC (w) register accessor: an alias for `Reg`"] pub type TASKS_READCLRACC = crate::Reg; #[doc = "Read and clear ACC and ACCDBL"] pub mod tasks_readclracc; #[doc = "TASKS_RDCLRACC (w) register accessor: an alias for `Reg`"] pub type TASKS_RDCLRACC = crate::Reg; #[doc = "Read and clear ACC"] pub mod tasks_rdclracc; #[doc = "TASKS_RDCLRDBL (w) register accessor: an alias for `Reg`"] pub type TASKS_RDCLRDBL = crate::Reg; #[doc = "Read and clear ACCDBL"] pub mod tasks_rdclrdbl; #[doc = "EVENTS_SAMPLERDY (rw) register accessor: an alias for `Reg`"] pub type EVENTS_SAMPLERDY = crate::Reg; #[doc = "Event being generated for every new sample value written to the SAMPLE register"] pub mod events_samplerdy; #[doc = "EVENTS_REPORTRDY (rw) register accessor: an alias for `Reg`"] pub type EVENTS_REPORTRDY = crate::Reg; #[doc = "Non-null report ready"] pub mod events_reportrdy; #[doc = "EVENTS_ACCOF (rw) register accessor: an alias for `Reg`"] pub type EVENTS_ACCOF = crate::Reg; #[doc = "ACC or ACCDBL register overflow"] pub mod events_accof; #[doc = "EVENTS_DBLRDY (rw) register accessor: an alias for `Reg`"] pub type EVENTS_DBLRDY = crate::Reg; #[doc = "Double displacement(s) detected"] pub mod events_dblrdy; #[doc = "EVENTS_STOPPED (rw) register accessor: an alias for `Reg`"] pub type EVENTS_STOPPED = crate::Reg; #[doc = "QDEC has been stopped"] pub mod events_stopped; #[doc = "SHORTS (rw) register accessor: an alias for `Reg`"] pub type SHORTS = crate::Reg; #[doc = "Shortcut register"] pub mod shorts; #[doc = "INTENSET (rw) register accessor: an alias for `Reg`"] pub type INTENSET = crate::Reg; #[doc = "Enable interrupt"] pub mod intenset; #[doc = "INTENCLR (rw) register accessor: an alias for `Reg`"] pub type INTENCLR = crate::Reg; #[doc = "Disable interrupt"] pub mod intenclr; #[doc = "ENABLE (rw) register accessor: an alias for `Reg`"] pub type ENABLE = crate::Reg; #[doc = "Enable the quadrature decoder"] pub mod enable; #[doc = "LEDPOL (rw) register accessor: an alias for `Reg`"] pub type LEDPOL = crate::Reg; #[doc = "LED output pin polarity"] pub mod ledpol; #[doc = "SAMPLEPER (rw) register accessor: an alias for `Reg`"] pub type SAMPLEPER = crate::Reg; #[doc = "Sample period"] pub mod sampleper; #[doc = "SAMPLE (r) register accessor: an alias for `Reg`"] pub type SAMPLE = crate::Reg; #[doc = "Motion sample value"] pub mod sample; #[doc = "REPORTPER (rw) register accessor: an alias for `Reg`"] pub type REPORTPER = crate::Reg; #[doc = "Number of samples to be taken before REPORTRDY and DBLRDY events can be generated"] pub mod reportper; #[doc = "ACC (r) register accessor: an alias for `Reg`"] pub type ACC = crate::Reg; #[doc = "Register accumulating the valid transitions"] pub mod acc; #[doc = "ACCREAD (r) register accessor: an alias for `Reg`"] pub type ACCREAD = crate::Reg; #[doc = "Snapshot of the ACC register, updated by the READCLRACC or RDCLRACC task"] pub mod accread; #[doc = "Unspecified"] pub use psel::PSEL; #[doc = r"Cluster"] #[doc = "Unspecified"] pub mod psel; #[doc = "DBFEN (rw) register accessor: an alias for `Reg`"] pub type DBFEN = crate::Reg; #[doc = "Enable input debounce filters"] pub mod dbfen; #[doc = "LEDPRE (rw) register accessor: an alias for `Reg`"] pub type LEDPRE = crate::Reg; #[doc = "Time period the LED is switched ON prior to sampling"] pub mod ledpre; #[doc = "ACCDBL (r) register accessor: an alias for `Reg`"] pub type ACCDBL = crate::Reg; #[doc = "Register accumulating the number of detected double transitions"] pub mod accdbl; #[doc = "ACCDBLREAD (r) register accessor: an alias for `Reg`"] pub type ACCDBLREAD = crate::Reg; #[doc = "Snapshot of the ACCDBL, updated by the READCLRACC or RDCLRDBL task"] pub mod accdblread;