134 lines
4.9 KiB
JavaScript
134 lines
4.9 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");
|
|
|
|
function onChangeEnableDisable(inst, ui)
|
|
{
|
|
if (inst.epwmGlobalLoad_gld)
|
|
{
|
|
ui.epwmGlobalLoad_gldMode.hidden = false;
|
|
ui.epwmGlobalLoad_gldPeriod.hidden = false;
|
|
ui.epwmGlobalLoad_enableOneShot.hidden = false;
|
|
ui.epwmGlobalLoad_globalePWMLoadLink.hidden = false;
|
|
if (inst.epwmGlobalLoad_enableOneShot)
|
|
{
|
|
ui.epwmGlobalLoad_oneShotMode.hidden = false;
|
|
ui.epwmGlobalLoad_oneShotForce.hidden = false;
|
|
}
|
|
else if (inst.epwmGlobalLoad_enableOneShot == false)
|
|
{
|
|
ui.epwmGlobalLoad_oneShotMode.hidden = true;
|
|
ui.epwmGlobalLoad_oneShotForce.hidden = true;
|
|
// Set to defalts
|
|
inst.epwmGlobalLoad_oneShotMode = false;
|
|
inst.epwmGlobalLoad_oneShotForce = false;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
ui.epwmGlobalLoad_gldMode.hidden = true;
|
|
ui.epwmGlobalLoad_gldPeriod.hidden = true;
|
|
ui.epwmGlobalLoad_enableOneShot.hidden = true;
|
|
ui.epwmGlobalLoad_oneShotMode.hidden = true;
|
|
ui.epwmGlobalLoad_oneShotForce.hidden = true;
|
|
ui.epwmGlobalLoad_globalePWMLoadLink.hidden = true;
|
|
|
|
// Set to default
|
|
inst.epwmGlobalLoad_gldMode = device_driverlib_peripheral.EPWM_GlobalLoadTrigger[0].name;
|
|
inst.epwmGlobalLoad_gldPeriod = globalPeriodOptions[0].name;
|
|
inst.epwmGlobalLoad_enableOneShot = false;
|
|
inst.epwmGlobalLoad_oneShotMode = false;
|
|
inst.epwmGlobalLoad_oneShotForce = false;
|
|
inst.epwmGlobalLoad_globalePWMLoadLink = device_driverlib_peripheral.EPWM_CurrentLink[0].name;
|
|
}
|
|
}
|
|
|
|
|
|
var globalPeriodOptions = [
|
|
{ displayName: "Counter is disabled", name : "0" },
|
|
{ displayName: "Generate stobe on 1st event", name : "1" },
|
|
{ displayName: "Generate stobe on 2nd event", name : "2" },
|
|
{ displayName: "Generate stobe on 3rd event", name : "3" },
|
|
{ displayName: "Generate stobe on 4th event", name : "4" },
|
|
{ displayName: "Generate stobe on 5th event", name : "5" },
|
|
{ displayName: "Generate stobe on 6th event", name : "6" },
|
|
{ displayName: "Generate stobe on 7th event", name : "7" },
|
|
]
|
|
|
|
var config = [
|
|
{
|
|
name : "epwmGlobalLoad_gld",
|
|
displayName : "Enable Global Shadow to Active Load",
|
|
description : 'all the shadow to active reload events are defined by GLDMODE bits in GLDCTL register',
|
|
hidden : false,
|
|
default : false,
|
|
onChange : onChangeEnableDisable
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_gldMode",
|
|
displayName : "Global Load Pulse Selection",
|
|
description : 'The event for which there will be a Shadow to Active Mode Reload',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_GlobalLoadTrigger[0].name,
|
|
options : device_driverlib_peripheral.EPWM_GlobalLoadTrigger,
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_gldPeriod",
|
|
displayName : "Global Load Strobe Period",
|
|
description : 'Amount of events that need to occur before a load strobe is generated',
|
|
hidden : true,
|
|
default : globalPeriodOptions[0].name,
|
|
options : globalPeriodOptions,
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_enableOneShot",
|
|
displayName : "One Shot Mode",
|
|
description : 'Enable One Shot Load Mode',
|
|
hidden : true,
|
|
default : false,
|
|
onChange : onChangeEnableDisable
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_oneShotMode",
|
|
displayName : "Enable Reload Event in One Shot Mode",
|
|
description : 'Upon occurrence of a chosen load strobe, one shadow to active reload occurs',
|
|
hidden : true,
|
|
default : false,
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_oneShotForce",
|
|
displayName : "Force Load Event",
|
|
description : 'Force one load event at the input of the event pre-scale counter',
|
|
hidden : true,
|
|
default : false,
|
|
},
|
|
{
|
|
name: "epwmGlobalLoad_globalePWMLoadLink",
|
|
displayName : "Global PWM Load Link",
|
|
description : 'Simultaneous write to the current ePWM module GLDCTL2 register',
|
|
hidden : true,
|
|
default : device_driverlib_peripheral.EPWM_CurrentLink[0].name,
|
|
options : device_driverlib_peripheral.EPWM_CurrentLink,
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
var epwmGlobalLoadSubmodule = {
|
|
displayName: "EPWM Global Load",
|
|
maxInstances: Common.peripheralCount("EPWM"),
|
|
defaultInstanceName: "EPWM_GL",
|
|
description: "Enhanced Pulse Width Modulator Global Load Configuration",
|
|
config: config,
|
|
templates: {
|
|
boardc : "", //"/gpio/gpio.board.c.xdt",
|
|
boardh : ""//"/gpio/gpio.board.h.xdt"
|
|
},
|
|
};
|
|
|
|
|
|
exports = epwmGlobalLoadSubmodule; |