This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28379D: SysConfig - project compiles and run when configuration CPU1_RAM but a sysconfig error rises when using CPU1_FLASH (C2000Ware 5.1.0.00 and SysConfig 1.18.0)

Part Number: TMS320F28379D
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Tool/software:

Hardware: Control Card F28379D

Products: C2000Ware 5.1.0.00 and SysConfig 1.18.0


Issue:

I have a blink project with a sysconfig file just to setting up the peripherals.

The SysConfig generates the code that compile and run fine when using the build configuration as CPU1_RAM but when setting active the configuration CPU1_FLASH an error is rised by sysconfig in build:

Building file: "../config.syscfg"
Invoking: SysConfig
"C:/ti/ccs1250/ccs/utils/sysconfig_1.18.0/sysconfig_cli.bat" -s "C:/ti/C2000Ware_5_01_00_00/.metadata/sdk.json" -d "F2837xD" --script "C:/git/firmware/f28379d_dev/sysconfig/project/config.syscfg" -o "syscfg" --compiler ccs
Running script...
subdir_rules.mk:16: recipe for target 'build-427106431' failed
Error: cannot set '$assign' to 'hsecDigital.69': No option named hsecDigital.69 defined, valid options are
Any
GPIO18
ball.9
GPIO62
ball.57
GPIO70
ball.76
GPIO10
ball.100
GPIO13
ball.4
GPIO17
ball.8
GPIO21
ball.13
GPIO73
ball.81
    at setHelper (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\objectManagers\proxyHandlers\managedObjectProxyHandler.ts:162:10)
    at Object.set (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\objectManagers\proxyHandlers\managedObjectProxyHandler.ts:29:10)
    at scriptFunc (C:\git\firmware\f28379d_dev\sysconfig\sysconfig-base-perphase\config.syscfg:200:27)
    at cb (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\scripting\runScript.ts:112:7)
    at Object.withDeprecatedAccess (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\deprecatedAccessGuard.ts:14:10)
    at Object.runAsUserScript (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\scripting\scriptingGuard.ts:61:3)
    at iteratee (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\scripting\runScript.ts:110:5)
    at baseEach (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\node_modules\lodash\lodash.js:530:11)
    at Function.each (C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\node_modules\lodash\lodash.js:9409:52)
    at C:\ti\ccs1250\ccs\utils\sysconfig_1.18.0\dist\webpack:\src\pinmux\services\scripting\runScript.ts:108:6
gmake[1]: *** [build-427106431] Error 1
gmake[1]: Target 'main-build' not remade because of errors.
gmake: *** [all] Error 2
makefile:140: recipe for target 'all' failed

**** Build Finished ****

The contents of the sysconfig file are:

/**
 * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
 * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
 * @cliArgs --board "/boards/TMDSCNCD28379D" --context "CPU1" --product "C2000WARE@5.01.00.00"
 * @versions {"tool":"1.18.0+3266"}
 */
 
/**
 * Import the modules used in this configuration.
 */
const can  = scripting.addModule("/driverlib/can.js", {}, false);
const can1 = can.addInstance();
const sci  = scripting.addModule("/driverlib/sci.js", {}, false);
const sci1 = sci.addInstance();
const sci2 = sci.addInstance();
const spi  = scripting.addModule("/driverlib/spi.js", {}, false);
const spi1 = spi.addInstance();

/**
 * Write custom configuration values to the imported modules.
 */
can1.useCase              = "CUSTOM";
can1.useInterfacePins     = ["CANRX@","CANTX@"];
can1.startModule          = false;
can1.$name                = "CANDSP";
can1.can.canrxPin.$assign = "hsecDigital.69";
can1.can.cantxPin.$assign = "hsecDigital.67";
scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", can1.can, "canrxPin");
scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", can1.can, "cantxPin");

sci1.$name                 = "UART";
sci1.sci.scirxdPin.$assign = "hsecDigital.73";
sci1.sci.scitxdPin.$assign = "hsecDigital.71";
scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", sci1.sci, "scirxdPin");
scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", sci1.sci, "scitxdPin");

sci2.$name                 = "UART_POCKETBEAGLE";
sci2.sci.$assign           = "SCIA";
sci2.sci.scirxdPin.$assign = "hsecDigital.121";
sci2.sci.scitxdPin.$assign = "hsecDigital.122";

spi1.$name                   = "SPI_DAC1";
spi1.mode                    = "SPI_MODE_CONTROLLER";
spi1.useCase                 = "3-WIRE MASTER";
spi1.spi.spi_picoPin.$assign = "hsecDigital.125";
spi1.spi.spi_clkPin.$assign  = "hsecDigital.108";
spi1.spi.spi_ptePin.$assign  = "hsecDigital.110";

/**
 * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
 * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
 * re-solve from scratch.
 */
can1.can.$suggestSolution = "CANB";
sci1.sci.$suggestSolution = "SCIB";
spi1.spi.$suggestSolution = "SPIB";

Is this a bug with the SysConfig or am I missing something?

