#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod ISR {
pub mod JQOVF {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NoOverflow: u32 = 0b0;
pub const Overflow: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod AWD3 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NoEvent: u32 = 0b0;
pub const Event: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod AWD2 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub use super::AWD3::R;
pub use super::AWD3::W;
pub mod RW {}
}
pub mod AWD1 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub use super::AWD3::R;
pub use super::AWD3::W;
pub mod RW {}
}
pub mod JEOS {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotComplete: u32 = 0b0;
pub const Complete: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod JEOC {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotComplete: u32 = 0b0;
pub const Complete: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod OVR {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NoOverrun: u32 = 0b0;
pub const Overrun: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod EOS {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotComplete: u32 = 0b0;
pub const Complete: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod EOC {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotComplete: u32 = 0b0;
pub const Complete: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod EOSMP {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotEnded: u32 = 0b0;
pub const Ended: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod ADRDY {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotReady: u32 = 0b0;
pub const Ready: u32 = 0b1;
}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
}
pub mod IER {
pub mod JQOVFIE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod AWD3IE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod AWD2IE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3IE::RW;
}
pub mod AWD1IE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3IE::RW;
}
pub mod JEOSIE {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod JEOCIE {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OVRIE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod EOSIE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod EOCIE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod EOSMPIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod ADRDYIE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
}
pub mod CR {
pub mod ADCAL {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Complete: u32 = 0b0;
pub const Calibration: u32 = 0b1;
}
}
pub mod ADCALDIF {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SingleEnded: u32 = 0b0;
pub const Differential: u32 = 0b1;
}
}
pub mod ADVREGEN {
pub const offset: u32 = 28;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Intermediate: u32 = 0b00;
pub const Enabled: u32 = 0b01;
pub const Disabled: u32 = 0b10;
}
}
pub mod JADSTP {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Stop: u32 = 0b1;
}
}
pub mod ADSTP {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::JADSTP::RW;
}
pub mod JADSTART {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Start: u32 = 0b1;
}
}
pub mod ADSTART {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::JADSTART::RW;
}
pub mod ADDIS {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {
pub const Disable: u32 = 0b0;
}
pub mod RW {}
}
pub mod ADEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {
pub const Enable: u32 = 0b1;
}
pub mod RW {}
}
}
pub mod CFGR {
pub mod AWD1CH {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod JAUTO {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod JAWD1EN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod AWD1EN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod AWD1SGL {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const All: u32 = 0b0;
pub const Single: u32 = 0b1;
}
}
pub mod JQM {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Mode0: u32 = 0b0;
pub const Mode1: u32 = 0b1;
}
}
pub mod JDISCEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod DISCNUM {
pub const offset: u32 = 17;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DISCEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod AUTDLY {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Off: u32 = 0b0;
pub const On: u32 = 0b1;
}
}
pub mod CONT {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Single: u32 = 0b0;
pub const Continuous: u32 = 0b1;
}
}
pub mod OVRMOD {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Preserve: u32 = 0b0;
pub const Overwrite: u32 = 0b1;
}
}
pub mod EXTEN {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b00;
pub const RisingEdge: u32 = 0b01;
pub const FallingEdge: u32 = 0b10;
pub const BothEdges: u32 = 0b11;
}
}
pub mod EXTSEL {
pub const offset: u32 = 6;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HRTIM_ADCTRG1: u32 = 0b0111;
pub const HRTIM_ADCTRG3: u32 = 0b1000;
pub const TIM1_CC1: u32 = 0b0000;
pub const TIM1_CC2: u32 = 0b0001;
pub const TIM1_CC3: u32 = 0b0010;
pub const TIM2_CC2: u32 = 0b0011;
pub const TIM3_TRGO: u32 = 0b0100;
pub const EXTI11: u32 = 0b0110;
pub const TIM1_TRGO: u32 = 0b1001;
pub const TIM1_TRGO2: u32 = 0b1010;
pub const TIM2_TRGO: u32 = 0b1011;
pub const TIM6_TRGO: u32 = 0b1101;
pub const TIM15_TRGO: u32 = 0b1110;
pub const TIM3_CC4: u32 = 0b1111;
}
}
pub mod ALIGN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Right: u32 = 0b0;
pub const Left: u32 = 0b1;
}
}
pub mod RES {
pub const offset: u32 = 3;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Bits12: u32 = 0b00;
pub const Bits10: u32 = 0b01;
pub const Bits8: u32 = 0b10;
pub const Bits6: u32 = 0b11;
}
}
pub mod DMACFG {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OneShot: u32 = 0b0;
pub const Circular: u32 = 0b1;
}
}
pub mod DMAEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
}
pub mod SMPR1 {
pub mod SMP9 {
pub const offset: u32 = 27;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Cycles1_5: u32 = 0b000;
pub const Cycles2_5: u32 = 0b001;
pub const Cycles4_5: u32 = 0b010;
pub const Cycles7_5: u32 = 0b011;
pub const Cycles19_5: u32 = 0b100;
pub const Cycles61_5: u32 = 0b101;
pub const Cycles181_5: u32 = 0b110;
pub const Cycles601_5: u32 = 0b111;
}
}
pub mod SMP8 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP7 {
pub const offset: u32 = 21;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP6 {
pub const offset: u32 = 18;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP5 {
pub const offset: u32 = 15;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP4 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP3 {
pub const offset: u32 = 9;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP2 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
pub mod SMP1 {
pub const offset: u32 = 3;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP9::RW;
}
}
pub mod SMPR2 {
pub mod SMP18 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Cycles1_5: u32 = 0b000;
pub const Cycles2_5: u32 = 0b001;
pub const Cycles4_5: u32 = 0b010;
pub const Cycles7_5: u32 = 0b011;
pub const Cycles19_5: u32 = 0b100;
pub const Cycles61_5: u32 = 0b101;
pub const Cycles181_5: u32 = 0b110;
pub const Cycles601_5: u32 = 0b111;
}
}
pub mod SMP17 {
pub const offset: u32 = 21;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP16 {
pub const offset: u32 = 18;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP15 {
pub const offset: u32 = 15;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP14 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP13 {
pub const offset: u32 = 9;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP12 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP11 {
pub const offset: u32 = 3;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
pub mod SMP10 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::SMP18::RW;
}
}
pub mod TR1 {
pub mod HT1 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LT1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TR2 {
pub mod HT2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LT2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TR3 {
pub mod HT3 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LT3 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SQR1 {
pub mod SQ4 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ3 {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ2 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ1 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod L {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SQR2 {
pub mod SQ9 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ8 {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ7 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ6 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ5 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SQR3 {
pub mod SQ14 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ13 {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ12 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ11 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ10 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SQR4 {
pub mod SQ16 {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SQ15 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DR {
pub mod RDATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod JSQR {
pub mod JSQ4 {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod JSQ3 {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod JSQ2 {
pub const offset: u32 = 14;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod JSQ1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod JEXTEN {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b00;
pub const RisingEdge: u32 = 0b01;
pub const FallingEdge: u32 = 0b10;
pub const BothEdges: u32 = 0b11;
}
}
pub mod JEXTSEL {
pub const offset: u32 = 2;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HRTIM_ADCTRG2: u32 = 0b1001;
pub const HRTIM_ADCTRG4: u32 = 0b1010;
}
}
pub mod JL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod OFR1 {
pub mod OFFSET1_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OFFSET1_CH {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OFFSET1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod OFR2 {
pub mod OFFSET2_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OFFSET2_CH {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OFFSET2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod OFR3 {
pub mod OFFSET3_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OFFSET3_CH {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OFFSET3 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod OFR4 {
pub mod OFFSET4_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OFFSET4_CH {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OFFSET4 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod JDR1 {
pub mod JDATA1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod JDR2 {
pub mod JDATA2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod JDR3 {
pub mod JDATA3 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod JDR4 {
pub mod JDATA4 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AWD2CR {
pub mod AWD2CH0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NotMonitored: u32 = 0b0;
pub const Monitored: u32 = 0b1;
}
}
pub mod AWD2CH1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH5 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH6 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH7 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH8 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH9 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH10 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH11 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH12 {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH13 {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH14 {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH15 {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH16 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
pub mod AWD2CH17 {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD2CH0::RW;
}
}
pub mod AWD3CR {
pub mod AWD3CH0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NotMonitored: u32 = 0b0;
pub const Monitored: u32 = 0b1;
}
}
pub mod AWD3CH1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH5 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH6 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH7 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH8 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH9 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH10 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH11 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH12 {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH13 {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH14 {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH15 {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH16 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
pub mod AWD3CH17 {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::AWD3CH0::RW;
}
}
pub mod DIFSEL {
pub mod DIFSEL_10 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SingleEnded: u32 = 0b0;
pub const Differential: u32 = 0b1;
}
}
pub mod DIFSEL_11 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_12 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_13 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_14 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_15 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_16 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_17 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_18 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_19 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_110 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_111 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_112 {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_113 {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_114 {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_115 {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_116 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
pub mod DIFSEL_117 {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::DIFSEL_10::RW;
}
}
pub mod CALFACT {
pub mod CALFACT_D {
pub const offset: u32 = 16;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CALFACT_S {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub ISR: RWRegister<u32>,
pub IER: RWRegister<u32>,
pub CR: RWRegister<u32>,
pub CFGR: RWRegister<u32>,
_reserved1: [u8; 4],
pub SMPR1: RWRegister<u32>,
pub SMPR2: RWRegister<u32>,
_reserved2: [u8; 4],
pub TR1: RWRegister<u32>,
pub TR2: RWRegister<u32>,
pub TR3: RWRegister<u32>,
_reserved3: [u8; 4],
pub SQR1: RWRegister<u32>,
pub SQR2: RWRegister<u32>,
pub SQR3: RWRegister<u32>,
pub SQR4: RWRegister<u32>,
pub DR: RORegister<u32>,
_reserved4: [u8; 8],
pub JSQR: RWRegister<u32>,
_reserved5: [u8; 16],
pub OFR1: RWRegister<u32>,
pub OFR2: RWRegister<u32>,
pub OFR3: RWRegister<u32>,
pub OFR4: RWRegister<u32>,
_reserved6: [u8; 16],
pub JDR1: RORegister<u32>,
pub JDR2: RORegister<u32>,
pub JDR3: RORegister<u32>,
pub JDR4: RORegister<u32>,
_reserved7: [u8; 16],
pub AWD2CR: RWRegister<u32>,
pub AWD3CR: RWRegister<u32>,
_reserved8: [u8; 8],
pub DIFSEL: RWRegister<u32>,
pub CALFACT: RWRegister<u32>,
}
pub struct ResetValues {
pub ISR: u32,
pub IER: u32,
pub CR: u32,
pub CFGR: u32,
pub SMPR1: u32,
pub SMPR2: u32,
pub TR1: u32,
pub TR2: u32,
pub TR3: u32,
pub SQR1: u32,
pub SQR2: u32,
pub SQR3: u32,
pub SQR4: u32,
pub DR: u32,
pub JSQR: u32,
pub OFR1: u32,
pub OFR2: u32,
pub OFR3: u32,
pub OFR4: u32,
pub JDR1: u32,
pub JDR2: u32,
pub JDR3: u32,
pub JDR4: u32,
pub AWD2CR: u32,
pub AWD3CR: u32,
pub DIFSEL: u32,
pub CALFACT: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}
pub mod ADC1 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x50000000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
ISR: 0x00000000,
IER: 0x00000000,
CR: 0x00000000,
CFGR: 0x00000000,
SMPR1: 0x00000000,
SMPR2: 0x00000000,
TR1: 0x0FFF0000,
TR2: 0x0FFF0000,
TR3: 0x0FFF0000,
SQR1: 0x00000000,
SQR2: 0x00000000,
SQR3: 0x00000000,
SQR4: 0x00000000,
DR: 0x00000000,
JSQR: 0x00000000,
OFR1: 0x00000000,
OFR2: 0x00000000,
OFR3: 0x00000000,
OFR4: 0x00000000,
JDR1: 0x00000000,
JDR2: 0x00000000,
JDR3: 0x00000000,
JDR4: 0x00000000,
AWD2CR: 0x00000000,
AWD3CR: 0x00000000,
DIFSEL: 0x00000000,
CALFACT: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut ADC1_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC1_TAKEN {
None
} else {
ADC1_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC1_TAKEN && inst.addr == INSTANCE.addr {
ADC1_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
ADC1_TAKEN = true;
INSTANCE
}
}
pub const ADC1: *const RegisterBlock = 0x50000000 as *const _;
pub mod ADC2 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x50000100,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
ISR: 0x00000000,
IER: 0x00000000,
CR: 0x00000000,
CFGR: 0x00000000,
SMPR1: 0x00000000,
SMPR2: 0x00000000,
TR1: 0x0FFF0000,
TR2: 0x0FFF0000,
TR3: 0x0FFF0000,
SQR1: 0x00000000,
SQR2: 0x00000000,
SQR3: 0x00000000,
SQR4: 0x00000000,
DR: 0x00000000,
JSQR: 0x00000000,
OFR1: 0x00000000,
OFR2: 0x00000000,
OFR3: 0x00000000,
OFR4: 0x00000000,
JDR1: 0x00000000,
JDR2: 0x00000000,
JDR3: 0x00000000,
JDR4: 0x00000000,
AWD2CR: 0x00000000,
AWD3CR: 0x00000000,
DIFSEL: 0x00000000,
CALFACT: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut ADC2_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC2_TAKEN {
None
} else {
ADC2_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC2_TAKEN && inst.addr == INSTANCE.addr {
ADC2_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
ADC2_TAKEN = true;
INSTANCE
}
}
pub const ADC2: *const RegisterBlock = 0x50000100 as *const _;
pub mod ADC3 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x50000400,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
ISR: 0x00000000,
IER: 0x00000000,
CR: 0x00000000,
CFGR: 0x00000000,
SMPR1: 0x00000000,
SMPR2: 0x00000000,
TR1: 0x0FFF0000,
TR2: 0x0FFF0000,
TR3: 0x0FFF0000,
SQR1: 0x00000000,
SQR2: 0x00000000,
SQR3: 0x00000000,
SQR4: 0x00000000,
DR: 0x00000000,
JSQR: 0x00000000,
OFR1: 0x00000000,
OFR2: 0x00000000,
OFR3: 0x00000000,
OFR4: 0x00000000,
JDR1: 0x00000000,
JDR2: 0x00000000,
JDR3: 0x00000000,
JDR4: 0x00000000,
AWD2CR: 0x00000000,
AWD3CR: 0x00000000,
DIFSEL: 0x00000000,
CALFACT: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut ADC3_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC3_TAKEN {
None
} else {
ADC3_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC3_TAKEN && inst.addr == INSTANCE.addr {
ADC3_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
ADC3_TAKEN = true;
INSTANCE
}
}
pub const ADC3: *const RegisterBlock = 0x50000400 as *const _;
pub mod ADC4 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x50000500,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
ISR: 0x00000000,
IER: 0x00000000,
CR: 0x00000000,
CFGR: 0x00000000,
SMPR1: 0x00000000,
SMPR2: 0x00000000,
TR1: 0x0FFF0000,
TR2: 0x0FFF0000,
TR3: 0x0FFF0000,
SQR1: 0x00000000,
SQR2: 0x00000000,
SQR3: 0x00000000,
SQR4: 0x00000000,
DR: 0x00000000,
JSQR: 0x00000000,
OFR1: 0x00000000,
OFR2: 0x00000000,
OFR3: 0x00000000,
OFR4: 0x00000000,
JDR1: 0x00000000,
JDR2: 0x00000000,
JDR3: 0x00000000,
JDR4: 0x00000000,
AWD2CR: 0x00000000,
AWD3CR: 0x00000000,
DIFSEL: 0x00000000,
CALFACT: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut ADC4_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC4_TAKEN {
None
} else {
ADC4_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if ADC4_TAKEN && inst.addr == INSTANCE.addr {
ADC4_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
ADC4_TAKEN = true;
INSTANCE
}
}
pub const ADC4: *const RegisterBlock = 0x50000500 as *const _;