Other Parts Discussed in Thread: SYSCONFIG
I'm using the 1352P LaunchXL, and have set up sysconfig to have a UART and Display.
When I call Display_open(), it doesn't return. When I step into Display_open(), it appears to be getting lost here:
if (id == i || (handle->fxnTablePtr->getTypeFxn() & id))
I've tried passing different parameters to Display_open, but here is an example:
display = Display_open(Display_Type_UART, NULL);
I'm linking in the m4f version of display.a
Here is the syscfg file contents:
/**
* 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 "/ti/boards/CC1352P1_LAUNCHXL" --product "simplelink_cc13x2_26x2_sdk@5.20.00.52"
* @versions {"tool":"1.11.0+2225"}
*/
/**
* Import the modules used in this configuration.
*/
const CCFG = scripting.addModule("/ti/devices/CCFG");
const custom = scripting.addModule("/ti/devices/radioconfig/custom");
const rfdesign = scripting.addModule("/ti/devices/radioconfig/rfdesign");
const Display = scripting.addModule("/ti/display/Display", {}, false);
const Display1 = Display.addInstance();
const GPIO = scripting.addModule("/ti/drivers/GPIO", {}, 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 RF = scripting.addModule("/ti/drivers/RF");
const Timer = scripting.addModule("/ti/drivers/Timer", {}, false);
const Timer1 = Timer.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
CCFG.forceVddr = true;
CCFG.ccfgTemplate.$name = "ti_devices_CCFGTemplate0";
custom.prop8 = ["2gfsk50kbps"];
custom.radioConfig2gfsk50kbps.$name = "ti_devices_radioconfig_settings_prop1";
custom.radioConfig2gfsk50kbps.codeExportConfig.$name = "ti_devices_radioconfig_code_export_param1";
Display1.$name = "CONFIG_Display_0";
Display1.$hardware = system.deviceData.board.components.XDS110UART;
Display1.uart.$name = "CONFIG_UART_0";
Display1.uart.txPinInstance.$name = "CONFIG_PIN_6";
Display1.uart.rxPinInstance.$name = "CONFIG_PIN_7";
Display1.uart.uart.$assign = "UART0";
GPIO1.$name = "CONFIG_GPIO_0";
GPIO1.mode = "Output";
GPIO1.pinInstance.$name = "CONFIG_PIN_0";
GPIO2.$name = "CONFIG_GPIO_1";
GPIO2.mode = "Output";
GPIO2.pinInstance.$name = "CONFIG_PIN_1";
GPIO3.$name = "CONFIG_GPIO_2";
GPIO3.mode = "Output";
GPIO3.$hardware = system.deviceData.board.components.LED_RED;
GPIO3.pinInstance.$name = "CONFIG_PIN_2";
GPIO4.$name = "CONFIG_GPIO_3";
GPIO4.mode = "Output";
GPIO4.pinInstance.$name = "CONFIG_PIN_3";
GPIO5.$name = "CONFIG_GPIO_4";
GPIO5.mode = "Output";
GPIO5.pinInstance.$name = "CONFIG_PIN_4";
GPIO6.$name = "CONFIG_GPIO_5";
GPIO6.mode = "Output";
GPIO6.pinInstance.$name = "CONFIG_PIN_5";
RF.$hardware = system.deviceData.board.components["SKY13317-373LF"];
Timer1.$name = "CONFIG_TIMER_0";
Timer1.timerInstance.$name = "CONFIG_GPTIMER_0";
/**
* 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.
*/
Display1.uart.uart.txPin.$suggestSolution = "boosterpack.4";
Display1.uart.uart.rxPin.$suggestSolution = "boosterpack.3";
GPIO1.gpioPin.$suggestSolution = "boosterpack.10";
GPIO2.gpioPin.$suggestSolution = "boosterpack.18";
GPIO3.gpioPin.$suggestSolution = "boosterpack.39";
GPIO4.gpioPin.$suggestSolution = "boosterpack.32";
GPIO5.gpioPin.$suggestSolution = "boosterpack.31";
GPIO6.gpioPin.$suggestSolution = "boosterpack.36";
RF.rfAntennaPin0.$suggestSolution = "ball.41";
RF.rfAntennaPin1.$suggestSolution = "ball.42";
RF.rfAntennaPin2.$suggestSolution = "ball.43";
Timer1.timerInstance.timer.$suggestSolution = "GPTM0";