50 #ifndef ti_dl_dl_adc12__include 51 #define ti_dl_dl_adc12__include 56 #include <ti/devices/msp/msp.h> 59 #ifdef __MSPM0_HAS_ADC12__ 74 #define DL_ADC12_SEQ_END_ADDR_00 (ADC12_CTL2_ENDADD_ADDR_00) 79 #define DL_ADC12_SEQ_END_ADDR_01 (ADC12_CTL2_ENDADD_ADDR_01) 84 #define DL_ADC12_SEQ_END_ADDR_02 (ADC12_CTL2_ENDADD_ADDR_02) 89 #define DL_ADC12_SEQ_END_ADDR_03 (ADC12_CTL2_ENDADD_ADDR_03) 94 #define DL_ADC12_SEQ_END_ADDR_04 (ADC12_CTL2_ENDADD_ADDR_04) 99 #define DL_ADC12_SEQ_END_ADDR_05 (ADC12_CTL2_ENDADD_ADDR_05) 104 #define DL_ADC12_SEQ_END_ADDR_06 (ADC12_CTL2_ENDADD_ADDR_06) 109 #define DL_ADC12_SEQ_END_ADDR_07 (ADC12_CTL2_ENDADD_ADDR_07) 114 #define DL_ADC12_SEQ_END_ADDR_08 (ADC12_CTL2_ENDADD_ADDR_08) 119 #define DL_ADC12_SEQ_END_ADDR_09 (ADC12_CTL2_ENDADD_ADDR_09) 124 #define DL_ADC12_SEQ_END_ADDR_10 (ADC12_CTL2_ENDADD_ADDR_10) 129 #define DL_ADC12_SEQ_END_ADDR_11 (ADC12_CTL2_ENDADD_ADDR_11) 140 #define DL_ADC12_SEQ_START_ADDR_00 (ADC12_CTL2_STARTADD_ADDR_00) 145 #define DL_ADC12_SEQ_START_ADDR_01 (ADC12_CTL2_STARTADD_ADDR_01) 150 #define DL_ADC12_SEQ_START_ADDR_02 (ADC12_CTL2_STARTADD_ADDR_02) 155 #define DL_ADC12_SEQ_START_ADDR_03 (ADC12_CTL2_STARTADD_ADDR_03) 160 #define DL_ADC12_SEQ_START_ADDR_04 (ADC12_CTL2_STARTADD_ADDR_04) 165 #define DL_ADC12_SEQ_START_ADDR_05 (ADC12_CTL2_STARTADD_ADDR_05) 170 #define DL_ADC12_SEQ_START_ADDR_06 (ADC12_CTL2_STARTADD_ADDR_06) 175 #define DL_ADC12_SEQ_START_ADDR_07 (ADC12_CTL2_STARTADD_ADDR_07) 180 #define DL_ADC12_SEQ_START_ADDR_08 (ADC12_CTL2_STARTADD_ADDR_08) 185 #define DL_ADC12_SEQ_START_ADDR_09 (ADC12_CTL2_STARTADD_ADDR_09) 190 #define DL_ADC12_SEQ_START_ADDR_10 (ADC12_CTL2_STARTADD_ADDR_10) 195 #define DL_ADC12_SEQ_START_ADDR_11 (ADC12_CTL2_STARTADD_ADDR_11) 206 #define DL_ADC12_SAMP_MODE_SINGLE (ADC12_CTL1_CONSEQ_SINGLE) 211 #define DL_ADC12_SAMP_MODE_SINGLE_REPEAT (ADC12_CTL1_CONSEQ_REPEATSINGLE) 216 #define DL_ADC12_SAMP_MODE_SEQUENCE (ADC12_CTL1_CONSEQ_SEQUENCE) 221 #define DL_ADC12_SAMP_MODE_SEQUENCE_REPEAT (ADC12_CTL1_CONSEQ_REPEATSEQUENCE) 233 #define DL_ADC12_HW_AVG_NUM_ACC_DISABLED (ADC12_CTL1_AVGN_DISABLE) 239 #define DL_ADC12_HW_AVG_NUM_ACC_2 (ADC12_CTL1_AVGN_AVG_2) 245 #define DL_ADC12_HW_AVG_NUM_ACC_4 (ADC12_CTL1_AVGN_AVG_4) 251 #define DL_ADC12_HW_AVG_NUM_ACC_8 (ADC12_CTL1_AVGN_AVG_8) 257 #define DL_ADC12_HW_AVG_NUM_ACC_16 (ADC12_CTL1_AVGN_AVG_16) 263 #define DL_ADC12_HW_AVG_NUM_ACC_32 (ADC12_CTL1_AVGN_AVG_32) 269 #define DL_ADC12_HW_AVG_NUM_ACC_64 (ADC12_CTL1_AVGN_AVG_64) 275 #define DL_ADC12_HW_AVG_NUM_ACC_128 (ADC12_CTL1_AVGN_AVG_128) 286 #define DL_ADC12_HW_AVG_DEN_DIV_BY_1 (ADC12_CTL1_AVGD_SHIFT0) 291 #define DL_ADC12_HW_AVG_DEN_DIV_BY_2 (ADC12_CTL1_AVGD_SHIFT1) 296 #define DL_ADC12_HW_AVG_DEN_DIV_BY_4 (ADC12_CTL1_AVGD_SHIFT2) 301 #define DL_ADC12_HW_AVG_DEN_DIV_BY_8 (ADC12_CTL1_AVGD_SHIFT3) 306 #define DL_ADC12_HW_AVG_DEN_DIV_BY_16 (ADC12_CTL1_AVGD_SHIFT4) 311 #define DL_ADC12_HW_AVG_DEN_DIV_BY_32 (ADC12_CTL1_AVGD_SHIFT5) 316 #define DL_ADC12_HW_AVG_DEN_DIV_BY_64 (ADC12_CTL1_AVGD_SHIFT6) 321 #define DL_ADC12_HW_AVG_DEN_DIV_BY_128 (ADC12_CTL1_AVGD_SHIFT7) 332 #define DL_ADC12_POWER_DOWN_MODE_AUTO (ADC12_CTL0_PWRDN_AUTO) 337 #define DL_ADC12_POWER_DOWN_MODE_MANUAL (ADC12_CTL0_PWRDN_MANUAL) 347 #define DL_ADC12_INPUT_CHAN_0 (ADC12_MEMCTL_CHANSEL_CHAN_0) 352 #define DL_ADC12_INPUT_CHAN_1 (ADC12_MEMCTL_CHANSEL_CHAN_1) 357 #define DL_ADC12_INPUT_CHAN_2 (ADC12_MEMCTL_CHANSEL_CHAN_2) 362 #define DL_ADC12_INPUT_CHAN_3 (ADC12_MEMCTL_CHANSEL_CHAN_3) 367 #define DL_ADC12_INPUT_CHAN_4 (ADC12_MEMCTL_CHANSEL_CHAN_4) 372 #define DL_ADC12_INPUT_CHAN_5 (ADC12_MEMCTL_CHANSEL_CHAN_5) 377 #define DL_ADC12_INPUT_CHAN_6 (ADC12_MEMCTL_CHANSEL_CHAN_6) 382 #define DL_ADC12_INPUT_CHAN_7 (ADC12_MEMCTL_CHANSEL_CHAN_7) 387 #define DL_ADC12_INPUT_CHAN_8 (ADC12_MEMCTL_CHANSEL_CHAN_8) 392 #define DL_ADC12_INPUT_CHAN_9 (ADC12_MEMCTL_CHANSEL_CHAN_9) 397 #define DL_ADC12_INPUT_CHAN_10 (ADC12_MEMCTL_CHANSEL_CHAN_10) 402 #define DL_ADC12_INPUT_CHAN_11 (ADC12_MEMCTL_CHANSEL_CHAN_11) 407 #define DL_ADC12_INPUT_CHAN_12 (ADC12_MEMCTL_CHANSEL_CHAN_12) 412 #define DL_ADC12_INPUT_CHAN_13 (ADC12_MEMCTL_CHANSEL_CHAN_13) 417 #define DL_ADC12_INPUT_CHAN_14 (ADC12_MEMCTL_CHANSEL_CHAN_14) 422 #define DL_ADC12_INPUT_CHAN_15 (ADC12_MEMCTL_CHANSEL_CHAN_15) 433 #define DL_ADC12_REFERENCE_VOLTAGE_VDDA (ADC12_MEMCTL_VRSEL_VDDA) 438 #define DL_ADC12_REFERENCE_VOLTAGE_EXTREF (ADC12_MEMCTL_VRSEL_EXTREF) 443 #define DL_ADC12_REFERENCE_VOLTAGE_INTREF (ADC12_MEMCTL_VRSEL_INTREF) 454 #define DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0 (ADC12_MEMCTL_STIME_SEL_SCOMP0) 459 #define DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP1 (ADC12_MEMCTL_STIME_SEL_SCOMP1) 470 #define DL_ADC12_AVERAGING_MODE_ENABLED (ADC12_MEMCTL_AVGEN_ENABLE) 475 #define DL_ADC12_AVERAGING_MODE_DISABLED (ADC12_MEMCTL_AVGEN_DISABLE) 486 #define DL_ADC12_BURN_OUT_SOURCE_ENABLED (ADC12_MEMCTL_BCSEN_ENABLE) 491 #define DL_ADC12_BURN_OUT_SOURCE_DISABLED (ADC12_MEMCTL_BCSEN_DISABLE) 502 #define DL_ADC12_TRIGGER_MODE_AUTO_NEXT (ADC12_MEMCTL_TRIG_AUTO_NEXT) 507 #define DL_ADC12_TRIGGER_MODE_TRIGGER_NEXT (ADC12_MEMCTL_TRIG_TRIGGER_NEXT) 518 #define DL_ADC12_WINDOWS_COMP_MODE_ENABLED (ADC12_MEMCTL_WINCOMP_ENABLE) 523 #define DL_ADC12_WINDOWS_COMP_MODE_DISABLED (ADC12_MEMCTL_WINCOMP_DISABLE) 534 #define DL_ADC12_STATUS_CONVERSION_ACTIVE (ADC12_STATUS_BUSY_ACTIVE) 539 #define DL_ADC12_STATUS_CONVERSION_IDLE (ADC12_STATUS_BUSY_IDLE) 550 #define DL_ADC12_STATUS_REFERENCE_READY (ADC12_STATUS_REFBUFRDY_READY) 555 #define DL_ADC12_STATUS_REFERENCE_NOTREADY (ADC12_STATUS_REFBUFRDY_NOTREADY) 566 #define DL_ADC12_INTERRUPT_OVERFLOW (ADC12_INT_EVENT0_IMASK_OVIFG_SET) 571 #define DL_ADC12_INTERRUPT_TRIG_OVF (ADC12_INT_EVENT0_IMASK_TOVIFG_SET) 576 #define DL_ADC12_INTERRUPT_WINDOW_COMP_HIGH (ADC12_INT_EVENT0_IMASK_HIGHIFG_SET) 581 #define DL_ADC12_INTERRUPT_WINDOW_COMP_LOW (ADC12_INT_EVENT0_IMASK_LOWIFG_SET) 587 #define DL_ADC12_INTERRUPT_INIFG (ADC12_INT_EVENT0_IMASK_INIFG_SET) 592 #define DL_ADC12_INTERRUPT_DMA_DONE (ADC12_INT_EVENT0_IMASK_DMADONE_SET) 597 #define DL_ADC12_INTERRUPT_UNDERFLOW (ADC12_INT_EVENT0_IMASK_UVIFG_SET) 602 #define DL_ADC12_INTERRUPT_MEM0_RESULT_LOADED \ 603 (ADC12_INT_EVENT0_IMASK_MEMRESIFG0_SET) 608 #define DL_ADC12_INTERRUPT_MEM1_RESULT_LOADED \ 609 (ADC12_INT_EVENT0_IMASK_MEMRESIFG1_SET) 614 #define DL_ADC12_INTERRUPT_MEM2_RESULT_LOADED \ 615 (ADC12_INT_EVENT0_IMASK_MEMRESIFG2_SET) 620 #define DL_ADC12_INTERRUPT_MEM3_RESULT_LOADED \ 621 (ADC12_INT_EVENT0_IMASK_MEMRESIFG3_SET) 626 #define DL_ADC12_INTERRUPT_MEM4_RESULT_LOADED \ 627 (ADC12_INT_EVENT0_IMASK_MEMRESIFG4_SET) 632 #define DL_ADC12_INTERRUPT_MEM5_RESULT_LOADED \ 633 (ADC12_INT_EVENT0_IMASK_MEMRESIFG5_SET) 638 #define DL_ADC12_INTERRUPT_MEM6_RESULT_LOADED \ 639 (ADC12_INT_EVENT0_IMASK_MEMRESIFG6_SET) 644 #define DL_ADC12_INTERRUPT_MEM7_RESULT_LOADED \ 645 (ADC12_INT_EVENT0_IMASK_MEMRESIFG7_SET) 650 #define DL_ADC12_INTERRUPT_MEM8_RESULT_LOADED \ 651 (ADC12_INT_EVENT0_IMASK_MEMRESIFG8_SET) 656 #define DL_ADC12_INTERRUPT_MEM9_RESULT_LOADED \ 657 (ADC12_INT_EVENT0_IMASK_MEMRESIFG9_SET) 662 #define DL_ADC12_INTERRUPT_MEM10_RESULT_LOADED \ 663 (ADC12_INT_EVENT0_IMASK_MEMRESIFG10_SET) 668 #define DL_ADC12_INTERRUPT_MEM11_RESULT_LOADED \ 669 (ADC12_INT_EVENT0_IMASK_MEMRESIFG11_SET) 680 #define DL_ADC12_EVENT_WINDOW_COMP_HIGH (ADC12_INT_EVENT1_IMASK_HIGHIFG_SET) 685 #define DL_ADC12_EVENT_WINDOW_COMP_LOW (ADC12_INT_EVENT1_IMASK_LOWIFG_SET) 690 #define DL_ADC12_EVENT_INIFG (ADC12_INT_EVENT1_IMASK_INIFG_SET) 695 #define DL_ADC12_EVENT_MEM0_RESULT_LOADED \ 696 (ADC12_INT_EVENT1_IMASK_MEMRESIFG0_SET) 707 #define DL_ADC12_DMA_MEM0_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG0_SET) 712 #define DL_ADC12_DMA_MEM1_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG1_SET) 717 #define DL_ADC12_DMA_MEM2_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG2_SET) 722 #define DL_ADC12_DMA_MEM3_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG3_SET) 727 #define DL_ADC12_DMA_MEM4_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG4_SET) 732 #define DL_ADC12_DMA_MEM5_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG5_SET) 737 #define DL_ADC12_DMA_MEM6_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG6_SET) 742 #define DL_ADC12_DMA_MEM7_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG7_SET) 747 #define DL_ADC12_DMA_MEM8_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG8_SET) 752 #define DL_ADC12_DMA_MEM9_RESULT_LOADED (ADC12_INT_EVENT2_IMASK_MEMRESIFG9_SET) 757 #define DL_ADC12_DMA_MEM10_RESULT_LOADED \ 758 (ADC12_INT_EVENT2_IMASK_MEMRESIFG10_SET) 763 #define DL_ADC12_DMA_MEM11_RESULT_LOADED \ 764 (ADC12_INT_EVENT2_IMASK_MEMRESIFG11_SET) 772 #define DL_ADC12_SVT_OFFSET ((uint32_t)0x555000 >> (uint32_t)2) 1019 adc12->ULLMEM.GPRCM.PWREN =
1020 (ADC12_PWREN_KEY_UNLOCK_W | ADC12_PWREN_ENABLE_ENABLE);
1030 adc12->ULLMEM.GPRCM.PWREN =
1031 (ADC12_PWREN_KEY_UNLOCK_W | ADC12_PWREN_ENABLE_DISABLE);
1044 return ((adc12->ULLMEM.GPRCM.PWREN & ADC12_PWREN_ENABLE_MASK) ==
1045 ADC12_PWREN_ENABLE_ENABLE);
1055 adc12->ULLMEM.GPRCM.RSTCTL =
1056 (ADC12_RSTCTL_KEY_UNLOCK_W | ADC12_RSTCTL_RESETSTKYCLR_CLR |
1057 ADC12_RSTCTL_RESETASSERT_ASSERT);
1071 return ((adc12->ULLMEM.GPRCM.STAT & ADC12_STAT_RESETSTKY_MASK) ==
1072 ADC12_STAT_RESETSTKY_RESET);
1096 uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc,
1097 uint32_t resolution, uint32_t dataFormat)
1100 (repeatMode | sampleMode | trigSrc),
1101 (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1102 ADC12_CTL1_TRIGSRC_MASK));
1105 (ADC12_CTL2_STARTADD_ADDR_00 | ADC12_CTL2_ENDADD_ADDR_00 | resolution |
1107 (ADC12_CTL2_STARTADD_MASK | ADC12_CTL2_ENDADD_MASK |
1108 ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1124 ADC12_Regs *adc12, uint32_t startAdd)
1127 &adc12->ULLMEM.CTL2, startAdd, ADC12_CTL2_STARTADD_MASK);
1140 return (adc12->ULLMEM.CTL2 & ADC12_CTL2_STARTADD_MASK);
1167 return (adc12->ULLMEM.CTL2 & ADC12_CTL2_ENDADD_MASK);
1190 uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc,
1191 uint32_t startAdd, uint32_t endAdd, uint32_t resolution,
1192 uint32_t dataFormat)
1195 (ADC12_CTL1_CONSEQ_SEQUENCE | repeatMode | sampleMode | trigSrc),
1196 (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1197 ADC12_CTL1_TRIGSRC_MASK));
1200 (startAdd | endAdd | resolution | dataFormat),
1201 (ADC12_CTL2_ENDADD_MASK | ADC12_CTL2_STARTADD_MASK |
1202 ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1214 return (adc12->ULLMEM.CTL2 & ADC12_CTL2_RES_MASK);
1226 return (adc12->ULLMEM.CTL2 & ADC12_CTL2_DF_MASK);
1238 return (adc12->ULLMEM.CTL1 & ADC12_CTL1_SAMPMODE_MASK);
1250 return (adc12->ULLMEM.CTL1 & ADC12_CTL1_CONSEQ_MASK);
1262 uint32_t trigSrc = adc12->ULLMEM.CTL1 & ADC12_CTL1_TRIGSRC_MASK;
1264 return (DL_ADC12_TRIG_SRC)(trigSrc);
1274 adc12->ULLMEM.CTL1 |= (ADC12_CTL1_SC_START);
1284 adc12->ULLMEM.CTL1 &= ~(ADC12_CTL1_SC_START);
1299 return ((adc12->ULLMEM.CTL1 & ADC12_CTL1_SC_MASK) == ADC12_CTL1_SC_START);
1309 adc12->ULLMEM.CTL2 |= (ADC12_CTL2_DMAEN_ENABLE);
1319 adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_DMAEN_ENABLE);
1334 return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_DMAEN_ENABLE) ==
1335 ADC12_CTL2_DMAEN_ENABLE);
1347 ADC12_Regs *adc12, uint8_t sampCnt)
1350 ADC12_CTL2_SAMPCNT_MASK);
1362 return (uint8_t)((adc12->ULLMEM.CTL2 & ADC12_CTL2_SAMPCNT_MASK) >> 11);
1372 adc12->ULLMEM.CTL2 |= (ADC12_CTL2_FIFOEN_ENABLE);
1383 adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_FIFOEN_ENABLE);
1399 return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_FIFOEN_MASK) ==
1400 ADC12_CTL2_FIFOEN_ENABLE);
1429 ADC12_Regs *adc12, uint32_t powerDownMode)
1432 &adc12->ULLMEM.CTL0, powerDownMode, ADC12_CTL0_PWRDN_MASK);
1446 return (adc12->ULLMEM.CTL0 & ADC12_CTL0_PWRDN_MASK);
1456 adc12->ULLMEM.CTL0 |= (ADC12_CTL0_ENC_ON);
1466 adc12->ULLMEM.CTL0 &= ~(ADC12_CTL0_ENC_ON);
1482 return ((adc12->ULLMEM.CTL0 & ADC12_CTL0_ENC_MASK) == ADC12_CTL0_ENC_ON);
1495 ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
1498 (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1511 adc12->ULLMEM.CTL1 & (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1523 ADC12_Regs *adc12, uint16_t adcclks)
1525 adc12->ULLMEM.SCOMP0 = (adcclks);
1537 return (uint16_t)(adc12->ULLMEM.SCOMP0 + (uint32_t) 1);
1549 ADC12_Regs *adc12, uint16_t adcclks)
1551 adc12->ULLMEM.SCOMP1 = (adcclks);
1563 return (uint16_t)(adc12->ULLMEM.SCOMP1 + (uint32_t) 1);
1576 ADC12_Regs *adc12, uint16_t threshold)
1578 adc12->ULLMEM.WCLOW = (threshold);
1591 ADC12_Regs *adc12, uint16_t threshold)
1593 adc12->ULLMEM.WCHIGH = (threshold);
1605 volatile const uint32_t *pReg = &adc12->ULLMEM.FIFODATA;
1643 uint32_t avgen, uint32_t bcsen, uint32_t trig, uint32_t wincomp)
1645 adc12->ULLMEM.MEMCTL[idx] =
1646 (chansel | vref | stime | avgen | bcsen | trig | wincomp);
1663 return (adc12->ULLMEM.MEMCTL[idx]);
1678 volatile const uint32_t *pReg = &adc12->ULLMEM.MEMRES[idx];
1709 return (adc12->ULLMEM.STATUS);
1722 adc12->ULLMEM.GPRCM.CLKCFG &= ~(ADC12_CLKCFG_CCONRUN_ENABLE);
1734 adc12->ULLMEM.GPRCM.CLKCFG |= (ADC12_CLKCFG_CCONRUN_ENABLE);
1747 adc12->ULLMEM.GPRCM.CLKCFG &= ~(ADC12_CLKCFG_CCONSTOP_ENABLE);
1759 adc12->ULLMEM.GPRCM.CLKCFG |= (ADC12_CLKCFG_CCONSTOP_ENABLE);
1771 ADC12_Regs *adc12, uint32_t interruptMask)
1773 adc12->ULLMEM.INT_EVENT0.IMASK |= (interruptMask);
1786 ADC12_Regs *adc12, uint32_t interruptMask)
1788 adc12->ULLMEM.INT_EVENT0.IMASK &= ~(interruptMask);
1804 ADC12_Regs *adc12, uint32_t interruptMask)
1806 return (adc12->ULLMEM.INT_EVENT0.IMASK & interruptMask);
1824 ADC12_Regs *adc12, uint32_t interruptMask)
1826 return (adc12->ULLMEM.INT_EVENT0.MIS & interruptMask);
1844 ADC12_Regs *adc12, uint32_t interruptMask)
1846 return (adc12->ULLMEM.INT_EVENT0.RIS & interruptMask);
1863 return ((DL_ADC12_IIDX) adc12->ULLMEM.INT_EVENT0.IIDX);
1876 ADC12_Regs *adc12, uint32_t interruptMask)
1878 adc12->ULLMEM.INT_EVENT0.ICLR |= (interruptMask);
1890 ADC12_Regs *adc12, uint8_t chanID)
1892 adc12->ULLMEM.FPUB_1 = (chanID & ADC12_FPUB_1_CHANID_MAXIMUM);
1906 return (uint8_t)(adc12->ULLMEM.FPUB_1 & ADC12_FPUB_1_CHANID_MAXIMUM);
1918 ADC12_Regs *adc12, uint8_t chanID)
1920 adc12->ULLMEM.FSUB_0 = (chanID & ADC12_FSUB_0_CHANID_MAXIMUM);
1934 return (uint8_t)(adc12->ULLMEM.FSUB_0 & ADC12_FSUB_0_CHANID_MAXIMUM);
1946 ADC12_Regs *adc12, uint32_t eventMask)
1948 adc12->ULLMEM.INT_EVENT1.IMASK |= (eventMask);
1960 ADC12_Regs *adc12, uint32_t eventMask)
1962 adc12->ULLMEM.INT_EVENT1.IMASK &= ~(eventMask);
1978 ADC12_Regs *adc12, uint32_t eventMask)
1980 return (adc12->ULLMEM.INT_EVENT1.IMASK & eventMask);
2001 ADC12_Regs *adc12, uint32_t eventMask)
2003 return (adc12->ULLMEM.INT_EVENT1.MIS & ~(eventMask));
2022 ADC12_Regs *adc12, uint32_t eventMask)
2024 return (adc12->ULLMEM.INT_EVENT1.RIS & ~(eventMask));
2036 ADC12_Regs *adc12, uint32_t eventMask)
2038 adc12->ULLMEM.INT_EVENT1.ICLR |= (eventMask);
2050 ADC12_Regs *adc12, uint32_t dmaMask)
2052 adc12->ULLMEM.INT_EVENT2.IMASK |= (dmaMask);
2064 ADC12_Regs *adc12, uint32_t dmaMask)
2066 adc12->ULLMEM.INT_EVENT2.IMASK &= ~(dmaMask);
2082 ADC12_Regs *adc12, uint32_t dmaMask)
2084 return (adc12->ULLMEM.INT_EVENT2.IMASK & dmaMask);
2105 ADC12_Regs *adc12, uint32_t dmaMask)
2107 return (adc12->ULLMEM.INT_EVENT2.MIS & ~(dmaMask));
2126 ADC12_Regs *adc12, uint32_t dmaMask)
2128 return (adc12->ULLMEM.INT_EVENT2.RIS & ~(dmaMask));
2140 ADC12_Regs *adc12, uint32_t dmaMask)
2142 adc12->ULLMEM.INT_EVENT2.ICLR |= (dmaMask);
__STATIC_INLINE void DL_ADC12_forceSYSOSCOnInRunMode(ADC12_Regs *adc12)
Forces SYSOSC to run at base frequency when device is in RUN mode.
Definition: dl_adc12.h:1732
DL_ADC12_SAMPLING_SOURCE
Definition: dl_adc12.h:829
DL_ADC12_CLOCK
Definition: dl_adc12.h:931
Definition: dl_adc12.h:933
__STATIC_INLINE void DL_Common_updateReg(volatile uint32_t *reg, uint32_t val, uint32_t mask)
Writes value to specified register - retaining bits unaffected by mask.
Definition: dl_common.h:63
Definition: dl_adc12.h:810
Definition: dl_adc12.h:984
Definition: dl_adc12.h:884
__STATIC_INLINE uint32_t DL_ADC12_getSamplingSource(ADC12_Regs *adc12)
Returns ADC12 sampling source.
Definition: dl_adc12.h:1236
__STATIC_INLINE uint32_t DL_ADC12_getHwAverageConfig(ADC12_Regs *adc12)
Return the hardware average configuration.
Definition: dl_adc12.h:1508
__STATIC_INLINE void DL_ADC12_enableDMA(ADC12_Regs *adc12)
Enables DMA for data transfer.
Definition: dl_adc12.h:1307
Definition: dl_adc12.h:981
Definition: dl_adc12.h:987
Definition: dl_adc12.h:798
__STATIC_INLINE bool DL_ADC12_isReset(ADC12_Regs *adc12)
Returns if adc12 peripheral was reset.
Definition: dl_adc12.h:1069
__STATIC_INLINE uint32_t DL_ADC12_getEndAddress(ADC12_Regs *adc12)
Gets end address for ADC conversion.
Definition: dl_adc12.h:1165
__STATIC_INLINE void DL_ADC12_setStartAddress(ADC12_Regs *adc12, uint32_t startAdd)
Sets the start address for ADC conversion.
Definition: dl_adc12.h:1123
__STATIC_INLINE void DL_ADC12_configConversionMem(ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx, uint32_t chansel, uint32_t vref, uint32_t stime, uint32_t avgen, uint32_t bcsen, uint32_t trig, uint32_t wincomp)
Configures conversion memory.
Definition: dl_adc12.h:1641
Definition: dl_adc12.h:935
Definition: dl_adc12.h:881
__STATIC_INLINE void DL_ADC12_enableEvent(ADC12_Regs *adc12, uint32_t eventMask)
Enable ADC12 event.
Definition: dl_adc12.h:1945
Definition: dl_adc12.h:850
Definition: dl_adc12.h:947
DL_ADC12_SAMP_CONV_RES
Definition: dl_adc12.h:848
Definition: dl_adc12.h:834
Definition: dl_adc12.h:959
Definition: dl_adc12.h:914
__STATIC_INLINE void DL_ADC12_clearEventsStatus(ADC12_Regs *adc12, uint32_t eventMask)
Clear pending adc12 events.
Definition: dl_adc12.h:2035
__STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATrigger(ADC12_Regs *adc12, uint32_t dmaMask)
Check which adc12 DMA triggers are enabled.
Definition: dl_adc12.h:2081
__STATIC_INLINE uint8_t DL_ADC12_getSubscriberChanID(ADC12_Regs *adc12)
Gets the event subscriber channel id.
Definition: dl_adc12.h:1932
Definition: dl_adc12.h:804
__STATIC_INLINE void DL_ADC12_setEndAddress(ADC12_Regs *adc12, uint32_t endAdd)
Sets the end address for ADC conversion.
Definition: dl_adc12.h:1152
__STATIC_INLINE uint16_t DL_ADC12_getSampleTime1(ADC12_Regs *adc12)
Get sample time 1.
Definition: dl_adc12.h:1561
Definition: dl_adc12.h:801
__STATIC_INLINE uint32_t DL_ADC12_getDataFormat(ADC12_Regs *adc12)
Returns ADC12 data format.
Definition: dl_adc12.h:1224
DL_ADC12_CLOCK_DIVIDE divideRatio
Definition: dl_adc12.h:1009
Definition: dl_adc12.h:908
__STATIC_INLINE uint32_t DL_ADC12_getFIFOData(ADC12_Regs *adc12)
Returns the data from the top of FIFO.
Definition: dl_adc12.h:1603
__STATIC_INLINE void DL_ADC12_setPowerDownMode(ADC12_Regs *adc12, uint32_t powerDownMode)
Configures ADC12 power down mode.
Definition: dl_adc12.h:1428
__STATIC_INLINE void DL_ADC12_reset(ADC12_Regs *adc12)
Resets adc12 peripheral.
Definition: dl_adc12.h:1053
Definition: dl_adc12.h:780
Definition: dl_adc12.h:926
Definition: dl_adc12.h:873
Definition: dl_adc12.h:953
__STATIC_INLINE uint16_t DL_ADC12_getMemResult(ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns the conversion result for the selected memory index.
Definition: dl_adc12.h:1675
__STATIC_INLINE uint32_t DL_ADC12_getEnabledEvents(ADC12_Regs *adc12, uint32_t eventMask)
Check which adc12 dma triggers are enabled.
Definition: dl_adc12.h:1977
Definition: dl_adc12.h:831
__STATIC_INLINE void DL_ADC12_setSampleTime1(ADC12_Regs *adc12, uint16_t adcclks)
Set sample time 1.
Definition: dl_adc12.h:1548
__STATIC_INLINE void DL_ADC12_initSeqSample(ADC12_Regs *adc12, uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc, uint32_t startAdd, uint32_t endAdd, uint32_t resolution, uint32_t dataFormat)
Initializes ADC12 for sequence sampling mode operation.
Definition: dl_adc12.h:1189
__STATIC_INLINE void DL_ADC12_disableForcingSYSOSCOnInStopMode(ADC12_Regs *adc12)
Allows SYSOSC to not run at base frequency when device is in STOP mode.
Definition: dl_adc12.h:1744
__STATIC_INLINE void DL_ADC12_setSampleTime0(ADC12_Regs *adc12, uint16_t adcclks)
Set sample time 0.
Definition: dl_adc12.h:1522
Definition: dl_adc12.h:956
__STATIC_INLINE void DL_ADC12_disableForcingSYSOSCOnInRunMode(ADC12_Regs *adc12)
Allows SYSOSC to not run at base frequency when device is in RUN mode.
Definition: dl_adc12.h:1719
__STATIC_INLINE bool DL_ADC12_isDMAEnabled(ADC12_Regs *adc12)
Check if DMA is enabled.
Definition: dl_adc12.h:1332
__STATIC_INLINE void DL_ADC12_forceSYSOSCOnInStopMode(ADC12_Regs *adc12)
Forces SYSOSC to run at base frequency when device is in STOP mode.
Definition: dl_adc12.h:1757
Definition: dl_adc12.h:944
Definition: dl_adc12.h:990
__STATIC_INLINE void DL_ADC12_enableConversions(ADC12_Regs *adc12)
Enable ADC12 conversion.
Definition: dl_adc12.h:1454
__STATIC_INLINE void DL_ADC12_enableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Enable ADC12 interrupt.
Definition: dl_adc12.h:1770
Definition: dl_adc12.h:899
__STATIC_INLINE void DL_ADC12_enablePower(ADC12_Regs *adc12)
Enables power on adc12 module.
Definition: dl_adc12.h:1017
Definition: dl_adc12.h:843
__STATIC_INLINE void DL_ADC12_enableDMATrigger(ADC12_Regs *adc12, uint32_t dmaMask)
Enable ADC12 DMA triggers.
Definition: dl_adc12.h:2049
Definition: dl_adc12.h:870
Definition: dl_adc12.h:795
__STATIC_INLINE void DL_ADC12_disableDMATrigger(ADC12_Regs *adc12, uint32_t dmaMask)
Disable ADC12 DMA triggers.
Definition: dl_adc12.h:2063
__STATIC_INLINE uint32_t DL_ADC12_getRawDMATriggerStatus(ADC12_Regs *adc12, uint32_t dmaMask)
Check DMA triggers flag of any adc12 dma trigger.
Definition: dl_adc12.h:2125
__STATIC_INLINE uint32_t DL_ADC12_getRawEventsStatus(ADC12_Regs *adc12, uint32_t eventMask)
Check event flag of any adc12 event.
Definition: dl_adc12.h:2021
Definition: dl_adc12.h:863
Definition: dl_adc12.h:877
void DL_ADC12_setClockConfig(ADC12_Regs *adc12, DL_ADC12_ClockConfig *config)
Configures ADC12 sample clock divider and sample clock frequency range.
__STATIC_INLINE void DL_ADC12_configHwAverage(ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
Configure ADC12 hardware average.
Definition: dl_adc12.h:1494
Definition: dl_adc12.h:789
__STATIC_INLINE bool DL_ADC12_isConversionsEnabled(ADC12_Regs *adc12)
Check if ADC12 conversion is enabled.
Definition: dl_adc12.h:1480
__STATIC_INLINE void DL_ADC12_clearDMATriggerStatus(ADC12_Regs *adc12, uint32_t dmaMask)
Clear pending adc12 DMA triggers.
Definition: dl_adc12.h:2139
Definition: dl_adc12.h:923
Configuration struct for DL_ADC12_setClockConfig.
Definition: dl_adc12.h:1000
Definition: dl_adc12.h:965
Definition: dl_adc12.h:852
Definition: dl_adc12.h:893
__STATIC_INLINE uint32_t DL_ADC12_getMemResultAddress(ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns the conversion result memory address.
Definition: dl_adc12.h:1692
Definition: dl_adc12.h:905
__STATIC_INLINE void DL_ADC12_stopConversion(ADC12_Regs *adc12)
Stop ADC12 conversion.
Definition: dl_adc12.h:1282
__STATIC_INLINE uint16_t DL_ADC12_getSampleTime0(ADC12_Regs *adc12)
Get sample time 0.
Definition: dl_adc12.h:1535
Definition: dl_adc12.h:840
Definition: dl_adc12.h:972
DL_ADC12_SAMP_CONV_DATA_FORMAT
Definition: dl_adc12.h:858
Definition: dl_adc12.h:783
DL_ADC12_CLOCK_FREQ_RANGE
Definition: dl_adc12.h:970
__STATIC_INLINE uint32_t DL_ADC12_getEnabledInterruptStatus(ADC12_Regs *adc12, uint32_t interruptMask)
Check interrupt flag of enabled ADC12 interrupt.
Definition: dl_adc12.h:1823
__STATIC_INLINE uint32_t DL_ADC12_getStartAddress(ADC12_Regs *adc12)
Gets start address for ADC conversion.
Definition: dl_adc12.h:1138
Definition: dl_adc12.h:854
__STATIC_INLINE void DL_ADC12_disableFIFO(ADC12_Regs *adc12)
Disables FIFO mode.
Definition: dl_adc12.h:1381
Definition: dl_adc12.h:821
Definition: dl_adc12.h:950
__STATIC_INLINE DL_ADC12_TRIG_SRC DL_ADC12_getTriggerSource(ADC12_Regs *adc12)
Returns ADC12 trigger mode.
Definition: dl_adc12.h:1260
__STATIC_INLINE uint32_t DL_ADC12_getResolution(ADC12_Regs *adc12)
Returns ADC12 resolution.
Definition: dl_adc12.h:1212
DL_ADC12_CLOCK_FREQ_RANGE freqRange
Definition: dl_adc12.h:1006
Definition: dl_adc12.h:962
Definition: dl_adc12.h:786
__STATIC_INLINE void DL_ADC12_setPublisherChanID(ADC12_Regs *adc12, uint8_t chanID)
Sets the event publisher channel id.
Definition: dl_adc12.h:1889
__STATIC_INLINE bool DL_ADC12_isConversionStarted(ADC12_Regs *adc12)
Check if ADC12 conversion is started.
Definition: dl_adc12.h:1297
DL_ADC12_IIDX
Definition: dl_adc12.h:868
#define DL_ADC12_SVT_OFFSET
This is an internal macro is used to resolve the offset to ADC12 SVT aperture.
Definition: dl_adc12.h:772
void DL_ADC12_getClockConfig(ADC12_Regs *adc12, DL_ADC12_ClockConfig *config)
Returns ADC12 sample clock configuration.
DL_ADC12_REPEAT_MODE
Definition: dl_adc12.h:818
Definition: dl_adc12.h:993
__STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATriggerStatus(ADC12_Regs *adc12, uint32_t dmaMask)
Check event flag of enabled adc12 DMA triggers.
Definition: dl_adc12.h:2104
__STATIC_INLINE void DL_ADC12_startConversion(ADC12_Regs *adc12)
Start ADC12 conversion.
Definition: dl_adc12.h:1272
__STATIC_INLINE void DL_ADC12_setSubscriberChanID(ADC12_Regs *adc12, uint8_t chanID)
Sets the event subscriber channel id.
Definition: dl_adc12.h:1917
Definition: dl_adc12.h:920
Definition: dl_adc12.h:824
Definition: dl_adc12.h:902
__STATIC_INLINE void DL_ADC12_disablePower(ADC12_Regs *adc12)
Disables power on adc12 module.
Definition: dl_adc12.h:1028
__STATIC_INLINE void DL_ADC12_configWinCompLowThld(ADC12_Regs *adc12, uint16_t threshold)
Configures window comparator low threshold.
Definition: dl_adc12.h:1575
DL_ADC12_CLOCK clockSel
Definition: dl_adc12.h:1003
__STATIC_INLINE uint32_t DL_ADC12_getEnabledEventStatus(ADC12_Regs *adc12, uint32_t eventMask)
Check event flag of enabled adc12 event.
Definition: dl_adc12.h:2000
__STATIC_INLINE void DL_ADC12_clearInterruptStatus(ADC12_Regs *adc12, uint32_t interruptMask)
Clear pending ADC12 interrupt.
Definition: dl_adc12.h:1875
__STATIC_INLINE void DL_ADC12_enableFIFO(ADC12_Regs *adc12)
Enables FIFO mode.
Definition: dl_adc12.h:1370
Definition: dl_adc12.h:813
Definition: dl_adc12.h:890
__STATIC_INLINE uint32_t DL_ADC12_getEnabledInterrupts(ADC12_Regs *adc12, uint32_t interruptMask)
Check which ADC12 interrupts are enabled.
Definition: dl_adc12.h:1803
__STATIC_INLINE uint32_t DL_ADC12_getRawInterruptStatus(ADC12_Regs *adc12, uint32_t interruptMask)
Check interrupt flag of any ADC12 interrupt.
Definition: dl_adc12.h:1843
__STATIC_INLINE void DL_ADC12_setDMASamplesCnt(ADC12_Regs *adc12, uint8_t sampCnt)
Set number of ADC results to be transfer on a DMA trigger.
Definition: dl_adc12.h:1346
Definition: dl_adc12.h:887
__STATIC_INLINE void DL_ADC12_disableEvent(ADC12_Regs *adc12, uint32_t eventMask)
Disable ADC12 event.
Definition: dl_adc12.h:1959
__STATIC_INLINE DL_ADC12_IIDX DL_ADC12_getPendingInterrupt(ADC12_Regs *adc12)
Get highest priority pending ADC12 interrupt.
Definition: dl_adc12.h:1861
__STATIC_INLINE uint8_t DL_ADC12_getDMASampleCnt(ADC12_Regs *adc12)
Get number of ADC results to be transfer on a DMA trigger.
Definition: dl_adc12.h:1360
DL_ADC12_TRIG_SRC
Definition: dl_adc12.h:838
Definition: dl_adc12.h:807
__STATIC_INLINE uint32_t DL_ADC12_getSampleMode(ADC12_Regs *adc12)
Returns ADC12 sampling mode.
Definition: dl_adc12.h:1248
DL_ADC12_MEM_IDX
Definition: dl_adc12.h:777
Definition: dl_adc12.h:978
__STATIC_INLINE void DL_ADC12_disableConversions(ADC12_Regs *adc12)
Disable ADC12 conversion.
Definition: dl_adc12.h:1464
Definition: dl_adc12.h:975
__STATIC_INLINE uint32_t DL_ADC12_getConversionMemConfig(ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns conversion memory configuration.
Definition: dl_adc12.h:1660
__STATIC_INLINE uint8_t DL_ADC12_getPublisherChanID(ADC12_Regs *adc12)
Gets the event publisher channel id.
Definition: dl_adc12.h:1904
Definition: dl_adc12.h:937
Definition: dl_adc12.h:792
Definition: dl_adc12.h:911
Definition: dl_adc12.h:917
__STATIC_INLINE uint32_t DL_ADC12_getFIFOAddress(ADC12_Regs *adc12)
Returns the address of FIFO data register.
Definition: dl_adc12.h:1617
__STATIC_INLINE void DL_ADC12_initSingleSample(ADC12_Regs *adc12, uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc, uint32_t resolution, uint32_t dataFormat)
Initializes ADC12 for single sampling mode operation. This initialization configures MEMCTL0 as the d...
Definition: dl_adc12.h:1095
__STATIC_INLINE void DL_ADC12_disableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Disable ADC12 interrupt.
Definition: dl_adc12.h:1785
__STATIC_INLINE uint32_t DL_ADC12_getPowerDownMode(ADC12_Regs *adc12)
Returns ADC power down mode.
Definition: dl_adc12.h:1444
Definition: dl_adc12.h:896
__STATIC_INLINE void DL_ADC12_configWinCompHighThld(ADC12_Regs *adc12, uint16_t threshold)
Configures window comparator high threshold.
Definition: dl_adc12.h:1590
DL_ADC12_CLOCK_DIVIDE
Definition: dl_adc12.h:941
__STATIC_INLINE uint32_t DL_ADC12_getStatus(ADC12_Regs *adc12)
Returns ADC12 status.
Definition: dl_adc12.h:1707
__STATIC_INLINE bool DL_ADC12_isFIFOEnabled(ADC12_Regs *adc12)
Checks if FIFO mode is enabled.
Definition: dl_adc12.h:1397
__STATIC_INLINE void DL_ADC12_disableDMA(ADC12_Regs *adc12)
Disables DMA for data transfer.
Definition: dl_adc12.h:1317
Definition: dl_adc12.h:860
__STATIC_INLINE bool DL_ADC12_isPowerEnabled(ADC12_Regs *adc12)
Returns if power on adc12 module.
Definition: dl_adc12.h:1042