# ASysCtl Module

The ASysCtl or Analog System Control driver provides functions to enable, disable and lock the temperature sensor on the device. It will also provide additional functionality if available for that device.

group `asysctl_api`

  Defines

  `ASYSCTL_AGPIOFILTER_BYPASS` 0U
  `ASYSCTL_AGPIOFILTER_333OHM` 1U
  `ASYSCTL_AGPIOFILTER_500OHM` 2U
  `ASYSCTL_AGPIOFILTER_1000OHM` 3U
  `ASYSCTL_VREFHIA` 0x1U

    VREFHIA.

  `ASYSCTL_VREFHIB` 0x2U

    VREFHIB.

  `ASYSCTL_VREFHIC` 0x4U

    VREFHIC.

  `ASYSCTL_CMPHNMUX_SELECT_1` 0x1U

    CMPHNMUX select 1.

  `ASYSCTL_CMPHNMUX_SELECT_2` 0x2U

    CMPHNMUX select 2.

  `ASYSCTL_CMPHNMUX_SELECT_3` 0x4U

    CMPHNMUX select 3.

  `ASYSCTL_CMPHNMUX_SELECT_4` 0x8U

    CMPHNMUX select 4.

  `ASYSCTL_CMPHNMUX_SELECT_5` 0x10U

    CMPHNMUX select 5.

  `ASYSCTL_CMPHNMUX_SELECT_6` 0x20U

    CMPHNMUX select 6.

  `ASYSCTL_CMPHNMUX_SELECT_7` 0x40U

    CMPHNMUX select 7.

  `ASYSCTL_CMPHNMUX_SELECT_8` 0x80U

    CMPHNMUX select 8.

  `ASYSCTL_CMPHNMUX_SELECT_9` 0x100U

    CMPHNMUX select 9.

  `ASYSCTL_CMPHNMUX_SELECT_10` 0x200U

    CMPHNMUX select 10.

  `ASYSCTL_CMPHNMUX_SELECT_11` 0x400U

    CMPHNMUX select 11.

  `ASYSCTL_CMPLNMUX_SELECT_1` 0x1U

    CMPLNMUX select 1.

  `ASYSCTL_CMPLNMUX_SELECT_2` 0x2U

    CMPLNMUX select 2.

  `ASYSCTL_CMPLNMUX_SELECT_3` 0x4U

    CMPLNMUX select 3.

  `ASYSCTL_CMPLNMUX_SELECT_4` 0x8U

    CMPLNMUX select 4.

  `ASYSCTL_CMPLNMUX_SELECT_5` 0x10U

    CMPLNMUX select 5.

  `ASYSCTL_CMPLNMUX_SELECT_6` 0x20U

    CMPLNMUX select 6.

  `ASYSCTL_CMPLNMUX_SELECT_7` 0x40U

    CMPLNMUX select 7.

  `ASYSCTL_CMPLNMUX_SELECT_8` 0x80U

    CMPLNMUX select 8.

  `ASYSCTL_CMPLNMUX_SELECT_9` 0x100U

    CMPLNMUX select 9.

  `ASYSCTL_CMPLNMUX_SELECT_10` 0x200U

    CMPLNMUX select 10.

  `ASYSCTL_CMPLNMUX_SELECT_11` 0x400U

    CMPLNMUX select 11.

  Enums

  enum `ASysCtl_CMPHPMuxSelect`

    ASysCtl_CMPHPMuxSelect used for function ASysCtl_selectCMPHPMux().

    Values:

    enumerator `ASYSCTL_CMPHPMUX_SELECT_1` = 0U

      CMPHPMUX select 1.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_2` = 3U

      CMPHPMUX select 2.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_3` = 6U

      CMPHPMUX select 3.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_4` = 9U

      CMPHPMUX select 4.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_5` = 12U

      CMPHPMUX select 5.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_6` = 15U

      CMPHPMUX select 6.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_7` = 18U

      CMPHPMUX select 7.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_8` = 21U

      CMPHPMUX select 8.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_9` = 24U

      CMPHPMUX select 9.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_10` = 27U

      CMPHPMUX select 10.

    enumerator `ASYSCTL_CMPHPMUX_SELECT_11` = 0U + 32U

      CMPHPMUX select 11.

  enum `ASysCtl_CMPLPMuxSelect`

    ASysCtl_CMPLPMuxSelect used for function ASysCtl_selectCMPLPMux().

    Values:

    enumerator `ASYSCTL_CMPLPMUX_SELECT_1` = 0U

      CMPLPMUX select 1.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_2` = 3U

      CMPLPMUX select 2.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_3` = 6U

      CMPLPMUX select 3.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_4` = 9U

      CMPLPMUX select 4.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_5` = 12U

      CMPLPMUX select 5.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_6` = 15U

      CMPLPMUX select 6.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_7` = 18U

      CMPLPMUX select 7.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_8` = 21U

      CMPLPMUX select 8.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_9` = 24U

      CMPLPMUX select 9.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_10` = 27U

      CMPLPMUX select 10.

    enumerator `ASYSCTL_CMPLPMUX_SELECT_11` = 0U + 32U

      CMPLPMUX select 11.

  enum `ASysCtl_TestSelect`

    ASysCtl_TestSelect used for function ASysCtl_selectInternalTestNode().

    Values:

    enumerator `ASYSCTL_TEST_NODE_NO_CONN` = 0U

      No Internal Connection.

    enumerator `ASYSCTL_TEST_NODE_VDDCORE` = 1U

      Core VDD (1.2V) voltage.

    enumerator `ASYSCTL_TEST_NODE_VDDA` = 2U

      VDDA voltage.

    enumerator `ASYSCTL_TEST_NODE_VSSA` = 3U

      VSSA - Analog ground pin.

    enumerator `ASYSCTL_TEST_NODE_VREFLOA` = 4U

      VREFLOA pin voltage.

    enumerator `ASYSCTL_TEST_NODE_VREFLOB` = 5U

      VREFLOB pin voltage.

    enumerator `ASYSCTL_TEST_NODE_VREFLOC` = 6U

      VREFLOC pin voltage.

    enumerator `ASYSCTL_TEST_NODE_CDAC1H` = 7U

      CMPSS1 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC1L` = 8U

      CMPSS1 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC2H` = 9U

      CMPSS2 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC2L` = 10U

      CMPSS2 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC3H` = 11U

      CMPSS3 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC3L` = 12U

      CMPSS3 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC4H` = 13U

      CMPSS4 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC4L` = 14U

      CMPSS4 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC5H` = 15U

      CMPSS5 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC5L` = 16U

      CMPSS5 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC6H` = 17U

      CMPSS6 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC6L` = 18U

      CMPSS6 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC7H` = 19U

      CMPSS7 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC7L` = 20U

      CMPSS7 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC8H` = 21U

      CMPSS8 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC8L` = 22U

      CMPSS8 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC9H` = 23U

      CMPSS9 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC9L` = 24U

      CMPSS9 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC10H` = 25U

      CMPSS10 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC10L` = 26U

      CMPSS10 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC11H` = 27U

      CMPSS11 High DAC output.

    enumerator `ASYSCTL_TEST_NODE_CDAC11L` = 28U

      CMPSS11 Low DAC output.

    enumerator `ASYSCTL_TEST_NODE_ENZ_CALIB_GAIN_3P3V` = 29U

      All ADCs are placed in gain calibration mode

  Functions

  void `ASysCtl_enableTemperatureSensor`(void)

    Enable temperature sensor.

    This function enables the temperature sensor output to the ADC.

    Return

      None.

  void `ASysCtl_disableTemperatureSensor`(void)

    Disable temperature sensor.

    This function disables the temperature sensor output to the ADC.

    Return

      None.

  void `ASysCtl_setAnalogReferenceInternal`(uint16_t reference)

    Set the analog voltage reference selection to internal.

    The parameter

    reference can be a combination of the following values:
    Parameters

      - `reference`: is the analog reference.

    - ASYSCTL_VREFHIA

    - ASYSCTL_VREFHIB

    - ASYSCTL_VREFHIC

    Return

      None.

  void `ASysCtl_setAnalogReferenceExternal`(uint16_t reference)

    Set the analog voltage reference selection to external.

    The parameter

    reference can be a combination of the following values:
    Parameters

      - `reference`: is the analog reference.

    - ASYSCTL_VREFHIA

    - ASYSCTL_VREFHIB

    - ASYSCTL_VREFHIC

    Return

      None.

  void `ASysCtl_setAnalogReference2P5`(uint16_t reference)

    Set the internal analog voltage reference selection to 2.5V.

    The parameter

    reference can be a combination of the following values:
    Parameters

      - `reference`: is the analog reference.

    - ASYSCTL_VREFHIA

    - ASYSCTL_VREFHIB

    - ASYSCTL_VREFHIC

    Return

      None.

  void `ASysCtl_setAnalogReference1P65`(uint16_t reference)

    Set the internal analog voltage reference selection to 1.65V.

    The parameter

    reference can be a combination of the following values:
    Parameters

      - `reference`: is the analog reference.

    - ASYSCTL_VREFHIA

    - ASYSCTL_VREFHIB

    - ASYSCTL_VREFHIC

    Return

      None.

  void `ASysCtl_selectInternalTestNode`(ASysCtl_TestSelect testSelect)

    Select internal test node for ADC.

    The

    testSelect is the desired internal test node. Valid values can be refered from the enum ASysCtl_TestSelect.
    Parameters

      - `testSelect`: is internal node to come out on ADC.

    Return

      None.

  void `ASysCtl_selectCMPHNMux`(uint16_t select)

    Select the value for CMPHNMXSEL.

    The parameter

    select can be a bitwise OR of the below values:
    Parameters

      - `select`: is a combination of CMPHNMXSEL values.

    - ASYSCTL_CMPHNMUX_SELECT_1

    - ASYSCTL_CMPHNMUX_SELECT_2

    - ASYSCTL_CMPHNMUX_SELECT_3

    - ASYSCTL_CMPHNMUX_SELECT_4

    - ASYSCTL_CMPHNMUX_SELECT_5

    - ASYSCTL_CMPHNMUX_SELECT_6

    - ASYSCTL_CMPHNMUX_SELECT_7

    - ASYSCTL_CMPHNMUX_SELECT_8

    - ASYSCTL_CMPHNMUX_SELECT_9

    Return

      None.

  void `ASysCtl_selectCMPHNMuxValue`(uint16_t select, uint16_t value)

    Select the value for individual CMPxHNMXSEL.

    The parameter

    select can be one of the below values:
    Parameters

      - `select`: is the CMPxHNMXSEL to be set.

      - `value`: is 0 or 1.

    - ASYSCTL_CMPHNMUX_SELECT_1

    - ASYSCTL_CMPHNMUX_SELECT_2

    - ASYSCTL_CMPHNMUX_SELECT_3

    - ASYSCTL_CMPHNMUX_SELECT_4

    - ASYSCTL_CMPHNMUX_SELECT_5

    - ASYSCTL_CMPHNMUX_SELECT_6

    - ASYSCTL_CMPHNMUX_SELECT_7

    - ASYSCTL_CMPHNMUX_SELECT_8

    - ASYSCTL_CMPHNMUX_SELECT_9

    Return

      None.

  void `ASysCtl_selectCMPLNMux`(uint16_t select)

    Select the value for individual CMPxLNMXSEL.

    The parameter

    select can be the bitwise OR of the below values:
    Parameters

      - `select`: is a combination of CMPLNMXSEL values.

    - ASYSCTL_CMPLNMUX_SELECT_1

    - ASYSCTL_CMPLNMUX_SELECT_2

    - ASYSCTL_CMPLNMUX_SELECT_3

    - ASYSCTL_CMPLNMUX_SELECT_4

    - ASYSCTL_CMPLNMUX_SELECT_5

    - ASYSCTL_CMPLNMUX_SELECT_6

    - ASYSCTL_CMPLNMUX_SELECT_7

    - ASYSCTL_CMPLNMUX_SELECT_8

    - ASYSCTL_CMPLNMUX_SELECT_9

    Return

      None.

  void `ASysCtl_selectCMPLNMuxValue`(uint16_t select, uint16_t value)

    Select the value for CMPLNMXSEL.

    The parameter

    select can be one of the below values:
    Parameters

      - `select`: is the CMPxHNMXSEL to be set.

      - `value`: is 0 or 1.

    - ASYSCTL_CMPLNMUX_SELECT_1

    - ASYSCTL_CMPLNMUX_SELECT_2

    - ASYSCTL_CMPLNMUX_SELECT_3

    - ASYSCTL_CMPLNMUX_SELECT_4

    - ASYSCTL_CMPLNMUX_SELECT_5

    - ASYSCTL_CMPLNMUX_SELECT_6

    - ASYSCTL_CMPLNMUX_SELECT_7

    - ASYSCTL_CMPLNMUX_SELECT_8

    - ASYSCTL_CMPLNMUX_SELECT_9

    Return

      None.

  void `ASysCtl_selectCMPHPMux`(ASysCtl_CMPHPMuxSelect select, uint32_t value)

    Select the value for CMPHPMXSEL.

    This function is used to write a value to one mux select at a time. The parameter

    select can be one of the following values:
    Parameters

      - `select`: is of type ASysCtl_CMPHPMuxSelect.

      - `value`: is 0, 1, 2, 3, or 4.

    - ASYSCTL_CMPHPMUX_SELECT_1

    - ASYSCTL_CMPHPMUX_SELECT_2

    - ASYSCTL_CMPHPMUX_SELECT_3

    - ASYSCTL_CMPHPMUX_SELECT_4

    - ASYSCTL_CMPHPMUX_SELECT_5

    - ASYSCTL_CMPHPMUX_SELECT_6

    - ASYSCTL_CMPHPMUX_SELECT_7

    - ASYSCTL_CMPHPMUX_SELECT_8

    - ASYSCTL_CMPHPMUX_SELECT_9

    - ASYSCTL_CMPHPMUX_SELECT_10

    - ASYSCTL_CMPHPMUX_SELECT_11

    Return

      None.

  void `ASysCtl_selectCMPLPMux`(ASysCtl_CMPLPMuxSelect select, uint32_t value)

    Select the value for CMPLPMXSEL.

    This function is used to write a value to one mux select at a time. The parameter

    select can be one of the following values:
    Parameters

      - `select`: is of type ASysCtl_CMPLPMuxSelect.

      - `value`: is 0, 1, 2, 3, or 4.

    - ASYSCTL_CMPLPMUX_SELECT_1

    - ASYSCTL_CMPLPMUX_SELECT_2

    - ASYSCTL_CMPLPMUX_SELECT_3

    - ASYSCTL_CMPLPMUX_SELECT_4

    - ASYSCTL_CMPLPMUX_SELECT_5

    - ASYSCTL_CMPLPMUX_SELECT_6

    - ASYSCTL_CMPLPMUX_SELECT_7

    - ASYSCTL_CMPLPMUX_SELECT_8

    - ASYSCTL_CMPLPMUX_SELECT_9

    Return

      None.

  void `ASysCtl_lockTemperatureSensor`(void)

    Locks the temperature sensor control register.

    Return

      None.

  void `ASysCtl_lockANAREF`(void)

    Locks the analog reference control register.

    Return

      None.

  void `ASysCtl_lockVMON`(void)

    Locks the voltage monitor control register.

    Return

      None.

  void `ASysCtl_lockCMPHPMux`(void)

    Locks the CMPHPMXSEL control register.

    Return

      None.

  void `ASysCtl_lockCMPLPMux`(void)

    Locks the CMPLPMXSEL control register.

    Return

      None.

  void `ASysCtl_lockCMPHNMux`(void)

    Locks the CMPHNMXSEL control register.

    Return

      None.

  void `ASysCtl_lockCMPLNMux`(void)

    Locks the CMPLNMXSEL control register.

    Return

      None.

  void `ASysCtl_lockVREG`(void)

    Locks the VREG control register.

    Return

      None.

  void `ASysCtl_lockCMPSSCTL`(void)

    Locks the CMPSSCTL register.

    Return

      None.

  void `ASysCtl_enableADCDACLoopback`(uint32_t config)

    Enable loopback from DAC to ADCs.

    Return

      None

    Parameters

      - `config`: can be bitwise OR of the following values:

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCA

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCB

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCC

  void `ASysCtl_disableADCDACLoopback`(uint32_t config)

    Disable loopback from DAC to ADCs.

    Return

      None

    Parameters

      - `config`: can be bitwise OR of the following values:

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCA

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCB

        - ASYSCTL_ADCDACLOOPBACK_ENLB2ADCC

  void `ASysCtl_setAGPIOFilterRight`(uint32_t config)

    Configure AGPIO Filter control for right side pins.

    Return

      None

    Parameters

      - `config`: can be bitwise OR of the following values:

        - ASYSCTL_AGPIOFILTER_BYPASS - Filter bypass configuration(min ACQPS = 90ns)

        - ASYSCTL_AGPIOFILTER_333OHM - 333Ohm filter setting (min ACQPS = 125ns)

        - ASYSCTL_AGPIOFILTER_500OHM - 500 Ohm filter setting (min ACQPS = 160ns)

        - ASYSCTL_AGPIOFILTER_1000OHM - 1KOhm filter setting (min ACQPS = 230ns)

  void `ASysCtl_setAGPIOFilterBottom`(uint32_t config)

    Configure AGPIO Filter control for bottom side pins.

    Return

      None

    Parameters

      - `config`: can be bitwise OR of the following values:

        - ASYSCTL_AGPIOFILTER_BYPASS - Filter bypass configuration(min ACQPS = 90ns)

        - ASYSCTL_AGPIOFILTER_333OHM - 333Ohm filter setting (min ACQPS = 125ns)

        - ASYSCTL_AGPIOFILTER_500OHM - 500 Ohm filter setting (min ACQPS = 160ns)

        - ASYSCTL_AGPIOFILTER_1000OHM - 1KOhm filter setting (min ACQPS = 230ns)

  void `ASysCtl_enableGPIOInputBuffer`(uint32_t pin)

    Enable GPIO Input buffer (INENA control).

    Return

      None

    Parameters

      - `pin`: can be 0, 23, 25, 31, 46 or 103

  void `ASysCtl_disableGPIOInputBuffer`(uint32_t pin)

    Disable GPIO Input buffer (INENA control).

    Return

      None

    Parameters

      - `pin`: can be 0, 23, 25, 31, 46 or 103

  void `AsysCtl_configADCGlobalSOC`(uint32_t adcSelect)

    Configure the ADCs for Global SW Trigger

    Return

      None

    Parameters

      - `adcSelect`: can be bitwsie OR of the following :

  void `AsysCtl_forceADCGlobalSOC`(uint32_t socSelect)

    Generate Global SOC force for specified SOCs

    Return

      None

    Parameters

      - `socSelect`: can be bitwsie OR of the following :

The code for this module is contained in driverlib/asysctl.c, with driverlib/asysctl.h containing the API declarations for use by applications.