MSPM0L211X_L112X Driver Library  2.10.00.04
dl_adc12.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 /*!****************************************************************************
33  * @file dl_adc12.h
34  * @brief Analog to Digital Converter (ADC)
35  * @defgroup ADC12 Analog to Digital Converter (ADC12)
36  *
37  * @anchor ti_dl_dl_adc12_Overview
38  * # Overview
39  *
40  * The Analog to Digital Converter Driver Library allows full configuration of
41  * the MSPM0 ADC module.
42  * The ADC is a high-performance successive-approximation-register (SAR)
43  * analog-to-digital converter.
44  *
45  * <hr>
46  ******************************************************************************/
50 #ifndef ti_dl_dl_adc12__include
51 #define ti_dl_dl_adc12__include
52 
53 #include <math.h>
54 #include <stdbool.h>
55 #include <stdint.h>
56 
57 #include <ti/devices/msp/msp.h>
58 #include <ti/driverlib/dl_common.h>
60 
61 #ifdef __MSPM0_HAS_ADC12__
62 
63 #ifdef __cplusplus
64 extern "C" {
65 #endif
66 
67 /* clang-format off */
68 
69 #if (ADC_SYS_NUM_ANALOG_CHAN > 16)
70 /*
71  * @brief Device has more than 16 ADC input channels
72  */
73 #define DEVICE_HAS_GREATER_THAN_16_INPUT_CHAN
74 #endif
75 
83 #define DL_ADC12_SEQ_END_ADDR_00 (ADC12_CTL2_ENDADD_ADDR_00)
84 
88 #define DL_ADC12_SEQ_END_ADDR_01 (ADC12_CTL2_ENDADD_ADDR_01)
89 
93 #define DL_ADC12_SEQ_END_ADDR_02 (ADC12_CTL2_ENDADD_ADDR_02)
94 
98 #define DL_ADC12_SEQ_END_ADDR_03 (ADC12_CTL2_ENDADD_ADDR_03)
99 
103 #define DL_ADC12_SEQ_END_ADDR_04 (ADC12_CTL2_ENDADD_ADDR_04)
104 
108 #define DL_ADC12_SEQ_END_ADDR_05 (ADC12_CTL2_ENDADD_ADDR_05)
109 
113 #define DL_ADC12_SEQ_END_ADDR_06 (ADC12_CTL2_ENDADD_ADDR_06)
114 
118 #define DL_ADC12_SEQ_END_ADDR_07 (ADC12_CTL2_ENDADD_ADDR_07)
119 
123 #define DL_ADC12_SEQ_END_ADDR_08 (ADC12_CTL2_ENDADD_ADDR_08)
124 
128 #define DL_ADC12_SEQ_END_ADDR_09 (ADC12_CTL2_ENDADD_ADDR_09)
129 
133 #define DL_ADC12_SEQ_END_ADDR_10 (ADC12_CTL2_ENDADD_ADDR_10)
134 
138 #define DL_ADC12_SEQ_END_ADDR_11 (ADC12_CTL2_ENDADD_ADDR_11)
139 
149 #define DL_ADC12_SEQ_START_ADDR_00 (ADC12_CTL2_STARTADD_ADDR_00)
150 
154 #define DL_ADC12_SEQ_START_ADDR_01 (ADC12_CTL2_STARTADD_ADDR_01)
155 
159 #define DL_ADC12_SEQ_START_ADDR_02 (ADC12_CTL2_STARTADD_ADDR_02)
160 
164 #define DL_ADC12_SEQ_START_ADDR_03 (ADC12_CTL2_STARTADD_ADDR_03)
165 
169 #define DL_ADC12_SEQ_START_ADDR_04 (ADC12_CTL2_STARTADD_ADDR_04)
170 
174 #define DL_ADC12_SEQ_START_ADDR_05 (ADC12_CTL2_STARTADD_ADDR_05)
175 
179 #define DL_ADC12_SEQ_START_ADDR_06 (ADC12_CTL2_STARTADD_ADDR_06)
180 
184 #define DL_ADC12_SEQ_START_ADDR_07 (ADC12_CTL2_STARTADD_ADDR_07)
185 
189 #define DL_ADC12_SEQ_START_ADDR_08 (ADC12_CTL2_STARTADD_ADDR_08)
190 
194 #define DL_ADC12_SEQ_START_ADDR_09 (ADC12_CTL2_STARTADD_ADDR_09)
195 
199 #define DL_ADC12_SEQ_START_ADDR_10 (ADC12_CTL2_STARTADD_ADDR_10)
200 
204 #define DL_ADC12_SEQ_START_ADDR_11 (ADC12_CTL2_STARTADD_ADDR_11)
205 
215 #define DL_ADC12_SAMP_MODE_SINGLE (ADC12_CTL1_CONSEQ_SINGLE)
216 
220 #define DL_ADC12_SAMP_MODE_SINGLE_REPEAT (ADC12_CTL1_CONSEQ_REPEATSINGLE)
221 
225 #define DL_ADC12_SAMP_MODE_SEQUENCE (ADC12_CTL1_CONSEQ_SEQUENCE)
226 
230 #define DL_ADC12_SAMP_MODE_SEQUENCE_REPEAT (ADC12_CTL1_CONSEQ_REPEATSEQUENCE)
231 
242 #define DL_ADC12_HW_AVG_NUM_ACC_DISABLED (ADC12_CTL1_AVGN_DISABLE)
243 
248 #define DL_ADC12_HW_AVG_NUM_ACC_2 (ADC12_CTL1_AVGN_AVG_2)
249 
254 #define DL_ADC12_HW_AVG_NUM_ACC_4 (ADC12_CTL1_AVGN_AVG_4)
255 
260 #define DL_ADC12_HW_AVG_NUM_ACC_8 (ADC12_CTL1_AVGN_AVG_8)
261 
266 #define DL_ADC12_HW_AVG_NUM_ACC_16 (ADC12_CTL1_AVGN_AVG_16)
267 
272 #define DL_ADC12_HW_AVG_NUM_ACC_32 (ADC12_CTL1_AVGN_AVG_32)
273 
278 #define DL_ADC12_HW_AVG_NUM_ACC_64 (ADC12_CTL1_AVGN_AVG_64)
279 
284 #define DL_ADC12_HW_AVG_NUM_ACC_128 (ADC12_CTL1_AVGN_AVG_128)
285 
295 #define DL_ADC12_HW_AVG_DEN_DIV_BY_1 (ADC12_CTL1_AVGD_SHIFT0)
296 
300 #define DL_ADC12_HW_AVG_DEN_DIV_BY_2 (ADC12_CTL1_AVGD_SHIFT1)
301 
305 #define DL_ADC12_HW_AVG_DEN_DIV_BY_4 (ADC12_CTL1_AVGD_SHIFT2)
306 
310 #define DL_ADC12_HW_AVG_DEN_DIV_BY_8 (ADC12_CTL1_AVGD_SHIFT3)
311 
315 #define DL_ADC12_HW_AVG_DEN_DIV_BY_16 (ADC12_CTL1_AVGD_SHIFT4)
316 
320 #define DL_ADC12_HW_AVG_DEN_DIV_BY_32 (ADC12_CTL1_AVGD_SHIFT5)
321 
325 #define DL_ADC12_HW_AVG_DEN_DIV_BY_64 (ADC12_CTL1_AVGD_SHIFT6)
326 
330 #define DL_ADC12_HW_AVG_DEN_DIV_BY_128 (ADC12_CTL1_AVGD_SHIFT7)
331 
341 #define DL_ADC12_POWER_DOWN_MODE_AUTO (ADC12_CTL0_PWRDN_AUTO)
342 
346 #define DL_ADC12_POWER_DOWN_MODE_MANUAL (ADC12_CTL0_PWRDN_MANUAL)
347 
356 #define DL_ADC12_INPUT_CHAN_0 (ADC12_MEMCTL_CHANSEL_CHAN_0)
357 
361 #define DL_ADC12_INPUT_CHAN_1 (ADC12_MEMCTL_CHANSEL_CHAN_1)
362 
366 #define DL_ADC12_INPUT_CHAN_2 (ADC12_MEMCTL_CHANSEL_CHAN_2)
367 
371 #define DL_ADC12_INPUT_CHAN_3 (ADC12_MEMCTL_CHANSEL_CHAN_3)
372 
376 #define DL_ADC12_INPUT_CHAN_4 (ADC12_MEMCTL_CHANSEL_CHAN_4)
377 
381 #define DL_ADC12_INPUT_CHAN_5 (ADC12_MEMCTL_CHANSEL_CHAN_5)
382 
386 #define DL_ADC12_INPUT_CHAN_6 (ADC12_MEMCTL_CHANSEL_CHAN_6)
387 
391 #define DL_ADC12_INPUT_CHAN_7 (ADC12_MEMCTL_CHANSEL_CHAN_7)
392 
396 #define DL_ADC12_INPUT_CHAN_8 (ADC12_MEMCTL_CHANSEL_CHAN_8)
397 
401 #define DL_ADC12_INPUT_CHAN_9 (ADC12_MEMCTL_CHANSEL_CHAN_9)
402 
406 #define DL_ADC12_INPUT_CHAN_10 (ADC12_MEMCTL_CHANSEL_CHAN_10)
407 
411 #define DL_ADC12_INPUT_CHAN_11 (ADC12_MEMCTL_CHANSEL_CHAN_11)
412 
416 #define DL_ADC12_INPUT_CHAN_12 (ADC12_MEMCTL_CHANSEL_CHAN_12)
417 
421 #define DL_ADC12_INPUT_CHAN_13 (ADC12_MEMCTL_CHANSEL_CHAN_13)
422 
426 #define DL_ADC12_INPUT_CHAN_14 (ADC12_MEMCTL_CHANSEL_CHAN_14)
427 
431 #define DL_ADC12_INPUT_CHAN_15 (ADC12_MEMCTL_CHANSEL_CHAN_15)
432 
433 #ifdef DEVICE_HAS_GREATER_THAN_16_INPUT_CHAN
434 
437 #define DL_ADC12_INPUT_CHAN_16 (ADC12_MEMCTL_CHANSEL_CHAN_16)
438 
442 #define DL_ADC12_INPUT_CHAN_17 (ADC12_MEMCTL_CHANSEL_CHAN_17)
443 
447 #define DL_ADC12_INPUT_CHAN_18 (ADC12_MEMCTL_CHANSEL_CHAN_18)
448 
452 #define DL_ADC12_INPUT_CHAN_19 (ADC12_MEMCTL_CHANSEL_CHAN_19)
453 
457 #define DL_ADC12_INPUT_CHAN_20 (ADC12_MEMCTL_CHANSEL_CHAN_20)
458 
462 #define DL_ADC12_INPUT_CHAN_21 (ADC12_MEMCTL_CHANSEL_CHAN_21)
463 
467 #define DL_ADC12_INPUT_CHAN_22 (ADC12_MEMCTL_CHANSEL_CHAN_22)
468 
472 #define DL_ADC12_INPUT_CHAN_23 (ADC12_MEMCTL_CHANSEL_CHAN_23)
473 
477 #define DL_ADC12_INPUT_CHAN_24 (ADC12_MEMCTL_CHANSEL_CHAN_24)
478 
482 #define DL_ADC12_INPUT_CHAN_25 (ADC12_MEMCTL_CHANSEL_CHAN_25)
483 
487 #define DL_ADC12_INPUT_CHAN_26 (ADC12_MEMCTL_CHANSEL_CHAN_26)
488 
492 #define DL_ADC12_INPUT_CHAN_27 (ADC12_MEMCTL_CHANSEL_CHAN_27)
493 
497 #define DL_ADC12_INPUT_CHAN_28 (ADC12_MEMCTL_CHANSEL_CHAN_28)
498 
502 #define DL_ADC12_INPUT_CHAN_29 (ADC12_MEMCTL_CHANSEL_CHAN_29)
503 
507 #define DL_ADC12_INPUT_CHAN_30 (ADC12_MEMCTL_CHANSEL_CHAN_30)
508 
512 #define DL_ADC12_INPUT_CHAN_31 (ADC12_MEMCTL_CHANSEL_CHAN_31)
513 
514 #endif /* DEVICE_HAS_GREATER_THAN_16_INPUT_CHAN */
515 
525 #define DL_ADC12_REFERENCE_VOLTAGE_VDDA (ADC12_MEMCTL_VRSEL_VDDA_VSSA)
526 
530 #define DL_ADC12_REFERENCE_VOLTAGE_EXTREF (ADC12_MEMCTL_VRSEL_EXTREF_VREFM)
531 
535 #define DL_ADC12_REFERENCE_VOLTAGE_INTREF (ADC12_MEMCTL_VRSEL_INTREF_VSSA)
536 
537 #ifndef __MSPM0_HAS_LEGACY_ADC_REFERENCE__
538 
541 #define DL_ADC12_REFERENCE_VOLTAGE_VDDA_VSSA (ADC12_MEMCTL_VRSEL_VDDA_VSSA)
542 
546 #define DL_ADC12_REFERENCE_VOLTAGE_EXTREF_VREFM (ADC12_MEMCTL_VRSEL_EXTREF_VREFM)
547 
551 #define DL_ADC12_REFERENCE_VOLTAGE_INTREF_VSSA (ADC12_MEMCTL_VRSEL_INTREF_VSSA)
552 
556 #define DL_ADC12_REFERENCE_VOLTAGE_VDDA_VREFM (ADC12_MEMCTL_VRSEL_VDDA_VREFM)
557 
561 #define DL_ADC12_REFERENCE_VOLTAGE_INTREF_VREFM (ADC12_MEMCTL_VRSEL_INTREF_VREFM)
562 
563 #endif
564 
573 #define DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0 (ADC12_MEMCTL_STIME_SEL_SCOMP0)
574 
578 #define DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP1 (ADC12_MEMCTL_STIME_SEL_SCOMP1)
579 
589 #define DL_ADC12_AVERAGING_MODE_ENABLED (ADC12_MEMCTL_AVGEN_ENABLE)
590 
594 #define DL_ADC12_AVERAGING_MODE_DISABLED (ADC12_MEMCTL_AVGEN_DISABLE)
595 
605 #define DL_ADC12_BURN_OUT_SOURCE_ENABLED (ADC12_MEMCTL_BCSEN_ENABLE)
606 
610 #define DL_ADC12_BURN_OUT_SOURCE_DISABLED (ADC12_MEMCTL_BCSEN_DISABLE)
611 
621 #define DL_ADC12_TRIGGER_MODE_AUTO_NEXT (ADC12_MEMCTL_TRIG_AUTO_NEXT)
622 
626 #define DL_ADC12_TRIGGER_MODE_TRIGGER_NEXT (ADC12_MEMCTL_TRIG_TRIGGER_NEXT)
627 
637 #define DL_ADC12_WINDOWS_COMP_MODE_ENABLED (ADC12_MEMCTL_WINCOMP_ENABLE)
638 
642 #define DL_ADC12_WINDOWS_COMP_MODE_DISABLED (ADC12_MEMCTL_WINCOMP_DISABLE)
643 
653 #define DL_ADC12_STATUS_CONVERSION_ACTIVE (ADC12_STATUS_BUSY_ACTIVE)
654 
658 #define DL_ADC12_STATUS_CONVERSION_IDLE (ADC12_STATUS_BUSY_IDLE)
659 
669 #define DL_ADC12_STATUS_REFERENCE_READY (ADC12_STATUS_REFBUFRDY_READY)
670 
674 #define DL_ADC12_STATUS_REFERENCE_NOTREADY (ADC12_STATUS_REFBUFRDY_NOTREADY)
675 
685 #define DL_ADC12_INTERRUPT_OVERFLOW (ADC12_CPU_INT_IMASK_OVIFG_SET)
686 
690 #define DL_ADC12_INTERRUPT_TRIG_OVF (ADC12_CPU_INT_IMASK_TOVIFG_SET)
691 
695 #define DL_ADC12_INTERRUPT_WINDOW_COMP_HIGH (ADC12_CPU_INT_IMASK_HIGHIFG_SET)
696 
700 #define DL_ADC12_INTERRUPT_WINDOW_COMP_LOW (ADC12_CPU_INT_IMASK_LOWIFG_SET)
701 
706 #define DL_ADC12_INTERRUPT_INIFG (ADC12_CPU_INT_IMASK_INIFG_SET)
707 
711 #define DL_ADC12_INTERRUPT_DMA_DONE (ADC12_CPU_INT_IMASK_DMADONE_SET)
712 
716 #define DL_ADC12_INTERRUPT_UNDERFLOW (ADC12_CPU_INT_IMASK_UVIFG_SET)
717 
721 #define DL_ADC12_INTERRUPT_MEM0_RESULT_LOADED \
722  (ADC12_CPU_INT_IMASK_MEMRESIFG0_SET)
723 
727 #define DL_ADC12_INTERRUPT_MEM1_RESULT_LOADED \
728  (ADC12_CPU_INT_IMASK_MEMRESIFG1_SET)
729 
733 #define DL_ADC12_INTERRUPT_MEM2_RESULT_LOADED \
734  (ADC12_CPU_INT_IMASK_MEMRESIFG2_SET)
735 
739 #define DL_ADC12_INTERRUPT_MEM3_RESULT_LOADED \
740  (ADC12_CPU_INT_IMASK_MEMRESIFG3_SET)
741 
745 #define DL_ADC12_INTERRUPT_MEM4_RESULT_LOADED \
746  (ADC12_CPU_INT_IMASK_MEMRESIFG4_SET)
747 
751 #define DL_ADC12_INTERRUPT_MEM5_RESULT_LOADED \
752  (ADC12_CPU_INT_IMASK_MEMRESIFG5_SET)
753 
757 #define DL_ADC12_INTERRUPT_MEM6_RESULT_LOADED \
758  (ADC12_CPU_INT_IMASK_MEMRESIFG6_SET)
759 
763 #define DL_ADC12_INTERRUPT_MEM7_RESULT_LOADED \
764  (ADC12_CPU_INT_IMASK_MEMRESIFG7_SET)
765 
769 #define DL_ADC12_INTERRUPT_MEM8_RESULT_LOADED \
770  (ADC12_CPU_INT_IMASK_MEMRESIFG8_SET)
771 
775 #define DL_ADC12_INTERRUPT_MEM9_RESULT_LOADED \
776  (ADC12_CPU_INT_IMASK_MEMRESIFG9_SET)
777 
781 #define DL_ADC12_INTERRUPT_MEM10_RESULT_LOADED \
782  (ADC12_CPU_INT_IMASK_MEMRESIFG10_SET)
783 
787 #define DL_ADC12_INTERRUPT_MEM11_RESULT_LOADED \
788  (ADC12_CPU_INT_IMASK_MEMRESIFG11_SET)
789 
799 #define DL_ADC12_EVENT_WINDOW_COMP_HIGH (ADC12_GEN_EVENT_IMASK_HIGHIFG_SET)
800 
804 #define DL_ADC12_EVENT_WINDOW_COMP_LOW (ADC12_GEN_EVENT_IMASK_LOWIFG_SET)
805 
809 #define DL_ADC12_EVENT_INIFG (ADC12_GEN_EVENT_IMASK_INIFG_SET)
810 
814 #define DL_ADC12_EVENT_MEM0_RESULT_LOADED \
815  (ADC12_GEN_EVENT_IMASK_MEMRESIFG0_SET)
816 
826 #define DL_ADC12_DMA_MEM0_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG0_SET)
827 
831 #define DL_ADC12_DMA_MEM1_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG1_SET)
832 
836 #define DL_ADC12_DMA_MEM2_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG2_SET)
837 
841 #define DL_ADC12_DMA_MEM3_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG3_SET)
842 
846 #define DL_ADC12_DMA_MEM4_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG4_SET)
847 
851 #define DL_ADC12_DMA_MEM5_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG5_SET)
852 
856 #define DL_ADC12_DMA_MEM6_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG6_SET)
857 
861 #define DL_ADC12_DMA_MEM7_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG7_SET)
862 
866 #define DL_ADC12_DMA_MEM8_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG8_SET)
867 
871 #define DL_ADC12_DMA_MEM9_RESULT_LOADED (ADC12_DMA_TRIG_IMASK_MEMRESIFG9_SET)
872 
876 #define DL_ADC12_DMA_MEM10_RESULT_LOADED \
877  (ADC12_DMA_TRIG_IMASK_MEMRESIFG10_SET)
878 
882 #define DL_ADC12_DMA_MEM11_RESULT_LOADED \
883  (ADC12_DMA_TRIG_IMASK_MEMRESIFG11_SET)
884 
905 #define DL_ADC12_SVT_OFFSET ((uint32_t)0x555000 >> (uint32_t)2)
906 
907 /* clang-format on */
908 
910 typedef enum {
911 
914 
917 
920 
923 
926 
929 
932 
935 
938 
941 
944 
947 
949 
951 typedef enum {
952 
954  DL_ADC12_REPEAT_MODE_ENABLED = ADC12_CTL1_CONSEQ_REPEATSINGLE,
955 
957  DL_ADC12_REPEAT_MODE_DISABLED = ADC12_CTL1_CONSEQ_SINGLE
958 
960 
962 typedef enum {
964  DL_ADC12_SAMPLING_SOURCE_AUTO = ADC12_CTL1_SAMPMODE_AUTO,
965 
967  DL_ADC12_SAMPLING_SOURCE_MANUAL = ADC12_CTL1_SAMPMODE_MANUAL
969 
971 typedef enum {
973  DL_ADC12_TRIG_SRC_SOFTWARE = ADC12_CTL1_TRIGSRC_SOFTWARE,
974 
976  DL_ADC12_TRIG_SRC_EVENT = ADC12_CTL1_TRIGSRC_EVENT
977 
979 
981 typedef enum {
983  DL_ADC12_SAMP_CONV_RES_12_BIT = ADC12_CTL2_RES_BIT_12,
985  DL_ADC12_SAMP_CONV_RES_10_BIT = ADC12_CTL2_RES_BIT_10,
987  DL_ADC12_SAMP_CONV_RES_8_BIT = ADC12_CTL2_RES_BIT_8
989 
991 typedef enum {
993  DL_ADC12_SAMP_CONV_DATA_FORMAT_UNSIGNED = ADC12_CTL2_DF_UNSIGNED,
994 
997 
999 
1001 typedef enum {
1003  DL_ADC12_IIDX_OVERFLOW = ADC12_CPU_INT_IIDX_STAT_OVIFG,
1004 
1006  DL_ADC12_IIDX_TRIG_OVERFLOW = ADC12_CPU_INT_IIDX_STAT_TOVIFG,
1007 
1010  DL_ADC12_IIDX_WINDOW_COMP_HIGH = ADC12_CPU_INT_IIDX_STAT_HIGHIFG,
1011 
1014  DL_ADC12_IIDX_WINDOW_COMP_LOW = ADC12_CPU_INT_IIDX_STAT_LOWIFG,
1015 
1017  DL_ADC12_IIDX_INIFG = ADC12_CPU_INT_IIDX_STAT_INIFG,
1018 
1020  DL_ADC12_IIDX_DMA_DONE = ADC12_CPU_INT_IIDX_STAT_DMADONE,
1021 
1023  DL_ADC12_IIDX_UNDERFLOW = ADC12_CPU_INT_IIDX_STAT_UVIFG,
1024 
1026  DL_ADC12_IIDX_MEM0_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG0,
1027 
1029  DL_ADC12_IIDX_MEM1_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG1,
1030 
1032  DL_ADC12_IIDX_MEM2_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG2,
1033 
1035  DL_ADC12_IIDX_MEM3_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG3,
1036 
1038  DL_ADC12_IIDX_MEM4_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG4,
1039 
1041  DL_ADC12_IIDX_MEM5_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG5,
1042 
1044  DL_ADC12_IIDX_MEM6_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG6,
1045 
1047  DL_ADC12_IIDX_MEM7_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG7,
1048 
1050  DL_ADC12_IIDX_MEM8_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG8,
1051 
1053  DL_ADC12_IIDX_MEM9_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG9,
1054 
1056  DL_ADC12_IIDX_MEM10_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG10,
1057 
1059  DL_ADC12_IIDX_MEM11_RESULT_LOADED = ADC12_CPU_INT_IIDX_STAT_MEMRESIFG11,
1060 } DL_ADC12_IIDX;
1061 
1062 /* clang-format on */
1064 typedef enum {
1066  DL_ADC12_CLOCK_SYSOSC = ADC12_CLKCFG_SAMPCLK_SYSOSC,
1068  DL_ADC12_CLOCK_ULPCLK = ADC12_CLKCFG_SAMPCLK_ULPCLK,
1070  DL_ADC12_CLOCK_HFCLK = ADC12_CLKCFG_SAMPCLK_HFCLK,
1071 } DL_ADC12_CLOCK;
1072 
1074 typedef enum {
1075 
1077  DL_ADC12_CLOCK_DIVIDE_1 = ADC12_CTL0_SCLKDIV_DIV_BY_1,
1078 
1080  DL_ADC12_CLOCK_DIVIDE_2 = ADC12_CTL0_SCLKDIV_DIV_BY_2,
1081 
1083  DL_ADC12_CLOCK_DIVIDE_4 = ADC12_CTL0_SCLKDIV_DIV_BY_4,
1084 
1086  DL_ADC12_CLOCK_DIVIDE_8 = ADC12_CTL0_SCLKDIV_DIV_BY_8,
1087 
1089  DL_ADC12_CLOCK_DIVIDE_16 = ADC12_CTL0_SCLKDIV_DIV_BY_16,
1090 
1092  DL_ADC12_CLOCK_DIVIDE_24 = ADC12_CTL0_SCLKDIV_DIV_BY_24,
1093 
1095  DL_ADC12_CLOCK_DIVIDE_32 = ADC12_CTL0_SCLKDIV_DIV_BY_32,
1096 
1098  DL_ADC12_CLOCK_DIVIDE_48 = ADC12_CTL0_SCLKDIV_DIV_BY_48,
1099 
1101 
1103 typedef enum {
1105  DL_ADC12_CLOCK_FREQ_RANGE_1_TO_4 = ADC12_CLKFREQ_FRANGE_RANGE1TO4,
1106 
1108  DL_ADC12_CLOCK_FREQ_RANGE_4_TO_8 = ADC12_CLKFREQ_FRANGE_RANGE4TO8,
1109 
1111  DL_ADC12_CLOCK_FREQ_RANGE_8_TO_16 = ADC12_CLKFREQ_FRANGE_RANGE8TO16,
1112 
1114  DL_ADC12_CLOCK_FREQ_RANGE_16_TO_20 = ADC12_CLKFREQ_FRANGE_RANGE16TO20,
1115 
1117  DL_ADC12_CLOCK_FREQ_RANGE_20_TO_24 = ADC12_CLKFREQ_FRANGE_RANGE20TO24,
1118 
1120  DL_ADC12_CLOCK_FREQ_RANGE_24_TO_32 = ADC12_CLKFREQ_FRANGE_RANGE24TO32,
1121 
1123  DL_ADC12_CLOCK_FREQ_RANGE_32_TO_40 = ADC12_CLKFREQ_FRANGE_RANGE32TO40,
1124 
1126  DL_ADC12_CLOCK_FREQ_RANGE_40_TO_48 = ADC12_CLKFREQ_FRANGE_RANGE40TO48,
1127 
1129 
1133 typedef struct {
1136  DL_ADC12_CLOCK clockSel;
1139  DL_ADC12_CLOCK_FREQ_RANGE freqRange;
1142  DL_ADC12_CLOCK_DIVIDE divideRatio;
1144 
1156 __STATIC_INLINE void DL_ADC12_enablePower(ADC12_Regs *adc12)
1157 {
1158  adc12->ULLMEM.GPRCM.PWREN =
1159  (ADC12_PWREN_KEY_UNLOCK_W | ADC12_PWREN_ENABLE_ENABLE);
1160 }
1161 
1173 __STATIC_INLINE void DL_ADC12_disablePower(ADC12_Regs *adc12)
1174 {
1175  adc12->ULLMEM.GPRCM.PWREN =
1176  (ADC12_PWREN_KEY_UNLOCK_W | ADC12_PWREN_ENABLE_DISABLE);
1177 }
1178 
1195 __STATIC_INLINE bool DL_ADC12_isPowerEnabled(const ADC12_Regs *adc12)
1196 {
1197  return ((adc12->ULLMEM.GPRCM.PWREN & ADC12_PWREN_ENABLE_MASK) ==
1198  ADC12_PWREN_ENABLE_ENABLE);
1199 }
1200 
1206 __STATIC_INLINE void DL_ADC12_reset(ADC12_Regs *adc12)
1207 {
1208  adc12->ULLMEM.GPRCM.RSTCTL =
1209  (ADC12_RSTCTL_KEY_UNLOCK_W | ADC12_RSTCTL_RESETSTKYCLR_CLR |
1210  ADC12_RSTCTL_RESETASSERT_ASSERT);
1211 }
1212 
1222 __STATIC_INLINE bool DL_ADC12_isReset(const ADC12_Regs *adc12)
1223 {
1224  return ((adc12->ULLMEM.GPRCM.STAT & ADC12_STAT_RESETSTKY_MASK) ==
1225  ADC12_STAT_RESETSTKY_RESET);
1226 }
1227 
1248 __STATIC_INLINE void DL_ADC12_initSingleSample(ADC12_Regs *adc12,
1249  DL_ADC12_REPEAT_MODE repeatMode, DL_ADC12_SAMPLING_SOURCE sampleMode,
1250  DL_ADC12_TRIG_SRC trigSrc, DL_ADC12_SAMP_CONV_RES resolution,
1251  DL_ADC12_SAMP_CONV_DATA_FORMAT dataFormat)
1252 {
1253  DL_Common_updateReg(&adc12->ULLMEM.CTL1,
1254  (repeatMode | sampleMode | trigSrc),
1255  (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1256  ADC12_CTL1_TRIGSRC_MASK));
1257 
1258  DL_Common_updateReg(&adc12->ULLMEM.CTL2,
1259  (ADC12_CTL2_STARTADD_ADDR_00 | ADC12_CTL2_ENDADD_ADDR_00 | resolution |
1260  dataFormat),
1261  (ADC12_CTL2_STARTADD_MASK | ADC12_CTL2_ENDADD_MASK |
1262  ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1263 }
1264 
1277 __STATIC_INLINE void DL_ADC12_setStartAddress(
1278  ADC12_Regs *adc12, uint32_t startAdd)
1279 {
1281  &adc12->ULLMEM.CTL2, startAdd, ADC12_CTL2_STARTADD_MASK);
1282 }
1283 
1292 __STATIC_INLINE uint32_t DL_ADC12_getStartAddress(const ADC12_Regs *adc12)
1293 {
1294  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_STARTADD_MASK);
1295 }
1296 
1306 __STATIC_INLINE void DL_ADC12_setEndAddress(ADC12_Regs *adc12, uint32_t endAdd)
1307 {
1308  DL_Common_updateReg(&adc12->ULLMEM.CTL2, endAdd, ADC12_CTL2_ENDADD_MASK);
1309 }
1310 
1319 __STATIC_INLINE uint32_t DL_ADC12_getEndAddress(const ADC12_Regs *adc12)
1320 {
1321  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_ENDADD_MASK);
1322 }
1323 
1343 __STATIC_INLINE void DL_ADC12_initSeqSample(ADC12_Regs *adc12,
1344  DL_ADC12_REPEAT_MODE repeatMode, DL_ADC12_SAMPLING_SOURCE sampleMode,
1345  DL_ADC12_TRIG_SRC trigSrc, uint32_t startAdd, uint32_t endAdd,
1346  DL_ADC12_SAMP_CONV_RES resolution,
1347  DL_ADC12_SAMP_CONV_DATA_FORMAT dataFormat)
1348 {
1349  DL_Common_updateReg(&adc12->ULLMEM.CTL1,
1350  (ADC12_CTL1_CONSEQ_SEQUENCE | repeatMode | sampleMode | trigSrc),
1351  (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1352  ADC12_CTL1_TRIGSRC_MASK));
1353 
1354  DL_Common_updateReg(&adc12->ULLMEM.CTL2,
1355  (startAdd | endAdd | resolution | dataFormat),
1356  (ADC12_CTL2_ENDADD_MASK | ADC12_CTL2_STARTADD_MASK |
1357  ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1358 }
1359 
1367 __STATIC_INLINE uint32_t DL_ADC12_getResolution(const ADC12_Regs *adc12)
1368 {
1369  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_RES_MASK);
1370 }
1371 
1379 __STATIC_INLINE uint32_t DL_ADC12_getDataFormat(const ADC12_Regs *adc12)
1380 {
1381  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_DF_MASK);
1382 }
1383 
1391 __STATIC_INLINE uint32_t DL_ADC12_getSamplingSource(const ADC12_Regs *adc12)
1392 {
1393  return (adc12->ULLMEM.CTL1 & ADC12_CTL1_SAMPMODE_MASK);
1394 }
1395 
1403 __STATIC_INLINE uint32_t DL_ADC12_getSampleMode(const ADC12_Regs *adc12)
1404 {
1405  return (adc12->ULLMEM.CTL1 & ADC12_CTL1_CONSEQ_MASK);
1406 }
1407 
1415 __STATIC_INLINE DL_ADC12_TRIG_SRC DL_ADC12_getTriggerSource(
1416  const ADC12_Regs *adc12)
1417 {
1418  uint32_t trigSrc = adc12->ULLMEM.CTL1 & ADC12_CTL1_TRIGSRC_MASK;
1419 
1420  return (DL_ADC12_TRIG_SRC)(trigSrc);
1421 }
1422 
1428 __STATIC_INLINE void DL_ADC12_startConversion(ADC12_Regs *adc12)
1429 {
1430  adc12->ULLMEM.CTL1 |= (ADC12_CTL1_SC_START);
1431 }
1432 
1438 __STATIC_INLINE void DL_ADC12_stopConversion(ADC12_Regs *adc12)
1439 {
1440  adc12->ULLMEM.CTL1 &= ~(ADC12_CTL1_SC_START);
1441 }
1442 
1453 __STATIC_INLINE bool DL_ADC12_isConversionStarted(const ADC12_Regs *adc12)
1454 {
1455  return ((adc12->ULLMEM.CTL1 & ADC12_CTL1_SC_MASK) == ADC12_CTL1_SC_START);
1456 }
1457 
1463 __STATIC_INLINE void DL_ADC12_enableDMA(ADC12_Regs *adc12)
1464 {
1465  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_DMAEN_ENABLE);
1466 }
1467 
1473 __STATIC_INLINE void DL_ADC12_disableDMA(ADC12_Regs *adc12)
1474 {
1475  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_DMAEN_ENABLE);
1476 }
1477 
1488 __STATIC_INLINE bool DL_ADC12_isDMAEnabled(const ADC12_Regs *adc12)
1489 {
1490  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_DMAEN_ENABLE) ==
1491  ADC12_CTL2_DMAEN_ENABLE);
1492 }
1493 
1502 __STATIC_INLINE void DL_ADC12_setDMASamplesCnt(
1503  ADC12_Regs *adc12, uint8_t sampCnt)
1504 {
1505  DL_Common_updateReg(&adc12->ULLMEM.CTL2, (((uint32_t) sampCnt) << 11),
1506  ADC12_CTL2_SAMPCNT_MASK);
1507 }
1508 
1516 __STATIC_INLINE uint8_t DL_ADC12_getDMASampleCnt(const ADC12_Regs *adc12)
1517 {
1518  return (uint8_t)((adc12->ULLMEM.CTL2 & ADC12_CTL2_SAMPCNT_MASK) >> 11);
1519 }
1520 
1526 __STATIC_INLINE void DL_ADC12_enableFIFO(ADC12_Regs *adc12)
1527 {
1528  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_FIFOEN_ENABLE);
1529 }
1530 
1537 __STATIC_INLINE void DL_ADC12_disableFIFO(ADC12_Regs *adc12)
1538 {
1539  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_FIFOEN_ENABLE);
1540 }
1541 
1553 __STATIC_INLINE bool DL_ADC12_isFIFOEnabled(const ADC12_Regs *adc12)
1554 {
1555  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_FIFOEN_MASK) ==
1556  ADC12_CTL2_FIFOEN_ENABLE);
1557 }
1558 
1567  ADC12_Regs *adc12, const DL_ADC12_ClockConfig *config);
1568 
1577  const ADC12_Regs *adc12, DL_ADC12_ClockConfig *config);
1578 
1586 __STATIC_INLINE void DL_ADC12_setPowerDownMode(
1587  ADC12_Regs *adc12, uint32_t powerDownMode)
1588 {
1590  &adc12->ULLMEM.CTL0, powerDownMode, ADC12_CTL0_PWRDN_MASK);
1591 }
1592 
1602 __STATIC_INLINE uint32_t DL_ADC12_getPowerDownMode(const ADC12_Regs *adc12)
1603 {
1604  return (adc12->ULLMEM.CTL0 & ADC12_CTL0_PWRDN_MASK);
1605 }
1606 
1612 __STATIC_INLINE void DL_ADC12_enableConversions(ADC12_Regs *adc12)
1613 {
1614  adc12->ULLMEM.CTL0 |= (ADC12_CTL0_ENC_ON);
1615 }
1616 
1622 __STATIC_INLINE void DL_ADC12_disableConversions(ADC12_Regs *adc12)
1623 {
1624  adc12->ULLMEM.CTL0 &= ~(ADC12_CTL0_ENC_ON);
1625 }
1626 
1638 __STATIC_INLINE bool DL_ADC12_isConversionsEnabled(const ADC12_Regs *adc12)
1639 {
1640  return ((adc12->ULLMEM.CTL0 & ADC12_CTL0_ENC_MASK) == ADC12_CTL0_ENC_ON);
1641 }
1642 
1652 __STATIC_INLINE void DL_ADC12_configHwAverage(
1653  ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
1654 {
1655  DL_Common_updateReg(&adc12->ULLMEM.CTL1, (numerator | denominator),
1656  (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1657 }
1658 
1666 __STATIC_INLINE uint32_t DL_ADC12_getHwAverageConfig(const ADC12_Regs *adc12)
1667 {
1668  return (
1669  adc12->ULLMEM.CTL1 & (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1670 }
1671 
1693 __STATIC_INLINE void DL_ADC12_setSampleTime0(
1694  ADC12_Regs *adc12, uint16_t adcclks)
1695 {
1696  adc12->ULLMEM.SCOMP0 = (adcclks);
1697 }
1698 
1706 __STATIC_INLINE uint16_t DL_ADC12_getSampleTime0(const ADC12_Regs *adc12)
1707 {
1708  return (uint16_t)(adc12->ULLMEM.SCOMP0 + (uint32_t) 1);
1709 }
1710 
1719 __STATIC_INLINE void DL_ADC12_setSampleTime1(
1720  ADC12_Regs *adc12, uint16_t adcclks)
1721 {
1722  adc12->ULLMEM.SCOMP1 = (adcclks);
1723 }
1724 
1732 __STATIC_INLINE uint16_t DL_ADC12_getSampleTime1(const ADC12_Regs *adc12)
1733 {
1734  return (uint16_t)(adc12->ULLMEM.SCOMP1 + (uint32_t) 1);
1735 }
1736 
1747 __STATIC_INLINE void DL_ADC12_configWinCompLowThld(
1748  ADC12_Regs *adc12, uint16_t threshold)
1749 {
1750  adc12->ULLMEM.WCLOW = (threshold);
1751 }
1752 
1763 __STATIC_INLINE void DL_ADC12_configWinCompHighThld(
1764  ADC12_Regs *adc12, uint16_t threshold)
1765 {
1766  adc12->ULLMEM.WCHIGH = (threshold);
1767 }
1768 
1776 __STATIC_INLINE uint32_t DL_ADC12_getFIFOData(const ADC12_Regs *adc12)
1777 {
1778  volatile const uint32_t *pReg = &adc12->ULLMEM.FIFODATA;
1779 
1780  return (uint32_t)(*(pReg + DL_ADC12_SVT_OFFSET));
1781 }
1782 
1790 __STATIC_INLINE uint32_t DL_ADC12_getFIFOAddress(const ADC12_Regs *adc12)
1791 {
1792  return ((uint32_t)(&adc12->ULLMEM.FIFODATA + DL_ADC12_SVT_OFFSET));
1793 }
1794 
1814 __STATIC_INLINE void DL_ADC12_configConversionMem(ADC12_Regs *adc12,
1815  DL_ADC12_MEM_IDX idx, uint32_t chansel, uint32_t vref, uint32_t stime,
1816  uint32_t avgen, uint32_t bcsen, uint32_t trig, uint32_t wincomp)
1817 {
1818  adc12->ULLMEM.MEMCTL[idx] =
1819  (chansel | vref | stime | avgen | bcsen | trig | wincomp);
1820 }
1821 
1833 __STATIC_INLINE uint32_t DL_ADC12_getConversionMemConfig(
1834  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1835 {
1836  return (adc12->ULLMEM.MEMCTL[idx]);
1837 }
1838 
1848 __STATIC_INLINE uint16_t DL_ADC12_getMemResult(
1849  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1850 {
1851  volatile const uint32_t *pReg = &adc12->ULLMEM.MEMRES[idx];
1852 
1853  return (uint16_t)(*(pReg + DL_ADC12_SVT_OFFSET));
1854 }
1855 
1865 __STATIC_INLINE uint32_t DL_ADC12_getMemResultAddress(
1866  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1867 {
1868  return ((uint32_t)(&adc12->ULLMEM.MEMRES[idx] + DL_ADC12_SVT_OFFSET));
1869 }
1870 
1880 __STATIC_INLINE uint32_t DL_ADC12_getStatus(const ADC12_Regs *adc12)
1881 {
1882  return (adc12->ULLMEM.STATUS);
1883 }
1884 
1893  ADC12_Regs *adc12)
1894 {
1895  DL_Common_updateReg(&adc12->ULLMEM.GPRCM.CLKCFG,
1896  (ADC12_CLKCFG_CCONRUN_DISABLE | ADC12_CLKCFG_KEY_UNLOCK_W),
1897  (ADC12_CLKCFG_CCONRUN_MASK | ADC12_CLKCFG_KEY_MASK));
1898 }
1899 
1907 __STATIC_INLINE void DL_ADC12_forceSYSOSCOnInRunMode(ADC12_Regs *adc12)
1908 {
1909  adc12->ULLMEM.GPRCM.CLKCFG |=
1910  (ADC12_CLKCFG_KEY_UNLOCK_W | ADC12_CLKCFG_CCONRUN_ENABLE);
1911 }
1912 
1921  ADC12_Regs *adc12)
1922 {
1923  DL_Common_updateReg(&adc12->ULLMEM.GPRCM.CLKCFG,
1924  (ADC12_CLKCFG_CCONSTOP_DISABLE | ADC12_CLKCFG_KEY_UNLOCK_W),
1925  (ADC12_CLKCFG_CCONSTOP_MASK | ADC12_CLKCFG_KEY_MASK));
1926 }
1927 
1935 __STATIC_INLINE void DL_ADC12_forceSYSOSCOnInStopMode(ADC12_Regs *adc12)
1936 {
1937  adc12->ULLMEM.GPRCM.CLKCFG |=
1938  (ADC12_CLKCFG_KEY_UNLOCK_W | ADC12_CLKCFG_CCONSTOP_ENABLE);
1939 }
1940 
1949 __STATIC_INLINE void DL_ADC12_enableInterrupt(
1950  ADC12_Regs *adc12, uint32_t interruptMask)
1951 {
1952  adc12->ULLMEM.CPU_INT.IMASK |= (interruptMask);
1953 }
1954 
1964 __STATIC_INLINE void DL_ADC12_disableInterrupt(
1965  ADC12_Regs *adc12, uint32_t interruptMask)
1966 {
1967  adc12->ULLMEM.CPU_INT.IMASK &= ~(interruptMask);
1968 }
1969 
1982 __STATIC_INLINE uint32_t DL_ADC12_getEnabledInterrupts(
1983  const ADC12_Regs *adc12, uint32_t interruptMask)
1984 {
1985  return (adc12->ULLMEM.CPU_INT.IMASK & interruptMask);
1986 }
1987 
2002 __STATIC_INLINE uint32_t DL_ADC12_getEnabledInterruptStatus(
2003  const ADC12_Regs *adc12, uint32_t interruptMask)
2004 {
2005  return (adc12->ULLMEM.CPU_INT.MIS & interruptMask);
2006 }
2007 
2022 __STATIC_INLINE uint32_t DL_ADC12_getRawInterruptStatus(
2023  const ADC12_Regs *adc12, uint32_t interruptMask)
2024 {
2025  return (adc12->ULLMEM.CPU_INT.RIS & interruptMask);
2026 }
2027 
2040 __STATIC_INLINE DL_ADC12_IIDX DL_ADC12_getPendingInterrupt(
2041  const ADC12_Regs *adc12)
2042 {
2043  return ((DL_ADC12_IIDX) adc12->ULLMEM.CPU_INT.IIDX);
2044 }
2045 
2055 __STATIC_INLINE void DL_ADC12_clearInterruptStatus(
2056  ADC12_Regs *adc12, uint32_t interruptMask)
2057 {
2058  adc12->ULLMEM.CPU_INT.ICLR |= (interruptMask);
2059 }
2060 
2069 __STATIC_INLINE void DL_ADC12_setPublisherChanID(
2070  ADC12_Regs *adc12, uint8_t chanID)
2071 {
2072  adc12->ULLMEM.FPUB_1 = (chanID & ADC12_FPUB_1_CHANID_MAXIMUM);
2073 }
2074 
2084 __STATIC_INLINE uint8_t DL_ADC12_getPublisherChanID(const ADC12_Regs *adc12)
2085 {
2086  return (uint8_t)(adc12->ULLMEM.FPUB_1 & ADC12_FPUB_1_CHANID_MAXIMUM);
2087 }
2088 
2097 __STATIC_INLINE void DL_ADC12_setSubscriberChanID(
2098  ADC12_Regs *adc12, uint8_t chanID)
2099 {
2100  adc12->ULLMEM.FSUB_0 = (chanID & ADC12_FSUB_0_CHANID_MAXIMUM);
2101 }
2102 
2112 __STATIC_INLINE uint8_t DL_ADC12_getSubscriberChanID(const ADC12_Regs *adc12)
2113 {
2114  return (uint8_t)(adc12->ULLMEM.FSUB_0 & ADC12_FSUB_0_CHANID_MAXIMUM);
2115 }
2116 
2125 __STATIC_INLINE void DL_ADC12_enableEvent(
2126  ADC12_Regs *adc12, uint32_t eventMask)
2127 {
2128  adc12->ULLMEM.GEN_EVENT.IMASK |= (eventMask);
2129 }
2130 
2139 __STATIC_INLINE void DL_ADC12_disableEvent(
2140  ADC12_Regs *adc12, uint32_t eventMask)
2141 {
2142  adc12->ULLMEM.GEN_EVENT.IMASK &= ~(eventMask);
2143 }
2144 
2157 __STATIC_INLINE uint32_t DL_ADC12_getEnabledEvents(
2158  const ADC12_Regs *adc12, uint32_t eventMask)
2159 {
2160  return (adc12->ULLMEM.GEN_EVENT.IMASK & eventMask);
2161 }
2162 
2180 __STATIC_INLINE uint32_t DL_ADC12_getEnabledEventStatus(
2181  const ADC12_Regs *adc12, uint32_t eventMask)
2182 {
2183  return (adc12->ULLMEM.GEN_EVENT.MIS & ~(eventMask));
2184 }
2185 
2201 __STATIC_INLINE uint32_t DL_ADC12_getRawEventsStatus(
2202  const ADC12_Regs *adc12, uint32_t eventMask)
2203 {
2204  return (adc12->ULLMEM.GEN_EVENT.RIS & ~(eventMask));
2205 }
2206 
2215 __STATIC_INLINE void DL_ADC12_clearEventsStatus(
2216  ADC12_Regs *adc12, uint32_t eventMask)
2217 {
2218  adc12->ULLMEM.GEN_EVENT.ICLR |= (eventMask);
2219 }
2220 
2229 __STATIC_INLINE void DL_ADC12_enableDMATrigger(
2230  ADC12_Regs *adc12, uint32_t dmaMask)
2231 {
2232  adc12->ULLMEM.DMA_TRIG.IMASK |= (dmaMask);
2233 }
2234 
2243 __STATIC_INLINE void DL_ADC12_disableDMATrigger(
2244  ADC12_Regs *adc12, uint32_t dmaMask)
2245 {
2246  adc12->ULLMEM.DMA_TRIG.IMASK &= ~(dmaMask);
2247 }
2248 
2261 __STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATrigger(
2262  const ADC12_Regs *adc12, uint32_t dmaMask)
2263 {
2264  return (adc12->ULLMEM.DMA_TRIG.IMASK & dmaMask);
2265 }
2266 
2284 __STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATriggerStatus(
2285  const ADC12_Regs *adc12, uint32_t dmaMask)
2286 {
2287  return (adc12->ULLMEM.DMA_TRIG.MIS & ~(dmaMask));
2288 }
2289 
2305 __STATIC_INLINE uint32_t DL_ADC12_getRawDMATriggerStatus(
2306  const ADC12_Regs *adc12, uint32_t dmaMask)
2307 {
2308  return (adc12->ULLMEM.DMA_TRIG.RIS & ~(dmaMask));
2309 }
2310 
2319 __STATIC_INLINE void DL_ADC12_clearDMATriggerStatus(
2320  ADC12_Regs *adc12, uint32_t dmaMask)
2321 {
2322  adc12->ULLMEM.DMA_TRIG.ICLR |= (dmaMask);
2323 }
2324 
2325 #ifdef __MSPM0_HAS_ADC12_SH_CAP_DISCH__
2326 
2333 __STATIC_INLINE void DL_ADC12_enableSAMPCAP(ADC12_Regs *adc12)
2334 {
2335  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2336 }
2337 
2346 __STATIC_INLINE void DL_ADC12_disableSAMPCAP(ADC12_Regs *adc12)
2347 {
2348  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2349 }
2350 
2362 __STATIC_INLINE bool DL_ADC12_isSAMPCAPEnabled(const ADC12_Regs *adc12)
2363 {
2364  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_RSTSAMPCAPEN_MASK) ==
2365  ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2366 }
2367 #endif /* ADC HAS SAMPLE AND HOLD CAPACITOR DISCHARGE*/
2368 
2369 #ifdef __MSPM0C110X_ADC_ERR_06__
2370 
2385 __STATIC_INLINE int16_t DL_ADC12_getADCOffsetCalibration(float userRef)
2386 {
2387  float adcBuff = DL_FactoryRegion_getADCOffset() * (3.3 / userRef);
2388  return (int16_t)(round(adcBuff));
2389 }
2390 #endif
2391 
2392 #ifdef __cplusplus
2393 }
2394 #endif
2395 
2396 #endif /* __MSPM0_HAS_ADC12__ */
2397 
2398 #endif /* ti_dl_dl_adc12__include */
2399 
__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:1907
DL_ADC12_SAMPLING_SOURCE
Definition: dl_adc12.h:962
DL_ADC12_CLOCK
Definition: dl_adc12.h:1064
Definition: dl_adc12.h:1066
__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:943
__STATIC_INLINE uint32_t DL_ADC12_getRawInterruptStatus(const ADC12_Regs *adc12, uint32_t interruptMask)
Check interrupt flag of any ADC12 interrupt.
Definition: dl_adc12.h:2022
Definition: dl_adc12.h:1117
__STATIC_INLINE bool DL_ADC12_isConversionsEnabled(const ADC12_Regs *adc12)
Check if ADC12 conversion is enabled.
Definition: dl_adc12.h:1638
Definition: dl_adc12.h:1017
__STATIC_INLINE bool DL_ADC12_isPowerEnabled(const ADC12_Regs *adc12)
Returns if the Peripheral Write Enable (PWREN) register for the ADC12 is enabled. ...
Definition: dl_adc12.h:1195
__STATIC_INLINE uint32_t DL_ADC12_getMemResultAddress(const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns the conversion result memory address.
Definition: dl_adc12.h:1865
__STATIC_INLINE uint32_t DL_ADC12_getSampleMode(const ADC12_Regs *adc12)
Returns ADC12 sampling mode.
Definition: dl_adc12.h:1403
__STATIC_INLINE void DL_ADC12_enableDMA(ADC12_Regs *adc12)
Enables DMA for data transfer.
Definition: dl_adc12.h:1463
__STATIC_INLINE uint16_t DL_ADC12_getSampleTime0(const ADC12_Regs *adc12)
Get sample time 0.
Definition: dl_adc12.h:1706
Definition: dl_adc12.h:1114
Definition: dl_adc12.h:1120
Definition: dl_adc12.h:931
__STATIC_INLINE uint32_t DL_ADC12_getFIFOAddress(const ADC12_Regs *adc12)
Returns the address of FIFO data register.
Definition: dl_adc12.h:1790
__STATIC_INLINE void DL_ADC12_setStartAddress(ADC12_Regs *adc12, uint32_t startAdd)
Sets the start address for ADC conversion.
Definition: dl_adc12.h:1277
__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:1814
Definition: dl_adc12.h:1068
Definition: dl_adc12.h:1014
__STATIC_INLINE void DL_ADC12_enableEvent(ADC12_Regs *adc12, uint32_t eventMask)
Enable ADC12 event.
Definition: dl_adc12.h:2125
Definition: dl_adc12.h:983
Definition: dl_adc12.h:1080
DL_ADC12_SAMP_CONV_RES
Definition: dl_adc12.h:981
Definition: dl_adc12.h:967
Definition: dl_adc12.h:1092
Definition: dl_adc12.h:1047
__STATIC_INLINE void DL_ADC12_clearEventsStatus(ADC12_Regs *adc12, uint32_t eventMask)
Clear pending adc12 events.
Definition: dl_adc12.h:2215
Definition: dl_adc12.h:937
__STATIC_INLINE void DL_ADC12_setEndAddress(ADC12_Regs *adc12, uint32_t endAdd)
Sets the end address for ADC conversion.
Definition: dl_adc12.h:1306
Definition: dl_adc12.h:934
DL_ADC12_CLOCK_DIVIDE divideRatio
Definition: dl_adc12.h:1142
void DL_ADC12_getClockConfig(const ADC12_Regs *adc12, DL_ADC12_ClockConfig *config)
Returns ADC12 sample clock configuration.
Definition: dl_adc12.h:1041
__STATIC_INLINE uint32_t DL_ADC12_getEndAddress(const ADC12_Regs *adc12)
Gets end address for ADC conversion.
Definition: dl_adc12.h:1319
__STATIC_INLINE void DL_ADC12_setPowerDownMode(ADC12_Regs *adc12, uint32_t powerDownMode)
Configures ADC12 power down mode.
Definition: dl_adc12.h:1586
__STATIC_INLINE void DL_ADC12_reset(ADC12_Regs *adc12)
Resets adc12 peripheral.
Definition: dl_adc12.h:1206
Definition: dl_adc12.h:913
Definition: dl_adc12.h:1059
Definition: dl_adc12.h:1006
Definition: dl_adc12.h:1086
Definition: dl_adc12.h:964
__STATIC_INLINE void DL_ADC12_setSampleTime1(ADC12_Regs *adc12, uint16_t adcclks)
Set sample time 1.
Definition: dl_adc12.h:1719
DriverLib Common APIs.
__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:1920
__STATIC_INLINE void DL_ADC12_setSampleTime0(ADC12_Regs *adc12, uint16_t adcclks)
Set sample time 0.
Definition: dl_adc12.h:1693
Definition: dl_adc12.h:1089
__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:1892
__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:1935
Definition: dl_adc12.h:1077
Definition: dl_adc12.h:1123
__STATIC_INLINE uint32_t DL_ADC12_getEnabledEventStatus(const ADC12_Regs *adc12, uint32_t eventMask)
Check event flag of enabled adc12 event.
Definition: dl_adc12.h:2180
__STATIC_INLINE void DL_ADC12_enableConversions(ADC12_Regs *adc12)
Enable ADC12 conversion.
Definition: dl_adc12.h:1612
__STATIC_INLINE bool DL_ADC12_isConversionStarted(const ADC12_Regs *adc12)
Check if ADC12 conversion is started.
Definition: dl_adc12.h:1453
__STATIC_INLINE uint32_t DL_ADC12_getEnabledInterruptStatus(const ADC12_Regs *adc12, uint32_t interruptMask)
Check interrupt flag of enabled ADC12 interrupt.
Definition: dl_adc12.h:2002
__STATIC_INLINE void DL_ADC12_enableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Enable ADC12 interrupt.
Definition: dl_adc12.h:1949
Definition: dl_adc12.h:1032
__STATIC_INLINE void DL_ADC12_enablePower(ADC12_Regs *adc12)
Enables the Peripheral Write Enable (PWREN) register for the ADC12.
Definition: dl_adc12.h:1156
Definition: dl_adc12.h:976
__STATIC_INLINE void DL_ADC12_enableDMATrigger(ADC12_Regs *adc12, uint32_t dmaMask)
Enable ADC12 DMA triggers.
Definition: dl_adc12.h:2229
Definition: dl_adc12.h:1003
Definition: dl_adc12.h:928
__STATIC_INLINE void DL_ADC12_disableDMATrigger(ADC12_Regs *adc12, uint32_t dmaMask)
Disable ADC12 DMA triggers.
Definition: dl_adc12.h:2243
__STATIC_INLINE bool DL_ADC12_isDMAEnabled(const ADC12_Regs *adc12)
Check if DMA is enabled.
Definition: dl_adc12.h:1488
__STATIC_INLINE uint8_t DL_ADC12_getSubscriberChanID(const ADC12_Regs *adc12)
Gets the event subscriber channel id.
Definition: dl_adc12.h:2112
Definition: dl_adc12.h:996
__STATIC_INLINE uint32_t DL_ADC12_getFIFOData(const ADC12_Regs *adc12)
Returns the data from the top of FIFO.
Definition: dl_adc12.h:1776
Definition: dl_adc12.h:1010
__STATIC_INLINE uint32_t DL_ADC12_getEnabledInterrupts(const ADC12_Regs *adc12, uint32_t interruptMask)
Check which ADC12 interrupts are enabled.
Definition: dl_adc12.h:1982
__STATIC_INLINE void DL_ADC12_configHwAverage(ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
Configure ADC12 hardware average.
Definition: dl_adc12.h:1652
Definition: dl_adc12.h:922
__STATIC_INLINE uint32_t DL_ADC12_getDataFormat(const ADC12_Regs *adc12)
Returns ADC12 data format.
Definition: dl_adc12.h:1379
void DL_ADC12_setClockConfig(ADC12_Regs *adc12, const DL_ADC12_ClockConfig *config)
Configures ADC12 sample clock divider and sample clock frequency range.
__STATIC_INLINE void DL_ADC12_clearDMATriggerStatus(ADC12_Regs *adc12, uint32_t dmaMask)
Clear pending adc12 DMA triggers.
Definition: dl_adc12.h:2319
Definition: dl_adc12.h:1056
Configuration struct for DL_ADC12_setClockConfig.
Definition: dl_adc12.h:1133
Definition: dl_adc12.h:1098
Definition: dl_adc12.h:985
Definition: dl_adc12.h:1026
Definition: dl_adc12.h:1038
__STATIC_INLINE void DL_ADC12_stopConversion(ADC12_Regs *adc12)
Stop ADC12 conversion.
Definition: dl_adc12.h:1438
__STATIC_INLINE uint32_t DL_ADC12_getHwAverageConfig(const ADC12_Regs *adc12)
Return the hardware average configuration.
Definition: dl_adc12.h:1666
__STATIC_INLINE DL_ADC12_TRIG_SRC DL_ADC12_getTriggerSource(const ADC12_Regs *adc12)
Returns ADC12 trigger mode.
Definition: dl_adc12.h:1415
Definition: dl_adc12.h:973
Definition: dl_adc12.h:1105
DL_ADC12_SAMP_CONV_DATA_FORMAT
Definition: dl_adc12.h:991
Definition: dl_adc12.h:916
__STATIC_INLINE uint16_t DL_ADC12_getMemResult(const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns the conversion result for the selected memory index.
Definition: dl_adc12.h:1848
DL_ADC12_CLOCK_FREQ_RANGE
Definition: dl_adc12.h:1103
__STATIC_INLINE uint8_t DL_ADC12_getPublisherChanID(const ADC12_Regs *adc12)
Gets the event publisher channel id.
Definition: dl_adc12.h:2084
Definition: dl_adc12.h:987
__STATIC_INLINE void DL_ADC12_disableFIFO(ADC12_Regs *adc12)
Disables FIFO mode.
Definition: dl_adc12.h:1537
Definition: dl_adc12.h:954
Definition: dl_adc12.h:1083
__STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATriggerStatus(const ADC12_Regs *adc12, uint32_t dmaMask)
Check event flag of enabled adc12 DMA triggers.
Definition: dl_adc12.h:2284
DL_ADC12_CLOCK_FREQ_RANGE freqRange
Definition: dl_adc12.h:1139
__STATIC_INLINE uint32_t DL_ADC12_getStatus(const ADC12_Regs *adc12)
Returns ADC12 status.
Definition: dl_adc12.h:1880
Definition: dl_adc12.h:1095
Definition: dl_adc12.h:919
__STATIC_INLINE void DL_ADC12_setPublisherChanID(ADC12_Regs *adc12, uint8_t chanID)
Sets the event publisher channel id.
Definition: dl_adc12.h:2069
__STATIC_INLINE uint32_t DL_ADC12_getStartAddress(const ADC12_Regs *adc12)
Gets start address for ADC conversion.
Definition: dl_adc12.h:1292
DL_ADC12_IIDX
Definition: dl_adc12.h:1001
#define DL_ADC12_SVT_OFFSET
This is an internal macro is used to resolve the offset to ADC12 SVT.
Definition: dl_adc12.h:905
__STATIC_INLINE DL_ADC12_IIDX DL_ADC12_getPendingInterrupt(const ADC12_Regs *adc12)
Get highest priority pending ADC12 interrupt.
Definition: dl_adc12.h:2040
DL_ADC12_REPEAT_MODE
Definition: dl_adc12.h:951
Definition: dl_adc12.h:1126
__STATIC_INLINE void DL_ADC12_startConversion(ADC12_Regs *adc12)
Start ADC12 conversion.
Definition: dl_adc12.h:1428
__STATIC_INLINE uint32_t DL_ADC12_getResolution(const ADC12_Regs *adc12)
Returns ADC12 resolution.
Definition: dl_adc12.h:1367
__STATIC_INLINE uint32_t DL_ADC12_getRawEventsStatus(const ADC12_Regs *adc12, uint32_t eventMask)
Check event flag of any adc12 event.
Definition: dl_adc12.h:2201
__STATIC_INLINE void DL_ADC12_setSubscriberChanID(ADC12_Regs *adc12, uint8_t chanID)
Sets the event subscriber channel id.
Definition: dl_adc12.h:2097
Definition: dl_adc12.h:1053
Definition: dl_adc12.h:957
Definition: dl_adc12.h:1035
__STATIC_INLINE void DL_ADC12_disablePower(ADC12_Regs *adc12)
Disables the Peripheral Write Enable (PWREN) register for the ADC12.
Definition: dl_adc12.h:1173
__STATIC_INLINE uint16_t DL_ADC12_getSampleTime1(const ADC12_Regs *adc12)
Get sample time 1.
Definition: dl_adc12.h:1732
__STATIC_INLINE void DL_ADC12_configWinCompLowThld(ADC12_Regs *adc12, uint16_t threshold)
Configures window comparator low threshold.
Definition: dl_adc12.h:1747
DL_ADC12_CLOCK clockSel
Definition: dl_adc12.h:1136
Factory Region Driver Library.
__STATIC_INLINE void DL_ADC12_clearInterruptStatus(ADC12_Regs *adc12, uint32_t interruptMask)
Clear pending ADC12 interrupt.
Definition: dl_adc12.h:2055
__STATIC_INLINE void DL_ADC12_enableFIFO(ADC12_Regs *adc12)
Enables FIFO mode.
Definition: dl_adc12.h:1526
__STATIC_INLINE void DL_ADC12_initSeqSample(ADC12_Regs *adc12, DL_ADC12_REPEAT_MODE repeatMode, DL_ADC12_SAMPLING_SOURCE sampleMode, DL_ADC12_TRIG_SRC trigSrc, uint32_t startAdd, uint32_t endAdd, DL_ADC12_SAMP_CONV_RES resolution, DL_ADC12_SAMP_CONV_DATA_FORMAT dataFormat)
Initializes ADC12 for sequence sampling mode operation.
Definition: dl_adc12.h:1343
__STATIC_INLINE void DL_ADC12_initSingleSample(ADC12_Regs *adc12, DL_ADC12_REPEAT_MODE repeatMode, DL_ADC12_SAMPLING_SOURCE sampleMode, DL_ADC12_TRIG_SRC trigSrc, DL_ADC12_SAMP_CONV_RES resolution, DL_ADC12_SAMP_CONV_DATA_FORMAT dataFormat)
Initializes ADC12 for single sampling mode operation. This initialization configures MEMCTL0 as the d...
Definition: dl_adc12.h:1248
Definition: dl_adc12.h:946
Definition: dl_adc12.h:1023
__STATIC_INLINE uint32_t DL_ADC12_getPowerDownMode(const ADC12_Regs *adc12)
Returns ADC power down mode.
Definition: dl_adc12.h:1602
__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:1502
Definition: dl_adc12.h:1020
__STATIC_INLINE void DL_ADC12_disableEvent(ADC12_Regs *adc12, uint32_t eventMask)
Disable ADC12 event.
Definition: dl_adc12.h:2139
__STATIC_INLINE uint32_t DL_ADC12_getEnabledEvents(const ADC12_Regs *adc12, uint32_t eventMask)
Check which ADC12 events are enabled.
Definition: dl_adc12.h:2157
DL_ADC12_TRIG_SRC
Definition: dl_adc12.h:971
Definition: dl_adc12.h:940
__STATIC_INLINE bool DL_ADC12_isFIFOEnabled(const ADC12_Regs *adc12)
Checks if FIFO mode is enabled.
Definition: dl_adc12.h:1553
__STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATrigger(const ADC12_Regs *adc12, uint32_t dmaMask)
Check which adc12 DMA triggers are enabled.
Definition: dl_adc12.h:2261
__STATIC_INLINE uint32_t DL_ADC12_getSamplingSource(const ADC12_Regs *adc12)
Returns ADC12 sampling source.
Definition: dl_adc12.h:1391
DL_ADC12_MEM_IDX
Definition: dl_adc12.h:910
__STATIC_INLINE bool DL_ADC12_isReset(const ADC12_Regs *adc12)
Returns if adc12 peripheral was reset.
Definition: dl_adc12.h:1222
Definition: dl_adc12.h:1111
__STATIC_INLINE uint8_t DL_ADC12_getDMASampleCnt(const ADC12_Regs *adc12)
Get number of ADC results to be transfer on a DMA trigger.
Definition: dl_adc12.h:1516
__STATIC_INLINE void DL_ADC12_disableConversions(ADC12_Regs *adc12)
Disable ADC12 conversion.
Definition: dl_adc12.h:1622
Definition: dl_adc12.h:1108
__STATIC_INLINE uint32_t DL_ADC12_getConversionMemConfig(const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
Returns conversion memory configuration.
Definition: dl_adc12.h:1833
__STATIC_INLINE uint32_t DL_ADC12_getRawDMATriggerStatus(const ADC12_Regs *adc12, uint32_t dmaMask)
Check DMA triggers flag of any adc12 dma trigger.
Definition: dl_adc12.h:2305
Definition: dl_adc12.h:1070
Definition: dl_adc12.h:925
Definition: dl_adc12.h:1044
Definition: dl_adc12.h:1050
__STATIC_INLINE void DL_ADC12_disableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Disable ADC12 interrupt.
Definition: dl_adc12.h:1964
Definition: dl_adc12.h:1029
__STATIC_INLINE void DL_ADC12_configWinCompHighThld(ADC12_Regs *adc12, uint16_t threshold)
Configures window comparator high threshold.
Definition: dl_adc12.h:1763
DL_ADC12_CLOCK_DIVIDE
Definition: dl_adc12.h:1074
__STATIC_INLINE void DL_ADC12_disableDMA(ADC12_Regs *adc12)
Disables DMA for data transfer.
Definition: dl_adc12.h:1473
Definition: dl_adc12.h:993
© Copyright 1995-2026, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale