745 lines
33 KiB
JavaScript
745 lines
33 KiB
JavaScript
let Common = system.getScript("/driverlib/Common.js");
|
|
let Pinmux = system.getScript("/driverlib/pinmux.js");
|
|
let device_driverlib_peripheral =
|
|
system.getScript("/driverlib/device_driverlib_peripherals/" +
|
|
Common.getDeviceName().toLowerCase() + "_epwm.js");
|
|
var DCCompareTypeConfigNames_CombinationNames = []
|
|
var DCAConfigs = [];
|
|
var DCBConfigs = [];
|
|
|
|
function onChangeEventDetection(inst, ui)
|
|
{
|
|
if(inst.epwmDigitalCompare_enableEventDetection)
|
|
{
|
|
ui.epwmDigitalCompare_CAPGATETripInput.hidden = false;
|
|
ui.epwmDigitalCompare_CAPGATE_combinationInputConfig.hidden = false;
|
|
ui.epwmDigitalCompare_configCAPGATE.hidden = false;
|
|
ui.epwmDigitalCompare_CAPINTripInput.hidden = false;
|
|
ui.epwmDigitalCompare_CAPIN_combinationInputConfig.hidden = false;
|
|
ui.epwmDigitalCompare_invertCAPIN.hidden = false;
|
|
ui.epwmXCMP_setRegisters_XMIN_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters1_XMIN_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters2_XMIN_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters3_XMIN_read.hidden = false;
|
|
ui.epwmXCMP_setRegisters_XMAX_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters1_XMAX_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters2_XMAX_read.hidden = false;
|
|
ui.epwmXCMP_setShadowRegisters3_XMAX_read.hidden = false;
|
|
|
|
|
|
}else
|
|
{
|
|
ui.epwmDigitalCompare_CAPGATETripInput.hidden = true;
|
|
ui.epwmDigitalCompare_CAPGATE_combinationInputConfig.hidden = true;
|
|
ui.epwmDigitalCompare_configCAPGATE.hidden = true;
|
|
ui.epwmDigitalCompare_CAPINTripInput.hidden = true;
|
|
ui.epwmDigitalCompare_CAPIN_combinationInputConfig.hidden = true;
|
|
ui.epwmDigitalCompare_invertCAPIN.hidden = true;
|
|
ui.epwmXCMP_setRegisters_XMIN_read.hidden = true;
|
|
ui.epwmXCMP_setRegisters_XMIN_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters1_XMIN_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters2_XMIN_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters3_XMIN_read.hidden = true;
|
|
ui.epwmXCMP_setRegisters_XMAX_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters1_XMAX_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters2_XMAX_read.hidden = true;
|
|
ui.epwmXCMP_setShadowRegisters3_XMAX_read.hidden = true;
|
|
|
|
inst.epwmDigitalCompare_CAPGATETripInput = device_driverlib_peripheral.EPWM_DigitalCompareTripInput[0].name;
|
|
inst.epwmDigitalCompare_CAPGATE_combinationInputConfig = [];
|
|
inst.epwmDigitalCompare_configCAPGATE = device_driverlib_peripheral.EPWM_selectCaptureGateInputPolarity[0].name;
|
|
inst.epwmDigitalCompare_CAPINTripInput = device_driverlib_peripheral.EPWM_DigitalCompareTripInput[0].name;
|
|
inst.epwmDigitalCompare_CAPIN_combinationInputConfig = [];
|
|
inst.epwmDigitalCompare_invertCAPIN = "EPWM_CAPTURE_INPUT_CAPIN_SYNC";
|
|
|
|
}
|
|
}
|
|
|
|
function pulseSelChanged(inst, ui)
|
|
{
|
|
inst.epwmDigitalCompare_dCCounterCapturePulse = inst.epwmDigitalCompare_blankingWindowEvent;
|
|
}
|
|
|
|
function onChangeDCCounterCapture(inst, ui)
|
|
{
|
|
if (inst.epwmDigitalCompare_useDCCounterCapture == true)
|
|
{
|
|
ui.epwmDigitalCompare_dCCounterCaptureShadow.hidden = false;
|
|
ui.epwmDigitalCompare_dCCounterCapturePulse.hidden = false;
|
|
if(["F28P65x"].includes(Common.getDeviceName())){
|
|
ui.epwmDigitalCompare_dCCounterCapturePulseLogic.hidden = false;
|
|
}
|
|
}
|
|
else if (inst.epwmDigitalCompare_useDCCounterCapture == false)
|
|
{
|
|
ui.epwmDigitalCompare_dCCounterCaptureShadow.hidden = true;
|
|
ui.epwmDigitalCompare_dCCounterCapturePulse.hidden = true;
|
|
ui.epwmDigitalCompare_dCCounterCapturePulseLogic.hidden = true;
|
|
// Set to defaults
|
|
inst.epwmDigitalCompare_dCCounterCaptureShadow = false;
|
|
inst.epwmDigitalCompare_dCCounterCapturePulseLogic = false;
|
|
inst.epwmDigitalCompare_dCCounterCapturePulse = device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse[0].name;
|
|
|
|
}
|
|
}
|
|
|
|
function onChangeBlankingWindow(inst, ui)
|
|
{
|
|
if (inst.epwmDigitalCompare_useBlankingWindow == true)
|
|
{
|
|
ui.epwmDigitalCompare_blankingWindowEvent.hidden = false;
|
|
ui.epwmDigitalCompare_blankingWindowOffset.hidden = false;
|
|
ui.epwmDigitalCompare_blankingWindowLength.hidden = false;
|
|
ui.epwmDigitalCompare_invertBlankingWindow.hidden = false;
|
|
}
|
|
else if (inst.epwmDigitalCompare_useBlankingWindow == false)
|
|
{
|
|
ui.epwmDigitalCompare_blankingWindowEvent.hidden = true;
|
|
ui.epwmDigitalCompare_blankingWindowOffset.hidden = true;
|
|
ui.epwmDigitalCompare_blankingWindowLength.hidden = true;
|
|
ui.epwmDigitalCompare_invertBlankingWindow.hidden = true;
|
|
// Set everything to its default state
|
|
inst.epwmDigitalCompare_blankingWindowEvent = device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse[0].name;
|
|
inst.epwmDigitalCompare_blankingWindowOffset = 0;
|
|
inst.epwmDigitalCompare_blankingWindowLength= 0;
|
|
inst.epwmDigitalCompare_invertBlankingWindow = false;
|
|
|
|
}
|
|
}
|
|
|
|
function onChangeEdgeFilter(inst, ui)
|
|
{
|
|
if (inst.epwmDigitalCompare_useEdgeFilter == true)
|
|
{
|
|
ui.epwmDigitalCompare_edgeFilterMode.hidden = false;
|
|
ui.epwmDigitalCompare_valleyCaptureSource.hidden = false;
|
|
ui.epwmDigitalCompare_edgeFilterEdgeCount.hidden = false;
|
|
ui.epwmDigitalCompare_enableValleyCapture.hidden = false;
|
|
ui.epwmDigitalCompare_startValleyCapture.hidden = false;
|
|
ui.epwmDigitalCompare_startValleyCaptureTriggerCount.hidden = false;
|
|
ui.epwmDigitalCompare_stopValleyCaptureTriggerCount.hidden = false;
|
|
ui.epwmDigitalCompare_enableEdgeFilterDelay.hidden = false;
|
|
ui.epwmDigitalCompare_SWVDELVAL.hidden = false;
|
|
ui.epwmDigitalCompare_valleyDelayDivider.hidden = false;
|
|
|
|
if (inst.epwmDigitalCompare_enableValleyCapture == true){
|
|
ui.epwmDigitalCompare_valleyCaptureSource.hidden = false;
|
|
if (inst.epwmDigitalCompare_valleyCaptureSource == device_driverlib_peripheral.EPWM_ValleyTriggerSource[0].name)
|
|
{
|
|
ui.epwmDigitalCompare_startValleyCapture.hidden = false;
|
|
}
|
|
else
|
|
{
|
|
ui.epwmDigitalCompare_startValleyCapture.hidden = true;
|
|
}
|
|
ui.epwmDigitalCompare_startValleyCaptureTriggerCount.hidden = false;
|
|
ui.epwmDigitalCompare_stopValleyCaptureTriggerCount.hidden = false;
|
|
}
|
|
else if (inst.epwmDigitalCompare_enableValleyCapture == false)
|
|
{
|
|
ui.epwmDigitalCompare_valleyCaptureSource.hidden = true;
|
|
ui.epwmDigitalCompare_startValleyCapture.hidden = true;
|
|
ui.epwmDigitalCompare_startValleyCaptureTriggerCount.hidden = true;
|
|
ui.epwmDigitalCompare_stopValleyCaptureTriggerCount.hidden = true;
|
|
// Set everything to its defaults
|
|
inst.epwmDigitalCompare_valleyCaptureSource = device_driverlib_peripheral.EPWM_ValleyTriggerSource[0].name;
|
|
inst.epwmDigitalCompare_startValleyCapture = false;
|
|
inst.epwmDigitalCompare_startValleyCaptureTriggerCount = "0";
|
|
inst.epwmDigitalCompare_stopValleyCaptureTriggerCount = "0";
|
|
}
|
|
|
|
if (inst.epwmDigitalCompare_enableEdgeFilterDelay == true)
|
|
{
|
|
ui.epwmDigitalCompare_SWVDELVAL.hidden = false;
|
|
ui.epwmDigitalCompare_valleyDelayDivider.hidden = false;
|
|
}
|
|
else if (inst.epwmDigitalCompare_enableEdgeFilterDelay == false)
|
|
{
|
|
ui.epwmDigitalCompare_SWVDELVAL.hidden = true;
|
|
ui.epwmDigitalCompare_valleyDelayDivider.hidden = true;
|
|
// Set to defaults
|
|
inst.epwmDigitalCompare_SWVDELVAL= 0;
|
|
inst.epwmDigitalCompare_valleyDelayDivider = device_driverlib_peripheral.EPWM_ValleyDelayMode[0].name;
|
|
}
|
|
}
|
|
else if (inst.epwmDigitalCompare_useEdgeFilter == false)
|
|
{
|
|
ui.epwmDigitalCompare_edgeFilterMode.hidden = true;
|
|
ui.epwmDigitalCompare_valleyCaptureSource.hidden = true;
|
|
ui.epwmDigitalCompare_edgeFilterEdgeCount.hidden = true;
|
|
ui.epwmDigitalCompare_enableValleyCapture.hidden = true;
|
|
ui.epwmDigitalCompare_startValleyCapture.hidden = true;
|
|
ui.epwmDigitalCompare_startValleyCaptureTriggerCount.hidden = true;
|
|
ui.epwmDigitalCompare_stopValleyCaptureTriggerCount.hidden = true;
|
|
ui.epwmDigitalCompare_enableEdgeFilterDelay.hidden = true;
|
|
ui.epwmDigitalCompare_SWVDELVAL.hidden = true;
|
|
ui.epwmDigitalCompare_valleyDelayDivider.hidden = true;
|
|
|
|
// Set everything to its default state
|
|
inst.epwmDigitalCompare_edgeFilterMode = device_driverlib_peripheral.EPWM_DigitalCompareEdgeFilterMode[0].name;
|
|
inst.epwmDigitalCompare_valleyCaptureSource = device_driverlib_peripheral.EPWM_ValleyTriggerSource[0].name;
|
|
inst.epwmDigitalCompare_edgeFilterEdgeCount = "EPWM_DC_EDGEFILT_EDGECNT_0";
|
|
inst.epwmDigitalCompare_enableValleyCapture = false;
|
|
inst.epwmDigitalCompare_startValleyCapture = false;
|
|
inst.epwmDigitalCompare_startValleyCaptureTriggerCount = "0";
|
|
inst.epwmDigitalCompare_stopValleyCaptureTriggerCount = "0";
|
|
inst.epwmDigitalCompare_enableEdgeFilterDelay = false;
|
|
inst.epwmDigitalCompare_SWVDELVAL = 0;
|
|
inst.epwmDigitalCompare_valleyDelayDivider = device_driverlib_peripheral.EPWM_ValleyDelayMode[0].name;
|
|
|
|
}
|
|
}
|
|
|
|
function onChangeComboInputs (inst, ui)
|
|
{
|
|
for (var dcCompareTypeIndex in device_driverlib_peripheral.EPWM_DigitalCompareType)
|
|
{
|
|
var dcCompareType = device_driverlib_peripheral.EPWM_DigitalCompareType[dcCompareTypeIndex];
|
|
if (inst["epwmDigitalCompare_" + dcCompareType.name] == "EPWM_DC_TRIP_COMBINATION")
|
|
{
|
|
ui["epwmDigitalCompare_" + dcCompareType.name + "_combinationInputConfig"].hidden = false;
|
|
}
|
|
else
|
|
{
|
|
ui["epwmDigitalCompare_" + dcCompareType.name + "_combinationInputConfig"].hidden = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var dcCompareTypeIndex in device_driverlib_peripheral.EPWM_DigitalCompareType)
|
|
{
|
|
var dcCompareType = device_driverlib_peripheral.EPWM_DigitalCompareType[dcCompareTypeIndex];
|
|
|
|
var dcCompareTypeConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareType.name,
|
|
displayName : dcCompareType.displayName,
|
|
description : "Trip input to the " + dcCompareType.displayName,
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareTripInput[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareTripInput,
|
|
//onChange : onChangeComboInputs,
|
|
};
|
|
|
|
|
|
var dcCombinationConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareType.name + "_combinationInputConfig",
|
|
displayName : "Combination Input Sources (" + dcCompareType.displayName + ")",
|
|
description : "Select the sources to include in the Combination input sources",
|
|
hidden : false,
|
|
minSelections: 0,
|
|
default : [],
|
|
options : device_driverlib_peripheral.EPWM_DC_COMBINATIONAL
|
|
};
|
|
|
|
DCCompareTypeConfigNames_CombinationNames.push(
|
|
{
|
|
CompareTypeName : dcCompareTypeConfig.name,
|
|
CombinationName : dcCombinationConfig.name
|
|
}
|
|
);
|
|
|
|
if (dcCompareType.name.indexOf("DCA") != -1)
|
|
{
|
|
DCAConfigs.push(dcCompareTypeConfig);
|
|
DCAConfigs.push(dcCombinationConfig);
|
|
}
|
|
else
|
|
{
|
|
DCBConfigs.push(dcCompareTypeConfig);
|
|
DCBConfigs.push(dcCombinationConfig);
|
|
}
|
|
}
|
|
|
|
for (var dcCompareOutputIndex in device_driverlib_peripheral.EPWM_TripZoneDigitalCompareOutput)
|
|
{
|
|
var dcCompareOutput = device_driverlib_peripheral.EPWM_TripZoneDigitalCompareOutput[dcCompareOutputIndex];
|
|
|
|
var dcCompareOutputConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareOutput.name,
|
|
displayName : "Condition For " + dcCompareOutput.displayName,
|
|
description : "Select the Condition for " + dcCompareOutput.displayName + " for which the EVENT is generated.",
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_TripZoneDigitalCompareOutputEvent[0].name,
|
|
options : device_driverlib_peripheral.EPWM_TripZoneDigitalCompareOutputEvent,
|
|
}
|
|
|
|
if (dcCompareOutput.name.indexOf("OUTPUT_A") != -1)
|
|
{
|
|
DCAConfigs.push(dcCompareOutputConfig);
|
|
}
|
|
else
|
|
{
|
|
DCBConfigs.push(dcCompareOutputConfig);
|
|
}
|
|
}
|
|
|
|
for (var dcCompareModuleIndex in device_driverlib_peripheral.EPWM_DigitalCompareModule)
|
|
{
|
|
for (var dcCompareEventIndex in device_driverlib_peripheral.EPWM_DigitalCompareEvent)
|
|
{
|
|
var dcCompareModule = device_driverlib_peripheral.EPWM_DigitalCompareModule[dcCompareModuleIndex];
|
|
var dcCompareEvent = device_driverlib_peripheral.EPWM_DigitalCompareEvent[dcCompareEventIndex];
|
|
|
|
var dcxevty = "DC" + dcCompareModule.name.replace("EPWM_DC_MODULE_","") + "EVT" + dcCompareEvent.name.replace("EPWM_DC_EVENT_","")
|
|
|
|
var dcCompareEventSyncConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_eventSync",
|
|
displayName : "Synch Mode (" + dcxevty + ")",
|
|
description : "Select the Sync Mode for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareSyncMode[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareSyncMode,
|
|
}
|
|
|
|
var dcCompareEventSourceConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_eventSource",
|
|
displayName : "Signal Source (" + dcxevty + ")",
|
|
description : "Select the Signal Source for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareEventSource[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareEventSource,
|
|
}
|
|
|
|
var dcCompareEventCBCLatchModeConfig = null;
|
|
var dcCompareEventCBCLatchClearEventConfig = null;
|
|
|
|
if (!["F2807x", "F2837xD", "F2837xS", "F28004x"].includes(Common.getDeviceName()))
|
|
{
|
|
dcCompareEventCBCLatchModeConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_latchMode",
|
|
displayName : "CBC Latch Mode (" + dcxevty + ")",
|
|
description : "Select the CBC latch mode for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareCBCLatchMode[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareCBCLatchMode,
|
|
}
|
|
|
|
dcCompareEventCBCLatchClearEventConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_latchClearEvent",
|
|
displayName : "CBC Latch Clear Event (" + dcxevty + ")",
|
|
description : "Select the CBC latch clear event for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareCBCLatchClearEvent[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareCBCLatchClearEvent,
|
|
}
|
|
}
|
|
|
|
|
|
if (dcCompareEvent.name == "EPWM_DC_EVENT_1")
|
|
{
|
|
var dcCompareGenerateADCTriggerConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_adcTrig",
|
|
displayName : "Generate ADC SOC (" + dcxevty + ")",
|
|
description : "Enable/disable generation of ADC SOC Event for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : false,
|
|
}
|
|
|
|
var dcCompareGenerateSyncTriggerConfig = {
|
|
name: "epwmDigitalCompare_" + dcCompareModule.name + "_" + dcCompareEvent.name + "_syncTrig",
|
|
displayName : "Generate SYNCOUT (" + dcxevty + ")",
|
|
description : "Enable/disable generation of SYNCOUTEvent for " + dcCompareModule.displayName + " " + dcCompareEvent.displayName,
|
|
hidden : false,
|
|
default : false,
|
|
}
|
|
|
|
if (dcCompareModule.name.indexOf("MODULE_A") != -1)
|
|
{
|
|
DCAConfigs.push(dcCompareGenerateADCTriggerConfig);
|
|
DCAConfigs.push(dcCompareGenerateSyncTriggerConfig);
|
|
}
|
|
else
|
|
{
|
|
DCBConfigs.push(dcCompareGenerateADCTriggerConfig);
|
|
DCBConfigs.push(dcCompareGenerateSyncTriggerConfig);
|
|
}
|
|
}
|
|
|
|
if (dcCompareModule.name.indexOf("MODULE_A") != -1)
|
|
{
|
|
DCAConfigs.push(dcCompareEventSyncConfig);
|
|
DCAConfigs.push(dcCompareEventSourceConfig);
|
|
if (dcCompareEventCBCLatchModeConfig){
|
|
DCAConfigs.push(dcCompareEventCBCLatchModeConfig);
|
|
DCAConfigs.push(dcCompareEventCBCLatchClearEventConfig);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DCBConfigs.push(dcCompareEventSyncConfig);
|
|
DCBConfigs.push(dcCompareEventSourceConfig);
|
|
if (dcCompareEventCBCLatchModeConfig){
|
|
DCBConfigs.push(dcCompareEventCBCLatchModeConfig);
|
|
DCBConfigs.push(dcCompareEventCBCLatchClearEventConfig);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
var config = [
|
|
{
|
|
name: "GROUP_DCA",
|
|
displayName: "DCAEVT1 and DCAEVT2",
|
|
description: "",
|
|
longDescription: "",
|
|
config: DCAConfigs
|
|
},
|
|
{
|
|
name: "GROUP_DCB",
|
|
displayName: "DCBEVT1 and DCBEVT2",
|
|
description: "",
|
|
longDescription: "",
|
|
config: DCBConfigs
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_dcFilterInput",
|
|
displayName : "Digital Compare Filter Input (DCEVTFILT event source)",
|
|
description : 'Select the event source for the DCEVTFILT signal',
|
|
hidden : false,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareFilterInput[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareFilterInput,
|
|
},
|
|
|
|
// Blanking window
|
|
{
|
|
name: "epwmDigitalCompare_useBlankingWindow",
|
|
displayName : "Use Blanking Window",
|
|
description : 'Use blanking window to blank the DCEVTFILT signal',
|
|
hidden : false,
|
|
default : false,
|
|
onChange : onChangeBlankingWindow
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_blankingWindowEvent",
|
|
displayName : "Blanking Window Start Event",
|
|
description : 'Select the event source that starts the blanking window counter (And resets the counter)',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse,
|
|
onChange : pulseSelChanged
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_blankingWindowOffset",
|
|
displayName : "Blanking Window Offset from the Start Event",
|
|
description : 'Set the offset of the blanking window (TBCLK count)',
|
|
hidden : true,
|
|
default : 0,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_blankingWindowLength",
|
|
displayName : "Blanking Window Length",
|
|
description : 'Set the length of the blanking window (TBCLK count)',
|
|
hidden : true,
|
|
default : 0,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_invertBlankingWindow",
|
|
displayName : "Invert Blanking Window",
|
|
description : 'Invert the blanking window signal',
|
|
hidden : true,
|
|
default : false
|
|
},
|
|
|
|
// DCCAP
|
|
|
|
{
|
|
name: "epwmDigitalCompare_useDCCounterCapture",
|
|
displayName : "Use DC Counter Capture",
|
|
description : 'Use the DC Counter Capture feature to capture the TBCTR value at the selected event.',
|
|
hidden : false,
|
|
default : false,
|
|
onChange : onChangeDCCounterCapture
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_dCCounterCaptureShadow",
|
|
displayName : "Enable DC Counter Capture Shadow Mode",
|
|
description : 'Use the DC Counter Capture feature in shadow mode.',
|
|
hidden : true,
|
|
default : false
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_dCCounterCapturePulse",
|
|
displayName : "DC Counter Capture Re-Enable Event\\Shadow Load Event (Blanking Window Start Event)",
|
|
description : 'This is detemined by the Blanking Window Start Event and re-enables the TBCTR capture.',
|
|
hidden : true,
|
|
readOnly : true,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareBlankingPulse,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_dCCounterCapturePulseLogic",
|
|
displayName : "DC Counter Capture Independent Pulse Selection",
|
|
description : 'Pulse Selection between digital compare capture or digital compare blanking signal',
|
|
hidden : true,
|
|
default : false,
|
|
},
|
|
|
|
|
|
// Edge Filter Valley Switching
|
|
{
|
|
name: "epwmDigitalCompare_useEdgeFilter",
|
|
displayName : "Use Edge Filter",
|
|
description : 'The DCEVTFILT signal and DCCAP (Counter Capture) will use the output of the edge filter',
|
|
hidden : false,
|
|
default : false,
|
|
onChange : onChangeEdgeFilter
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_edgeFilterMode",
|
|
displayName : "Edge Filter Mode",
|
|
description : 'Sets the Digital Compare Event edge filter mode',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareEdgeFilterMode[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareEdgeFilterMode,
|
|
},
|
|
|
|
{
|
|
name: "epwmDigitalCompare_edgeFilterEdgeCount",
|
|
displayName : "Edge Filter Edge Count",
|
|
description : 'Sets the number of edges detected by the Digital Compare Event edge filter to generate an event',
|
|
hidden : true,
|
|
default : "EPWM_DC_EDGEFILT_EDGECNT_0",
|
|
options : [
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_0", displayName: "No edge is required to generate event"},
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_1", displayName: "1 edge is required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_2", displayName: "2 edges are required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_3", displayName: "3 edges are required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_4", displayName: "4 edges are required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_5", displayName: "5 edges are required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_6", displayName: "6 edges are required for event generation" },
|
|
{ name: "EPWM_DC_EDGEFILT_EDGECNT_7", displayName: "7 edges are required for event generation" },
|
|
],
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_enableValleyCapture",
|
|
displayName : "Enable Edge Filter Reset/Enable Valley Capture",
|
|
description : 'This will enable valley capturing feature/allows the input signal selected for valley capturing to reset the edge filter counter',
|
|
hidden : true,
|
|
default : false,
|
|
onChange : onChangeEdgeFilter
|
|
},
|
|
|
|
{
|
|
name: "epwmDigitalCompare_valleyCaptureSource",
|
|
displayName : "Edge Filter Counter Reset/Valley Capture Signal Source",
|
|
description : 'Sets the signal source for valley capture and edge filter counter reset',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_ValleyTriggerSource[0].name,
|
|
options : device_driverlib_peripheral.EPWM_ValleyTriggerSource,
|
|
onChange : onChangeEdgeFilter
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_startValleyCapture",
|
|
displayName : "Start Valley Capture Logic",
|
|
description : 'Start the valley capture logic',
|
|
hidden : true,
|
|
default : false
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_startValleyCaptureTriggerCount",
|
|
displayName : "Start Valley Capture",
|
|
description : 'The number of trigger events required to start the valley capture count',
|
|
hidden : true,
|
|
default : "0",
|
|
options : [
|
|
{ displayName: "0 Event (Prevent from starting)", name : "0" },
|
|
{ displayName: "1 Events", name : "1" },
|
|
{ displayName: "2 Events", name : "2" },
|
|
{ displayName: "3 Events", name : "3" },
|
|
{ displayName: "4 Events", name : "4" },
|
|
{ displayName: "5 Events", name : "5" },
|
|
{ displayName: "6 Events", name : "6" },
|
|
{ displayName: "7 Events", name : "7" },
|
|
{ displayName: "8 Events", name : "8" },
|
|
{ displayName: "9 Events", name : "9" },
|
|
{ displayName: "10 Events", name : "10"},
|
|
{ displayName: "11 Events", name : "11"},
|
|
{ displayName: "12 Events", name : "12"},
|
|
{ displayName: "14 Events", name : "14"},
|
|
{ displayName: "15 Events", name : "15"},
|
|
]
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_stopValleyCaptureTriggerCount",
|
|
displayName : "Stop Valley Capture",
|
|
description : 'The number of trigger events required to stop the valley capture count',
|
|
hidden : true,
|
|
default : "0",
|
|
options : [
|
|
{ displayName: "0 Event (Prevent from stopping)", name : "0" },
|
|
{ displayName: "1 Events", name : "1" },
|
|
{ displayName: "2 Events", name : "2" },
|
|
{ displayName: "3 Events", name : "3" },
|
|
{ displayName: "4 Events", name : "4" },
|
|
{ displayName: "5 Events", name : "5" },
|
|
{ displayName: "6 Events", name : "6" },
|
|
{ displayName: "7 Events", name : "7" },
|
|
{ displayName: "8 Events", name : "8" },
|
|
{ displayName: "9 Events", name : "9" },
|
|
{ displayName: "10 Events", name : "10"},
|
|
{ displayName: "11 Events", name : "11"},
|
|
{ displayName: "12 Events", name : "12"},
|
|
{ displayName: "14 Events", name : "14"},
|
|
{ displayName: "15 Events", name : "15"},
|
|
]
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_enableEdgeFilterDelay",
|
|
displayName : "Select the delayed output (by HWDELVAL) of the Edge Filter",
|
|
description : 'Start the valley capture logic',
|
|
hidden : true,
|
|
default : false,
|
|
onChange : onChangeEdgeFilter
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_SWVDELVAL",
|
|
displayName : "SWVDELVAL (software valley delay value)",
|
|
description : 'Set SWVDELVAL (software valley delay value). This value along with the valley delay divider will be used to calculate the HWDELVAL',
|
|
hidden : true,
|
|
default : 0
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_valleyDelayDivider",
|
|
displayName : "Valley Delay Divider",
|
|
description : 'The delay divider along with SWVDELVAL will be used to calculate the HWDELVAL',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_ValleyDelayMode[0].name,
|
|
options : device_driverlib_peripheral.EPWM_ValleyDelayMode,
|
|
}
|
|
];
|
|
|
|
if(["F28P65x"].includes(Common.getDeviceName()))
|
|
{
|
|
config = config.concat(
|
|
{
|
|
name: "epwmDigitalCompare_enableEventDetection",
|
|
displayName : "Use Event Detection",
|
|
description : "Use the DC Event Detection to determine occurrence of a trip event in a configured time window",
|
|
hidden : false,
|
|
default : false,
|
|
onChange : onChangeEventDetection
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_CAPINTripInput",
|
|
displayName : "Capture Input",
|
|
description : "Trip input on which edge detection logic is performed",
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareTripInput[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareTripInput,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_CAPIN_combinationInputConfig",
|
|
displayName : "Combination Capture Input Sources",
|
|
description : "Select the sources to include in the Combination input sources",
|
|
hidden : true,
|
|
minSelections: 0,
|
|
default : [],
|
|
options : device_driverlib_peripheral.EPWM_DC_COMBINATIONAL
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_invertCAPIN",
|
|
displayName : "Invert Capture Input polarity",
|
|
description : 'Selects the input polarity for capture',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_selectCaptureInputPolarity[0].name,
|
|
options : device_driverlib_peripheral.EPWM_selectCaptureInputPolarity,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_CAPGATETripInput",
|
|
displayName : "Capture Gate",
|
|
description : "Trip input gating the min/max logic",
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_DigitalCompareTripInput[0].name,
|
|
options : device_driverlib_peripheral.EPWM_DigitalCompareTripInput,
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_CAPGATE_combinationInputConfig",
|
|
displayName : "Combination Capture Gate Input Sources",
|
|
description : "Select the sources to include in the Combination input sources",
|
|
hidden : true,
|
|
minSelections: 0,
|
|
default : [],
|
|
options : device_driverlib_peripheral.EPWM_DC_COMBINATIONAL
|
|
},
|
|
{
|
|
name: "epwmDigitalCompare_configCAPGATE",
|
|
displayName : "Capture Gate Polarity Select",
|
|
description : 'Capture Gate selection of the input polarity',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_selectCaptureGateInputPolarity[0].name,
|
|
options : device_driverlib_peripheral.EPWM_selectCaptureGateInputPolarity
|
|
},
|
|
{
|
|
name: "epwmXCMP_setRegisters_XMIN_read",
|
|
displayName: "XMIN",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setRegisters_XMIN,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters1_XMIN_read",
|
|
displayName: "XMIN Shadow 1",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters1_XMIN,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters2_XMIN_read",
|
|
displayName: "XMIN Shadow 2",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters2_XMIN,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters3_XMIN_read",
|
|
displayName: "XMIN Shadow 3",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters3_XMIN,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setRegisters_XMAX_read",
|
|
displayName: "XMAX",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setRegisters_XMAX,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters1_XMAX_read",
|
|
displayName: "XMAX Shadow 1",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters1_XMAX,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters2_XMAX_read",
|
|
displayName: "XMAX Shadow 2",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters2_XMAX,
|
|
default: 0,
|
|
},
|
|
{
|
|
name: "epwmXCMP_setShadowRegisters3_XMAX_read",
|
|
displayName: "XMAX Shadow 3",
|
|
hidden: true,
|
|
getValue: (inst) => inst.epwmXCMP_setShadowRegisters3_XMAX,
|
|
default: 0,
|
|
}
|
|
)
|
|
}
|
|
|
|
var epwmDigitalCompareSubmodule = {
|
|
displayName: "EPWM Digital Compare",
|
|
maxInstances: Common.peripheralCount("EPWM"),
|
|
defaultInstanceName: "EPWM_DC",
|
|
description: "Enhanced Pulse Width Modulator Digital Compare",
|
|
config: config,
|
|
templates: {
|
|
boardc : "", //"/gpio/gpio.board.c.xdt",
|
|
boardh : ""//"/gpio/gpio.board.h.xdt"
|
|
},
|
|
};
|
|
|
|
|
|
exports = epwmDigitalCompareSubmodule; |