let Common = system.getScript("/driverlib/Common.js"); let Pinmux = system.getScript("/driverlib/pinmux.js"); let ComparatorInputs = system.getScript("/driverlib/cmpss/cmpss_inputSignals.js") let device_driverlib_peripheral = system.getScript("/driverlib/device_driverlib_peripherals/" + Common.getDeviceName().toLowerCase() + "_cmpss.js"); var numberOfInstance = { "F28004x" : 7, "F28003x" : 4, "F280013x" : 1, "F280015x" : 1, "F28002x" : 4, "F2838x" : 8, "F2807x" : 8, "F2837xS" : 8, "F2837xD" : 8, "F28P65x" : 11, } var clkDivs = [ {name: "CMPSS_RAMP_CLOCK_DIV1", displayName: "Divide SYSCLK by 1"}, {name: "CMPSS_RAMP_CLOCK_DIV2", displayName: "Divide SYSCLK by 2"}, {name: "CMPSS_RAMP_CLOCK_DIV3", displayName: "Divide SYSCLK by 3"}, {name: "CMPSS_RAMP_CLOCK_DIV4", displayName: "Divide SYSCLK by 4"}, {name: "CMPSS_RAMP_CLOCK_DIV5", displayName: "Divide SYSCLK by 5"}, {name: "CMPSS_RAMP_CLOCK_DIV6", displayName: "Divide SYSCLK by 6"}, {name: "CMPSS_RAMP_CLOCK_DIV7", displayName: "Divide SYSCLK by 7"}, {name: "CMPSS_RAMP_CLOCK_DIV8", displayName: "Divide SYSCLK by 8"}, {name: "CMPSS_RAMP_CLOCK_DIV9", displayName: "Divide SYSCLK by 9"}, {name: "CMPSS_RAMP_CLOCK_DIV10", displayName: "Divide SYSCLK by 10"}, {name: "CMPSS_RAMP_CLOCK_DIV11", displayName: "Divide SYSCLK by 11"}, {name: "CMPSS_RAMP_CLOCK_DIV12", displayName: "Divide SYSCLK by 12"}, {name: "CMPSS_RAMP_CLOCK_DIV13", displayName: "Divide SYSCLK by 13"}, {name: "CMPSS_RAMP_CLOCK_DIV14", displayName: "Divide SYSCLK by 14"}, {name: "CMPSS_RAMP_CLOCK_DIV15", displayName: "Divide SYSCLK by 15"}, {name: "CMPSS_RAMP_CLOCK_DIV16", displayName: "Divide SYSCLK by 16"} ] var rampDirections = [ {name: "CMPSS_RAMP_DIR_DOWN", displayName: "Count Down"}, {name: "CMPSS_RAMP_DIR_UP", displayName: "Count Up"} ] var deviceNumberOfInstances = numberOfInstance[Common.getDeviceName()]; var CMPSS_INSTANCE = [] for (var instanceIndex = 1; instanceIndex <= deviceNumberOfInstances; instanceIndex++) { CMPSS_INSTANCE.push( { name: "CMPSS" + instanceIndex.toString() + "_BASE", displayName: "CMPSS" + instanceIndex.toString() } ); } if (["F28004x","F28002x","F28003x","F280013x", "F280015x", "F28P65x"].includes(Common.getDeviceName())){ var defaultCMPSSPinInfos = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(ComparatorInputs.CMPSS_comparatorInputSignals[Common.getDeviceName()]["CMPSS1_BASE"][0].displayName.split("/")[0])); var defaultCMPSSNegPinInfos = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(ComparatorInputs.CMPSS_comparatorNegInputSignals[Common.getDeviceName()]["CMPSS1_BASE"][1].displayName.split("/")[0])); } function calculateDevicePinNameHigh(inst,ui){ if (["F28P65x"].includes(Common.getDeviceName())){ if(((inst.cmpssBase == "CMPSS9_BASE") || (inst.cmpssBase == "CMPSS10_BASE") || (inst.cmpssBase == "CMPSS11_BASE")) && (inst.asysCMPHPMXSELValue == 3)) { console.log("Reached") var tempPinInfoDesc = "No Device Pin Found" return tempPinInfoDesc } else { var tempPinName = ComparatorInputs.CMPSS_comparatorInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPHPMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if(tempPinInfo.length == 0) //SysConfig was unable to find any pins with this name, even though it exists as an input; remove error detection { if(tempPinName.includes("TempSensor")) { return "Temperature Sensor"; } else if(tempPinName.includes("VREF")) { return tempPinName } } else { return tempPinInfoDesc } } } else { var tempPinName = ComparatorInputs.CMPSS_comparatorInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPHPMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if ((["F28004x"].includes(Common.getDeviceName())) && (tempPinInfoDesc == Pinmux.NO_DEVICE_PIN_FOUND) && (inst.asysCMPHPMXSELValue == 4)){ return "PGA"+(inst.cmpssBase.match(/\d+/)[0])+"_OUT" } else{ return tempPinInfoDesc } } } function calculateDevicePinNameHighNeg(inst,ui){ var tempPinName = ComparatorInputs.CMPSS_comparatorNegInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPHNMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if ((["F28004x"].includes(Common.getDeviceName())) && (tempPinInfoDesc == Pinmux.NO_DEVICE_PIN_FOUND) && (inst.asysCMPHNMXSELValue == 4)){ return "PGA"+(inst.cmpssBase.match(/\d+/)[0])+"_OUT" } else{ return tempPinInfoDesc } } function calculateDevicePinNameLow(inst,ui){ if(["F28P65x"].includes(Common.getDeviceName())) { if(((inst.cmpssBase == "CMPSS9_BASE") || (inst.cmpssBase == "CMPSS10_BASE") || (inst.cmpssBase == "CMPSS11_BASE")) && (inst.asysCMPLPMXSELValue == 3)) { var tempPinInfoDesc = "No Device Pin Found" return tempPinInfoDesc } else { var tempPinName = ComparatorInputs.CMPSS_comparatorLowPositiveInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPLPMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if((tempPinInfo.length == 0) && tempPinName.includes("VREF")) //SysConfig was unable to find any pins with this name, even though it exists as an input; remove error detection { return tempPinName } else { return tempPinInfoDesc } } } else { var tempPinName = ComparatorInputs.CMPSS_comparatorInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPLPMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if ((["F28004x"].includes(Common.getDeviceName())) && (tempPinInfoDesc == Pinmux.NO_DEVICE_PIN_FOUND) && (inst.asysCMPLPMXSELValue == 4)){ return "PGA"+(inst.cmpssBase.match(/\d+/)[0])+"_OUT" } else{ return tempPinInfoDesc } } } function calculateDevicePinNameLowNeg(inst,ui){ var tempPinName = ComparatorInputs.CMPSS_comparatorNegInputSignals[Common.getDeviceName()][inst.cmpssBase][inst.asysCMPLNMXSELValue].displayName var tempPinInfo = Pinmux.findAllAnalogPin(Pinmux.getDeviceADCName(tempPinName.split("/")[0])) var tempPinInfoDesc = Pinmux.getDevicePinInfoDescription(tempPinInfo) if ((["F28004x"].includes(Common.getDeviceName())) && (tempPinInfoDesc == Pinmux.NO_DEVICE_PIN_FOUND) && (inst.asysCMPLNMXSELValue == 4)){ return "PGA"+(inst.cmpssBase.match(/\d+/)[0])+"_OUT" } else{ return tempPinInfoDesc } } /* Array of possible ePWM sync signals */ var ePWMInstances = Common.peripheralCount("EPWM") var ePWMArraySync = []; var ePWMArrayBlank = []; for(var i = 0; i < ePWMInstances; i++) { ePWMArraySync.push() ePWMArraySync.push({ name: ""+(i+1), displayName: "EPWM"+(i+1)+"SYNCPER" }) ePWMArrayBlank.push() ePWMArrayBlank.push({ name: ""+(i+1), displayName: "EPWM"+(i+1)+"BLANK" }) } /*Generate array for input signals*/ var numberOfPosInputSignals = 0 var numberOfNegInputSignals = 0 var asysPosSignalOptions = [] var asysNegSignalOptions = [] if (["F28002x","F28004x", "F280013x", "F280015x"].includes(Common.getDeviceName())){ numberOfPosInputSignals = 5 } else if (["F28003x"].includes(Common.getDeviceName())){ numberOfPosInputSignals = 6 } else if (["F28P65x"].includes(Common.getDeviceName())){ numberOfPosInputSignals = 4 } numberOfNegInputSignals = 2 for(var i=0;i