c2000ware-core-sdk/driverlib/.meta/epwm/modules/epwm_digitalCompare.js
2023-06-24 11:35:38 +05:30

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;