]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/adc12_b.h
Start of an MSP430FR5969 IAR project - currently running Blinky only.
[freertos] / FreeRTOS / Demo / MSP430FR5969_LaunchPad / driverlib / MSP430FR5xx_6xx / adc12_b.h
diff --git a/FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/adc12_b.h b/FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/adc12_b.h
new file mode 100644 (file)
index 0000000..5a9b8b7
--- /dev/null
@@ -0,0 +1,1491 @@
+/* --COPYRIGHT--,BSD\r
+ * Copyright (c) 2014, Texas Instruments Incorporated\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ *\r
+ * *  Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ * *  Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ *\r
+ * *  Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * --/COPYRIGHT--*/\r
+//*****************************************************************************\r
+//\r
+// adc12_b.h - Driver for the ADC12_B Module.\r
+//\r
+//*****************************************************************************\r
+\r
+#ifndef __MSP430WARE_ADC12_B_H__\r
+#define __MSP430WARE_ADC12_B_H__\r
+\r
+#include "inc/hw_memmap.h"\r
+\r
+#ifdef __MSP430_HAS_ADC12_B__\r
+\r
+//*****************************************************************************\r
+//\r
+// If building with a C++ compiler, make all of the definitions in this header\r
+// have a C binding.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif\r
+\r
+#include "inc/hw_regaccess.h"\r
+//*****************************************************************************\r
+//\r
+//! \brief Used in the ADC12_B_init() function as the param parameter.\r
+//\r
+//*****************************************************************************\r
+typedef struct ADC12_B_initParam\r
+{\r
+    //! Is the signal that will trigger a sample-and-hold for an input signal\r
+    //! to be converted.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_SC [Default]\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_1\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_2\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_3\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_4\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_5\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_6\r
+    //! - \b ADC12_B_SAMPLEHOLDSOURCE_7\r
+    uint16_t sampleHoldSignalSourceSelect;\r
+    //! Selects the clock that will be used by the ADC12B core, and the\r
+    //! sampling timer if a sampling pulse mode is enabled.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_CLOCKSOURCE_ADC12OSC [Default]\r
+    //! - \b ADC12_B_CLOCKSOURCE_ACLK\r
+    //! - \b ADC12_B_CLOCKSOURCE_MCLK\r
+    //! - \b ADC12_B_CLOCKSOURCE_SMCLK\r
+    uint8_t clockSourceSelect;\r
+    //! Selects the amount that the clock will be divided.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_CLOCKDIVIDER_1 [Default]\r
+    //! - \b ADC12_B_CLOCKDIVIDER_2\r
+    //! - \b ADC12_B_CLOCKDIVIDER_3\r
+    //! - \b ADC12_B_CLOCKDIVIDER_4\r
+    //! - \b ADC12_B_CLOCKDIVIDER_5\r
+    //! - \b ADC12_B_CLOCKDIVIDER_6\r
+    //! - \b ADC12_B_CLOCKDIVIDER_7\r
+    //! - \b ADC12_B_CLOCKDIVIDER_8\r
+    uint16_t clockSourceDivider;\r
+    //! Selects the amount that the clock will be predivided.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_CLOCKPREDIVIDER__1 [Default]\r
+    //! - \b ADC12_B_CLOCKPREDIVIDER__4\r
+    //! - \b ADC12_B_CLOCKPREDIVIDER__32\r
+    //! - \b ADC12_B_CLOCKPREDIVIDER__64\r
+    uint16_t clockSourcePredivider;\r
+    //! Selects what internal channel to map for ADC input channels\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_MAPINTCH3\r
+    //! - \b ADC12_B_MAPINTCH2\r
+    //! - \b ADC12_B_MAPINTCH1\r
+    //! - \b ADC12_B_MAPINTCH0\r
+    //! - \b ADC12_B_TEMPSENSEMAP\r
+    //! - \b ADC12_B_BATTMAP\r
+    //! - \b ADC12_B_NOINTCH\r
+    uint16_t internalChannelMap;\r
+} ADC12_B_initParam;\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Used in the ADC12_B_configureMemory() function as the param\r
+//! parameter.\r
+//\r
+//*****************************************************************************\r
+typedef struct ADC12_B_configureMemoryParam\r
+{\r
+    //! Is the selected memory buffer to set the configuration for.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_MEMORY_0\r
+    //! - \b ADC12_B_MEMORY_1\r
+    //! - \b ADC12_B_MEMORY_2\r
+    //! - \b ADC12_B_MEMORY_3\r
+    //! - \b ADC12_B_MEMORY_4\r
+    //! - \b ADC12_B_MEMORY_5\r
+    //! - \b ADC12_B_MEMORY_6\r
+    //! - \b ADC12_B_MEMORY_7\r
+    //! - \b ADC12_B_MEMORY_8\r
+    //! - \b ADC12_B_MEMORY_9\r
+    //! - \b ADC12_B_MEMORY_10\r
+    //! - \b ADC12_B_MEMORY_11\r
+    //! - \b ADC12_B_MEMORY_12\r
+    //! - \b ADC12_B_MEMORY_13\r
+    //! - \b ADC12_B_MEMORY_14\r
+    //! - \b ADC12_B_MEMORY_15\r
+    //! - \b ADC12_B_MEMORY_16\r
+    //! - \b ADC12_B_MEMORY_17\r
+    //! - \b ADC12_B_MEMORY_18\r
+    //! - \b ADC12_B_MEMORY_19\r
+    //! - \b ADC12_B_MEMORY_20\r
+    //! - \b ADC12_B_MEMORY_21\r
+    //! - \b ADC12_B_MEMORY_22\r
+    //! - \b ADC12_B_MEMORY_23\r
+    //! - \b ADC12_B_MEMORY_24\r
+    //! - \b ADC12_B_MEMORY_25\r
+    //! - \b ADC12_B_MEMORY_26\r
+    //! - \b ADC12_B_MEMORY_27\r
+    //! - \b ADC12_B_MEMORY_28\r
+    //! - \b ADC12_B_MEMORY_29\r
+    //! - \b ADC12_B_MEMORY_30\r
+    //! - \b ADC12_B_MEMORY_31\r
+    uint8_t memoryBufferControlIndex;\r
+    //! Is the input that will store the converted data into the specified\r
+    //! memory buffer.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_INPUT_A0 [Default]\r
+    //! - \b ADC12_B_INPUT_A1\r
+    //! - \b ADC12_B_INPUT_A2\r
+    //! - \b ADC12_B_INPUT_A3\r
+    //! - \b ADC12_B_INPUT_A4\r
+    //! - \b ADC12_B_INPUT_A5\r
+    //! - \b ADC12_B_INPUT_A6\r
+    //! - \b ADC12_B_INPUT_A7\r
+    //! - \b ADC12_B_INPUT_A8\r
+    //! - \b ADC12_B_INPUT_A9\r
+    //! - \b ADC12_B_INPUT_A10\r
+    //! - \b ADC12_B_INPUT_A11\r
+    //! - \b ADC12_B_INPUT_A12\r
+    //! - \b ADC12_B_INPUT_A13\r
+    //! - \b ADC12_B_INPUT_A14\r
+    //! - \b ADC12_B_INPUT_A15\r
+    //! - \b ADC12_B_INPUT_A16\r
+    //! - \b ADC12_B_INPUT_A17\r
+    //! - \b ADC12_B_INPUT_A18\r
+    //! - \b ADC12_B_INPUT_A19\r
+    //! - \b ADC12_B_INPUT_A20\r
+    //! - \b ADC12_B_INPUT_A21\r
+    //! - \b ADC12_B_INPUT_A22\r
+    //! - \b ADC12_B_INPUT_A23\r
+    //! - \b ADC12_B_INPUT_A24\r
+    //! - \b ADC12_B_INPUT_A25\r
+    //! - \b ADC12_B_INPUT_A26\r
+    //! - \b ADC12_B_INPUT_A27\r
+    //! - \b ADC12_B_INPUT_A28\r
+    //! - \b ADC12_B_INPUT_A29\r
+    //! - \b ADC12_B_INPUT_TCMAP\r
+    //! - \b ADC12_B_INPUT_BATMAP\r
+    uint8_t inputSourceSelect;\r
+    //! Is the reference voltage source to set as the upper/lower limits for\r
+    //! the conversion stored in the specified memory.\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_VREFPOS_AVCC_VREFNEG_VSS [Default]\r
+    //! - \b ADC12_B_VREFPOS_INTBUF_VREFNEG_VSS\r
+    //! - \b ADC12_B_VREFPOS_EXTNEG_VREFNEG_VSS\r
+    //! - \b ADC12_B_VREFPOS_EXTBUF_VREFNEG_VSS\r
+    //! - \b ADC12_B_VREFPOS_EXTPOS_VREFNEG_VSS\r
+    //! - \b ADC12_B_VREFPOS_AVCC_VREFNEG_EXTBUF\r
+    //! - \b ADC12_B_VREFPOS_AVCC_VREFNEG_EXTPOS\r
+    //! - \b ADC12_B_VREFPOS_INTBUF_VREFNEG_EXTPOS\r
+    //! - \b ADC12_B_VREFPOS_AVCC_VREFNEG_INTBUF\r
+    //! - \b ADC12_B_VREFPOS_EXTPOS_VREFNEG_INTBUF\r
+    //! - \b ADC12_B_VREFPOS_AVCC_VREFNEG_EXTNEG\r
+    //! - \b ADC12_B_VREFPOS_INTBUF_VREFNEG_EXTNEG\r
+    //! - \b ADC12_B_VREFPOS_EXTPOS_VREFNEG_EXTNEG\r
+    //! - \b ADC12_B_VREFPOS_EXTBUF_VREFNEG_EXTNEG\r
+    uint16_t refVoltageSourceSelect;\r
+    //! Indicates that the specified memory buffer will be the end of the\r
+    //! sequence if a sequenced conversion mode is selected\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_NOTENDOFSEQUENCE [Default]\r
+    //! - \b ADC12_B_ENDOFSEQUENCE\r
+    uint16_t endOfSequence;\r
+    //! Sets the window comparator mode\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_WINDOW_COMPARATOR_DISABLE [Default]\r
+    //! - \b ADC12_B_WINDOW_COMPARATOR_ENABLE\r
+    uint16_t windowComparatorSelect;\r
+    //! Sets the differential mode\r
+    //! \n Valid values are:\r
+    //! - \b ADC12_B_DIFFERENTIAL_MODE_DISABLE [Default]\r
+    //! - \b ADC12_B_DIFFERENTIAL_MODE_ENABLE\r
+    uint16_t differentialModeSelect;\r
+} ADC12_B_configureMemoryParam;\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the clockSourceDivider\r
+// parameter for functions: ADC12_B_init(); the param parameter for functions:\r
+// ADC12_B_init().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_CLOCKDIVIDER_1                                     (ADC12DIV_0)\r
+#define ADC12_B_CLOCKDIVIDER_2                                     (ADC12DIV_1)\r
+#define ADC12_B_CLOCKDIVIDER_3                                     (ADC12DIV_2)\r
+#define ADC12_B_CLOCKDIVIDER_4                                     (ADC12DIV_3)\r
+#define ADC12_B_CLOCKDIVIDER_5                                     (ADC12DIV_4)\r
+#define ADC12_B_CLOCKDIVIDER_6                                     (ADC12DIV_5)\r
+#define ADC12_B_CLOCKDIVIDER_7                                     (ADC12DIV_6)\r
+#define ADC12_B_CLOCKDIVIDER_8                                     (ADC12DIV_7)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the clockSourceSelect\r
+// parameter for functions: ADC12_B_init(); the param parameter for functions:\r
+// ADC12_B_init().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_CLOCKSOURCE_ADC12OSC                              (ADC12SSEL_0)\r
+#define ADC12_B_CLOCKSOURCE_ACLK                                  (ADC12SSEL_1)\r
+#define ADC12_B_CLOCKSOURCE_MCLK                                  (ADC12SSEL_2)\r
+#define ADC12_B_CLOCKSOURCE_SMCLK                                 (ADC12SSEL_3)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the clockSourcePredivider\r
+// parameter for functions: ADC12_B_init(); the param parameter for functions:\r
+// ADC12_B_init().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_CLOCKPREDIVIDER__1                               (ADC12PDIV__1)\r
+#define ADC12_B_CLOCKPREDIVIDER__4                               (ADC12PDIV__4)\r
+#define ADC12_B_CLOCKPREDIVIDER__32                             (ADC12PDIV__32)\r
+#define ADC12_B_CLOCKPREDIVIDER__64                             (ADC12PDIV__64)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_init(); the sampleHoldSignalSourceSelect parameter for\r
+// functions: ADC12_B_init().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_SAMPLEHOLDSOURCE_SC                                (ADC12SHS_0)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_1                                 (ADC12SHS_1)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_2                                 (ADC12SHS_2)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_3                                 (ADC12SHS_3)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_4                                 (ADC12SHS_4)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_5                                 (ADC12SHS_5)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_6                                 (ADC12SHS_6)\r
+#define ADC12_B_SAMPLEHOLDSOURCE_7                                 (ADC12SHS_7)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the internalChannelMap\r
+// parameter for functions: ADC12_B_init(); the param parameter for functions:\r
+// ADC12_B_init().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_MAPINTCH3                                        (ADC12ICH3MAP)\r
+#define ADC12_B_MAPINTCH2                                        (ADC12ICH2MAP)\r
+#define ADC12_B_MAPINTCH1                                        (ADC12ICH1MAP)\r
+#define ADC12_B_MAPINTCH0                                        (ADC12ICH0MAP)\r
+#define ADC12_B_TEMPSENSEMAP                                       (ADC12TCMAP)\r
+#define ADC12_B_BATTMAP                                           (ADC12BATMAP)\r
+#define ADC12_B_NOINTCH                                                  (0x00)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the clockCycleHoldCountLowMem\r
+// parameter for functions: ADC12_B_setupSamplingTimer(); the\r
+// clockCycleHoldCountHighMem parameter for functions:\r
+// ADC12_B_setupSamplingTimer().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_CYCLEHOLD_4_CYCLES                                (ADC12SHT0_0)\r
+#define ADC12_B_CYCLEHOLD_8_CYCLES                                (ADC12SHT0_1)\r
+#define ADC12_B_CYCLEHOLD_16_CYCLES                               (ADC12SHT0_2)\r
+#define ADC12_B_CYCLEHOLD_32_CYCLES                               (ADC12SHT0_3)\r
+#define ADC12_B_CYCLEHOLD_64_CYCLES                               (ADC12SHT0_4)\r
+#define ADC12_B_CYCLEHOLD_96_CYCLES                               (ADC12SHT0_5)\r
+#define ADC12_B_CYCLEHOLD_128_CYCLES                              (ADC12SHT0_6)\r
+#define ADC12_B_CYCLEHOLD_192_CYCLES                              (ADC12SHT0_7)\r
+#define ADC12_B_CYCLEHOLD_256_CYCLES                              (ADC12SHT0_8)\r
+#define ADC12_B_CYCLEHOLD_384_CYCLES                              (ADC12SHT0_9)\r
+#define ADC12_B_CYCLEHOLD_512_CYCLES                             (ADC12SHT0_10)\r
+#define ADC12_B_CYCLEHOLD_768_CYCLES                             (ADC12SHT0_11)\r
+#define ADC12_B_CYCLEHOLD_1024_CYCLES                            (ADC12SHT0_12)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the multipleSamplesEnabled\r
+// parameter for functions: ADC12_B_setupSamplingTimer().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_MULTIPLESAMPLESDISABLE                            (!(ADC12MSC))\r
+#define ADC12_B_MULTIPLESAMPLESENABLE                                (ADC12MSC)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_DIFFERENTIAL_MODE_DISABLE                                (0x00)\r
+#define ADC12_B_DIFFERENTIAL_MODE_ENABLE                             (ADC12DIF)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_NOTENDOFSEQUENCE                                  (!(ADC12EOS))\r
+#define ADC12_B_ENDOFSEQUENCE                                        (ADC12EOS)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_VREFPOS_AVCC_VREFNEG_VSS                         (ADC12VRSEL_0)\r
+#define ADC12_B_VREFPOS_INTBUF_VREFNEG_VSS                       (ADC12VRSEL_1)\r
+#define ADC12_B_VREFPOS_EXTNEG_VREFNEG_VSS                       (ADC12VRSEL_2)\r
+#define ADC12_B_VREFPOS_EXTBUF_VREFNEG_VSS                       (ADC12VRSEL_3)\r
+#define ADC12_B_VREFPOS_EXTPOS_VREFNEG_VSS                       (ADC12VRSEL_4)\r
+#define ADC12_B_VREFPOS_AVCC_VREFNEG_EXTBUF                      (ADC12VRSEL_5)\r
+#define ADC12_B_VREFPOS_AVCC_VREFNEG_EXTPOS                      (ADC12VRSEL_6)\r
+#define ADC12_B_VREFPOS_INTBUF_VREFNEG_EXTPOS                    (ADC12VRSEL_7)\r
+#define ADC12_B_VREFPOS_AVCC_VREFNEG_INTBUF                      (ADC12VRSEL_9)\r
+#define ADC12_B_VREFPOS_EXTPOS_VREFNEG_INTBUF                   (ADC12VRSEL_11)\r
+#define ADC12_B_VREFPOS_AVCC_VREFNEG_EXTNEG                     (ADC12VRSEL_12)\r
+#define ADC12_B_VREFPOS_INTBUF_VREFNEG_EXTNEG                   (ADC12VRSEL_13)\r
+#define ADC12_B_VREFPOS_EXTPOS_VREFNEG_EXTNEG                   (ADC12VRSEL_14)\r
+#define ADC12_B_VREFPOS_EXTBUF_VREFNEG_EXTNEG                   (ADC12VRSEL_15)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_INPUT_A0                                          (ADC12INCH_0)\r
+#define ADC12_B_INPUT_A1                                          (ADC12INCH_1)\r
+#define ADC12_B_INPUT_A2                                          (ADC12INCH_2)\r
+#define ADC12_B_INPUT_A3                                          (ADC12INCH_3)\r
+#define ADC12_B_INPUT_A4                                          (ADC12INCH_4)\r
+#define ADC12_B_INPUT_A5                                          (ADC12INCH_5)\r
+#define ADC12_B_INPUT_A6                                          (ADC12INCH_6)\r
+#define ADC12_B_INPUT_A7                                          (ADC12INCH_7)\r
+#define ADC12_B_INPUT_A8                                          (ADC12INCH_8)\r
+#define ADC12_B_INPUT_A9                                          (ADC12INCH_9)\r
+#define ADC12_B_INPUT_A10                                        (ADC12INCH_10)\r
+#define ADC12_B_INPUT_A11                                        (ADC12INCH_11)\r
+#define ADC12_B_INPUT_A12                                        (ADC12INCH_12)\r
+#define ADC12_B_INPUT_A13                                        (ADC12INCH_13)\r
+#define ADC12_B_INPUT_A14                                        (ADC12INCH_14)\r
+#define ADC12_B_INPUT_A15                                        (ADC12INCH_15)\r
+#define ADC12_B_INPUT_A16                                        (ADC12INCH_16)\r
+#define ADC12_B_INPUT_A17                                        (ADC12INCH_17)\r
+#define ADC12_B_INPUT_A18                                        (ADC12INCH_18)\r
+#define ADC12_B_INPUT_A19                                        (ADC12INCH_19)\r
+#define ADC12_B_INPUT_A20                                        (ADC12INCH_20)\r
+#define ADC12_B_INPUT_A21                                        (ADC12INCH_21)\r
+#define ADC12_B_INPUT_A22                                        (ADC12INCH_22)\r
+#define ADC12_B_INPUT_A23                                        (ADC12INCH_23)\r
+#define ADC12_B_INPUT_A24                                        (ADC12INCH_24)\r
+#define ADC12_B_INPUT_A25                                        (ADC12INCH_25)\r
+#define ADC12_B_INPUT_A26                                        (ADC12INCH_26)\r
+#define ADC12_B_INPUT_A27                                        (ADC12INCH_27)\r
+#define ADC12_B_INPUT_A28                                        (ADC12INCH_28)\r
+#define ADC12_B_INPUT_A29                                        (ADC12INCH_29)\r
+#define ADC12_B_INPUT_TCMAP                                      (ADC12INCH_30)\r
+#define ADC12_B_INPUT_BATMAP                                     (ADC12INCH_31)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the param parameter for\r
+// functions: ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_WINDOW_COMPARATOR_DISABLE                                (0x00)\r
+#define ADC12_B_WINDOW_COMPARATOR_ENABLE                            (ADC12WINC)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the memoryIndex parameter for\r
+// functions: ADC12_B_getMemoryAddressForDMA(); the memoryBufferIndex parameter\r
+// for functions: ADC12_B_getResults(); the param parameter for functions:\r
+// ADC12_B_configureMemory().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_MEMORY_0                                                 (0x00)\r
+#define ADC12_B_MEMORY_1                                                 (0x02)\r
+#define ADC12_B_MEMORY_2                                                 (0x04)\r
+#define ADC12_B_MEMORY_3                                                 (0x06)\r
+#define ADC12_B_MEMORY_4                                                 (0x08)\r
+#define ADC12_B_MEMORY_5                                                 (0x0A)\r
+#define ADC12_B_MEMORY_6                                                 (0x0C)\r
+#define ADC12_B_MEMORY_7                                                 (0x0E)\r
+#define ADC12_B_MEMORY_8                                                 (0x10)\r
+#define ADC12_B_MEMORY_9                                                 (0x12)\r
+#define ADC12_B_MEMORY_10                                                (0x14)\r
+#define ADC12_B_MEMORY_11                                                (0x16)\r
+#define ADC12_B_MEMORY_12                                                (0x18)\r
+#define ADC12_B_MEMORY_13                                                (0x1A)\r
+#define ADC12_B_MEMORY_14                                                (0x1C)\r
+#define ADC12_B_MEMORY_15                                                (0x1E)\r
+#define ADC12_B_MEMORY_16                                                (0x20)\r
+#define ADC12_B_MEMORY_17                                                (0x22)\r
+#define ADC12_B_MEMORY_18                                                (0x24)\r
+#define ADC12_B_MEMORY_19                                                (0x26)\r
+#define ADC12_B_MEMORY_20                                                (0x28)\r
+#define ADC12_B_MEMORY_21                                                (0x2A)\r
+#define ADC12_B_MEMORY_22                                                (0x2C)\r
+#define ADC12_B_MEMORY_23                                                (0x2E)\r
+#define ADC12_B_MEMORY_24                                                (0x30)\r
+#define ADC12_B_MEMORY_25                                                (0x32)\r
+#define ADC12_B_MEMORY_26                                                (0x34)\r
+#define ADC12_B_MEMORY_27                                                (0x36)\r
+#define ADC12_B_MEMORY_28                                                (0x38)\r
+#define ADC12_B_MEMORY_29                                                (0x3A)\r
+#define ADC12_B_MEMORY_30                                                (0x3C)\r
+#define ADC12_B_MEMORY_31                                                (0x3E)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the interruptMask0 parameter\r
+// for functions: ADC12_B_enableInterrupt(), and ADC12_B_disableInterrupt().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_IE0                                                  (ADC12IE0)\r
+#define ADC12_B_IE1                                                  (ADC12IE1)\r
+#define ADC12_B_IE2                                                  (ADC12IE2)\r
+#define ADC12_B_IE3                                                  (ADC12IE3)\r
+#define ADC12_B_IE4                                                  (ADC12IE4)\r
+#define ADC12_B_IE5                                                  (ADC12IE5)\r
+#define ADC12_B_IE6                                                  (ADC12IE6)\r
+#define ADC12_B_IE7                                                  (ADC12IE7)\r
+#define ADC12_B_IE8                                                  (ADC12IE8)\r
+#define ADC12_B_IE9                                                  (ADC12IE9)\r
+#define ADC12_B_IE10                                                (ADC12IE10)\r
+#define ADC12_B_IE11                                                (ADC12IE11)\r
+#define ADC12_B_IE12                                                (ADC12IE12)\r
+#define ADC12_B_IE13                                                (ADC12IE13)\r
+#define ADC12_B_IE14                                                (ADC12IE14)\r
+#define ADC12_B_IE15                                                (ADC12IE15)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the interruptMask1 parameter\r
+// for functions: ADC12_B_enableInterrupt(), and ADC12_B_disableInterrupt().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_IE16                                                (ADC12IE16)\r
+#define ADC12_B_IE17                                                (ADC12IE17)\r
+#define ADC12_B_IE18                                                (ADC12IE18)\r
+#define ADC12_B_IE19                                                (ADC12IE19)\r
+#define ADC12_B_IE20                                                (ADC12IE20)\r
+#define ADC12_B_IE21                                                (ADC12IE21)\r
+#define ADC12_B_IE22                                                (ADC12IE22)\r
+#define ADC12_B_IE23                                                (ADC12IE23)\r
+#define ADC12_B_IE24                                                (ADC12IE24)\r
+#define ADC12_B_IE25                                                (ADC12IE25)\r
+#define ADC12_B_IE26                                                (ADC12IE26)\r
+#define ADC12_B_IE27                                                (ADC12IE27)\r
+#define ADC12_B_IE28                                                (ADC12IE28)\r
+#define ADC12_B_IE29                                                (ADC12IE29)\r
+#define ADC12_B_IE30                                                (ADC12IE30)\r
+#define ADC12_B_IE31                                                (ADC12IE31)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the interruptMask2 parameter\r
+// for functions: ADC12_B_enableInterrupt(), and ADC12_B_disableInterrupt().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_INIE                                                (ADC12INIE)\r
+#define ADC12_B_LOIE                                                (ADC12LOIE)\r
+#define ADC12_B_HIIE                                                (ADC12HIIE)\r
+#define ADC12_B_OVIE                                                (ADC12OVIE)\r
+#define ADC12_B_TOVIE                                              (ADC12TOVIE)\r
+#define ADC12_B_RDYIE                                              (ADC12RDYIE)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the memoryInterruptFlagMask\r
+// parameter for functions: ADC12_B_clearInterrupt(), and\r
+// ADC12_B_getInterruptStatus().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_IFG0                                                (ADC12IFG0)\r
+#define ADC12_B_IFG1                                                (ADC12IFG1)\r
+#define ADC12_B_IFG2                                                (ADC12IFG2)\r
+#define ADC12_B_IFG3                                                (ADC12IFG3)\r
+#define ADC12_B_IFG4                                                (ADC12IFG4)\r
+#define ADC12_B_IFG5                                                (ADC12IFG5)\r
+#define ADC12_B_IFG6                                                (ADC12IFG6)\r
+#define ADC12_B_IFG7                                                (ADC12IFG7)\r
+#define ADC12_B_IFG8                                                (ADC12IFG8)\r
+#define ADC12_B_IFG9                                                (ADC12IFG9)\r
+#define ADC12_B_IFG10                                              (ADC12IFG10)\r
+#define ADC12_B_IFG11                                              (ADC12IFG11)\r
+#define ADC12_B_IFG12                                              (ADC12IFG12)\r
+#define ADC12_B_IFG13                                              (ADC12IFG13)\r
+#define ADC12_B_IFG14                                              (ADC12IFG14)\r
+#define ADC12_B_IFG15                                              (ADC12IFG15)\r
+#define ADC12_B_IFG16                                              (ADC12IFG16)\r
+#define ADC12_B_IFG17                                              (ADC12IFG17)\r
+#define ADC12_B_IFG18                                              (ADC12IFG18)\r
+#define ADC12_B_IFG19                                              (ADC12IFG19)\r
+#define ADC12_B_IFG20                                              (ADC12IFG20)\r
+#define ADC12_B_IFG21                                              (ADC12IFG21)\r
+#define ADC12_B_IFG22                                              (ADC12IFG22)\r
+#define ADC12_B_IFG23                                              (ADC12IFG23)\r
+#define ADC12_B_IFG24                                              (ADC12IFG24)\r
+#define ADC12_B_IFG25                                              (ADC12IFG25)\r
+#define ADC12_B_IFG26                                              (ADC12IFG26)\r
+#define ADC12_B_IFG27                                              (ADC12IFG27)\r
+#define ADC12_B_IFG28                                              (ADC12IFG28)\r
+#define ADC12_B_IFG29                                              (ADC12IFG29)\r
+#define ADC12_B_IFG30                                              (ADC12IFG30)\r
+#define ADC12_B_IFG31                                              (ADC12IFG31)\r
+#define ADC12_B_INIFG                                              (ADC12INIFG)\r
+#define ADC12_B_LOIFG                                              (ADC12LOIFG)\r
+#define ADC12_B_HIIFG                                              (ADC12HIIFG)\r
+#define ADC12_B_OVIFG                                              (ADC12OVIFG)\r
+#define ADC12_B_TOVIFG                                            (ADC12TOVIFG)\r
+#define ADC12_B_RDYIFG                                            (ADC12RDYIFG)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the startingMemoryBufferIndex\r
+// parameter for functions: ADC12_B_startConversion().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_START_AT_ADC12MEM0                           (ADC12CSTARTADD_0)\r
+#define ADC12_B_START_AT_ADC12MEM1                           (ADC12CSTARTADD_1)\r
+#define ADC12_B_START_AT_ADC12MEM2                           (ADC12CSTARTADD_2)\r
+#define ADC12_B_START_AT_ADC12MEM3                           (ADC12CSTARTADD_3)\r
+#define ADC12_B_START_AT_ADC12MEM4                           (ADC12CSTARTADD_4)\r
+#define ADC12_B_START_AT_ADC12MEM5                           (ADC12CSTARTADD_5)\r
+#define ADC12_B_START_AT_ADC12MEM6                           (ADC12CSTARTADD_6)\r
+#define ADC12_B_START_AT_ADC12MEM7                           (ADC12CSTARTADD_7)\r
+#define ADC12_B_START_AT_ADC12MEM8                           (ADC12CSTARTADD_8)\r
+#define ADC12_B_START_AT_ADC12MEM9                           (ADC12CSTARTADD_9)\r
+#define ADC12_B_START_AT_ADC12MEM10                         (ADC12CSTARTADD_10)\r
+#define ADC12_B_START_AT_ADC12MEM11                         (ADC12CSTARTADD_11)\r
+#define ADC12_B_START_AT_ADC12MEM12                         (ADC12CSTARTADD_12)\r
+#define ADC12_B_START_AT_ADC12MEM13                         (ADC12CSTARTADD_13)\r
+#define ADC12_B_START_AT_ADC12MEM14                         (ADC12CSTARTADD_14)\r
+#define ADC12_B_START_AT_ADC12MEM15                         (ADC12CSTARTADD_15)\r
+#define ADC12_B_START_AT_ADC12MEM16                         (ADC12CSTARTADD_16)\r
+#define ADC12_B_START_AT_ADC12MEM17                         (ADC12CSTARTADD_17)\r
+#define ADC12_B_START_AT_ADC12MEM18                         (ADC12CSTARTADD_18)\r
+#define ADC12_B_START_AT_ADC12MEM19                         (ADC12CSTARTADD_19)\r
+#define ADC12_B_START_AT_ADC12MEM20                         (ADC12CSTARTADD_20)\r
+#define ADC12_B_START_AT_ADC12MEM21                         (ADC12CSTARTADD_21)\r
+#define ADC12_B_START_AT_ADC12MEM22                         (ADC12CSTARTADD_22)\r
+#define ADC12_B_START_AT_ADC12MEM23                         (ADC12CSTARTADD_23)\r
+#define ADC12_B_START_AT_ADC12MEM24                         (ADC12CSTARTADD_24)\r
+#define ADC12_B_START_AT_ADC12MEM25                         (ADC12CSTARTADD_25)\r
+#define ADC12_B_START_AT_ADC12MEM26                         (ADC12CSTARTADD_26)\r
+#define ADC12_B_START_AT_ADC12MEM27                         (ADC12CSTARTADD_27)\r
+#define ADC12_B_START_AT_ADC12MEM28                         (ADC12CSTARTADD_28)\r
+#define ADC12_B_START_AT_ADC12MEM29                         (ADC12CSTARTADD_29)\r
+#define ADC12_B_START_AT_ADC12MEM30                         (ADC12CSTARTADD_30)\r
+#define ADC12_B_START_AT_ADC12MEM31                         (ADC12CSTARTADD_31)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the\r
+// conversionSequenceModeSelect parameter for functions:\r
+// ADC12_B_startConversion().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_SINGLECHANNEL                                   (ADC12CONSEQ_0)\r
+#define ADC12_B_SEQOFCHANNELS                                   (ADC12CONSEQ_1)\r
+#define ADC12_B_REPEATED_SINGLECHANNEL                          (ADC12CONSEQ_2)\r
+#define ADC12_B_REPEATED_SEQOFCHANNELS                          (ADC12CONSEQ_3)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the preempt parameter for\r
+// functions: ADC12_B_disableConversions().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_COMPLETECONVERSION                                        false\r
+#define ADC12_B_PREEMPTCONVERSION                                          true\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the resolutionSelect\r
+// parameter for functions: ADC12_B_setResolution().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_RESOLUTION_8BIT                                (ADC12RES__8BIT)\r
+#define ADC12_B_RESOLUTION_10BIT                              (ADC12RES__10BIT)\r
+#define ADC12_B_RESOLUTION_12BIT                              (ADC12RES__12BIT)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the invertedSignal parameter\r
+// for functions: ADC12_B_setSampleHoldSignalInversion().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_NONINVERTEDSIGNAL                                (!(ADC12ISSH))\r
+#define ADC12_B_INVERTEDSIGNAL                                      (ADC12ISSH)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the readBackFormat parameter\r
+// for functions: ADC12_B_setDataReadBackFormat().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_UNSIGNED_BINARY                                    (!(ADC12DF))\r
+#define ADC12_B_SIGNED_2SCOMPLEMENT                                   (ADC12DF)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed to the powerMode parameter for\r
+// functions: ADC12_B_setAdcPowerMode().\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_REGULARPOWERMODE                                (!(ADC12PWRMD))\r
+#define ADC12_B_LOWPOWERMODE                                       (ADC12PWRMD)\r
+\r
+//*****************************************************************************\r
+//\r
+// The following are values that can be passed toThe following are values that\r
+// can be returned by the ADC12_B_isBusy() function.\r
+//\r
+//*****************************************************************************\r
+#define ADC12_B_NOTBUSY                                                    0x00\r
+#define ADC12_B_BUSY                                                  ADC12BUSY\r
+\r
+//*****************************************************************************\r
+//\r
+// Prototypes for the APIs.\r
+//\r
+//*****************************************************************************\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Initializes the ADC12B Module.\r
+//!\r
+//! This function initializes the ADC module to allow for analog-to-digital\r
+//! conversions. Specifically this function sets up the sample-and-hold signal\r
+//! and clock sources for the ADC core to use for conversions. Upon successful\r
+//! completion of the initialization all of the ADC control registers will be\r
+//! reset, excluding the memory controls and reference module bits, the given\r
+//! parameters will be set, and the ADC core will be turned on (Note, that the\r
+//! ADC core only draws power during conversions and remains off when not\r
+//! converting).Note that sample/hold signal sources are device dependent. Note\r
+//! that if re-initializing the ADC after starting a conversion with the\r
+//! startConversion() function, the disableConversion() must be called BEFORE\r
+//! this function can be called.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param param is the pointer to struct for initialization.\r
+//!\r
+//! \return STATUS_SUCCESS or STATUS_FAILURE of the initialization process.\r
+//\r
+//*****************************************************************************\r
+extern bool ADC12_B_init(uint16_t baseAddress,\r
+                         ADC12_B_initParam *param);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables the ADC12B block.\r
+//!\r
+//! This will enable operation of the ADC12B block.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//!\r
+//! Modified bits are \b ADC12ON of \b ADC12CTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_enable(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables the ADC12B block.\r
+//!\r
+//! This will disable operation of the ADC12B block.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//!\r
+//! Modified bits are \b ADC12ON of \b ADC12CTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_disable(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Sets up and enables the Sampling Timer Pulse Mode.\r
+//!\r
+//! This function sets up the sampling timer pulse mode which allows the\r
+//! sample/hold signal to trigger a sampling timer to sample-and-hold an input\r
+//! signal for a specified number of clock cycles without having to hold the\r
+//! sample/hold signal for the entire period of sampling. Note that if a\r
+//! conversion has been started with the startConversion() function, then a\r
+//! call to disableConversions() is required before this function may be\r
+//! called.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param clockCycleHoldCountLowMem sets the amount of clock cycles to sample-\r
+//!        and-hold for the higher memory buffers 0-7.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_CYCLEHOLD_4_CYCLES [Default]\r
+//!        - \b ADC12_B_CYCLEHOLD_8_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_16_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_32_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_64_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_96_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_128_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_192_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_256_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_384_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_512_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_768_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_1024_CYCLES\r
+//!        \n Modified bits are \b ADC12SHT0x of \b ADC12CTL0 register.\r
+//! \param clockCycleHoldCountHighMem sets the amount of clock cycles to\r
+//!        sample-and-hold for the higher memory buffers 8-15.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_CYCLEHOLD_4_CYCLES [Default]\r
+//!        - \b ADC12_B_CYCLEHOLD_8_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_16_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_32_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_64_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_96_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_128_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_192_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_256_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_384_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_512_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_768_CYCLES\r
+//!        - \b ADC12_B_CYCLEHOLD_1024_CYCLES\r
+//!        \n Modified bits are \b ADC12SHT1x of \b ADC12CTL0 register.\r
+//! \param multipleSamplesEnabled allows multiple conversions to start without\r
+//!        a trigger signal from the sample/hold signal\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_MULTIPLESAMPLESDISABLE [Default] - a timer trigger will\r
+//!           be needed to start every ADC conversion.\r
+//!        - \b ADC12_B_MULTIPLESAMPLESENABLE - during a sequenced and/or\r
+//!           repeated conversion mode, after the first conversion, no\r
+//!           sample/hold signal is necessary to start subsequent sample/hold\r
+//!           and convert processes.\r
+//!        \n Modified bits are \b ADC12MSC of \b ADC12CTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setupSamplingTimer(uint16_t baseAddress,\r
+                                       uint16_t clockCycleHoldCountLowMem,\r
+                                       uint16_t clockCycleHoldCountHighMem,\r
+                                       uint16_t multipleSamplesEnabled);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables Sampling Timer Pulse Mode.\r
+//!\r
+//! Disables the Sampling Timer Pulse Mode. Note that if a conversion has been\r
+//! started with the startConversion() function, then a call to\r
+//! disableConversions() is required before this function may be called.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_disableSamplingTimer(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Configures the controls of the selected memory buffer.\r
+//!\r
+//! Maps an input signal conversion into the selected memory buffer, as well as\r
+//! the positive and negative reference voltages for each conversion being\r
+//! stored into this memory buffer. If the internal reference is used for the\r
+//! positive reference voltage, the internal REF module must be used to control\r
+//! the voltage level. Note that if a conversion has been started with the\r
+//! startConversion() function, then a call to disableConversions() is required\r
+//! before this function may be called.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param param is the pointer to struct for ADC12B memory configuration.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_configureMemory(uint16_t baseAddress,\r
+                                    ADC12_B_configureMemoryParam *param);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Sets the high and low threshold for the window comparator feature.\r
+//!\r
+//! Sets the high and low threshold for the window comparator feature. Use the\r
+//! ADC12HIIE, ADC12INIE, ADC12LOIE interrupts to utilize this feature.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param highThreshold is the upper bound that could trip an interrupt for\r
+//!        the window comparator.\r
+//! \param lowThreshold is the lower bound that could trip on interrupt for the\r
+//!        window comparator.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setWindowCompAdvanced(uint16_t baseAddress,\r
+                                          uint16_t highThreshold,\r
+                                          uint16_t lowThreshold);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables selected ADC12B interrupt sources.\r
+//!\r
+//! Enables the indicated ADC12B interrupt sources.  Only the sources that are\r
+//! enabled can be reflected to the processor interrupt; disabled sources have\r
+//! no effect on the processor. <b>Does not clear interrupt flags.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param interruptMask0 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be enabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask0, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IE0\r
+//!        - \b ADC12_B_IE1\r
+//!        - \b ADC12_B_IE2\r
+//!        - \b ADC12_B_IE3\r
+//!        - \b ADC12_B_IE4\r
+//!        - \b ADC12_B_IE5\r
+//!        - \b ADC12_B_IE6\r
+//!        - \b ADC12_B_IE7\r
+//!        - \b ADC12_B_IE8\r
+//!        - \b ADC12_B_IE9\r
+//!        - \b ADC12_B_IE10\r
+//!        - \b ADC12_B_IE11\r
+//!        - \b ADC12_B_IE12\r
+//!        - \b ADC12_B_IE13\r
+//!        - \b ADC12_B_IE14\r
+//!        - \b ADC12_B_IE15\r
+//! \param interruptMask1 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be enabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask1, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IE16\r
+//!        - \b ADC12_B_IE17\r
+//!        - \b ADC12_B_IE18\r
+//!        - \b ADC12_B_IE19\r
+//!        - \b ADC12_B_IE20\r
+//!        - \b ADC12_B_IE21\r
+//!        - \b ADC12_B_IE22\r
+//!        - \b ADC12_B_IE23\r
+//!        - \b ADC12_B_IE24\r
+//!        - \b ADC12_B_IE25\r
+//!        - \b ADC12_B_IE26\r
+//!        - \b ADC12_B_IE27\r
+//!        - \b ADC12_B_IE28\r
+//!        - \b ADC12_B_IE29\r
+//!        - \b ADC12_B_IE30\r
+//!        - \b ADC12_B_IE31\r
+//! \param interruptMask2 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be enabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask2, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_INIE - Interrupt enable for a conversion in the result\r
+//!           register is either greater than the ADC12LO or lower than the\r
+//!           ADC12HI threshold. GIE bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_LOIE - Interrupt enable for the falling short of the\r
+//!           lower limit interrupt of the window comparator for the result\r
+//!           register. GIE bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_HIIE - Interrupt enable for the exceeding the upper\r
+//!           limit of the window comparator for the result register. GIE bit\r
+//!           must be set to enable the interrupt.\r
+//!        - \b ADC12_B_OVIE - Interrupt enable for a conversion that is about\r
+//!           to save to a memory buffer that has not been read out yet. GIE\r
+//!           bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_TOVIE - enable for a conversion that is about to start\r
+//!           before the previous conversion has been completed. GIE bit must\r
+//!           be set to enable the interrupt.\r
+//!        - \b ADC12_B_RDYIE - enable for the local buffered reference ready\r
+//!           signal. GIE bit must be set to enable the interrupt.\r
+//!\r
+//! Modified bits of \b ADC12IERx register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_enableInterrupt(uint16_t baseAddress,\r
+                                    uint16_t interruptMask0,\r
+                                    uint16_t interruptMask1,\r
+                                    uint16_t interruptMask2);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables selected ADC12B interrupt sources.\r
+//!\r
+//! Disables the indicated ADC12B interrupt sources. Only the sources that are\r
+//! enabled can be reflected to the processor interrupt; disabled sources have\r
+//! no effect on the processor.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param interruptMask0 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be disabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask0, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IE0\r
+//!        - \b ADC12_B_IE1\r
+//!        - \b ADC12_B_IE2\r
+//!        - \b ADC12_B_IE3\r
+//!        - \b ADC12_B_IE4\r
+//!        - \b ADC12_B_IE5\r
+//!        - \b ADC12_B_IE6\r
+//!        - \b ADC12_B_IE7\r
+//!        - \b ADC12_B_IE8\r
+//!        - \b ADC12_B_IE9\r
+//!        - \b ADC12_B_IE10\r
+//!        - \b ADC12_B_IE11\r
+//!        - \b ADC12_B_IE12\r
+//!        - \b ADC12_B_IE13\r
+//!        - \b ADC12_B_IE14\r
+//!        - \b ADC12_B_IE15\r
+//! \param interruptMask1 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be disabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask1, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IE16\r
+//!        - \b ADC12_B_IE17\r
+//!        - \b ADC12_B_IE18\r
+//!        - \b ADC12_B_IE19\r
+//!        - \b ADC12_B_IE20\r
+//!        - \b ADC12_B_IE21\r
+//!        - \b ADC12_B_IE22\r
+//!        - \b ADC12_B_IE23\r
+//!        - \b ADC12_B_IE24\r
+//!        - \b ADC12_B_IE25\r
+//!        - \b ADC12_B_IE26\r
+//!        - \b ADC12_B_IE27\r
+//!        - \b ADC12_B_IE28\r
+//!        - \b ADC12_B_IE29\r
+//!        - \b ADC12_B_IE30\r
+//!        - \b ADC12_B_IE31\r
+//! \param interruptMask2 is the bit mask of the memory buffer and overflow\r
+//!        interrupt sources to be disabled. If the desired interrupt is not\r
+//!        available in the selection for interruptMask2, then simply pass in a\r
+//!        '0' for this value.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_INIE - Interrupt enable for a conversion in the result\r
+//!           register is either greater than the ADC12LO or lower than the\r
+//!           ADC12HI threshold. GIE bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_LOIE - Interrupt enable for the falling short of the\r
+//!           lower limit interrupt of the window comparator for the result\r
+//!           register. GIE bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_HIIE - Interrupt enable for the exceeding the upper\r
+//!           limit of the window comparator for the result register. GIE bit\r
+//!           must be set to enable the interrupt.\r
+//!        - \b ADC12_B_OVIE - Interrupt enable for a conversion that is about\r
+//!           to save to a memory buffer that has not been read out yet. GIE\r
+//!           bit must be set to enable the interrupt.\r
+//!        - \b ADC12_B_TOVIE - enable for a conversion that is about to start\r
+//!           before the previous conversion has been completed. GIE bit must\r
+//!           be set to enable the interrupt.\r
+//!        - \b ADC12_B_RDYIE - enable for the local buffered reference ready\r
+//!           signal. GIE bit must be set to enable the interrupt.\r
+//!\r
+//! Modified bits of \b ADC12IERx register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_disableInterrupt(uint16_t baseAddress,\r
+                                     uint16_t interruptMask0,\r
+                                     uint16_t interruptMask1,\r
+                                     uint16_t interruptMask2);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Clears ADC12B selected interrupt flags.\r
+//!\r
+//! Modified registers are ADC12IFG .\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param interruptRegisterChoice is either 0, 1, or 2, to choose the correct\r
+//!        interrupt register to update\r
+//! \param memoryInterruptFlagMask is the bit mask of the memory buffer and\r
+//!        overflow interrupt flags to be cleared.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IFG0 - interruptRegisterChoice = 0\r
+//!        - \b ADC12_B_IFG1\r
+//!        - \b ADC12_B_IFG2\r
+//!        - \b ADC12_B_IFG3\r
+//!        - \b ADC12_B_IFG4\r
+//!        - \b ADC12_B_IFG5\r
+//!        - \b ADC12_B_IFG6\r
+//!        - \b ADC12_B_IFG7\r
+//!        - \b ADC12_B_IFG8\r
+//!        - \b ADC12_B_IFG9\r
+//!        - \b ADC12_B_IFG10\r
+//!        - \b ADC12_B_IFG11\r
+//!        - \b ADC12_B_IFG12\r
+//!        - \b ADC12_B_IFG13\r
+//!        - \b ADC12_B_IFG14\r
+//!        - \b ADC12_B_IFG15\r
+//!        - \b ADC12_B_IFG16 - interruptRegisterChoice = 1\r
+//!        - \b ADC12_B_IFG17\r
+//!        - \b ADC12_B_IFG18\r
+//!        - \b ADC12_B_IFG19\r
+//!        - \b ADC12_B_IFG20\r
+//!        - \b ADC12_B_IFG21\r
+//!        - \b ADC12_B_IFG22\r
+//!        - \b ADC12_B_IFG23\r
+//!        - \b ADC12_B_IFG24\r
+//!        - \b ADC12_B_IFG25\r
+//!        - \b ADC12_B_IFG26\r
+//!        - \b ADC12_B_IFG27\r
+//!        - \b ADC12_B_IFG28\r
+//!        - \b ADC12_B_IFG29\r
+//!        - \b ADC12_B_IFG30\r
+//!        - \b ADC12_B_IFG31\r
+//!        - \b ADC12_B_INIFG - interruptRegisterChoice = 2\r
+//!        - \b ADC12_B_LOIFG\r
+//!        - \b ADC12_B_HIIFG\r
+//!        - \b ADC12_B_OVIFG\r
+//!        - \b ADC12_B_TOVIFG\r
+//!        - \b ADC12_B_RDYIFG - The selected ADC12B interrupt flags are\r
+//!           cleared, so that it no longer asserts. The memory buffer\r
+//!           interrupt flags are only cleared when the memory buffer is\r
+//!           accessed. Note that the overflow interrupts do not have an\r
+//!           interrupt flag to clear; they must be accessed directly from the\r
+//!           interrupt vector.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_clearInterrupt(uint16_t baseAddress,\r
+                                   uint8_t interruptRegisterChoice,\r
+                                   uint16_t memoryInterruptFlagMask);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the status of the selected memory interrupt flags.\r
+//!\r
+//! Returns the status of the selected memory interrupt flags. Note that the\r
+//! overflow interrupts do not have an interrupt flag to clear; they must be\r
+//! accessed directly from the interrupt vector.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param interruptRegisterChoice is either 0, 1, or 2, to choose the correct\r
+//!        interrupt register to update\r
+//! \param memoryInterruptFlagMask is the bit mask of the memory buffer and\r
+//!        overflow interrupt flags to be cleared.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_IFG0 - interruptRegisterChoice = 0\r
+//!        - \b ADC12_B_IFG1\r
+//!        - \b ADC12_B_IFG2\r
+//!        - \b ADC12_B_IFG3\r
+//!        - \b ADC12_B_IFG4\r
+//!        - \b ADC12_B_IFG5\r
+//!        - \b ADC12_B_IFG6\r
+//!        - \b ADC12_B_IFG7\r
+//!        - \b ADC12_B_IFG8\r
+//!        - \b ADC12_B_IFG9\r
+//!        - \b ADC12_B_IFG10\r
+//!        - \b ADC12_B_IFG11\r
+//!        - \b ADC12_B_IFG12\r
+//!        - \b ADC12_B_IFG13\r
+//!        - \b ADC12_B_IFG14\r
+//!        - \b ADC12_B_IFG15\r
+//!        - \b ADC12_B_IFG16 - interruptRegisterChoice = 1\r
+//!        - \b ADC12_B_IFG17\r
+//!        - \b ADC12_B_IFG18\r
+//!        - \b ADC12_B_IFG19\r
+//!        - \b ADC12_B_IFG20\r
+//!        - \b ADC12_B_IFG21\r
+//!        - \b ADC12_B_IFG22\r
+//!        - \b ADC12_B_IFG23\r
+//!        - \b ADC12_B_IFG24\r
+//!        - \b ADC12_B_IFG25\r
+//!        - \b ADC12_B_IFG26\r
+//!        - \b ADC12_B_IFG27\r
+//!        - \b ADC12_B_IFG28\r
+//!        - \b ADC12_B_IFG29\r
+//!        - \b ADC12_B_IFG30\r
+//!        - \b ADC12_B_IFG31\r
+//!        - \b ADC12_B_INIFG - interruptRegisterChoice = 2\r
+//!        - \b ADC12_B_LOIFG\r
+//!        - \b ADC12_B_HIIFG\r
+//!        - \b ADC12_B_OVIFG\r
+//!        - \b ADC12_B_TOVIFG\r
+//!        - \b ADC12_B_RDYIFG - The selected ADC12B interrupt flags are\r
+//!           cleared, so that it no longer asserts. The memory buffer\r
+//!           interrupt flags are only cleared when the memory buffer is\r
+//!           accessed. Note that the overflow interrupts do not have an\r
+//!           interrupt flag to clear; they must be accessed directly from the\r
+//!           interrupt vector.\r
+//!\r
+//! \return The current interrupt flag status for the corresponding mask.\r
+//\r
+//*****************************************************************************\r
+extern uint16_t ADC12_B_getInterruptStatus(uint16_t baseAddress,\r
+                                           uint8_t interruptRegisterChoice,\r
+                                           uint16_t memoryInterruptFlagMask);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Enables/Starts an Analog-to-Digital Conversion.\r
+//!\r
+//! Enables/starts the conversion process of the ADC. If the sample/hold signal\r
+//! source chosen during initialization was ADC12OSC, then the conversion is\r
+//! started immediately, otherwise the chosen sample/hold signal source starts\r
+//! the conversion by a rising edge of the signal. Keep in mind when selecting\r
+//! conversion modes, that for sequenced and/or repeated modes, to keep the\r
+//! sample/hold-and-convert process continuing without a trigger from the\r
+//! sample/hold signal source, the multiple samples must be enabled using the\r
+//! ADC12_B_setupSamplingTimer() function. Note that after this function is\r
+//! called, the ADC12_B_stopConversions() has to be called to re-initialize the\r
+//! ADC, reconfigure a memory buffer control, enable/disable the sampling\r
+//! timer, or to change the internal reference voltage.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param startingMemoryBufferIndex is the memory buffer that will hold the\r
+//!        first or only conversion.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_START_AT_ADC12MEM0 [Default]\r
+//!        - \b ADC12_B_START_AT_ADC12MEM1\r
+//!        - \b ADC12_B_START_AT_ADC12MEM2\r
+//!        - \b ADC12_B_START_AT_ADC12MEM3\r
+//!        - \b ADC12_B_START_AT_ADC12MEM4\r
+//!        - \b ADC12_B_START_AT_ADC12MEM5\r
+//!        - \b ADC12_B_START_AT_ADC12MEM6\r
+//!        - \b ADC12_B_START_AT_ADC12MEM7\r
+//!        - \b ADC12_B_START_AT_ADC12MEM8\r
+//!        - \b ADC12_B_START_AT_ADC12MEM9\r
+//!        - \b ADC12_B_START_AT_ADC12MEM10\r
+//!        - \b ADC12_B_START_AT_ADC12MEM11\r
+//!        - \b ADC12_B_START_AT_ADC12MEM12\r
+//!        - \b ADC12_B_START_AT_ADC12MEM13\r
+//!        - \b ADC12_B_START_AT_ADC12MEM14\r
+//!        - \b ADC12_B_START_AT_ADC12MEM15\r
+//!        - \b ADC12_B_START_AT_ADC12MEM16\r
+//!        - \b ADC12_B_START_AT_ADC12MEM17\r
+//!        - \b ADC12_B_START_AT_ADC12MEM18\r
+//!        - \b ADC12_B_START_AT_ADC12MEM19\r
+//!        - \b ADC12_B_START_AT_ADC12MEM20\r
+//!        - \b ADC12_B_START_AT_ADC12MEM21\r
+//!        - \b ADC12_B_START_AT_ADC12MEM22\r
+//!        - \b ADC12_B_START_AT_ADC12MEM23\r
+//!        - \b ADC12_B_START_AT_ADC12MEM24\r
+//!        - \b ADC12_B_START_AT_ADC12MEM25\r
+//!        - \b ADC12_B_START_AT_ADC12MEM26\r
+//!        - \b ADC12_B_START_AT_ADC12MEM27\r
+//!        - \b ADC12_B_START_AT_ADC12MEM28\r
+//!        - \b ADC12_B_START_AT_ADC12MEM29\r
+//!        - \b ADC12_B_START_AT_ADC12MEM30\r
+//!        - \b ADC12_B_START_AT_ADC12MEM31\r
+//!        \n Modified bits are \b ADC12CSTARTADDx of \b ADC12CTL1 register.\r
+//! \param conversionSequenceModeSelect determines the ADC operating mode.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_SINGLECHANNEL [Default] - one-time conversion of a\r
+//!           single channel into a single memory buffer.\r
+//!        - \b ADC12_B_SEQOFCHANNELS - one time conversion of multiple\r
+//!           channels into the specified starting memory buffer and each\r
+//!           subsequent memory buffer up until the conversion is stored in a\r
+//!           memory buffer dedicated as the end-of-sequence by the memory's\r
+//!           control register.\r
+//!        - \b ADC12_B_REPEATED_SINGLECHANNEL - repeated conversions of one\r
+//!           channel into a single memory buffer.\r
+//!        - \b ADC12_B_REPEATED_SEQOFCHANNELS - repeated conversions of\r
+//!           multiple channels into the specified starting memory buffer and\r
+//!           each subsequent memory buffer up until the conversion is stored\r
+//!           in a memory buffer dedicated as the end-of-sequence by the\r
+//!           memory's control register.\r
+//!        \n Modified bits are \b ADC12CONSEQx of \b ADC12CTL1 register.\r
+//!\r
+//! Modified bits of \b ADC12CTL1 register and bits of \b ADC12CTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_startConversion(uint16_t baseAddress,\r
+                                    uint16_t startingMemoryBufferIndex,\r
+                                    uint8_t conversionSequenceModeSelect);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Disables the ADC from converting any more signals.\r
+//!\r
+//! Disables the ADC from converting any more signals. If there is a conversion\r
+//! in progress, this function can stop it immediately if the preempt parameter\r
+//! is set as ADC12_B_PREEMPTCONVERSION, by changing the conversion mode to\r
+//! single-channel, single-conversion and disabling conversions. If the\r
+//! conversion mode is set as single-channel, single-conversion and this\r
+//! function is called without preemption, then the ADC core conversion status\r
+//! is polled until the conversion is complete before disabling conversions to\r
+//! prevent unpredictable data. If the ADC12_B_startConversion() has been\r
+//! called, then this function has to be called to re-initialize the ADC,\r
+//! reconfigure a memory buffer control, enable/disable the sampling pulse\r
+//! mode, or change the internal reference voltage.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param preempt specifies if the current conversion should be preemptively\r
+//!        stopped before the end of the conversion.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_COMPLETECONVERSION - Allows the ADC12B to end the\r
+//!           current conversion before disabling conversions.\r
+//!        - \b ADC12_B_PREEMPTCONVERSION - Stops the ADC12B immediately, with\r
+//!           unpredictable results of the current conversion.\r
+//!\r
+//! Modified bits of \b ADC12CTL1 register and bits of \b ADC12CTL0 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_disableConversions(uint16_t baseAddress,\r
+                                       bool preempt);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the raw contents of the specified memory buffer.\r
+//!\r
+//! Returns the raw contents of the specified memory buffer. The format of the\r
+//! content depends on the read-back format of the data: if the data is in\r
+//! signed 2's complement format then the contents in the memory buffer will be\r
+//! left-justified with the least-significant bits as 0's, whereas if the data\r
+//! is in unsigned format then the contents in the memory buffer will be right-\r
+//! justified with the most-significant bits as 0's.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param memoryBufferIndex is the specified memory buffer to read.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_MEMORY_0\r
+//!        - \b ADC12_B_MEMORY_1\r
+//!        - \b ADC12_B_MEMORY_2\r
+//!        - \b ADC12_B_MEMORY_3\r
+//!        - \b ADC12_B_MEMORY_4\r
+//!        - \b ADC12_B_MEMORY_5\r
+//!        - \b ADC12_B_MEMORY_6\r
+//!        - \b ADC12_B_MEMORY_7\r
+//!        - \b ADC12_B_MEMORY_8\r
+//!        - \b ADC12_B_MEMORY_9\r
+//!        - \b ADC12_B_MEMORY_10\r
+//!        - \b ADC12_B_MEMORY_11\r
+//!        - \b ADC12_B_MEMORY_12\r
+//!        - \b ADC12_B_MEMORY_13\r
+//!        - \b ADC12_B_MEMORY_14\r
+//!        - \b ADC12_B_MEMORY_15\r
+//!        - \b ADC12_B_MEMORY_16\r
+//!        - \b ADC12_B_MEMORY_17\r
+//!        - \b ADC12_B_MEMORY_18\r
+//!        - \b ADC12_B_MEMORY_19\r
+//!        - \b ADC12_B_MEMORY_20\r
+//!        - \b ADC12_B_MEMORY_21\r
+//!        - \b ADC12_B_MEMORY_22\r
+//!        - \b ADC12_B_MEMORY_23\r
+//!        - \b ADC12_B_MEMORY_24\r
+//!        - \b ADC12_B_MEMORY_25\r
+//!        - \b ADC12_B_MEMORY_26\r
+//!        - \b ADC12_B_MEMORY_27\r
+//!        - \b ADC12_B_MEMORY_28\r
+//!        - \b ADC12_B_MEMORY_29\r
+//!        - \b ADC12_B_MEMORY_30\r
+//!        - \b ADC12_B_MEMORY_31\r
+//!\r
+//! \return A signed integer of the contents of the specified memory buffer.\r
+//\r
+//*****************************************************************************\r
+extern uint16_t ADC12_B_getResults(uint16_t baseAddress,\r
+                                   uint8_t memoryBufferIndex);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Use to change the resolution of the converted data.\r
+//!\r
+//! This function can be used to change the resolution of the converted data\r
+//! from the default of 12-bits.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param resolutionSelect determines the resolution of the converted data.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_RESOLUTION_8BIT\r
+//!        - \b ADC12_B_RESOLUTION_10BIT\r
+//!        - \b ADC12_B_RESOLUTION_12BIT [Default]\r
+//!        \n Modified bits are \b ADC12RESx of \b ADC12CTL2 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setResolution(uint16_t baseAddress,\r
+                                  uint8_t resolutionSelect);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Use to invert or un-invert the sample/hold signal.\r
+//!\r
+//! This function can be used to invert or un-invert the sample/hold signal.\r
+//! Note that if a conversion has been started with the startConversion()\r
+//! function, then a call to disableConversions() is required before this\r
+//! function may be called.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param invertedSignal set if the sample/hold signal should be inverted\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_NONINVERTEDSIGNAL [Default] - a sample-and-hold of an\r
+//!           input signal for conversion will be started on a rising edge of\r
+//!           the sample/hold signal.\r
+//!        - \b ADC12_B_INVERTEDSIGNAL - a sample-and-hold of an input signal\r
+//!           for conversion will be started on a falling edge of the\r
+//!           sample/hold signal.\r
+//!        \n Modified bits are \b ADC12ISSH of \b ADC12CTL1 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setSampleHoldSignalInversion(uint16_t baseAddress,\r
+                                                 uint16_t invertedSignal);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Use to set the read-back format of the converted data.\r
+//!\r
+//! Sets the format of the converted data: how it will be stored into the\r
+//! memory buffer, and how it should be read back. The format can be set as\r
+//! right-justified (default), which indicates that the number will be\r
+//! unsigned, or left-justified, which indicates that the number will be signed\r
+//! in 2's complement format. This change affects all memory buffers for\r
+//! subsequent conversions.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param readBackFormat is the specified format to store the conversions in\r
+//!        the memory buffer.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_UNSIGNED_BINARY [Default]\r
+//!        - \b ADC12_B_SIGNED_2SCOMPLEMENT\r
+//!        \n Modified bits are \b ADC12DF of \b ADC12CTL2 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setDataReadBackFormat(uint16_t baseAddress,\r
+                                          uint8_t readBackFormat);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Use to set the ADC's power conservation mode if the sampling rate is\r
+//! at 50-ksps or less.\r
+//!\r
+//! Sets ADC's power mode. If the user has a sampling rate greater than\r
+//! 50-ksps, then he/she can only enable ADC12_B_REGULARPOWERMODE. If the\r
+//! sampling rate is 50-ksps or less, the user can enable ADC12_B_LOWPOWERMODE\r
+//! granting additional power savings.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param powerMode is the specified maximum sampling rate.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_REGULARPOWERMODE [Default] - If sampling rate is\r
+//!           greater than 50-ksps, there is no power saving feature available.\r
+//!        - \b ADC12_B_LOWPOWERMODE - If sampling rate is less than or equal\r
+//!           to 50-ksps, select this value to save power\r
+//!        \n Modified bits are \b ADC12SR of \b ADC12CTL2 register.\r
+//!\r
+//! \return None\r
+//\r
+//*****************************************************************************\r
+extern void ADC12_B_setAdcPowerMode(uint16_t baseAddress,\r
+                                    uint8_t powerMode);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the address of the specified memory buffer for the DMA\r
+//! module.\r
+//!\r
+//! Returns the address of the specified memory buffer. This can be used in\r
+//! conjunction with the DMA to store the converted data directly to memory.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//! \param memoryIndex is the memory buffer to return the address of.\r
+//!        Valid values are:\r
+//!        - \b ADC12_B_MEMORY_0\r
+//!        - \b ADC12_B_MEMORY_1\r
+//!        - \b ADC12_B_MEMORY_2\r
+//!        - \b ADC12_B_MEMORY_3\r
+//!        - \b ADC12_B_MEMORY_4\r
+//!        - \b ADC12_B_MEMORY_5\r
+//!        - \b ADC12_B_MEMORY_6\r
+//!        - \b ADC12_B_MEMORY_7\r
+//!        - \b ADC12_B_MEMORY_8\r
+//!        - \b ADC12_B_MEMORY_9\r
+//!        - \b ADC12_B_MEMORY_10\r
+//!        - \b ADC12_B_MEMORY_11\r
+//!        - \b ADC12_B_MEMORY_12\r
+//!        - \b ADC12_B_MEMORY_13\r
+//!        - \b ADC12_B_MEMORY_14\r
+//!        - \b ADC12_B_MEMORY_15\r
+//!        - \b ADC12_B_MEMORY_16\r
+//!        - \b ADC12_B_MEMORY_17\r
+//!        - \b ADC12_B_MEMORY_18\r
+//!        - \b ADC12_B_MEMORY_19\r
+//!        - \b ADC12_B_MEMORY_20\r
+//!        - \b ADC12_B_MEMORY_21\r
+//!        - \b ADC12_B_MEMORY_22\r
+//!        - \b ADC12_B_MEMORY_23\r
+//!        - \b ADC12_B_MEMORY_24\r
+//!        - \b ADC12_B_MEMORY_25\r
+//!        - \b ADC12_B_MEMORY_26\r
+//!        - \b ADC12_B_MEMORY_27\r
+//!        - \b ADC12_B_MEMORY_28\r
+//!        - \b ADC12_B_MEMORY_29\r
+//!        - \b ADC12_B_MEMORY_30\r
+//!        - \b ADC12_B_MEMORY_31\r
+//!\r
+//! \return address of the specified memory buffer\r
+//\r
+//*****************************************************************************\r
+extern uint32_t ADC12_B_getMemoryAddressForDMA(uint16_t baseAddress,\r
+                                               uint8_t memoryIndex);\r
+\r
+//*****************************************************************************\r
+//\r
+//! \brief Returns the busy status of the ADC12B core.\r
+//!\r
+//! Returns the status of the ADC core if there is a conversion currently\r
+//! taking place.\r
+//!\r
+//! \param baseAddress is the base address of the ADC12B module.\r
+//!\r
+//! \return ADC12_B_BUSY or ADC12_B_NOTBUSY dependent if there is a conversion\r
+//!         currently taking place.\r
+//!         Return one of the following:\r
+//!         - \b ADC12_B_NOTBUSY\r
+//!         - \b ADC12_B_BUSY\r
+//!         \n indicating if a conversion is taking place\r
+//\r
+//*****************************************************************************\r
+extern uint8_t ADC12_B_isBusy(uint16_t baseAddress);\r
+\r
+//*****************************************************************************\r
+//\r
+// Mark the end of the C bindings section for C++ compilers.\r
+//\r
+//*****************************************************************************\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+#endif // __MSP430WARE_ADC12_B_H__\r