Thank you!

  • Hi, 

    When you open the sysconfig file in the  Sysconfig GUI , is it showing any errors or warnings that are suppressed?

    This error seems to be related to pinmux where the pin is not configured is not available . 

    You can click on the "Info" icon on the Sysconfig GUI to show if any problems are reported in the configuration.

    Best Regards

    Siddharth

  • Thank you for the return.

    I just can open the sysconfig GUI using the build configuration as CPU1_RAM. Using the build configuration as CPU1_FLASH the sysconfig returns an error.

    Using the build configuration as CPU1_RAM

    I have 13 supressed warnings that I validated with the hardware specs (and the project compiles).

    On the other hand, using the build configuration as CPU1_FLASH, the sysconfig throws an error and can't open even in compatibility mode.

    edit: typo

  • Andre

    Is it possible for you to share the CCS project and the sysconfig file to take a look.?

    Best Regards

    Sididjartj

  • Sure.

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --board "/boards/TMDSCNCD28379D" --context "CPU1" --product "C2000WARE@5.01.00.00"
     * @versions {"tool":"1.18.0+3266"}
     */
    
     
    /**
     * Import the modules used in this configuration.
     */
    const adc  = scripting.addModule("/driverlib/adc.js");
    const adc1 = adc.addInstance();
    const adc2 = adc.addInstance();
    const adc3 = adc.addInstance();
    const adc4 = adc.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    adc.synchronousModeCheck = true;
    
    adc1.registerInterrupts          = ["5"];
    adc1.soc0IndependentNameMode     = true;
    adc1.soc0SampleWindow            = 15;
    adc1.soc0Channel                 = "ADC_CH_ADCIN14";
    adc1.soc0InputCapacitance        = 1;
    adc1.soc0Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.enabledSOCs                 = ["ADC_SOC_NUMBER0","ADC_SOC_NUMBER1","ADC_SOC_NUMBER2","ADC_SOC_NUMBER3","ADC_SOC_NUMBER4","ADC_SOC_NUMBER5","ADC_SOC_NUMBER6","ADC_SOC_NUMBER7"];
    adc1.soc1Channel                 = "ADC_CH_ADCIN15";
    adc1.soc1SampleWindow            = 15;
    adc1.soc2SampleWindow            = 15;
    adc1.soc3SampleWindow            = 15;
    adc1.soc3Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc2Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc1Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc4Channel                 = "ADC_CH_ADCIN2";
    adc1.soc3Channel                 = "ADC_CH_ADCIN1";
    adc1.soc4Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc4SampleWindow            = 15;
    adc1.soc5Channel                 = "ADC_CH_ADCIN3";
    adc1.soc5Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc5SampleWindow            = 15;
    adc1.soc6Channel                 = "ADC_CH_ADCIN4";
    adc1.soc6Trigger                 = "ADC_TRIGGER_EPWM1_SOCA";
    adc1.soc6SampleWindow            = 15;
    adc1.soc7Channel                 = "ADC_CH_ADCIN5";
    adc1.soc7SampleWindow            = 15;
    adc1.$name                       = "ADCA_SYSCFG";
    adc1.adcClockPrescaler           = "ADC_CLK_DIV_4_0";
    adc1.soc0Name                    = "HCPL01";
    adc1.soc1Name                    = "HCPL02";
    adc1.soc2Name                    = "HALL14";
    adc1.soc3Name                    = "HALL13";
    adc1.soc4Name                    = "HALL16";
    adc1.soc5Name                    = "HALL15";
    adc1.soc6Name                    = "HALL18";
    adc1.soc7Name                    = "HALL17";
    adc1.adcIntEvent.enableInterrupt = true;
    
    adc2.registerInterrupts      = ["5"];
    adc2.soc0IndependentNameMode = true;
    adc2.soc0SampleWindow        = 15;
    adc2.soc0InputCapacitance    = 1;
    adc2.soc0Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc1SampleWindow        = 15;
    adc2.soc2SampleWindow        = 15;
    adc2.soc3SampleWindow        = 15;
    adc2.soc3Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc2Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc1Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc4Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc4SampleWindow        = 15;
    adc2.soc5Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc5SampleWindow        = 15;
    adc2.soc6Name                = "ADCINA4_SOC6";
    adc2.soc6Channel             = "ADC_CH_ADCIN4";
    adc2.soc6Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc2.soc6SampleWindow        = 15;
    adc2.soc7Name                = "ADCINA5_SOC7";
    adc2.soc7Channel             = "ADC_CH_ADCIN5";
    adc2.soc7SampleWindow        = 15;
    adc2.adcClockPrescaler       = "ADC_CLK_DIV_4_0";
    adc2.adcBase                 = "ADCB_BASE";
    adc2.$name                   = "ADCB_SYSCFG";
    adc2.soc1Channel             = "ADC_CH_ADCIN1";
    adc2.soc2Channel             = "ADC_CH_ADCIN2";
    adc2.soc0Name                = "HALL11";
    adc2.soc1Name                = "HALL12";
    adc2.soc2Name                = "HALL09";
    adc2.soc3Channel             = "ADC_CH_ADCIN3";
    adc2.soc3Name                = "HALL10";
    adc2.enabledSOCs             = ["ADC_SOC_NUMBER0","ADC_SOC_NUMBER1","ADC_SOC_NUMBER2","ADC_SOC_NUMBER3","ADC_SOC_NUMBER4","ADC_SOC_NUMBER5"];
    adc2.soc4Channel             = "ADC_CH_ADCIN4";
    adc2.soc4Name                = "HALL07";
    adc2.soc5Channel             = "ADC_CH_ADCIN5";
    adc2.soc5Name                = "HALL08";
    
    adc3.registerInterrupts      = ["5"];
    adc3.soc0IndependentNameMode = true;
    adc3.soc0SampleWindow        = 15;
    adc3.soc0InputCapacitance    = 1;
    adc3.soc0Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc1SampleWindow        = 15;
    adc3.soc2SampleWindow        = 15;
    adc3.soc3SampleWindow        = 15;
    adc3.soc3Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc2Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc1Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc4Name                = "ADCINA2_SOC4";
    adc3.soc4Channel             = "ADC_CH_ADCIN2";
    adc3.soc4Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc4SampleWindow        = 15;
    adc3.soc5Name                = "ADCINA3_SOC5";
    adc3.soc5Channel             = "ADC_CH_ADCIN3";
    adc3.soc5Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc5SampleWindow        = 15;
    adc3.soc6Name                = "ADCINA4_SOC6";
    adc3.soc6Channel             = "ADC_CH_ADCIN4";
    adc3.soc6Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc3.soc6SampleWindow        = 15;
    adc3.soc7Name                = "ADCINA5_SOC7";
    adc3.soc7Channel             = "ADC_CH_ADCIN5";
    adc3.soc7SampleWindow        = 15;
    adc3.adcClockPrescaler       = "ADC_CLK_DIV_4_0";
    adc3.$name                   = "ADCC_SYSCFG";
    adc3.adcBase                 = "ADCC_BASE";
    adc3.soc0Channel             = "ADC_CH_ADCIN2";
    adc3.soc1Channel             = "ADC_CH_ADCIN3";
    adc3.soc2Channel             = "ADC_CH_ADCIN4";
    adc3.soc0Name                = "HCPL03";
    adc3.soc1Name                = "HCPL04";
    adc3.soc2Name                = "HCPL05";
    adc3.enabledSOCs             = ["ADC_SOC_NUMBER0","ADC_SOC_NUMBER1","ADC_SOC_NUMBER2","ADC_SOC_NUMBER3"];
    adc3.soc3Channel             = "ADC_CH_ADCIN5";
    adc3.soc3Name                = "HCPL06";
    
    adc4.registerInterrupts      = ["5"];
    adc4.soc0IndependentNameMode = true;
    adc4.soc0SampleWindow        = 15;
    adc4.soc0InputCapacitance    = 1;
    adc4.soc0Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc1SampleWindow        = 15;
    adc4.soc2SampleWindow        = 15;
    adc4.soc3SampleWindow        = 15;
    adc4.soc3Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc2Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc1Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc4Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc4SampleWindow        = 15;
    adc4.soc5Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc5SampleWindow        = 15;
    adc4.soc6Name                = "ADCINA4_SOC6";
    adc4.soc6Channel             = "ADC_CH_ADCIN4";
    adc4.soc6Trigger             = "ADC_TRIGGER_EPWM1_SOCA";
    adc4.soc6SampleWindow        = 15;
    adc4.soc7Name                = "ADCINA5_SOC7";
    adc4.soc7Channel             = "ADC_CH_ADCIN5";
    adc4.soc7SampleWindow        = 15;
    adc4.adcClockPrescaler       = "ADC_CLK_DIV_4_0";
    adc4.$name                   = "ADCD_SYSCFG";
    adc4.adcBase                 = "ADCD_BASE";
    adc4.enabledSOCs             = ["ADC_SOC_NUMBER0","ADC_SOC_NUMBER1","ADC_SOC_NUMBER2","ADC_SOC_NUMBER3","ADC_SOC_NUMBER4","ADC_SOC_NUMBER5"];
    adc4.soc0Channel             = "ADC_CH_ADCIN4";
    adc4.soc0Name                = "HALL01";
    adc4.soc1Name                = "HALL02";
    adc4.soc1Channel             = "ADC_CH_ADCIN5";
    adc4.soc2Channel             = "ADC_CH_ADCIN2";
    adc4.soc2Name                = "HALL03";
    adc4.soc3Name                = "HALL04";
    adc4.soc3Channel             = "ADC_CH_ADCIN3";
    adc4.soc4Name                = "HALL05";
    adc4.soc5Name                = "HALL06";
    adc4.soc5Channel             = "ADC_CH_ADCIN1";
    
    /**
     * Import the modules used in this configuration.
     */
    const can  = scripting.addModule("/driverlib/can.js", {}, false);
    const can1 = can.addInstance();
    const sci  = scripting.addModule("/driverlib/sci.js", {}, false);
    const sci1 = sci.addInstance();
    const sci2 = sci.addInstance();
    const spi  = scripting.addModule("/driverlib/spi.js", {}, false);
    const spi1 = spi.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    can1.useCase              = "CUSTOM";
    can1.useInterfacePins     = ["CANRX@","CANTX@"];
    can1.startModule          = false;
    can1.$name                = "CANDSP";
    can1.can.canrxPin.$assign = "hsecDigital.69";
    can1.can.cantxPin.$assign = "hsecDigital.67";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", can1.can, "canrxPin");
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", can1.can, "cantxPin");
    
    sci1.$name                 = "UART";
    sci1.sci.scirxdPin.$assign = "hsecDigital.73";
    sci1.sci.scitxdPin.$assign = "hsecDigital.71";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", sci1.sci, "scirxdPin");
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SPIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", sci1.sci, "scitxdPin");
    
    sci2.$name                 = "UART_POCKETBEAGLE";
    sci2.sci.$assign           = "SCIA";
    sci2.sci.scirxdPin.$assign = "hsecDigital.121";
    sci2.sci.scitxdPin.$assign = "hsecDigital.122";
    
    spi1.$name                   = "SPI_DAC1";
    spi1.mode                    = "SPI_MODE_CONTROLLER";
    spi1.useCase                 = "3-WIRE MASTER";
    spi1.spi.spi_picoPin.$assign = "hsecDigital.125";
    spi1.spi.spi_clkPin.$assign  = "hsecDigital.108";
    spi1.spi.spi_ptePin.$assign  = "hsecDigital.110";
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    can1.can.$suggestSolution = "CANB";
    sci1.sci.$suggestSolution = "SCIB";
    spi1.spi.$suggestSolution = "SPIB";
    
    
    /**
     * Import the modules used in this configuration.
     */
    const sysctl = scripting.addModule("/driverlib/sysctl.js");
    
    
    /**
     * Import the modules used in this configuration.
     */
    const gpio   = scripting.addModule("/driverlib/gpio.js", {}, false);
    const gpio1  = gpio.addInstance();
    const gpio2  = gpio.addInstance();
    const gpio3  = gpio.addInstance();
    const gpio4  = gpio.addInstance();
    const gpio5  = gpio.addInstance();
    const gpio6  = gpio.addInstance();
    const gpio7  = gpio.addInstance();
    const gpio8  = gpio.addInstance();
    const gpio9  = gpio.addInstance();
    const gpio10 = gpio.addInstance();
    const gpio11 = gpio.addInstance();
    const gpio12 = gpio.addInstance();
    const gpio13 = gpio.addInstance();
    const gpio14 = gpio.addInstance();
    const gpio15 = gpio.addInstance();
    const gpio16 = gpio.addInstance();
    const gpio17 = gpio.addInstance();
    const gpio18 = gpio.addInstance();
    const gpio19 = gpio.addInstance();
    const gpio20 = gpio.addInstance();
    const gpio21 = gpio.addInstance();
    const gpio22 = gpio.addInstance();
    const gpio23 = gpio.addInstance();
    const gpio24 = gpio.addInstance();
    const gpio25 = gpio.addInstance();
    const gpio26 = gpio.addInstance();
    const gpio27 = gpio.addInstance();
    const gpio28 = gpio.addInstance();
    const gpio29 = gpio.addInstance();
    const gpio30 = gpio.addInstance();
    const gpio31 = gpio.addInstance();
    const gpio32 = gpio.addInstance();
    const gpio33 = gpio.addInstance();
    const gpio34 = gpio.addInstance();
    const gpio35 = gpio.addInstance();
    const gpio36 = gpio.addInstance();
    const gpio37 = gpio.addInstance();
    const gpio38 = gpio.addInstance();
    const gpio39 = gpio.addInstance();
    const gpio40 = gpio.addInstance();
    const gpio41 = gpio.addInstance();
    const gpio42 = gpio.addInstance();
    const gpio43 = gpio.addInstance();
    const gpio44 = gpio.addInstance();
    const gpio45 = gpio.addInstance();
    const gpio46 = gpio.addInstance();
    const gpio47 = gpio.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    gpio1.direction         = "GPIO_DIR_MODE_OUT";
    gpio1.writeInitialValue = true;
    gpio1.$name             = "DOUT01";
    gpio1.gpioPin.$assign   = "hsecDigital.124";
    
    gpio2.direction         = "GPIO_DIR_MODE_OUT";
    gpio2.writeInitialValue = true;
    gpio2.$name             = "DOUT02";
    gpio2.gpioPin.$assign   = "hsecDigital.126";
    
    gpio3.direction         = "GPIO_DIR_MODE_OUT";
    gpio3.writeInitialValue = true;
    gpio3.$name             = "DOUT03";
    gpio3.gpioPin.$assign   = "hsecDigital.128";
    
    gpio4.direction         = "GPIO_DIR_MODE_OUT";
    gpio4.writeInitialValue = true;
    gpio4.$name             = "DOUT04";
    gpio4.gpioPin.$assign   = "hsecDigital.130";
    
    gpio5.direction         = "GPIO_DIR_MODE_OUT";
    gpio5.writeInitialValue = true;
    gpio5.$name             = "DOUT05";
    gpio5.gpioPin.$assign   = "hsecDigital.132";
    
    gpio6.direction         = "GPIO_DIR_MODE_OUT";
    gpio6.writeInitialValue = true;
    gpio6.$name             = "DOUT06";
    gpio6.gpioPin.$assign   = "hsecDigital.134";
    
    gpio7.direction         = "GPIO_DIR_MODE_OUT";
    gpio7.writeInitialValue = true;
    gpio7.$name             = "DOUT07";
    gpio7.gpioPin.$assign   = "hsecDigital.138";
    
    gpio8.direction         = "GPIO_DIR_MODE_OUT";
    gpio8.writeInitialValue = true;
    gpio8.$name             = "DOUT08";
    gpio8.gpioPin.$assign   = "hsecDigital.140";
    
    gpio9.direction         = "GPIO_DIR_MODE_OUT";
    gpio9.writeInitialValue = true;
    gpio9.$name             = "DOUT09";
    gpio9.gpioPin.$assign   = "hsecDigital.142";
    
    gpio10.direction         = "GPIO_DIR_MODE_OUT";
    gpio10.writeInitialValue = true;
    gpio10.$name             = "DOUT10";
    gpio10.gpioPin.$assign   = "hsecDigital.144";
    
    gpio11.padConfig         = "PULLUP";
    gpio11.$name             = "DIN01";
    gpio11.writeInitialValue = true;
    gpio11.gpioPin.$assign   = "hsecDigital.96";
    
    gpio12.padConfig         = "PULLUP";
    gpio12.writeInitialValue = true;
    gpio12.$name             = "DIN02";
    gpio12.gpioPin.$assign   = "hsecDigital.94";
    
    gpio13.padConfig         = "PULLUP";
    gpio13.writeInitialValue = true;
    gpio13.$name             = "DIN03";
    gpio13.gpioPin.$assign   = "hsecDigital.92";
    
    gpio14.padConfig         = "PULLUP";
    gpio14.writeInitialValue = true;
    gpio14.$name             = "DIN04";
    gpio14.gpioPin.$assign   = "hsecDigital.90";
    
    gpio15.padConfig         = "PULLUP";
    gpio15.writeInitialValue = true;
    gpio15.$name             = "DIN05";
    gpio15.gpioPin.$assign   = "hsecDigital.88";
    
    gpio16.padConfig         = "PULLUP";
    gpio16.writeInitialValue = true;
    gpio16.$name             = "DIN06";
    gpio16.$hardware         = system.deviceData.board.components.D2;
    gpio16.direction         = "GPIO_DIR_MODE_OUT";
    gpio16.gpioPin.$assign   = "hsecDigital.86";
    
    gpio17.padConfig         = "PULLUP";
    gpio17.writeInitialValue = true;
    gpio17.$name             = "DIN07";
    gpio17.gpioPin.$assign   = "hsecDigital.82";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to CANA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", gpio17, "gpioPin");
    
    gpio18.padConfig         = "PULLUP";
    gpio18.writeInitialValue = true;
    gpio18.$name             = "DIN08";
    gpio18.gpioPin.$assign   = "hsecDigital.80";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to CANA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", gpio18, "gpioPin");
    
    gpio19.padConfig         = "PULLUP";
    gpio19.writeInitialValue = true;
    gpio19.$name             = "DIN09";
    gpio19.gpioPin.$assign   = "hsecDigital.78";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SCIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", gpio19, "gpioPin");
    
    gpio20.padConfig         = "PULLUP";
    gpio20.writeInitialValue = true;
    gpio20.$name             = "DIN10";
    gpio20.gpioPin.$assign   = "hsecDigital.76";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to SCIA on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", gpio20, "gpioPin");
    
    gpio21.padConfig         = "PULLUP";
    gpio21.writeInitialValue = true;
    gpio21.$name             = "RELAY01";
    gpio21.direction         = "GPIO_DIR_MODE_OUT";
    gpio21.gpioPin.$assign   = "hsecDigital.131";
    
    gpio22.padConfig         = "PULLUP";
    gpio22.writeInitialValue = true;
    gpio22.direction         = "GPIO_DIR_MODE_OUT";
    gpio22.$name             = "RELAY02";
    gpio22.gpioPin.$assign   = "hsecDigital.133";
    
    gpio23.padConfig         = "PULLUP";
    gpio23.writeInitialValue = true;
    gpio23.direction         = "GPIO_DIR_MODE_OUT";
    gpio23.$name             = "RELAY03";
    gpio23.gpioPin.$assign   = "hsecDigital.137";
    
    gpio24.padConfig         = "PULLUP";
    gpio24.writeInitialValue = true;
    gpio24.direction         = "GPIO_DIR_MODE_OUT";
    gpio24.$name             = "RELAY04";
    gpio24.gpioPin.$assign   = "hsecDigital.139";
    
    gpio25.padConfig         = "PULLUP";
    gpio25.writeInitialValue = true;
    gpio25.direction         = "GPIO_DIR_MODE_OUT";
    gpio25.$name             = "RELAY05";
    gpio25.gpioPin.$assign   = "hsecDigital.141";
    
    gpio26.padConfig         = "PULLUP";
    gpio26.writeInitialValue = true;
    gpio26.direction         = "GPIO_DIR_MODE_OUT";
    gpio26.$name             = "RELAY06";
    gpio26.gpioPin.$assign   = "hsecDigital.145";
    
    gpio27.padConfig         = "PULLUP";
    gpio27.writeInitialValue = true;
    gpio27.direction         = "GPIO_DIR_MODE_OUT";
    gpio27.$name             = "RELAY07";
    gpio27.gpioPin.$assign   = "hsecDigital.143";
    
    gpio28.padConfig         = "PULLUP";
    gpio28.writeInitialValue = true;
    gpio28.direction         = "GPIO_DIR_MODE_OUT";
    gpio28.$name             = "RELAY08";
    gpio28.gpioPin.$assign   = "hsecDigital.147";
    
    gpio29.padConfig         = "PULLUP";
    gpio29.writeInitialValue = true;
    gpio29.direction         = "GPIO_DIR_MODE_OUT";
    gpio29.$name             = "RELAY09";
    gpio29.gpioPin.$assign   = "hsecDigital.149";
    
    gpio30.padConfig         = "PULLUP";
    gpio30.writeInitialValue = true;
    gpio30.direction         = "GPIO_DIR_MODE_OUT";
    gpio30.$name             = "RELAY10";
    gpio30.gpioPin.$assign   = "hsecDigital.151";
    
    gpio31.$name             = "PWM03_FAULT";
    gpio31.padConfig         = "PULLUP";
    gpio31.qualMode          = "GPIO_QUAL_ASYNC";
    gpio31.writeInitialValue = true;
    gpio31.initialValue      = 1;
    gpio31.gpioPin.$assign   = "hsecDigital.146";
    
    gpio32.qualMode          = "GPIO_QUAL_ASYNC";
    gpio32.writeInitialValue = true;
    gpio32.initialValue      = 1;
    gpio32.$name             = "PWM04_FAULT";
    gpio32.padConfig         = "PULLUP";
    gpio32.gpioPin.$assign   = "hsecDigital.148";
    
    gpio33.qualMode          = "GPIO_QUAL_ASYNC";
    gpio33.writeInitialValue = true;
    gpio33.initialValue      = 1;
    gpio33.$name             = "PWM07_FAULT";
    gpio33.padConfig         = "PULLUP";
    gpio33.gpioPin.$assign   = "hsecDigital.150";
    
    gpio34.qualMode          = "GPIO_QUAL_ASYNC";
    gpio34.writeInitialValue = true;
    gpio34.initialValue      = 1;
    gpio34.$name             = "PWM08_FAULT";
    gpio34.padConfig         = "PULLUP";
    gpio34.gpioPin.$assign   = "hsecDigital.152";
    
    gpio35.qualMode          = "GPIO_QUAL_ASYNC";
    gpio35.writeInitialValue = true;
    gpio35.initialValue      = 1;
    gpio35.$name             = "PWM11_FAULT";
    gpio35.padConfig         = "PULLUP";
    gpio35.gpioPin.$assign   = "hsecDigital.154";
    
    gpio36.qualMode          = "GPIO_QUAL_ASYNC";
    gpio36.writeInitialValue = true;
    gpio36.initialValue      = 1;
    gpio36.$name             = "PWM12_FAULT";
    gpio36.padConfig         = "PULLUP";
    gpio36.gpioPin.$assign   = "hsecDigital.156";
    
    gpio37.qualMode          = "GPIO_QUAL_ASYNC";
    gpio37.writeInitialValue = true;
    gpio37.initialValue      = 1;
    gpio37.$name             = "PWM09_FAULT";
    gpio37.padConfig         = "PULLUP";
    gpio37.gpioPin.$assign   = "hsecDigital.160";
    
    gpio38.qualMode          = "GPIO_QUAL_ASYNC";
    gpio38.writeInitialValue = true;
    gpio38.initialValue      = 1;
    gpio38.$name             = "PWM10_FAULT";
    gpio38.padConfig         = "PULLUP";
    gpio38.gpioPin.$assign   = "hsecDigital.162";
    
    gpio39.qualMode          = "GPIO_QUAL_ASYNC";
    gpio39.writeInitialValue = true;
    gpio39.initialValue      = 1;
    gpio39.$name             = "PWM01_FAULT";
    gpio39.padConfig         = "PULLUP";
    gpio39.gpioPin.$assign   = "hsecDigital.163";
    
    gpio40.qualMode          = "GPIO_QUAL_ASYNC";
    gpio40.writeInitialValue = true;
    gpio40.initialValue      = 1;
    gpio40.$name             = "PWM02_FAULT";
    gpio40.padConfig         = "PULLUP";
    gpio40.gpioPin.$assign   = "hsecDigital.165";
    
    gpio41.qualMode          = "GPIO_QUAL_ASYNC";
    gpio41.writeInitialValue = true;
    gpio41.initialValue      = 1;
    gpio41.$name             = "PWM05_FAULT";
    gpio41.padConfig         = "PULLUP";
    gpio41.gpioPin.$assign   = "hsecDigital.166";
    
    gpio42.qualMode          = "GPIO_QUAL_ASYNC";
    gpio42.writeInitialValue = true;
    gpio42.initialValue      = 1;
    gpio42.$name             = "PWM06_FAULT";
    gpio42.padConfig         = "PULLUP";
    gpio42.gpioPin.$assign   = "hsecDigital.164";
    
    gpio43.writeInitialValue = true;
    gpio43.initialValue      = 1;
    gpio43.padConfig         = "PULLUP";
    gpio43.$name             = "PWM_RESET";
    gpio43.direction         = "GPIO_DIR_MODE_OUT";
    gpio43.gpioPin.$assign   = "hsecDigital.161";
    
    gpio44.$name           = "BUTTON_UP";
    gpio44.qualMode        = "GPIO_QUAL_6SAMPLE";
    gpio44.gpioPin.$assign = "hsecDigital.129";
    
    gpio45.qualMode        = "GPIO_QUAL_6SAMPLE";
    gpio45.$name           = "BUTTON_LEFT";
    gpio45.gpioPin.$assign = "hsecDigital.127";
    
    gpio46.qualMode        = "GPIO_QUAL_6SAMPLE";
    gpio46.$name           = "BUTTON_RIGHT";
    gpio46.gpioPin.$assign = "hsecDigital.102";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to EQEP2 on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", gpio46, "gpioPin");
    
    gpio47.qualMode        = "GPIO_QUAL_6SAMPLE";
    gpio47.$name           = "BUTTON_DOWN";
    gpio47.gpioPin.$assign = "hsecDigital.123";
    
    
    /**
     * Import the modules used in this configuration.
     */
    const epwm   = scripting.addModule("/driverlib/epwm.js");
    const epwm1  = epwm.addInstance();
    const epwm2  = epwm.addInstance();
    const epwm3  = epwm.addInstance();
    const epwm4  = epwm.addInstance();
    const epwm5  = epwm.addInstance();
    const epwm6  = epwm.addInstance();
    const epwm7  = epwm.addInstance();
    const epwm8  = epwm.addInstance();
    const epwm9  = epwm.addInstance();
    const epwm10 = epwm.addInstance();
    const epwm11 = epwm.addInstance();
    const epwm12 = epwm.addInstance();
    
    const sync   = scripting.addModule("/driverlib/sync.js");
    
    /**
     * Write custom configuration values to the imported modules.
     */
    epwm.generateInitFunctions = true;
    
    epwm1.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm1.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm1.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm1.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm1.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm1.epwmEventTrigger_enableInterrupt                  = true;
    epwm1.epwmEventTrigger_registerInterrupts               = true;
    epwm1.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm1.epwmEventTrigger_interruptEventCount              = "1";
    epwm1.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm1.epwmGlobalLoad_gld                                = true;
    epwm1.epwmGlobalLoad_enableOneShot                      = true;
    epwm1.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm1.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm1.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm1.epwmGlobalLoad_oneShotMode                        = true;
    epwm1.epwmCounterCompare_cmpAGld                        = true;
    epwm1.epwmCounterCompare_cmpBGld                        = true;
    epwm1.epwmCounterCompare_cmpA                           = 1260;
    epwm1.epwmCounterCompare_cmpB                           = 1260;
    epwm1.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm1.epwmTimebase_period                               = 2525;
    epwm1.$hardware                                         = system.deviceData.board.components.PWM_LOC1;
    epwm1.$name                                             = "PWM01";
    epwm1.epwm.$assign                                      = "EPWM1";
    epwm1.epwm.epwm_aPin.$assign                            = "hsecDigital.49";
    epwm1.epwm.epwm_bPin.$assign                            = "hsecDigital.51";
    
    epwm2.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm2.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm2.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm2.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm2.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm2.epwmEventTrigger_enableInterrupt                  = true;
    epwm2.epwmEventTrigger_registerInterrupts               = true;
    epwm2.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm2.epwmEventTrigger_interruptEventCount              = "1";
    epwm2.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm2.epwmGlobalLoad_gld                                = true;
    epwm2.epwmGlobalLoad_enableOneShot                      = true;
    epwm2.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm2.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm2.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm2.epwmGlobalLoad_oneShotMode                        = true;
    epwm2.epwmCounterCompare_cmpAGld                        = true;
    epwm2.epwmCounterCompare_cmpBGld                        = true;
    epwm2.epwmCounterCompare_cmpA                           = 1260;
    epwm2.epwmCounterCompare_cmpB                           = 1260;
    epwm2.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm2.epwmTimebase_period                               = 2525;
    epwm2.$hardware                                         = system.deviceData.board.components.PWM_LOC2;
    epwm2.$name                                             = "PWM02";
    epwm2.epwm.$assign                                      = "EPWM2";
    
    epwm3.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm3.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm3.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm3.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm3.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm3.epwmEventTrigger_enableInterrupt                  = true;
    epwm3.epwmEventTrigger_registerInterrupts               = true;
    epwm3.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm3.epwmEventTrigger_interruptEventCount              = "1";
    epwm3.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm3.epwmGlobalLoad_gld                                = true;
    epwm3.epwmGlobalLoad_enableOneShot                      = true;
    epwm3.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm3.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm3.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm3.epwmGlobalLoad_oneShotMode                        = true;
    epwm3.epwmCounterCompare_cmpAGld                        = true;
    epwm3.epwmCounterCompare_cmpBGld                        = true;
    epwm3.epwmCounterCompare_cmpA                           = 1260;
    epwm3.epwmCounterCompare_cmpB                           = 1260;
    epwm3.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm3.epwmTimebase_period                               = 2525;
    epwm3.$hardware                                         = system.deviceData.board.components.PWM_LOC3;
    epwm3.$name                                             = "PWM03";
    epwm3.epwm.$assign                                      = "EPWM3";
    epwm3.epwm.epwm_aPin.$assign                            = "hsecDigital.50";
    epwm3.epwm.epwm_bPin.$assign                            = "hsecDigital.52";
    
    epwm4.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm4.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm4.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm4.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm4.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm4.epwmEventTrigger_enableInterrupt                  = true;
    epwm4.epwmEventTrigger_registerInterrupts               = true;
    epwm4.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm4.epwmEventTrigger_interruptEventCount              = "1";
    epwm4.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm4.epwmGlobalLoad_gld                                = true;
    epwm4.epwmGlobalLoad_enableOneShot                      = true;
    epwm4.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm4.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm4.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm4.generateCodeTemplate                              = true;
    epwm4.epwmGlobalLoad_oneShotMode                        = true;
    epwm4.epwmCounterCompare_cmpAGld                        = true;
    epwm4.epwmCounterCompare_cmpBGld                        = true;
    epwm4.epwmCounterCompare_cmpA                           = 1260;
    epwm4.epwmCounterCompare_cmpB                           = 1260;
    epwm4.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm4.epwmTimebase_period                               = 2525;
    epwm4.$hardware                                         = system.deviceData.board.components.PWM_LOC4;
    epwm4.$name                                             = "PWM04";
    epwm4.epwm.$assign                                      = "EPWM4";
    epwm4.epwm.epwm_aPin.$assign                            = "hsecDigital.54";
    epwm4.epwm.epwm_bPin.$assign                            = "hsecDigital.56";
    
    epwm5.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm5.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm5.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm5.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm5.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm5.epwmEventTrigger_enableInterrupt                  = true;
    epwm5.epwmEventTrigger_registerInterrupts               = true;
    epwm5.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm5.epwmEventTrigger_interruptEventCount              = "1";
    epwm5.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm5.epwmGlobalLoad_gld                                = true;
    epwm5.epwmGlobalLoad_enableOneShot                      = true;
    epwm5.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm5.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm5.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm5.epwmGlobalLoad_oneShotMode                        = true;
    epwm5.epwmCounterCompare_cmpAGld                        = true;
    epwm5.epwmCounterCompare_cmpBGld                        = true;
    epwm5.epwmCounterCompare_cmpA                           = 1260;
    epwm5.epwmCounterCompare_cmpB                           = 1260;
    epwm5.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm5.epwmTimebase_period                               = 2525;
    epwm5.$hardware                                         = system.deviceData.board.components.PWM_LOC5;
    epwm5.$name                                             = "PWM05";
    epwm5.epwm.$assign                                      = "EPWM5";
    epwm5.epwm.epwm_aPin.$assign                            = "hsecDigital.57";
    epwm5.epwm.epwm_bPin.$assign                            = "hsecDigital.59";
    
    epwm6.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm6.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm6.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm6.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm6.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm6.epwmEventTrigger_enableInterrupt                  = true;
    epwm6.epwmEventTrigger_registerInterrupts               = true;
    epwm6.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm6.epwmEventTrigger_interruptEventCount              = "1";
    epwm6.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm6.epwmGlobalLoad_gld                                = true;
    epwm6.epwmGlobalLoad_enableOneShot                      = true;
    epwm6.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm6.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm6.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm6.epwmGlobalLoad_oneShotMode                        = true;
    epwm6.epwmCounterCompare_cmpAGld                        = true;
    epwm6.epwmCounterCompare_cmpBGld                        = true;
    epwm6.epwmCounterCompare_cmpA                           = 1260;
    epwm6.epwmCounterCompare_cmpB                           = 1260;
    epwm6.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm6.epwmTimebase_period                               = 2525;
    epwm6.$hardware                                         = system.deviceData.board.components.PWM_LOC6;
    epwm6.$name                                             = "PWM06";
    epwm6.epwm.$assign                                      = "EPWM6";
    epwm6.epwm.epwm_aPin.$assign                            = "hsecDigital.61";
    epwm6.epwm.epwm_bPin.$assign                            = "hsecDigital.63";
    
    epwm7.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm7.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm7.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm7.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm7.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm7.epwmEventTrigger_enableInterrupt                  = true;
    epwm7.epwmEventTrigger_registerInterrupts               = true;
    epwm7.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm7.epwmEventTrigger_interruptEventCount              = "1";
    epwm7.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm7.epwmGlobalLoad_gld                                = true;
    epwm7.epwmGlobalLoad_enableOneShot                      = true;
    epwm7.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm7.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm7.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm7.epwmGlobalLoad_oneShotMode                        = true;
    epwm7.epwmCounterCompare_cmpAGld                        = true;
    epwm7.epwmCounterCompare_cmpBGld                        = true;
    epwm7.epwmCounterCompare_cmpA                           = 1260;
    epwm7.epwmCounterCompare_cmpB                           = 1260;
    epwm7.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm7.epwmTimebase_period                               = 2525;
    epwm7.$hardware                                         = system.deviceData.board.components.PWM_LOC7;
    epwm7.$name                                             = "PWM07";
    epwm7.epwm.$assign                                      = "EPWM7";
    epwm7.epwm.epwm_aPin.$assign                            = "hsecDigital.58";
    epwm7.epwm.epwm_bPin.$assign                            = "hsecDigital.60";
    
    epwm8.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm8.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm8.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm8.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm8.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm8.epwmEventTrigger_enableInterrupt                  = true;
    epwm8.epwmEventTrigger_registerInterrupts               = true;
    epwm8.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm8.epwmEventTrigger_interruptEventCount              = "1";
    epwm8.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm8.epwmGlobalLoad_gld                                = true;
    epwm8.epwmGlobalLoad_enableOneShot                      = true;
    epwm8.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm8.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm8.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm8.epwmGlobalLoad_oneShotMode                        = true;
    epwm8.epwmCounterCompare_cmpAGld                        = true;
    epwm8.epwmCounterCompare_cmpBGld                        = true;
    epwm8.epwmCounterCompare_cmpA                           = 1260;
    epwm8.epwmCounterCompare_cmpB                           = 1260;
    epwm8.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm8.epwmTimebase_period                               = 2525;
    epwm8.$name                                             = "PWM08";
    epwm8.$hardware                                         = system.deviceData.board.components.PWM_LOC8;
    epwm8.epwm.$assign                                      = "EPWM8";
    epwm8.epwm.epwm_aPin.$assign                            = "hsecDigital.62";
    epwm8.epwm.epwm_bPin.$assign                            = "hsecDigital.64";
    
    epwm9.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm9.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm9.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm9.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm9.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm9.epwmEventTrigger_enableInterrupt                  = true;
    epwm9.epwmEventTrigger_registerInterrupts               = true;
    epwm9.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm9.epwmEventTrigger_interruptEventCount              = "1";
    epwm9.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm9.epwmGlobalLoad_gld                                = true;
    epwm9.epwmGlobalLoad_enableOneShot                      = true;
    epwm9.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm9.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm9.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm9.epwmGlobalLoad_oneShotMode                        = true;
    epwm9.epwmCounterCompare_cmpAGld                        = true;
    epwm9.epwmCounterCompare_cmpBGld                        = true;
    epwm9.epwmCounterCompare_cmpA                           = 1260;
    epwm9.epwmCounterCompare_cmpB                           = 1260;
    epwm9.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm9.epwmTimebase_period                               = 2525;
    epwm9.$name                                             = "PWM09";
    
    epwm10.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm10.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm10.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm10.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm10.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm10.epwmEventTrigger_enableInterrupt                  = true;
    epwm10.epwmEventTrigger_registerInterrupts               = true;
    epwm10.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm10.epwmEventTrigger_interruptEventCount              = "1";
    epwm10.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm10.epwmGlobalLoad_gld                                = true;
    epwm10.epwmGlobalLoad_enableOneShot                      = true;
    epwm10.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm10.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm10.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm10.epwmGlobalLoad_oneShotMode                        = true;
    epwm10.epwmCounterCompare_cmpAGld                        = true;
    epwm10.epwmCounterCompare_cmpBGld                        = true;
    epwm10.epwmCounterCompare_cmpA                           = 1260;
    epwm10.epwmCounterCompare_cmpB                           = 1260;
    epwm10.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm10.epwmTimebase_period                               = 2525;
    epwm10.$name                                             = "PWM10";
    epwm10.epwm.$assign                                      = "EPWM10";
    epwm10.epwm.epwm_aPin.$assign                            = "hsecDigital.169";
    epwm10.epwm.epwm_bPin.$assign                            = "hsecDigital.170";
    
    epwm11.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm11.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm11.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm11.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm11.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm11.epwmEventTrigger_enableInterrupt                  = true;
    epwm11.epwmEventTrigger_registerInterrupts               = true;
    epwm11.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm11.epwmEventTrigger_interruptEventCount              = "1";
    epwm11.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm11.epwmGlobalLoad_gld                                = true;
    epwm11.epwmGlobalLoad_enableOneShot                      = true;
    epwm11.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm11.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm11.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm11.epwmGlobalLoad_oneShotMode                        = true;
    epwm11.epwmCounterCompare_cmpAGld                        = true;
    epwm11.epwmCounterCompare_cmpBGld                        = true;
    epwm11.epwmCounterCompare_cmpA                           = 1260;
    epwm11.epwmCounterCompare_cmpB                           = 1260;
    epwm11.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm11.epwmTimebase_period                               = 2525;
    epwm11.$name                                             = "PWM11";
    epwm11.epwm.epwm_aPin.$assign                            = "hsecDigital.68";
    epwm11.epwm.epwm_bPin.$assign                            = "hsecDigital.70";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to EQEP1 on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", epwm11.epwm, "epwm_aPin");
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to EQEP1 on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", epwm11.epwm, "epwm_bPin");
    
    epwm12.epwmTimebase_counterMode                          = "EPWM_COUNTER_MODE_UP_DOWN";
    epwm12.epwmTimebase_counterModeAfterSync                 = "EPWM_COUNT_MODE_UP_AFTER_SYNC";
    epwm12.epwmEventTrigger_EPWM_SOC_A_triggerEnable         = true;
    epwm12.epwmEventTrigger_EPWM_SOC_B_triggerEnable         = true;
    epwm12.epwmTimebase_hsClockDiv                           = "EPWM_HSCLOCK_DIVIDER_1";
    epwm12.epwmEventTrigger_enableInterrupt                  = true;
    epwm12.epwmEventTrigger_registerInterrupts               = true;
    epwm12.epwmEventTrigger_interruptSource                  = "EPWM_INT_TBCTR_ZERO";
    epwm12.epwmEventTrigger_interruptEventCount              = "1";
    epwm12.epwmActionQualifier_continousSwForceReloadModeGld = true;
    epwm12.epwmGlobalLoad_gld                                = true;
    epwm12.epwmGlobalLoad_enableOneShot                      = true;
    epwm12.epwmGlobalLoad_globalePWMLoadLink                 = "EPWM_LINK_WITH_EPWM_1";
    epwm12.epwmActionQualifier_EPWM_AQ_OUTPUT_B_shadowMode   = true;
    epwm12.epwmActionQualifier_EPWM_AQ_OUTPUT_A_shadowMode   = true;
    epwm12.epwmGlobalLoad_oneShotMode                        = true;
    epwm12.epwmCounterCompare_cmpAGld                        = true;
    epwm12.epwmCounterCompare_cmpBGld                        = true;
    epwm12.epwmCounterCompare_cmpA                           = 1260;
    epwm12.epwmCounterCompare_cmpB                           = 1260;
    epwm12.epwmTimebase_clockDiv                             = "EPWM_CLOCK_DIVIDER_2";
    epwm12.epwmTimebase_period                               = 2525;
    epwm12.$name                                             = "PWM12";
    epwm12.epwm.epwm_aPin.$assign                            = "hsecDigital.72";
    epwm12.epwm.epwm_bPin.$assign                            = "hsecDigital.74";
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to EQEP1 on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", epwm12.epwm, "epwm_aPin");
    scripting.suppress("Connected to hardware,@@@.+?@@@ is connected to EQEP1 on the Control Card F28379D\\. Consider selecting it in 'use hardware' above\\. @@@.+?@@@", epwm12.epwm, "epwm_bPin");
    
    
    sync.ADCSOCAOutputSelect = ["SYSCTL_ADCSOC_SRC_PWM10SOCA","SYSCTL_ADCSOC_SRC_PWM11SOCA","SYSCTL_ADCSOC_SRC_PWM12SOCA","SYSCTL_ADCSOC_SRC_PWM1SOCA","SYSCTL_ADCSOC_SRC_PWM2SOCA","SYSCTL_ADCSOC_SRC_PWM3SOCA","SYSCTL_ADCSOC_SRC_PWM4SOCA","SYSCTL_ADCSOC_SRC_PWM5SOCA","SYSCTL_ADCSOC_SRC_PWM6SOCA","SYSCTL_ADCSOC_SRC_PWM7SOCA","SYSCTL_ADCSOC_SRC_PWM8SOCA","SYSCTL_ADCSOC_SRC_PWM9SOCA"];
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    epwm2.epwm.epwm_aPin.$suggestSolution = "hsecDigital.53";
    epwm2.epwm.epwm_bPin.$suggestSolution = "hsecDigital.55";
    epwm9.epwm.$suggestSolution           = "EPWM9";
    epwm9.epwm.epwm_aPin.$suggestSolution = "hsecDigital.167";
    epwm9.epwm.epwm_bPin.$suggestSolution = "hsecDigital.168";
    epwm11.epwm.$suggestSolution          = "EPWM11";
    epwm12.epwm.$suggestSolution          = "EPWM12";
    
     
    

  • Andre

    Pls share the CCS project of if you are using any project provided within C2000Ware , let me know the path to it.

    Best Regards

    Siddharth