use bitflags::bitflags; bitflags! { // Configuration Register // Address 0x00002000, Reset: 0x00080000, Name: AFECON #[derive(Clone, Copy)] pub struct AFECON: u32 { const DACBUFEN = 1 << 21; const DACREFEN = 1 << 20; const SINC2EN = 1 << 16; const DFTEN = 1 << 15; const WAVEGENEN = 1 << 14; const TEMPCONVEN = 1 << 13; const TEMPSENSEN = 1 << 12; const TIAEN = 1 << 11; const INAMPEN = 1 << 10; const EXBUFEN = 1 << 9; const ADCCONVEN = 1 << 8; const ADCEN = 1 << 7; const DACEN = 1 << 6; const HSREFDIS = 1 << 5; } } bitflags! { // Switch Matrix Configuration Register // Address 0x0000200C, Reset: 0x00000000, Name: SWCON #[derive(Clone, Copy)] #[derive(PartialEq)] pub struct SWCON: u32 { const NMUXCON_MSK = 0b1111 << 8; const NMUXCON_N2 = 0b0010 << 8; // N2 switch const NMUXCON_N5 = 0b0101 << 8; // N5 switch const PMUXCON_MSK = 0b1111 << 4; const PMUXCON_P2 = 0b0010 << 4; // P2 switch const PMUXCON_P11 = 0b1011 << 4; // P11 switch const DMUXCON_MSK = 0b1111; const DMUXCON_D5 = 0b0101; // D5 switch } } bitflags! { // Waveform Generator Configuration Register // Address 0x00002014, Reset: 0x00000030, Name: WGCON pub struct WGCON: u32 { const reset = 0x00000030; const DACGAINCAL = 1 << 5; const DACOFFSETCAL = 1 << 4; const TYPESEL_DAC = 0b00 << 1; // Direct DAC const TYPESEL_SIN = 0b10 << 1; // Sinusoidal const TYPESEL_TRA = 0b11 << 1; // Trapezoidal const TRAPRSTEN = 1; } } bitflags! { // ADC Configuration Register, // Address 0x000021A8, Reset: 0x00000000, Name: ADCCON pub struct ADCCON: u32 { const GNPGA_1_5 = 1 << 16; const MUXSELN_TEMP = 0b01011 << 8; const MUXSELP_TEMP = 0b01011; } }