1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Control A"] pub ctrla: CTRLA, #[doc = "0x02 - Event Control"] pub evctrl: EVCTRL, #[doc = "0x03 - Debug Control"] pub dbgctrl: DBGCTRL, #[doc = "0x04 - Input Control"] pub inputctrl: INPUTCTRL, #[doc = "0x06 - Control B"] pub ctrlb: CTRLB, #[doc = "0x08 - Reference Control"] pub refctrl: REFCTRL, _reserved6: [u8; 1usize], #[doc = "0x0a - Average Control"] pub avgctrl: AVGCTRL, #[doc = "0x0b - Sample Time Control"] pub sampctrl: SAMPCTRL, #[doc = "0x0c - Window Monitor Lower Threshold"] pub winlt: WINLT, #[doc = "0x0e - Window Monitor Upper Threshold"] pub winut: WINUT, #[doc = "0x10 - Gain Correction"] pub gaincorr: GAINCORR, #[doc = "0x12 - Offset Correction"] pub offsetcorr: OFFSETCORR, #[doc = "0x14 - Software Trigger"] pub swtrig: SWTRIG, _reserved13: [u8; 23usize], #[doc = "0x2c - Interrupt Enable Clear"] pub intenclr: INTENCLR, #[doc = "0x2d - Interrupt Enable Set"] pub intenset: INTENSET, #[doc = "0x2e - Interrupt Flag Status and Clear"] pub intflag: INTFLAG, #[doc = "0x2f - Status"] pub status: STATUS, #[doc = "0x30 - Synchronization Busy"] pub syncbusy: SYNCBUSY, #[doc = "0x34 - DMA Sequencial Data"] pub dseqdata: DSEQDATA, #[doc = "0x38 - DMA Sequential Control"] pub dseqctrl: DSEQCTRL, #[doc = "0x3c - DMA Sequencial Status"] pub dseqstat: DSEQSTAT, #[doc = "0x40 - Result Conversion Value"] pub result: RESULT, _reserved22: [u8; 2usize], #[doc = "0x44 - Last Sample Result"] pub ress: RESS, _reserved23: [u8; 2usize], #[doc = "0x48 - Calibration"] pub calib: CALIB, } #[doc = "Control A"] pub struct CTRLA { register: ::vcell::VolatileCell<u16>, } #[doc = "Control A"] pub mod ctrla; #[doc = "Event Control"] pub struct EVCTRL { register: ::vcell::VolatileCell<u8>, } #[doc = "Event Control"] pub mod evctrl; #[doc = "Debug Control"] pub struct DBGCTRL { register: ::vcell::VolatileCell<u8>, } #[doc = "Debug Control"] pub mod dbgctrl; #[doc = "Input Control"] pub struct INPUTCTRL { register: ::vcell::VolatileCell<u16>, } #[doc = "Input Control"] pub mod inputctrl; #[doc = "Control B"] pub struct CTRLB { register: ::vcell::VolatileCell<u16>, } #[doc = "Control B"] pub mod ctrlb; #[doc = "Reference Control"] pub struct REFCTRL { register: ::vcell::VolatileCell<u8>, } #[doc = "Reference Control"] pub mod refctrl; #[doc = "Average Control"] pub struct AVGCTRL { register: ::vcell::VolatileCell<u8>, } #[doc = "Average Control"] pub mod avgctrl; #[doc = "Sample Time Control"] pub struct SAMPCTRL { register: ::vcell::VolatileCell<u8>, } #[doc = "Sample Time Control"] pub mod sampctrl; #[doc = "Window Monitor Lower Threshold"] pub struct WINLT { register: ::vcell::VolatileCell<u16>, } #[doc = "Window Monitor Lower Threshold"] pub mod winlt; #[doc = "Window Monitor Upper Threshold"] pub struct WINUT { register: ::vcell::VolatileCell<u16>, } #[doc = "Window Monitor Upper Threshold"] pub mod winut; #[doc = "Gain Correction"] pub struct GAINCORR { register: ::vcell::VolatileCell<u16>, } #[doc = "Gain Correction"] pub mod gaincorr; #[doc = "Offset Correction"] pub struct OFFSETCORR { register: ::vcell::VolatileCell<u16>, } #[doc = "Offset Correction"] pub mod offsetcorr; #[doc = "Software Trigger"] pub struct SWTRIG { register: ::vcell::VolatileCell<u8>, } #[doc = "Software Trigger"] pub mod swtrig; #[doc = "Interrupt Enable Clear"] pub struct INTENCLR { register: ::vcell::VolatileCell<u8>, } #[doc = "Interrupt Enable Clear"] pub mod intenclr; #[doc = "Interrupt Enable Set"] pub struct INTENSET { register: ::vcell::VolatileCell<u8>, } #[doc = "Interrupt Enable Set"] pub mod intenset; #[doc = "Interrupt Flag Status and Clear"] pub struct INTFLAG { register: ::vcell::VolatileCell<u8>, } #[doc = "Interrupt Flag Status and Clear"] pub mod intflag; #[doc = "Status"] pub struct STATUS { register: ::vcell::VolatileCell<u8>, } #[doc = "Status"] pub mod status; #[doc = "Synchronization Busy"] pub struct SYNCBUSY { register: ::vcell::VolatileCell<u32>, } #[doc = "Synchronization Busy"] pub mod syncbusy; #[doc = "DMA Sequencial Data"] pub struct DSEQDATA { register: ::vcell::VolatileCell<u32>, } #[doc = "DMA Sequencial Data"] pub mod dseqdata; #[doc = "DMA Sequential Control"] pub struct DSEQCTRL { register: ::vcell::VolatileCell<u32>, } #[doc = "DMA Sequential Control"] pub mod dseqctrl; #[doc = "DMA Sequencial Status"] pub struct DSEQSTAT { register: ::vcell::VolatileCell<u32>, } #[doc = "DMA Sequencial Status"] pub mod dseqstat; #[doc = "Result Conversion Value"] pub struct RESULT { register: ::vcell::VolatileCell<u16>, } #[doc = "Result Conversion Value"] pub mod result; #[doc = "Last Sample Result"] pub struct RESS { register: ::vcell::VolatileCell<u16>, } #[doc = "Last Sample Result"] pub mod ress; #[doc = "Calibration"] pub struct CALIB { register: ::vcell::VolatileCell<u16>, } #[doc = "Calibration"] pub mod calib;