# XBAR Module

The crossbar or X-BAR API is a set of functions to configure the three X-BARs on the device–the Input X-BAR, the Output X-BAR, and the ePWM X-BAR. The X-BARs route both signals from pins and internal signals from IP blocks to a degree beyond what is possible with GPIO muxing alone. Functions are provided by the API to configure the various muxes, enable and disable signals, and lock in the configurations selected.

group `xbar_api`

  Defines

  `XBAR_OUTPUT_CFG_REG_BASE` (OUTPUTXBAR_BASE + XBAR_O_OUTPUT1MUX0TO15CFG)
  `XBAR_OUTPUT_EN_REG_BASE` (OUTPUTXBAR_BASE + XBAR_O_OUTPUT1MUXENABLE)
  `XBAR_EPWM_CFG_REG_BASE` (EPWMXBAR_BASE + XBAR_O_TRIP4MUX0TO15CFG)
  `XBAR_EPWM_EN_REG_BASE` (EPWMXBAR_BASE + XBAR_O_TRIP4MUXENABLE)
  `XBAR_CLB_CFG_REG_BASE` (CLBXBAR_BASE + XBAR_O_AUXSIG0MUX0TO15CFG)
  `XBAR_CLB_EN_REG_BASE` (CLBXBAR_BASE + XBAR_O_AUXSIG0MUXENABLE)
  `XBAR_INPUT_BASE` (INPUTXBAR_BASE + XBAR_O_INPUT1SELECT)
  `XBAR_INPUT_FLG_INPUT_M` 0x00FFU
  `XBAR_INPUT_FLG_REG_M` 0xFF00U
  `XBAR_INPUT_FLG_REG_1` 0x0000U
  `XBAR_INPUT_FLG_REG_2` 0x0100U
  `XBAR_INPUT_FLG_REG_3` 0x0200U
  `XBAR_INPUT_FLG_REG_4` 0x0300U
  `XBAR_GPIO_MAX_CNT` 59U
  `XBAR_GPIO_AIO_MIN_CNT` 224U
  `XBAR_GPIO_AIO_MAX_CNT` 247U
  `XBAR_NON_GPIO_MIN_CNT` 0xFFFDU
  `XBAR_NON_GPIO_MAX_CNT` 0xFFFFU
  `XBAR_MUX00` 0x00000001U

    Mask for X-BAR mux 0.

  `XBAR_MUX01` 0x00000002U

    Mask for X-BAR mux 1.

  `XBAR_MUX02` 0x00000004U

    Mask for X-BAR mux 2.

  `XBAR_MUX03` 0x00000008U

    Mask for X-BAR mux 3.

  `XBAR_MUX04` 0x00000010U

    Mask for X-BAR mux 4.

  `XBAR_MUX05` 0x00000020U

    Mask for X-BAR mux 5.

  `XBAR_MUX06` 0x00000040U

    Mask for X-BAR mux 6.

  `XBAR_MUX07` 0x00000080U

    Mask for X-BAR mux 7.

  `XBAR_MUX08` 0x00000100U

    Mask for X-BAR mux 8.

  `XBAR_MUX09` 0x00000200U

    Mask for X-BAR mux 9.

  `XBAR_MUX10` 0x00000400U

    Mask for X-BAR mux 10.

  `XBAR_MUX11` 0x00000800U

    Mask for X-BAR mux 11.

  `XBAR_MUX12` 0x00001000U

    Mask for X-BAR mux 12.

  `XBAR_MUX13` 0x00002000U

    Mask for X-BAR mux 13.

  `XBAR_MUX14` 0x00004000U

    Mask for X-BAR mux 14.

  `XBAR_MUX15` 0x00008000U

    Mask for X-BAR mux 15.

  `XBAR_MUX16` 0x00010000U

    Mask for X-BAR mux 16.

  `XBAR_MUX17` 0x00020000U

    Mask for X-BAR mux 17.

  `XBAR_MUX18` 0x00040000U

    Mask for X-BAR mux 18.

  `XBAR_MUX19` 0x00080000U

    Mask for X-BAR mux 19.

  `XBAR_MUX20` 0x00100000U

    Mask for X-BAR mux 20.

  `XBAR_MUX21` 0x00200000U

    Mask for X-BAR mux 21.

  `XBAR_MUX22` 0x00400000U

    Mask for X-BAR mux 22.

  `XBAR_MUX23` 0x00800000U

    Mask for X-BAR mux 23.

  `XBAR_MUX24` 0x01000000U

    Mask for X-BAR mux 24.

  `XBAR_MUX25` 0x02000000U

    Mask for X-BAR mux 25.

  `XBAR_MUX26` 0x04000000U

    Mask for X-BAR mux 26.

  `XBAR_MUX27` 0x08000000U

    Mask for X-BAR mux 27.

  `XBAR_MUX28` 0x10000000U

    Mask for X-BAR mux 28.

  `XBAR_MUX29` 0x20000000U

    Mask for X-BAR mux 29.

  `XBAR_MUX30` 0x40000000U

    Mask for X-BAR mux 30.

  `XBAR_MUX31` 0x80000000U

    Mask for X-BAR mux 31.

  Enums

  enum `XBAR_OutputNum`

    The following values define the output parameter for XBAR_setOutputMuxConfig(), XBAR_enableOutputMux(), and XBAR_disableOutputMux().

    Values:

    enumerator `XBAR_OUTPUT1` = 0

      OUTPUT1 of the Output X-BAR.

    enumerator `XBAR_OUTPUT2` = 2

      OUTPUT2 of the Output X-BAR.

    enumerator `XBAR_OUTPUT3` = 4

      OUTPUT3 of the Output X-BAR.

    enumerator `XBAR_OUTPUT4` = 6

      OUTPUT4 of the Output X-BAR.

    enumerator `XBAR_OUTPUT5` = 8

      OUTPUT5 of the Output X-BAR.

    enumerator `XBAR_OUTPUT6` = 10

      OUTPUT6 of the Output X-BAR.

    enumerator `XBAR_OUTPUT7` = 12

      OUTPUT7 of the Output X-BAR.

    enumerator `XBAR_OUTPUT8` = 14

      OUTPUT8 of the Output X-BAR.

  enum `XBAR_TripNum`

    The following values define the trip parameter for XBAR_setEPWMMuxConfig(), XBAR_enableEPWMMux(), and XBAR_disableEPWMMux().

    Values:

    enumerator `XBAR_TRIP4` = 0

      TRIP4 of the ePWM X-BAR.

    enumerator `XBAR_TRIP5` = 2

      TRIP5 of the ePWM X-BAR.

    enumerator `XBAR_TRIP7` = 4

      TRIP7 of the ePWM X-BAR.

    enumerator `XBAR_TRIP8` = 6

      TRIP8 of the ePWM X-BAR.

    enumerator `XBAR_TRIP9` = 8

      TRIP9 of the ePWM X-BAR.

    enumerator `XBAR_TRIP10` = 10

      TRIP10 of the ePWM X-BAR.

    enumerator `XBAR_TRIP11` = 12

      TRIP11 of the ePWM X-BAR.

    enumerator `XBAR_TRIP12` = 14

      TRIP12 of the ePWM X-BAR.

  enum `XBAR_AuxSigNum`

    Values:

    enumerator `XBAR_AUXSIG0` = 0
    enumerator `XBAR_AUXSIG1` = 2
    enumerator `XBAR_AUXSIG2` = 4
    enumerator `XBAR_AUXSIG3` = 6
    enumerator `XBAR_AUXSIG4` = 8
    enumerator `XBAR_AUXSIG5` = 10
    enumerator `XBAR_AUXSIG6` = 12
    enumerator `XBAR_AUXSIG7` = 14
  enum `XBAR_InputNum`

    The following values define the input parameter for XBAR_setInputPin().

    Values:

    enumerator `XBAR_INPUT1`

      ePWM[TZ1], ePWM[TRIP1], X-BARs, eCAPs

    enumerator `XBAR_INPUT2`

      ePWM[TZ2], ePWM[TRIP2], X-BARs, eCAPs

    enumerator `XBAR_INPUT3`

      ePWM[TZ3], ePWM[TRIP3], X-BARs, eCAPs

    enumerator `XBAR_INPUT4`

      ADC wrappers, X-BARs, XINT1, eCAPs.

    enumerator `XBAR_INPUT5`

      EXTSYNCIN1, X-BARs, XINT2, eCAPs.

    enumerator `XBAR_INPUT6`

      EXTSYNCIN2, ePWM[TRIP6], X-BARs, XINT3, eCAPs.

    enumerator `XBAR_INPUT7`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT8`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT9`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT10`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT11`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT12`

      X-BARs, eCAPs.

    enumerator `XBAR_INPUT13`

      XINT4, X-BARs, eCAPs.

    enumerator `XBAR_INPUT14`

      XINT5, X-BARs, eCAPs.

    enumerator `XBAR_INPUT15`

      eCAPs

    enumerator `XBAR_INPUT16`

      eCAPs

  enum `XBAR_OutputMuxConfig`

    The following values define the muxConfig parameter for XBAR_setOutputMuxConfig().

    Values:

    enumerator `XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH` = 0x0000
    enumerator `XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH_OR_L` = 0x0001
    enumerator `XBAR_OUT_MUX00_ADCAEVT1` = 0x0002
    enumerator `XBAR_OUT_MUX00_ECAP1_OUT` = 0x0003
    enumerator `XBAR_OUT_MUX01_CMPSS1_CTRIPOUTL` = 0x0200
    enumerator `XBAR_OUT_MUX01_INPUTXBAR1` = 0x0201
    enumerator `XBAR_OUT_MUX01_CLB1_OUT4` = 0x0202
    enumerator `XBAR_OUT_MUX01_ADCCEVT1` = 0x0203
    enumerator `XBAR_OUT_MUX02_CMPSS2_CTRIPOUTH` = 0x0400
    enumerator `XBAR_OUT_MUX02_CMPSS2_CTRIPOUTH_OR_L` = 0x0401
    enumerator `XBAR_OUT_MUX02_ADCAEVT2` = 0x0402
    enumerator `XBAR_OUT_MUX02_ECAP2_OUT` = 0x0403
    enumerator `XBAR_OUT_MUX03_CMPSS2_CTRIPOUTL` = 0x0600
    enumerator `XBAR_OUT_MUX03_INPUTXBAR2` = 0x0601
    enumerator `XBAR_OUT_MUX03_CLB1_OUT5` = 0x0602
    enumerator `XBAR_OUT_MUX03_ADCCEVT2` = 0x0603
    enumerator `XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH` = 0x0800
    enumerator `XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH_OR_L` = 0x0801
    enumerator `XBAR_OUT_MUX04_ADCAEVT3` = 0x0802
    enumerator `XBAR_OUT_MUX04_ECAP3_OUT` = 0x0803
    enumerator `XBAR_OUT_MUX05_CMPSS3_CTRIPOUTL` = 0x0A00
    enumerator `XBAR_OUT_MUX05_INPUTXBAR3` = 0x0A01
    enumerator `XBAR_OUT_MUX05_CLB2_OUT4` = 0x0A02
    enumerator `XBAR_OUT_MUX05_ADCCEVT3` = 0x0A03
    enumerator `XBAR_OUT_MUX06_CMPSS4_CTRIPOUTH` = 0x0C00
    enumerator `XBAR_OUT_MUX06_CMPSS4_CTRIPOUTH_OR_L` = 0x0C01
    enumerator `XBAR_OUT_MUX06_ADCAEVT4` = 0x0C02
    enumerator `XBAR_OUT_MUX06_ECAP4_OUT` = 0x0C03
    enumerator `XBAR_OUT_MUX07_CMPSS4_CTRIPOUTL` = 0x0E00
    enumerator `XBAR_OUT_MUX07_INPUTXBAR4` = 0x0E01
    enumerator `XBAR_OUT_MUX07_CLB2_OUT5` = 0x0E02
    enumerator `XBAR_OUT_MUX07_ADCCEVT4` = 0x0E03
    enumerator `XBAR_OUT_MUX08_CMPSS5_CTRIPOUTH` = 0x1000
    enumerator `XBAR_OUT_MUX08_CMPSS5_CTRIPOUTH_OR_L` = 0x1001
    enumerator `XBAR_OUT_MUX08_ADCBEVT1` = 0x1002
    enumerator `XBAR_OUT_MUX08_ECAP5_OUT` = 0x1003
    enumerator `XBAR_OUT_MUX09_CMPSS5_CTRIPOUTL` = 0x1200
    enumerator `XBAR_OUT_MUX09_INPUTXBAR5` = 0x1201
    enumerator `XBAR_OUT_MUX09_CLB3_OUT4` = 0x1202
    enumerator `XBAR_OUT_MUX10_CMPSS6_CTRIPOUTH` = 0x1400
    enumerator `XBAR_OUT_MUX10_CMPSS6_CTRIPOUTH_OR_L` = 0x1401
    enumerator `XBAR_OUT_MUX10_ADCBEVT2` = 0x1402
    enumerator `XBAR_OUT_MUX10_ECAP6_OUT` = 0x1403
    enumerator `XBAR_OUT_MUX11_CMPSS6_CTRIPOUTL` = 0x1600
    enumerator `XBAR_OUT_MUX11_INPUTXBAR6` = 0x1601
    enumerator `XBAR_OUT_MUX11_CLB3_OUT5` = 0x1602
    enumerator `XBAR_OUT_MUX12_CMPSS7_CTRIPOUTH` = 0x1800
    enumerator `XBAR_OUT_MUX12_CMPSS7_CTRIPOUTH_OR_L` = 0x1801
    enumerator `XBAR_OUT_MUX12_ADCBEVT3` = 0x1802
    enumerator `XBAR_OUT_MUX12_ECAP7_OUT` = 0x1803
    enumerator `XBAR_OUT_MUX13_CMPSS7_CTRIPOUTL` = 0x1A00
    enumerator `XBAR_OUT_MUX13_ADCSOCA` = 0x1A01
    enumerator `XBAR_OUT_MUX13_CLB4_OUT4` = 0x1A02
    enumerator `XBAR_OUT_MUX14_ADCBEVT4` = 0x1C02
    enumerator `XBAR_OUT_MUX14_EXTSYNCOUT` = 0x1C03
    enumerator `XBAR_OUT_MUX15_ADCSOCB` = 0x1E01
    enumerator `XBAR_OUT_MUX15_CLB4_OUT5` = 0x1E02
    enumerator `XBAR_OUT_MUX16_SD1FLT1_COMPH` = 0x2000
    enumerator `XBAR_OUT_MUX16_SD1FLT1_COMPH_OR_COMPL` = 0x2001
    enumerator `XBAR_OUT_MUX17_SD1FLT1_COMPL` = 0x2200
    enumerator `XBAR_OUT_MUX17_CLAHALT` = 0x2203
    enumerator `XBAR_OUT_MUX18_SD1FLT2_COMPH` = 0x2400
    enumerator `XBAR_OUT_MUX18_SD1FLT2_COMPH_OR_COMPL` = 0x2401
    enumerator `XBAR_OUT_MUX19_SD1FLT2_COMPL` = 0x2600
    enumerator `XBAR_OUT_MUX20_SD1FLT3_COMPH` = 0x2800
    enumerator `XBAR_OUT_MUX20_SD1FLT3_COMPH_OR_COMPL` = 0x2801
    enumerator `XBAR_OUT_MUX21_SD1FLT3_COMPL` = 0x2A00
    enumerator `XBAR_OUT_MUX22_SD1FLT4_COMPH` = 0x2C00
    enumerator `XBAR_OUT_MUX22_SD1FLT4_COMPH_OR_COMPL` = 0x2C01
    enumerator `XBAR_OUT_MUX23_SD1FLT4_COMPL` = 0x2E00
  enum `XBAR_EPWMMuxConfig`

    The following values define the muxConfig parameter for XBAR_setEPWMMuxConfig().

    Values:

    enumerator `XBAR_EPWM_MUX00_CMPSS1_CTRIPH` = 0x0000
    enumerator `XBAR_EPWM_MUX00_CMPSS1_CTRIPH_OR_L` = 0x0001
    enumerator `XBAR_EPWM_MUX00_ADCAEVT1` = 0x0002
    enumerator `XBAR_EPWM_MUX00_ECAP1_OUT` = 0x0003
    enumerator `XBAR_EPWM_MUX01_CMPSS1_CTRIPL` = 0x0200
    enumerator `XBAR_EPWM_MUX01_INPUTXBAR1` = 0x0201
    enumerator `XBAR_EPWM_MUX01_CLB1_OUT4` = 0x0202
    enumerator `XBAR_EPWM_MUX01_ADCCEVT1` = 0x0203
    enumerator `XBAR_EPWM_MUX02_CMPSS2_CTRIPH` = 0x0400
    enumerator `XBAR_EPWM_MUX02_CMPSS2_CTRIPH_OR_L` = 0x0401
    enumerator `XBAR_EPWM_MUX02_ADCAEVT2` = 0x0402
    enumerator `XBAR_EPWM_MUX02_ECAP2_OUT` = 0x0403
    enumerator `XBAR_EPWM_MUX03_CMPSS2_CTRIPL` = 0x0600
    enumerator `XBAR_EPWM_MUX03_INPUTXBAR2` = 0x0601
    enumerator `XBAR_EPWM_MUX03_CLB1_OUT5` = 0x0602
    enumerator `XBAR_EPWM_MUX03_ADCCEVT2` = 0x0603
    enumerator `XBAR_EPWM_MUX04_CMPSS3_CTRIPH` = 0x0800
    enumerator `XBAR_EPWM_MUX04_CMPSS3_CTRIPH_OR_L` = 0x0801
    enumerator `XBAR_EPWM_MUX04_ADCAEVT3` = 0x0802
    enumerator `XBAR_EPWM_MUX04_ECAP3_OUT` = 0x0803
    enumerator `XBAR_EPWM_MUX05_CMPSS3_CTRIPL` = 0x0A00
    enumerator `XBAR_EPWM_MUX05_INPUTXBAR3` = 0x0A01
    enumerator `XBAR_EPWM_MUX05_CLB2_OUT4` = 0x0A02
    enumerator `XBAR_EPWM_MUX05_ADCCEVT3` = 0x0A03
    enumerator `XBAR_EPWM_MUX06_CMPSS4_CTRIPH` = 0x0C00
    enumerator `XBAR_EPWM_MUX06_CMPSS4_CTRIPH_OR_L` = 0x0C01
    enumerator `XBAR_EPWM_MUX06_ADCAEVT4` = 0x0C02
    enumerator `XBAR_EPWM_MUX06_ECAP4_OUT` = 0x0C03
    enumerator `XBAR_EPWM_MUX07_CMPSS4_CTRIPL` = 0x0E00
    enumerator `XBAR_EPWM_MUX07_INPUTXBAR4` = 0x0E01
    enumerator `XBAR_EPWM_MUX07_CLB2_OUT5` = 0x0E02
    enumerator `XBAR_EPWM_MUX07_ADCCEVT4` = 0x0E03
    enumerator `XBAR_EPWM_MUX08_CMPSS5_CTRIPH` = 0x1000
    enumerator `XBAR_EPWM_MUX08_CMPSS5_CTRIPH_OR_L` = 0x1001
    enumerator `XBAR_EPWM_MUX08_ADCBEVT1` = 0x1002
    enumerator `XBAR_EPWM_MUX08_ECAP5_OUT` = 0x1003
    enumerator `XBAR_EPWM_MUX09_CMPSS5_CTRIPL` = 0x1200
    enumerator `XBAR_EPWM_MUX09_INPUTXBAR5` = 0x1201
    enumerator `XBAR_EPWM_MUX09_CLB3_OUT4` = 0x1202
    enumerator `XBAR_EPWM_MUX10_CMPSS6_CTRIPH` = 0x1400
    enumerator `XBAR_EPWM_MUX10_CMPSS6_CTRIPH_OR_L` = 0x1401
    enumerator `XBAR_EPWM_MUX10_ADCBEVT2` = 0x1402
    enumerator `XBAR_EPWM_MUX10_ECAP6_OUT` = 0x1403
    enumerator `XBAR_EPWM_MUX11_CMPSS6_CTRIPL` = 0x1600
    enumerator `XBAR_EPWM_MUX11_INPUTXBAR6` = 0x1601
    enumerator `XBAR_EPWM_MUX11_CLB3_OUT5` = 0x1602
    enumerator `XBAR_EPWM_MUX12_CMPSS7_CTRIPH` = 0x1800
    enumerator `XBAR_EPWM_MUX12_CMPSS7_CTRIPH_OR_L` = 0x1801
    enumerator `XBAR_EPWM_MUX12_ADCBEVT3` = 0x1802
    enumerator `XBAR_EPWM_MUX12_ECAP7_OUT` = 0x1803
    enumerator `XBAR_EPWM_MUX13_CMPSS7_CTRIPL` = 0x1A00
    enumerator `XBAR_EPWM_MUX13_ADCSOCA` = 0x1A01
    enumerator `XBAR_EPWM_MUX13_CLB4_OUT4` = 0x1A02
    enumerator `XBAR_EPWM_MUX14_ADCBEVT4` = 0x1C02
    enumerator `XBAR_EPWM_MUX14_EXTSYNCOUT` = 0x1C03
    enumerator `XBAR_EPWM_MUX15_ADCSOCB` = 0x1E01
    enumerator `XBAR_EPWM_MUX15_CLB4_OUT5` = 0x1E02
    enumerator `XBAR_EPWM_MUX16_SD1FLT1_COMPH` = 0x2000
    enumerator `XBAR_EPWM_MUX16_SD1FLT1_COMPH_OR_COMPL` = 0x2001
    enumerator `XBAR_EPWM_MUX17_SD1FLT1_COMPL` = 0x2200
    enumerator `XBAR_EPWM_MUX17_INPUTXBAR7` = 0x2201
    enumerator `XBAR_EPWM_MUX17_CLAHALT` = 0x2203
    enumerator `XBAR_EPWM_MUX18_SD1FLT2_COMPH` = 0x2400
    enumerator `XBAR_EPWM_MUX18_SD1FLT2_COMPH_OR_COMPL` = 0x2401
    enumerator `XBAR_EPWM_MUX19_SD1FLT2_COMPL` = 0x2600
    enumerator `XBAR_EPWM_MUX19_INPUTXBAR8` = 0x2601
    enumerator `XBAR_EPWM_MUX20_SD1FLT3_COMPH` = 0x2800
    enumerator `XBAR_EPWM_MUX20_SD1FLT3_COMPH_OR_COMPL` = 0x2801
    enumerator `XBAR_EPWM_MUX21_SD1FLT3_COMPL` = 0x2A00
    enumerator `XBAR_EPWM_MUX21_INPUTXBAR9` = 0x2A01
    enumerator `XBAR_EPWM_MUX22_SD1FLT4_COMPH` = 0x2C00
    enumerator `XBAR_EPWM_MUX22_SD1FLT4_COMPH_OR_COMPL` = 0x2C01
    enumerator `XBAR_EPWM_MUX23_SD1FLT4_COMPL` = 0x2E00
    enumerator `XBAR_EPWM_MUX23_INPUTXBAR10` = 0x2E01
    enumerator `XBAR_EPWM_MUX25_INPUTXBAR11` = 0x3201
    enumerator `XBAR_EPWM_MUX27_INPUTXBAR12` = 0x3601
    enumerator `XBAR_EPWM_MUX29_INPUTXBAR13` = 0x3A01
    enumerator `XBAR_EPWM_MUX31_INPUTXBAR14` = 0x3E01
  enum `XBAR_CLBMuxConfig`

    Values:

    enumerator `XBAR_CLB_MUX00_CMPSS1_CTRIPH` = 0x0000
    enumerator `XBAR_CLB_MUX00_CMPSS1_CTRIPH_OR_L` = 0x0001
    enumerator `XBAR_CLB_MUX00_ADCAEVT1` = 0x0002
    enumerator `XBAR_CLB_MUX00_ECAP1_OUT` = 0x0003
    enumerator `XBAR_CLB_MUX01_CMPSS1_CTRIPL` = 0x0200
    enumerator `XBAR_CLB_MUX01_INPUTXBAR1` = 0x0201
    enumerator `XBAR_CLB_MUX01_CLB1_OUT4` = 0x0202
    enumerator `XBAR_CLB_MUX01_ADCCEVT1` = 0x0203
    enumerator `XBAR_CLB_MUX02_CMPSS2_CTRIPH` = 0x0400
    enumerator `XBAR_CLB_MUX02_CMPSS2_CTRIPH_OR_L` = 0x0401
    enumerator `XBAR_CLB_MUX02_ADCAEVT2` = 0x0402
    enumerator `XBAR_CLB_MUX02_ECAP2_OUT` = 0x0403
    enumerator `XBAR_CLB_MUX03_CMPSS2_CTRIPL` = 0x0600
    enumerator `XBAR_CLB_MUX03_INPUTXBAR2` = 0x0601
    enumerator `XBAR_CLB_MUX03_CLB1_OUT5` = 0x0602
    enumerator `XBAR_CLB_MUX03_ADCCEVT2` = 0x0603
    enumerator `XBAR_CLB_MUX04_CMPSS3_CTRIPH` = 0x0800
    enumerator `XBAR_CLB_MUX04_CMPSS3_CTRIPH_OR_L` = 0x0801
    enumerator `XBAR_CLB_MUX04_ADCAEVT3` = 0x0802
    enumerator `XBAR_CLB_MUX04_ECAP3_OUT` = 0x0803
    enumerator `XBAR_CLB_MUX05_CMPSS3_CTRIPL` = 0x0A00
    enumerator `XBAR_CLB_MUX05_INPUTXBAR3` = 0x0A01
    enumerator `XBAR_CLB_MUX05_CLB2_OUT4` = 0x0A02
    enumerator `XBAR_CLB_MUX05_ADCCEVT3` = 0x0A03
    enumerator `XBAR_CLB_MUX06_CMPSS4_CTRIPH` = 0x0C00
    enumerator `XBAR_CLB_MUX06_CMPSS4_CTRIPH_OR_L` = 0x0C01
    enumerator `XBAR_CLB_MUX06_ADCAEVT4` = 0x0C02
    enumerator `XBAR_CLB_MUX06_ECAP4_OUT` = 0x0C03
    enumerator `XBAR_CLB_MUX07_CMPSS4_CTRIPL` = 0x0E00
    enumerator `XBAR_CLB_MUX07_INPUTXBAR4` = 0x0E01
    enumerator `XBAR_CLB_MUX07_CLB2_OUT5` = 0x0E02
    enumerator `XBAR_CLB_MUX07_ADCCEVT4` = 0x0E03
    enumerator `XBAR_CLB_MUX08_CMPSS5_CTRIPH` = 0x1000
    enumerator `XBAR_CLB_MUX08_CMPSS5_CTRIPH_OR_L` = 0x1001
    enumerator `XBAR_CLB_MUX08_ADCBEVT1` = 0x1002
    enumerator `XBAR_CLB_MUX08_ECAP5_OUT` = 0x1003
    enumerator `XBAR_CLB_MUX09_CMPSS5_CTRIPL` = 0x1200
    enumerator `XBAR_CLB_MUX09_INPUTXBAR5` = 0x1201
    enumerator `XBAR_CLB_MUX09_CLB3_OUT4` = 0x1202
    enumerator `XBAR_CLB_MUX10_CMPSS6_CTRIPH` = 0x1400
    enumerator `XBAR_CLB_MUX10_CMPSS6_CTRIPH_OR_L` = 0x1401
    enumerator `XBAR_CLB_MUX10_ADCBEVT2` = 0x1402
    enumerator `XBAR_CLB_MUX10_ECAP6_OUT` = 0x1403
    enumerator `XBAR_CLB_MUX11_CMPSS6_CTRIPL` = 0x1600
    enumerator `XBAR_CLB_MUX11_INPUTXBAR6` = 0x1601
    enumerator `XBAR_CLB_MUX11_CLB3_OUT5` = 0x1602
    enumerator `XBAR_CLB_MUX12_CMPSS7_CTRIPH` = 0x1800
    enumerator `XBAR_CLB_MUX12_CMPSS7_CTRIPH_OR_L` = 0x1801
    enumerator `XBAR_CLB_MUX12_ADCBEVT3` = 0x1802
    enumerator `XBAR_CLB_MUX12_ECAP7_OUT` = 0x1803
    enumerator `XBAR_CLB_MUX13_CMPSS7_CTRIPL` = 0x1A00
    enumerator `XBAR_CLB_MUX13_ADCSOCA` = 0x1A01
    enumerator `XBAR_CLB_MUX13_CLB4_OUT4` = 0x1A02
    enumerator `XBAR_CLB_MUX14_ADCBEVT4` = 0x1C02
    enumerator `XBAR_CLB_MUX14_EXTSYNCOUT` = 0x1C03
    enumerator `XBAR_CLB_MUX15_ADCSOCB` = 0x1E01
    enumerator `XBAR_CLB_MUX15_CLB4_OUT5` = 0x1E02
    enumerator `XBAR_CLB_MUX16_SD1FLT1_COMPH` = 0x2000
    enumerator `XBAR_CLB_MUX16_SD1FLT1_COMPH_OR_COMPL` = 0x2001
    enumerator `XBAR_CLB_MUX16_SD1FLT1_COMPZ` = 0x2002
    enumerator `XBAR_CLB_MUX16_SD1FLT1_DRINT` = 0x2003
    enumerator `XBAR_CLB_MUX17_SD1FLT1_COMPL` = 0x2200
    enumerator `XBAR_CLB_MUX17_INPUTXBAR7` = 0x2201
    enumerator `XBAR_CLB_MUX17_CLAHALT` = 0x2203
    enumerator `XBAR_CLB_MUX18_SD1FLT2_COMPH` = 0x2400
    enumerator `XBAR_CLB_MUX18_SD1FLT2_COMPH_OR_COMPL` = 0x2401
    enumerator `XBAR_CLB_MUX18_SD1FLT2_COMPZ` = 0x2402
    enumerator `XBAR_CLB_MUX18_SD1FLT2_DRINT` = 0x2403
    enumerator `XBAR_CLB_MUX19_SD1FLT2_COMPL` = 0x2600
    enumerator `XBAR_CLB_MUX19_INPUTXBAR8` = 0x2601
    enumerator `XBAR_CLB_MUX20_SD1FLT3_COMPH` = 0x2800
    enumerator `XBAR_CLB_MUX20_SD1FLT3_COMPH_OR_COMPL` = 0x2801
    enumerator `XBAR_CLB_MUX20_SD1FLT3_COMPZ` = 0x2802
    enumerator `XBAR_CLB_MUX20_SD1FLT3_DRINT` = 0x2803
    enumerator `XBAR_CLB_MUX21_SD1FLT3_COMPL` = 0x2A00
    enumerator `XBAR_CLB_MUX21_INPUTXBAR9` = 0x2A01
    enumerator `XBAR_CLB_MUX22_SD1FLT4_COMPH` = 0x2C00
    enumerator `XBAR_CLB_MUX22_SD1FLT4_COMPH_OR_COMPL` = 0x2C01
    enumerator `XBAR_CLB_MUX22_SD1FLT4_COMPZ` = 0x2C02
    enumerator `XBAR_CLB_MUX22_SD1FLT4_DRINT` = 0x2C03
    enumerator `XBAR_CLB_MUX23_SD1FLT4_COMPL` = 0x2E00
    enumerator `XBAR_CLB_MUX23_INPUTXBAR10` = 0x2E01
    enumerator `XBAR_CLB_MUX25_INPUTXBAR11` = 0x3201
    enumerator `XBAR_CLB_MUX27_INPUTXBAR12` = 0x3601
    enumerator `XBAR_CLB_MUX29_INPUTXBAR13` = 0x3A01
    enumerator `XBAR_CLB_MUX31_INPUTXBAR14` = 0x3E01
  enum `XBAR_InputFlag`

    The following values define the inputFlag parameter for XBAR_getInputFlagStatus() and XBAR_clearInputFlag().

    Values:

    enumerator `XBAR_INPUT_FLG_CMPSS1_CTRIPL` = 0x0000
    enumerator `XBAR_INPUT_FLG_CMPSS1_CTRIPH` = 0x0001
    enumerator `XBAR_INPUT_FLG_CMPSS2_CTRIPL` = 0x0002
    enumerator `XBAR_INPUT_FLG_CMPSS2_CTRIPH` = 0x0003
    enumerator `XBAR_INPUT_FLG_CMPSS3_CTRIPL` = 0x0004
    enumerator `XBAR_INPUT_FLG_CMPSS3_CTRIPH` = 0x0005
    enumerator `XBAR_INPUT_FLG_CMPSS4_CTRIPL` = 0x0006
    enumerator `XBAR_INPUT_FLG_CMPSS4_CTRIPH` = 0x0007
    enumerator `XBAR_INPUT_FLG_CMPSS5_CTRIPL` = 0x0008
    enumerator `XBAR_INPUT_FLG_CMPSS5_CTRIPH` = 0x0009
    enumerator `XBAR_INPUT_FLG_CMPSS6_CTRIPL` = 0x000A
    enumerator `XBAR_INPUT_FLG_CMPSS6_CTRIPH` = 0x000B
    enumerator `XBAR_INPUT_FLG_CMPSS7_CTRIPL` = 0x000C
    enumerator `XBAR_INPUT_FLG_CMPSS7_CTRIPH` = 0x000D
    enumerator `XBAR_INPUT_FLG_CMPSS8_CTRIPL` = 0x000E
    enumerator `XBAR_INPUT_FLG_CMPSS8_CTRIPH` = 0x000F
    enumerator `XBAR_INPUT_FLG_CMPSS1_CTRIPOUTL` = 0x0010
    enumerator `XBAR_INPUT_FLG_CMPSS1_CTRIPOUTH` = 0x0011
    enumerator `XBAR_INPUT_FLG_CMPSS2_CTRIPOUTL` = 0x0012
    enumerator `XBAR_INPUT_FLG_CMPSS2_CTRIPOUTH` = 0x0013
    enumerator `XBAR_INPUT_FLG_CMPSS3_CTRIPOUTL` = 0x0014
    enumerator `XBAR_INPUT_FLG_CMPSS3_CTRIPOUTH` = 0x0015
    enumerator `XBAR_INPUT_FLG_CMPSS4_CTRIPOUTL` = 0x0016
    enumerator `XBAR_INPUT_FLG_CMPSS4_CTRIPOUTH` = 0x0017
    enumerator `XBAR_INPUT_FLG_CMPSS5_CTRIPOUTL` = 0x0018
    enumerator `XBAR_INPUT_FLG_CMPSS5_CTRIPOUTH` = 0x0019
    enumerator `XBAR_INPUT_FLG_CMPSS6_CTRIPOUTL` = 0x001A
    enumerator `XBAR_INPUT_FLG_CMPSS6_CTRIPOUTH` = 0x001B
    enumerator `XBAR_INPUT_FLG_CMPSS7_CTRIPOUTL` = 0x001C
    enumerator `XBAR_INPUT_FLG_CMPSS7_CTRIPOUTH` = 0x001D
    enumerator `XBAR_INPUT_FLG_CMPSS8_CTRIPOUTL` = 0x001E
    enumerator `XBAR_INPUT_FLG_CMPSS8_CTRIPOUTH` = 0x001F
    enumerator `XBAR_INPUT_FLG_INPUT1` = 0x0100
    enumerator `XBAR_INPUT_FLG_INPUT2` = 0x0101
    enumerator `XBAR_INPUT_FLG_INPUT3` = 0x0102
    enumerator `XBAR_INPUT_FLG_INPUT4` = 0x0103
    enumerator `XBAR_INPUT_FLG_INPUT5` = 0x0104
    enumerator `XBAR_INPUT_FLG_INPUT6` = 0x0105
    enumerator `XBAR_INPUT_FLG_ADCSOCA` = 0x0106
    enumerator `XBAR_INPUT_FLG_ADCSOCB` = 0x0107
    enumerator `XBAR_INPUT_FLG_INPUT7` = 0x0108
    enumerator `XBAR_INPUT_FLG_INPUT8` = 0x0109
    enumerator `XBAR_INPUT_FLG_INPUT9` = 0x010A
    enumerator `XBAR_INPUT_FLG_INPUT10` = 0x010B
    enumerator `XBAR_INPUT_FLG_INPUT11` = 0x010C
    enumerator `XBAR_INPUT_FLG_INPUT12` = 0x010D
    enumerator `XBAR_INPUT_FLG_INPUT13` = 0x010E
    enumerator `XBAR_INPUT_FLG_INPUT14` = 0x010F
    enumerator `XBAR_INPUT_FLG_ECAP1_OUT` = 0x0110
    enumerator `XBAR_INPUT_FLG_ECAP2_OUT` = 0x0111
    enumerator `XBAR_INPUT_FLG_ECAP3_OUT` = 0x0112
    enumerator `XBAR_INPUT_FLG_ECAP4_OUT` = 0x0113
    enumerator `XBAR_INPUT_FLG_ECAP5_OUT` = 0x0114
    enumerator `XBAR_INPUT_FLG_ECAP6_OUT` = 0x0115
    enumerator `XBAR_INPUT_FLG_EXTSYNCOUT` = 0x0116
    enumerator `XBAR_INPUT_FLG_ADCAEVT1` = 0x0117
    enumerator `XBAR_INPUT_FLG_ADCAEVT2` = 0x0118
    enumerator `XBAR_INPUT_FLG_ADCAEVT3` = 0x0119
    enumerator `XBAR_INPUT_FLG_ADCAEVT4` = 0x011A
    enumerator `XBAR_INPUT_FLG_ADCBEVT1` = 0x011B
    enumerator `XBAR_INPUT_FLG_ADCBEVT2` = 0x011C
    enumerator `XBAR_INPUT_FLG_ADCBEVT3` = 0x011D
    enumerator `XBAR_INPUT_FLG_ADCBEVT4` = 0x011E
    enumerator `XBAR_INPUT_FLG_ADCCEVT1` = 0x011F
    enumerator `XBAR_INPUT_FLG_ADCCEVT2` = 0x0200
    enumerator `XBAR_INPUT_FLG_ADCCEVT3` = 0x0201
    enumerator `XBAR_INPUT_FLG_ADCCEVT4` = 0x0202
    enumerator `XBAR_INPUT_FLG_ADCDEVT1` = 0x0203
    enumerator `XBAR_INPUT_FLG_ADCDEVT2` = 0x0204
    enumerator `XBAR_INPUT_FLG_ADCDEVT3` = 0x0205
    enumerator `XBAR_INPUT_FLG_ADCDEVT4` = 0x0206
    enumerator `XBAR_INPUT_FLG_SD1FLT1_COMPL` = 0x0207
    enumerator `XBAR_INPUT_FLG_SD1FLT1_COMPH` = 0x0208
    enumerator `XBAR_INPUT_FLG_SD1FLT2_COMPL` = 0x0209
    enumerator `XBAR_INPUT_FLG_SD1FLT2_COMPH` = 0x020A
    enumerator `XBAR_INPUT_FLG_SD1FLT3_COMPL` = 0x020B
    enumerator `XBAR_INPUT_FLG_SD1FLT3_COMPH` = 0x020C
    enumerator `XBAR_INPUT_FLG_SD1FLT4_COMPL` = 0x020D
    enumerator `XBAR_INPUT_FLG_SD1FLT4_COMPH` = 0x020E
    enumerator `XBAR_INPUT_FLG_ECAP7_OUT` = 0x0217
    enumerator `XBAR_INPUT_FLG_SD1FLT1_COMPZ` = 0x0218
    enumerator `XBAR_INPUT_FLG_SD1FLT1_DRINT` = 0x0219
    enumerator `XBAR_INPUT_FLG_SD1FLT2_COMPZ` = 0x021A
    enumerator `XBAR_INPUT_FLG_SD1FLT2_DRINT` = 0x021B
    enumerator `XBAR_INPUT_FLG_SD1FLT3_COMPZ` = 0x021C
    enumerator `XBAR_INPUT_FLG_SD1FLT3_DRINT` = 0x021D
    enumerator `XBAR_INPUT_FLG_SD1FLT4_COMPZ` = 0x021E
    enumerator `XBAR_INPUT_FLG_SD1FLT4_DRINT` = 0x021F
    enumerator `XBAR_INPUT_FLG_CLB1_OUT4` = 0x0310
    enumerator `XBAR_INPUT_FLG_CLB1_OUT5` = 0x0311
    enumerator `XBAR_INPUT_FLG_CLB2_OUT4` = 0x0312
    enumerator `XBAR_INPUT_FLG_CLB2_OUT5` = 0x0313
    enumerator `XBAR_INPUT_FLG_CLB3_OUT4` = 0x0314
    enumerator `XBAR_INPUT_FLG_CLB3_OUT5` = 0x0315
    enumerator `XBAR_INPUT_FLG_CLB4_OUT4` = 0x0316
    enumerator `XBAR_INPUT_FLG_CLB4_OUT5` = 0x0317
    enumerator `XBAR_INPUT_FLG_CLAHALT` = 0x031F

  Functions

  void `XBAR_enableOutputMux`(XBAR_OutputNum output, uint32_t muxes)

    Enables the Output X-BAR mux values to be passed to the output signal.

    This function enables the mux values to be passed to the X-BAR output signal. The

    output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.
    Parameters

      - `output`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be enabled.

    The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be OR’d together to enable several muxes on an output at the same time. For example, passing this function ( XBAR_MUX04 | XBAR_MUX10 ) would enable muxes 4 and 10.

    Return

      None.

  void `XBAR_disableOutputMux`(XBAR_OutputNum output, uint32_t muxes)

    Disables the Output X-BAR mux values from being passed to the output.

    This function disables the mux values from being passed to the X-BAR output signal. The

    output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.
    Parameters

      - `output`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be disabled.

    The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be OR’d together to disable several muxes on an output at the same time. For example, passing this function ( XBAR_MUX04 | XBAR_MUX10 ) would disable muxes 4 and 10.

    Return

      None.

  void `XBAR_setOutputLatchMode`(XBAR_OutputNum output, bool enable)

    Enables or disables the output latch to drive the selected output.

    This function sets the Output X-BAR output signal latch mode. If the

    enable parameter is true, the output specified by output will be driven by the output latch.
    Parameters

      - `output`: is the X-BAR output being configured.

      - `enable`: is a flag that determines whether or not the latch is selected to drive the X-BAR output.

    Return

      None.

  bool `XBAR_getOutputLatchStatus`(XBAR_OutputNum output)

    Returns the status of the output latch

    Return

      Returns true if the output corresponding to output was triggered. If not, it will return false.

    Parameters

      - `output`: is the X-BAR output being checked.

  void `XBAR_clearOutputLatch`(XBAR_OutputNum output)

    Clears the output latch for the specified output.

    This function clears the Output X-BAR output latch. The output to be configured is specified by the

    output parameter.
    Parameters

      - `output`: is the X-BAR output being configured.

    Return

      None.

  void `XBAR_forceOutputLatch`(XBAR_OutputNum output)

    Forces the output latch for the specified output.

    This function forces the Output X-BAR output latch. The output to be configured is specified by the

    output parameter.
    Parameters

      - `output`: is the X-BAR output being configured.

    Return

      None.

  void `XBAR_invertOutputSignal`(XBAR_OutputNum output, bool invert)

    Configures the polarity of an Output X-BAR output.

    This function inverts the Output X-BAR signal if the

    invert parameter is true. If invert is false, the signal will be passed as is. The output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.
    Parameters

      - `output`: is the X-BAR output being configured.

      - `invert`: is a flag that determines whether the output is active-high or active-low.

    Return

      None.

  void `XBAR_enableEPWMMux`(XBAR_TripNum trip, uint32_t muxes)

    Enables the ePWM X-BAR mux values to be passed to an ePWM module.

    This function enables the mux values to be passed to the X-BAR trip signal. The

    trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM.
    Parameters

      - `trip`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be enabled.

    The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to enable several muxes on an output at the same time.

    Return

      None.

  void `XBAR_disableEPWMMux`(XBAR_TripNum trip, uint32_t muxes)

    Disables the ePWM X-BAR mux values to be passed to an ePWM module.

    This function disables the mux values to be passed to the X-BAR trip signal. The

    trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM.
    Parameters

      - `trip`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be disabled.

    The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to disable several muxes on an output at the same time.

    Return

      None.

  void `XBAR_invertEPWMSignal`(XBAR_TripNum trip, bool invert)

    Configures the polarity of an ePWM X-BAR output.

    This function inverts the ePWM X-BAR trip signal if the

    invert parameter is true. If invert is false, the signal will be passed as is. The trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM X-BAR that is being configured.
    Parameters

      - `trip`: is the X-BAR output being configured.

      - `invert`: is a flag that determines whether the output is active-high or active-low.

    Return

      None.

  void `XBAR_setInputPin`(XBAR_InputNum input, uint16_t pin)

    Sets the GPIO / non-GPIO pin for an Input X-BAR input.

    This function configures which GPIO is assigned to an Input X-BAR input. The

    input parameter is a value in the form of a define XBAR_INPUTy where y is a the input number for the Input X-BAR.
    Parameters

      - `input`: is the X-BAR input being configured.

      - `pin`: is the identifying number of the pin.

    The pin is specified by its numerical value. For example, GPIO34 is specified by passing 34 as pin.

    For the other non - GPIO values: 0xFFFD: ‘1’ will be driven to the destination 0xFFFE: ‘1’ will be driven to the destination 0xFFFF: ‘0’ will be driven to the destination NOTE: Pin value greater than the available number of GPIO pins on a device (except 0xFFFF) will cause the destination to be driven ‘1’.

    Return

      None.

  void `XBAR_lockInput`(XBAR_InputNum input)

    Locks an input to the Input X-BAR.

    This function locks the specific input on the Input X-BAR.

    Parameters

      - `input`: is an input to the Input X-BAR.

    Return

      None.

  void `XBAR_lockOutput`(void)

    Locks the Output X-BAR.

    This function locks the Output X-BAR.

    Return

      None.

  void `XBAR_lockEPWM`(void)

    Locks the ePWM X-BAR.

    This function locks the ePWM X-BAR.

    Return

      None.

  void `XBAR_enableCLBMux`(XBAR_AuxSigNum auxSignal, uint32_t muxes)

    Enables the CLB X-BAR mux values to be passed to an CLB module.

    This function enables the mux values to be passed to the X-BAR auxSignal signal. The

    auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB.
    Parameters

      - `auxSignal`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be enabled.

    The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to enable several muxes on an output at the same time.

    Return

      None.

  void `XBAR_disableCLBMux`(XBAR_AuxSigNum auxSignal, uint32_t muxes)

    Disables the CLB X-BAR mux values to be passed to an CLB module.

    This function disables the mux values to be passed to the X-BAR auxSignal signal. The

    auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB.
    Parameters

      - `auxSignal`: is the X-BAR output being configured.

      - `muxes`: is a bit field of the muxes to be disabled.

    The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to disable several muxes on an output at the same time.

    Return

      None.

  void `XBAR_invertCLBSignal`(XBAR_AuxSigNum auxSignal, bool invert)

    Configures the polarity of an CLB X-BAR output.

    This function inverts the CLB X-BAR auxSignal signal if the

    invert parameter is true. If invert is false, the signal will be passed as is. The auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB X-BAR that is being configured.
    Parameters

      - `auxSignal`: is the X-BAR output being configured.

      - `invert`: is a flag that determines whether the output is active-high or active-low.

    Return

      None.

  void `XBAR_setOutputMuxConfig`(XBAR_OutputNum output, XBAR_OutputMuxConfig muxConfig)

    Configures the Output X-BAR mux that determines the signals passed to an output.

    This function configures an Output X-BAR mux. This determines which signal(s) should be passed through the X-BAR to a GPIO. The

    output parameter is a value XBAR_OUTPUTy where y is a the output number between 1 and 8 inclusive.
    Parameters

      - `output`: is the X-BAR output being configured.

      - `muxConfig`: is mux configuration that specifies the signal.

    The muxConfig parameter for OUTPUT XBAR is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_OUT_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number.

    This function may be called for each mux of an output and their values will be logically OR’d before being passed to the output signal. This means that this function may be called, for example, with the argument XBAR_OUT_MUX00_ECAP1_OUT and then with the argument XBAR_OUT_MUX01_INPUTXBAR1, resulting in the values of MUX00 and MUX01 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

    Return

      None.

  void `XBAR_setEPWMMuxConfig`(XBAR_TripNum trip, XBAR_EPWMMuxConfig muxConfig)

    Configures the ePWM X-BAR mux that determines the signals passed to an ePWM module.

    This function configures an ePWM X-BAR mux. This determines which signal(s) should be passed through the X-BAR to an ePWM module. The

    trip parameter is a value XBAR_TRIPy where y is a the number of the trip signal on the ePWM.
    Parameters

      - `trip`: is the X-BAR output being configured.

      - `muxConfig`: is mux configuration that specifies the signal.

    The muxConfig parameter is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_EPWM_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number (0 through 31). The possible values are found in `xbar.h`

    This function may be called for each mux of an output and their values will be logically OR’d before being passed to the trip signal. This means that this function may be called, for example, with the argument XBAR_EPWM_MUX00_ECAP1_OUT and then with the argument XBAR_EPWM_MUX01_INPUTXBAR1, resulting in the values of MUX00 and MUX03 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

    Return

      None.

  bool `XBAR_getInputFlagStatus`(XBAR_InputFlag inputFlag)

    Returns the status of the input latch.

    Return

      Returns true if the X-BAR input corresponding to the inputFlag has been triggered. If not, it will return false.

    Parameters

      - `inputFlag`: is the X-BAR input latch being checked. Values are in the format of /b XBAR_INPUT_FLG_XXXX where “XXXX” is name of the signal.

  void `XBAR_clearInputFlag`(XBAR_InputFlag inputFlag)

    Clears the input latch for the specified input latch.

    This function clears the Input X-BAR input latch. The input latch to be cleared is specified by the

    inputFlag parameter.
    Parameters

      - `inputFlag`: is the X-BAR input latch being cleared.

    Return

      None.

  void `XBAR_setCLBMuxConfig`(XBAR_AuxSigNum auxSignal, XBAR_CLBMuxConfig muxConfig)

    Configures the CLB X-BAR mux that determines the signals passed to a CLB module.

    This function configures an CLB X-BAR mux. This determines which signal(s) should be passed through the X-BAR to an CLB module. The

    auxSignal parameter is a value XBAR_AUXSIGy where y is a the number of the signal on the CLB.
    Parameters

      - `auxSignal`: is the X-BAR output being configured.

      - `muxConfig`: is mux configuration that specifies the signal.

    The muxConfig parameter is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_CLB_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number (0 through 31). The possible values are found in `xbar.h`

    This function may be called for each mux of an output and their values will be logically OR’d before being passed to the signal. This means that this function may be called, for example, with the argument XBAR_CLB_MUX00_ECAP1_OUT and then with the argument XBAR_CLB_MUX03_INPUTXBAR2, resulting in the values of MUX00 and MUX03 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

    Return

      None.

The functions used to configure the ePWM and the Output X-BAR are identifiable as their names will either contain the word EPWM or Output. Both of these X-BARs have multiple output signals that have 32 associated muxes. The select signal of these muxes is configured using the XBAR_setEPWMMuxConfig() and XBAR_setOutputMuxConfig() functions. Each of these mux signals can be enabled and disabled before they are logically OR’d together to arrive at the output signal using XBAR_enableOutputMux() and XBAR_disableOutputMux() and XBAR_enableEPWMMux() and XBAR_disableEPWMMux().

The functions XBAR_getInputFlagStatus() and XBAR_clearInputFlag(), despite their names, are not related to the Input X-BAR. They provide a way to get and clear the status of the signals that are inputs to the ePWM and Output X-BARs. Since these two X-BARs share nearly all of their inputs, they share this set of flags.

The Input X-BAR takes a signal of a GPIO and routes it to an IP block destination. This pin can be selected for each input using the XBAR_setInputPin() function. Note that the descriptions for the values of the XBAR_InputNum enumerated type provide a list of the possible destinations for each input.

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