MSPM0C110X Driver Library  2.05.01.00
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  uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc,
1250  uint32_t resolution, uint32_t dataFormat)
1251 {
1252  DL_Common_updateReg(&adc12->ULLMEM.CTL1,
1253  (repeatMode | sampleMode | trigSrc),
1254  (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1255  ADC12_CTL1_TRIGSRC_MASK));
1256 
1257  DL_Common_updateReg(&adc12->ULLMEM.CTL2,
1258  (ADC12_CTL2_STARTADD_ADDR_00 | ADC12_CTL2_ENDADD_ADDR_00 | resolution |
1259  dataFormat),
1260  (ADC12_CTL2_STARTADD_MASK | ADC12_CTL2_ENDADD_MASK |
1261  ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1262 }
1263 
1276 __STATIC_INLINE void DL_ADC12_setStartAddress(
1277  ADC12_Regs *adc12, uint32_t startAdd)
1278 {
1280  &adc12->ULLMEM.CTL2, startAdd, ADC12_CTL2_STARTADD_MASK);
1281 }
1282 
1291 __STATIC_INLINE uint32_t DL_ADC12_getStartAddress(const ADC12_Regs *adc12)
1292 {
1293  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_STARTADD_MASK);
1294 }
1295 
1305 __STATIC_INLINE void DL_ADC12_setEndAddress(ADC12_Regs *adc12, uint32_t endAdd)
1306 {
1307  DL_Common_updateReg(&adc12->ULLMEM.CTL2, endAdd, ADC12_CTL2_ENDADD_MASK);
1308 }
1309 
1318 __STATIC_INLINE uint32_t DL_ADC12_getEndAddress(const ADC12_Regs *adc12)
1319 {
1320  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_ENDADD_MASK);
1321 }
1322 
1342 __STATIC_INLINE void DL_ADC12_initSeqSample(ADC12_Regs *adc12,
1343  uint32_t repeatMode, uint32_t sampleMode, uint32_t trigSrc,
1344  uint32_t startAdd, uint32_t endAdd, uint32_t resolution,
1345  uint32_t dataFormat)
1346 {
1347  DL_Common_updateReg(&adc12->ULLMEM.CTL1,
1348  (ADC12_CTL1_CONSEQ_SEQUENCE | repeatMode | sampleMode | trigSrc),
1349  (ADC12_CTL1_SAMPMODE_MASK | ADC12_CTL1_CONSEQ_MASK |
1350  ADC12_CTL1_TRIGSRC_MASK));
1351 
1352  DL_Common_updateReg(&adc12->ULLMEM.CTL2,
1353  (startAdd | endAdd | resolution | dataFormat),
1354  (ADC12_CTL2_ENDADD_MASK | ADC12_CTL2_STARTADD_MASK |
1355  ADC12_CTL2_RES_MASK | ADC12_CTL2_DF_MASK));
1356 }
1357 
1365 __STATIC_INLINE uint32_t DL_ADC12_getResolution(const ADC12_Regs *adc12)
1366 {
1367  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_RES_MASK);
1368 }
1369 
1377 __STATIC_INLINE uint32_t DL_ADC12_getDataFormat(const ADC12_Regs *adc12)
1378 {
1379  return (adc12->ULLMEM.CTL2 & ADC12_CTL2_DF_MASK);
1380 }
1381 
1389 __STATIC_INLINE uint32_t DL_ADC12_getSamplingSource(const ADC12_Regs *adc12)
1390 {
1391  return (adc12->ULLMEM.CTL1 & ADC12_CTL1_SAMPMODE_MASK);
1392 }
1393 
1401 __STATIC_INLINE uint32_t DL_ADC12_getSampleMode(const ADC12_Regs *adc12)
1402 {
1403  return (adc12->ULLMEM.CTL1 & ADC12_CTL1_CONSEQ_MASK);
1404 }
1405 
1413 __STATIC_INLINE DL_ADC12_TRIG_SRC DL_ADC12_getTriggerSource(
1414  const ADC12_Regs *adc12)
1415 {
1416  uint32_t trigSrc = adc12->ULLMEM.CTL1 & ADC12_CTL1_TRIGSRC_MASK;
1417 
1418  return (DL_ADC12_TRIG_SRC)(trigSrc);
1419 }
1420 
1426 __STATIC_INLINE void DL_ADC12_startConversion(ADC12_Regs *adc12)
1427 {
1428  adc12->ULLMEM.CTL1 |= (ADC12_CTL1_SC_START);
1429 }
1430 
1436 __STATIC_INLINE void DL_ADC12_stopConversion(ADC12_Regs *adc12)
1437 {
1438  adc12->ULLMEM.CTL1 &= ~(ADC12_CTL1_SC_START);
1439 }
1440 
1451 __STATIC_INLINE bool DL_ADC12_isConversionStarted(const ADC12_Regs *adc12)
1452 {
1453  return ((adc12->ULLMEM.CTL1 & ADC12_CTL1_SC_MASK) == ADC12_CTL1_SC_START);
1454 }
1455 
1461 __STATIC_INLINE void DL_ADC12_enableDMA(ADC12_Regs *adc12)
1462 {
1463  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_DMAEN_ENABLE);
1464 }
1465 
1471 __STATIC_INLINE void DL_ADC12_disableDMA(ADC12_Regs *adc12)
1472 {
1473  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_DMAEN_ENABLE);
1474 }
1475 
1486 __STATIC_INLINE bool DL_ADC12_isDMAEnabled(const ADC12_Regs *adc12)
1487 {
1488  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_DMAEN_ENABLE) ==
1489  ADC12_CTL2_DMAEN_ENABLE);
1490 }
1491 
1500 __STATIC_INLINE void DL_ADC12_setDMASamplesCnt(
1501  ADC12_Regs *adc12, uint8_t sampCnt)
1502 {
1503  DL_Common_updateReg(&adc12->ULLMEM.CTL2, (((uint32_t) sampCnt) << 11),
1504  ADC12_CTL2_SAMPCNT_MASK);
1505 }
1506 
1514 __STATIC_INLINE uint8_t DL_ADC12_getDMASampleCnt(const ADC12_Regs *adc12)
1515 {
1516  return (uint8_t)((adc12->ULLMEM.CTL2 & ADC12_CTL2_SAMPCNT_MASK) >> 11);
1517 }
1518 
1524 __STATIC_INLINE void DL_ADC12_enableFIFO(ADC12_Regs *adc12)
1525 {
1526  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_FIFOEN_ENABLE);
1527 }
1528 
1535 __STATIC_INLINE void DL_ADC12_disableFIFO(ADC12_Regs *adc12)
1536 {
1537  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_FIFOEN_ENABLE);
1538 }
1539 
1551 __STATIC_INLINE bool DL_ADC12_isFIFOEnabled(const ADC12_Regs *adc12)
1552 {
1553  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_FIFOEN_MASK) ==
1554  ADC12_CTL2_FIFOEN_ENABLE);
1555 }
1556 
1565  ADC12_Regs *adc12, const DL_ADC12_ClockConfig *config);
1566 
1575  const ADC12_Regs *adc12, DL_ADC12_ClockConfig *config);
1576 
1584 __STATIC_INLINE void DL_ADC12_setPowerDownMode(
1585  ADC12_Regs *adc12, uint32_t powerDownMode)
1586 {
1588  &adc12->ULLMEM.CTL0, powerDownMode, ADC12_CTL0_PWRDN_MASK);
1589 }
1590 
1600 __STATIC_INLINE uint32_t DL_ADC12_getPowerDownMode(const ADC12_Regs *adc12)
1601 {
1602  return (adc12->ULLMEM.CTL0 & ADC12_CTL0_PWRDN_MASK);
1603 }
1604 
1610 __STATIC_INLINE void DL_ADC12_enableConversions(ADC12_Regs *adc12)
1611 {
1612  adc12->ULLMEM.CTL0 |= (ADC12_CTL0_ENC_ON);
1613 }
1614 
1620 __STATIC_INLINE void DL_ADC12_disableConversions(ADC12_Regs *adc12)
1621 {
1622  adc12->ULLMEM.CTL0 &= ~(ADC12_CTL0_ENC_ON);
1623 }
1624 
1636 __STATIC_INLINE bool DL_ADC12_isConversionsEnabled(const ADC12_Regs *adc12)
1637 {
1638  return ((adc12->ULLMEM.CTL0 & ADC12_CTL0_ENC_MASK) == ADC12_CTL0_ENC_ON);
1639 }
1640 
1650 __STATIC_INLINE void DL_ADC12_configHwAverage(
1651  ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
1652 {
1653  DL_Common_updateReg(&adc12->ULLMEM.CTL1, (numerator | denominator),
1654  (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1655 }
1656 
1664 __STATIC_INLINE uint32_t DL_ADC12_getHwAverageConfig(const ADC12_Regs *adc12)
1665 {
1666  return (
1667  adc12->ULLMEM.CTL1 & (ADC12_CTL1_AVGN_MASK | ADC12_CTL1_AVGD_MASK));
1668 }
1669 
1678 __STATIC_INLINE void DL_ADC12_setSampleTime0(
1679  ADC12_Regs *adc12, uint16_t adcclks)
1680 {
1681  adc12->ULLMEM.SCOMP0 = (adcclks);
1682 }
1683 
1691 __STATIC_INLINE uint16_t DL_ADC12_getSampleTime0(const ADC12_Regs *adc12)
1692 {
1693  return (uint16_t)(adc12->ULLMEM.SCOMP0 + (uint32_t) 1);
1694 }
1695 
1704 __STATIC_INLINE void DL_ADC12_setSampleTime1(
1705  ADC12_Regs *adc12, uint16_t adcclks)
1706 {
1707  adc12->ULLMEM.SCOMP1 = (adcclks);
1708 }
1709 
1717 __STATIC_INLINE uint16_t DL_ADC12_getSampleTime1(const ADC12_Regs *adc12)
1718 {
1719  return (uint16_t)(adc12->ULLMEM.SCOMP1 + (uint32_t) 1);
1720 }
1721 
1731 __STATIC_INLINE void DL_ADC12_configWinCompLowThld(
1732  ADC12_Regs *adc12, uint16_t threshold)
1733 {
1734  adc12->ULLMEM.WCLOW = (threshold);
1735 }
1736 
1746 __STATIC_INLINE void DL_ADC12_configWinCompHighThld(
1747  ADC12_Regs *adc12, uint16_t threshold)
1748 {
1749  adc12->ULLMEM.WCHIGH = (threshold);
1750 }
1751 
1759 __STATIC_INLINE uint32_t DL_ADC12_getFIFOData(const ADC12_Regs *adc12)
1760 {
1761  volatile const uint32_t *pReg = &adc12->ULLMEM.FIFODATA;
1762 
1763  return (uint32_t)(*(pReg + DL_ADC12_SVT_OFFSET));
1764 }
1765 
1773 __STATIC_INLINE uint32_t DL_ADC12_getFIFOAddress(const ADC12_Regs *adc12)
1774 {
1775  return ((uint32_t)(&adc12->ULLMEM.FIFODATA + DL_ADC12_SVT_OFFSET));
1776 }
1777 
1797 __STATIC_INLINE void DL_ADC12_configConversionMem(ADC12_Regs *adc12,
1798  DL_ADC12_MEM_IDX idx, uint32_t chansel, uint32_t vref, uint32_t stime,
1799  uint32_t avgen, uint32_t bcsen, uint32_t trig, uint32_t wincomp)
1800 {
1801  adc12->ULLMEM.MEMCTL[idx] =
1802  (chansel | vref | stime | avgen | bcsen | trig | wincomp);
1803 }
1804 
1816 __STATIC_INLINE uint32_t DL_ADC12_getConversionMemConfig(
1817  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1818 {
1819  return (adc12->ULLMEM.MEMCTL[idx]);
1820 }
1821 
1831 __STATIC_INLINE uint16_t DL_ADC12_getMemResult(
1832  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1833 {
1834  volatile const uint32_t *pReg = &adc12->ULLMEM.MEMRES[idx];
1835 
1836  return (uint16_t)(*(pReg + DL_ADC12_SVT_OFFSET));
1837 }
1838 
1848 __STATIC_INLINE uint32_t DL_ADC12_getMemResultAddress(
1849  const ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx)
1850 {
1851  return ((uint32_t)(&adc12->ULLMEM.MEMRES[idx] + DL_ADC12_SVT_OFFSET));
1852 }
1853 
1863 __STATIC_INLINE uint32_t DL_ADC12_getStatus(const ADC12_Regs *adc12)
1864 {
1865  return (adc12->ULLMEM.STATUS);
1866 }
1867 
1876  ADC12_Regs *adc12)
1877 {
1878  DL_Common_updateReg(&adc12->ULLMEM.GPRCM.CLKCFG,
1879  (ADC12_CLKCFG_CCONRUN_DISABLE | ADC12_CLKCFG_KEY_UNLOCK_W),
1880  (ADC12_CLKCFG_CCONRUN_MASK | ADC12_CLKCFG_KEY_MASK));
1881 }
1882 
1890 __STATIC_INLINE void DL_ADC12_forceSYSOSCOnInRunMode(ADC12_Regs *adc12)
1891 {
1892  adc12->ULLMEM.GPRCM.CLKCFG |=
1893  (ADC12_CLKCFG_KEY_UNLOCK_W | ADC12_CLKCFG_CCONRUN_ENABLE);
1894 }
1895 
1904  ADC12_Regs *adc12)
1905 {
1906  DL_Common_updateReg(&adc12->ULLMEM.GPRCM.CLKCFG,
1907  (ADC12_CLKCFG_CCONSTOP_DISABLE | ADC12_CLKCFG_KEY_UNLOCK_W),
1908  (ADC12_CLKCFG_CCONSTOP_MASK | ADC12_CLKCFG_KEY_MASK));
1909 }
1910 
1918 __STATIC_INLINE void DL_ADC12_forceSYSOSCOnInStopMode(ADC12_Regs *adc12)
1919 {
1920  adc12->ULLMEM.GPRCM.CLKCFG |=
1921  (ADC12_CLKCFG_KEY_UNLOCK_W | ADC12_CLKCFG_CCONSTOP_ENABLE);
1922 }
1923 
1932 __STATIC_INLINE void DL_ADC12_enableInterrupt(
1933  ADC12_Regs *adc12, uint32_t interruptMask)
1934 {
1935  adc12->ULLMEM.CPU_INT.IMASK |= (interruptMask);
1936 }
1937 
1947 __STATIC_INLINE void DL_ADC12_disableInterrupt(
1948  ADC12_Regs *adc12, uint32_t interruptMask)
1949 {
1950  adc12->ULLMEM.CPU_INT.IMASK &= ~(interruptMask);
1951 }
1952 
1965 __STATIC_INLINE uint32_t DL_ADC12_getEnabledInterrupts(
1966  const ADC12_Regs *adc12, uint32_t interruptMask)
1967 {
1968  return (adc12->ULLMEM.CPU_INT.IMASK & interruptMask);
1969 }
1970 
1985 __STATIC_INLINE uint32_t DL_ADC12_getEnabledInterruptStatus(
1986  const ADC12_Regs *adc12, uint32_t interruptMask)
1987 {
1988  return (adc12->ULLMEM.CPU_INT.MIS & interruptMask);
1989 }
1990 
2005 __STATIC_INLINE uint32_t DL_ADC12_getRawInterruptStatus(
2006  const ADC12_Regs *adc12, uint32_t interruptMask)
2007 {
2008  return (adc12->ULLMEM.CPU_INT.RIS & interruptMask);
2009 }
2010 
2023 __STATIC_INLINE DL_ADC12_IIDX DL_ADC12_getPendingInterrupt(
2024  const ADC12_Regs *adc12)
2025 {
2026  return ((DL_ADC12_IIDX) adc12->ULLMEM.CPU_INT.IIDX);
2027 }
2028 
2038 __STATIC_INLINE void DL_ADC12_clearInterruptStatus(
2039  ADC12_Regs *adc12, uint32_t interruptMask)
2040 {
2041  adc12->ULLMEM.CPU_INT.ICLR |= (interruptMask);
2042 }
2043 
2052 __STATIC_INLINE void DL_ADC12_setPublisherChanID(
2053  ADC12_Regs *adc12, uint8_t chanID)
2054 {
2055  adc12->ULLMEM.FPUB_1 = (chanID & ADC12_FPUB_1_CHANID_MAXIMUM);
2056 }
2057 
2067 __STATIC_INLINE uint8_t DL_ADC12_getPublisherChanID(const ADC12_Regs *adc12)
2068 {
2069  return (uint8_t)(adc12->ULLMEM.FPUB_1 & ADC12_FPUB_1_CHANID_MAXIMUM);
2070 }
2071 
2080 __STATIC_INLINE void DL_ADC12_setSubscriberChanID(
2081  ADC12_Regs *adc12, uint8_t chanID)
2082 {
2083  adc12->ULLMEM.FSUB_0 = (chanID & ADC12_FSUB_0_CHANID_MAXIMUM);
2084 }
2085 
2095 __STATIC_INLINE uint8_t DL_ADC12_getSubscriberChanID(const ADC12_Regs *adc12)
2096 {
2097  return (uint8_t)(adc12->ULLMEM.FSUB_0 & ADC12_FSUB_0_CHANID_MAXIMUM);
2098 }
2099 
2108 __STATIC_INLINE void DL_ADC12_enableEvent(
2109  ADC12_Regs *adc12, uint32_t eventMask)
2110 {
2111  adc12->ULLMEM.GEN_EVENT.IMASK |= (eventMask);
2112 }
2113 
2122 __STATIC_INLINE void DL_ADC12_disableEvent(
2123  ADC12_Regs *adc12, uint32_t eventMask)
2124 {
2125  adc12->ULLMEM.GEN_EVENT.IMASK &= ~(eventMask);
2126 }
2127 
2140 __STATIC_INLINE uint32_t DL_ADC12_getEnabledEvents(
2141  const ADC12_Regs *adc12, uint32_t eventMask)
2142 {
2143  return (adc12->ULLMEM.GEN_EVENT.IMASK & eventMask);
2144 }
2145 
2163 __STATIC_INLINE uint32_t DL_ADC12_getEnabledEventStatus(
2164  const ADC12_Regs *adc12, uint32_t eventMask)
2165 {
2166  return (adc12->ULLMEM.GEN_EVENT.MIS & ~(eventMask));
2167 }
2168 
2184 __STATIC_INLINE uint32_t DL_ADC12_getRawEventsStatus(
2185  const ADC12_Regs *adc12, uint32_t eventMask)
2186 {
2187  return (adc12->ULLMEM.GEN_EVENT.RIS & ~(eventMask));
2188 }
2189 
2198 __STATIC_INLINE void DL_ADC12_clearEventsStatus(
2199  ADC12_Regs *adc12, uint32_t eventMask)
2200 {
2201  adc12->ULLMEM.GEN_EVENT.ICLR |= (eventMask);
2202 }
2203 
2212 __STATIC_INLINE void DL_ADC12_enableDMATrigger(
2213  ADC12_Regs *adc12, uint32_t dmaMask)
2214 {
2215  adc12->ULLMEM.DMA_TRIG.IMASK |= (dmaMask);
2216 }
2217 
2226 __STATIC_INLINE void DL_ADC12_disableDMATrigger(
2227  ADC12_Regs *adc12, uint32_t dmaMask)
2228 {
2229  adc12->ULLMEM.DMA_TRIG.IMASK &= ~(dmaMask);
2230 }
2231 
2244 __STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATrigger(
2245  const ADC12_Regs *adc12, uint32_t dmaMask)
2246 {
2247  return (adc12->ULLMEM.DMA_TRIG.IMASK & dmaMask);
2248 }
2249 
2267 __STATIC_INLINE uint32_t DL_ADC12_getEnabledDMATriggerStatus(
2268  const ADC12_Regs *adc12, uint32_t dmaMask)
2269 {
2270  return (adc12->ULLMEM.DMA_TRIG.MIS & ~(dmaMask));
2271 }
2272 
2288 __STATIC_INLINE uint32_t DL_ADC12_getRawDMATriggerStatus(
2289  const ADC12_Regs *adc12, uint32_t dmaMask)
2290 {
2291  return (adc12->ULLMEM.DMA_TRIG.RIS & ~(dmaMask));
2292 }
2293 
2302 __STATIC_INLINE void DL_ADC12_clearDMATriggerStatus(
2303  ADC12_Regs *adc12, uint32_t dmaMask)
2304 {
2305  adc12->ULLMEM.DMA_TRIG.ICLR |= (dmaMask);
2306 }
2307 
2308 #ifdef __MSPM0_HAS_ADC12_SH_CAP_DISCH__
2309 
2316 __STATIC_INLINE void DL_ADC12_enableSAMPCAP(ADC12_Regs *adc12)
2317 {
2318  adc12->ULLMEM.CTL2 |= (ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2319 }
2320 
2329 __STATIC_INLINE void DL_ADC12_disableSAMPCAP(ADC12_Regs *adc12)
2330 {
2331  adc12->ULLMEM.CTL2 &= ~(ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2332 }
2333 
2345 __STATIC_INLINE bool DL_ADC12_isSAMPCAPEnabled(const ADC12_Regs *adc12)
2346 {
2347  return ((adc12->ULLMEM.CTL2 & ADC12_CTL2_RSTSAMPCAPEN_MASK) ==
2348  ADC12_CTL2_RSTSAMPCAPEN_ENABLE);
2349 }
2350 #endif /* ADC HAS SAMPLE AND HOLD CAPACITOR DISCHARGE*/
2351 
2352 #ifdef __MSPM0C110X_ADC_ERR_06__
2353 
2368 __STATIC_INLINE int16_t DL_ADC12_getADCOffsetCalibration(float userRef)
2369 {
2370  float adcBuff = DL_FactoryRegion_getADCOffset() * (3.3 / userRef);
2371  return (int16_t)(round(adcBuff));
2372 }
2373 #endif
2374 
2375 #ifdef __cplusplus
2376 }
2377 #endif
2378 
2379 #endif /* __MSPM0_HAS_ADC12__ */
2380 
2381 #endif /* ti_dl_dl_adc12__include */
2382 
__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:1890
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:2005
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:1636
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:1848
__STATIC_INLINE uint32_t DL_ADC12_getSampleMode(const ADC12_Regs *adc12)
Returns ADC12 sampling mode.
Definition: dl_adc12.h:1401
__STATIC_INLINE void DL_ADC12_enableDMA(ADC12_Regs *adc12)
Enables DMA for data transfer.
Definition: dl_adc12.h:1461
__STATIC_INLINE uint16_t DL_ADC12_getSampleTime0(const ADC12_Regs *adc12)
Get sample time 0.
Definition: dl_adc12.h:1691
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:1773
__STATIC_INLINE void DL_ADC12_setStartAddress(ADC12_Regs *adc12, uint32_t startAdd)
Sets the start address for ADC conversion.
Definition: dl_adc12.h:1276
__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:1797
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:2108
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:2198
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:1305
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:1318
__STATIC_INLINE void DL_ADC12_setPowerDownMode(ADC12_Regs *adc12, uint32_t powerDownMode)
Configures ADC12 power down mode.
Definition: dl_adc12.h:1584
__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:1704
DriverLib Common APIs.
__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:1342
__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:1903
__STATIC_INLINE void DL_ADC12_setSampleTime0(ADC12_Regs *adc12, uint16_t adcclks)
Set sample time 0.
Definition: dl_adc12.h:1678
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:1875
__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:1918
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:2163
__STATIC_INLINE void DL_ADC12_enableConversions(ADC12_Regs *adc12)
Enable ADC12 conversion.
Definition: dl_adc12.h:1610
__STATIC_INLINE bool DL_ADC12_isConversionStarted(const ADC12_Regs *adc12)
Check if ADC12 conversion is started.
Definition: dl_adc12.h:1451
__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:1985
__STATIC_INLINE void DL_ADC12_enableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Enable ADC12 interrupt.
Definition: dl_adc12.h:1932
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:2212
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:2226
__STATIC_INLINE bool DL_ADC12_isDMAEnabled(const ADC12_Regs *adc12)
Check if DMA is enabled.
Definition: dl_adc12.h:1486
__STATIC_INLINE uint8_t DL_ADC12_getSubscriberChanID(const ADC12_Regs *adc12)
Gets the event subscriber channel id.
Definition: dl_adc12.h:2095
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:1759
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:1965
__STATIC_INLINE void DL_ADC12_configHwAverage(ADC12_Regs *adc12, uint32_t numerator, uint32_t denominator)
Configure ADC12 hardware average.
Definition: dl_adc12.h:1650
Definition: dl_adc12.h:922
__STATIC_INLINE uint32_t DL_ADC12_getDataFormat(const ADC12_Regs *adc12)
Returns ADC12 data format.
Definition: dl_adc12.h:1377
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:2302
Definition: dl_adc12.h:1056
__STATIC_INLINE float DL_FactoryRegion_getADCOffset(void)
Get the ADC offset value.
Definition: dl_factoryregion.h:1069
__STATIC_INLINE int16_t DL_ADC12_getADCOffsetCalibration(float userRef)
Get calibration ADC offset value.
Definition: dl_adc12.h:2368
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:1436
__STATIC_INLINE uint32_t DL_ADC12_getHwAverageConfig(const ADC12_Regs *adc12)
Return the hardware average configuration.
Definition: dl_adc12.h:1664
__STATIC_INLINE DL_ADC12_TRIG_SRC DL_ADC12_getTriggerSource(const ADC12_Regs *adc12)
Returns ADC12 trigger mode.
Definition: dl_adc12.h:1413
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:1831
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:2067
Definition: dl_adc12.h:987
__STATIC_INLINE void DL_ADC12_disableFIFO(ADC12_Regs *adc12)
Disables FIFO mode.
Definition: dl_adc12.h:1535
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:2267
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:1863
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:2052
__STATIC_INLINE uint32_t DL_ADC12_getStartAddress(const ADC12_Regs *adc12)
Gets start address for ADC conversion.
Definition: dl_adc12.h:1291
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:2023
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:1426
__STATIC_INLINE uint32_t DL_ADC12_getResolution(const ADC12_Regs *adc12)
Returns ADC12 resolution.
Definition: dl_adc12.h:1365
__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:2184
__STATIC_INLINE void DL_ADC12_setSubscriberChanID(ADC12_Regs *adc12, uint8_t chanID)
Sets the event subscriber channel id.
Definition: dl_adc12.h:2080
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:1717
__STATIC_INLINE void DL_ADC12_configWinCompLowThld(ADC12_Regs *adc12, uint16_t threshold)
Configures window comparator low threshold.
Definition: dl_adc12.h:1731
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:2038
__STATIC_INLINE void DL_ADC12_enableFIFO(ADC12_Regs *adc12)
Enables FIFO mode.
Definition: dl_adc12.h:1524
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:1600
__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:1500
Definition: dl_adc12.h:1020
__STATIC_INLINE void DL_ADC12_disableEvent(ADC12_Regs *adc12, uint32_t eventMask)
Disable ADC12 event.
Definition: dl_adc12.h:2122
__STATIC_INLINE uint32_t DL_ADC12_getEnabledEvents(const ADC12_Regs *adc12, uint32_t eventMask)
Check which adc12 dma triggers are enabled.
Definition: dl_adc12.h:2140
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:1551
__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:2244
__STATIC_INLINE uint32_t DL_ADC12_getSamplingSource(const ADC12_Regs *adc12)
Returns ADC12 sampling source.
Definition: dl_adc12.h:1389
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:1514
__STATIC_INLINE void DL_ADC12_disableConversions(ADC12_Regs *adc12)
Disable ADC12 conversion.
Definition: dl_adc12.h:1620
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:1816
__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:2288
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_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:1248
__STATIC_INLINE void DL_ADC12_disableInterrupt(ADC12_Regs *adc12, uint32_t interruptMask)
Disable ADC12 interrupt.
Definition: dl_adc12.h:1947
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:1746
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:1471
Definition: dl_adc12.h:993
© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale