Update repo
This commit is contained in:
@@ -0,0 +1,227 @@
|
||||
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() + "_sysctl.js");
|
||||
|
||||
/* Array of CAN configurables that are common across device families */
|
||||
let staticConfig = [
|
||||
{
|
||||
name: "syncOutSource",
|
||||
displayName : "SYNCOUT (EXTSYNCOUT) Source",
|
||||
description : 'Source for the SYNCOUT (EXTSYNCOUT) signal',
|
||||
hidden : false,
|
||||
default : device_driverlib_peripheral.SysCtl_SyncOutputSource[0].name,
|
||||
options : device_driverlib_peripheral.SysCtl_SyncOutputSource
|
||||
},
|
||||
];
|
||||
|
||||
if (["F2837xD", "F2837xS", "F2807x", "F28004x"].includes(Common.getDeviceName()))
|
||||
{
|
||||
staticConfig = staticConfig.concat([
|
||||
//
|
||||
// Sync
|
||||
//
|
||||
{
|
||||
name: "epwm1SyncInSource",
|
||||
displayName : "EPWM1 Sync In Source",
|
||||
description : 'Sync In Source for the Time Base Counter Submodule',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"}
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "epwm4SyncInSource",
|
||||
displayName : "EPWM4 Sync In Source",
|
||||
description : 'Sync In Source for the Time Base Counter Submodule',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "epwm7SyncInSource",
|
||||
displayName : "EPWM7 Sync In Source",
|
||||
description : 'Sync In Source for the Time Base Counter Submodule',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM4SYNCOUT", displayName: "SYNC IN SRC EPWM4SYNCOUT" },
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
if (["F2807x", "F2837xS", "F2837xD"].includes(Common.getDeviceName()))
|
||||
{
|
||||
staticConfig = staticConfig.concat([
|
||||
{
|
||||
name: "epwm10SyncInSource",
|
||||
displayName : "EPWM10 Sync In Source",
|
||||
description : 'Sync In Source for the Time Base Counter Submodule',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM4SYNCOUT", displayName: "SYNC IN SRC EPWM4SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM7SYNCOUT", displayName: "SYNC IN SRC EPWM7SYNCOUT" },
|
||||
],
|
||||
},
|
||||
])
|
||||
}
|
||||
|
||||
staticConfig = staticConfig.concat([
|
||||
//
|
||||
// Sync
|
||||
//
|
||||
{
|
||||
name: "ecap1SyncInSource",
|
||||
displayName : "ECAP1 Sync In Source",
|
||||
description : 'Sync In Source for the ECAP1 module',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM4SYNCOUT", displayName: "SYNC IN SRC EPWM4SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM7SYNCOUT", displayName: "SYNC IN SRC EPWM7SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM10SYNCOUT", displayName: "SYNC IN SRC EPWM10SYNCOUT" },
|
||||
]
|
||||
},
|
||||
{
|
||||
name: "ecap4SyncInSource",
|
||||
displayName : "ECAP4 Sync In Source",
|
||||
description : 'Sync In Source for the ECAP4 module',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM4SYNCOUT", displayName: "SYNC IN SRC EPWM4SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM7SYNCOUT", displayName: "SYNC IN SRC EPWM7SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM10SYNCOUT", displayName: "SYNC IN SRC EPWM10SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_ECAP1SYNCOUT", displayName: "SYNC IN SRC ECAP1SYNCOUT" },
|
||||
]
|
||||
},
|
||||
]);
|
||||
|
||||
if (["F28004x"].includes(Common.getDeviceName()))
|
||||
{
|
||||
staticConfig = staticConfig.concat([
|
||||
{
|
||||
name: "ecap6SyncInSource",
|
||||
displayName : "ECAP6 Sync In Source",
|
||||
description : 'Sync In Source for the ECAP6 module',
|
||||
hidden : false,
|
||||
default : "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT",
|
||||
options : [
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN1", displayName: "SYNC IN SRC EXTSYNCIN1"},
|
||||
{name: "SYSCTL_SYNC_IN_SRC_EXTSYNCIN2", displayName: "SYNC IN SRC EXTSYNCIN2"},
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT", displayName: "SYNC IN SRC EPWM1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM4SYNCOUT", displayName: "SYNC IN SRC EPWM4SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM7SYNCOUT", displayName: "SYNC IN SRC EPWM7SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_EPWM10SYNCOUT", displayName: "SYNC IN SRC EPWM10SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_ECAP1SYNCOUT", displayName: "SYNC IN SRC ECAP1SYNCOUT" },
|
||||
{ name: "SYSCTL_SYNC_IN_SRC_ECAP4SYNCOUT", displayName: "SYNC IN SRC ECAP4SYNCOUT" },
|
||||
]
|
||||
},
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
var ePWMInstances = Common.peripheralCount("EPWM")
|
||||
var enable_ADCSOCA = [];
|
||||
var enable_ADCSOCB = [];
|
||||
for(var i = 0; i < ePWMInstances; i++) {
|
||||
enable_ADCSOCA.push({ name: "SYSCTL_ADCSOC_SRC_PWM" + (i+1) + "SOC" + "A", displayName: "Enable EPWM"+ (i+1) + " ADC SOCA" });
|
||||
enable_ADCSOCB.push({ name: "SYSCTL_ADCSOC_SRC_PWM" + (i+1) + "SOC" + "B", displayName: "Enable EPWM"+ (i+1) + " ADC SOCB" });
|
||||
}
|
||||
|
||||
staticConfig = staticConfig.concat([
|
||||
{
|
||||
name: "ADCSOCAOutputSelect",
|
||||
displayName : "ADC SOCA Output Enable (ADCSOCAO)",
|
||||
description : 'Enable all sources for the ADC SOCA external output',
|
||||
hidden : false,
|
||||
default : [],
|
||||
minSelections: 0,
|
||||
options : enable_ADCSOCA
|
||||
},
|
||||
{
|
||||
name: "ADCSOCBOutputSelect",
|
||||
displayName : "ADC SOCB Output Enable (ADCSOCBO)",
|
||||
description : 'Enable all sources for the ADC SOCB external output',
|
||||
hidden : false,
|
||||
default : [],
|
||||
minSelections: 0,
|
||||
options : enable_ADCSOCB
|
||||
},
|
||||
])
|
||||
|
||||
staticConfig = staticConfig.concat([
|
||||
{
|
||||
name: "ADCSOCOutputLock",
|
||||
displayName : "ADC SOCA/B Output Lock",
|
||||
description : 'Prevent changes to the ADCSOCAO and ADCSOCBO source',
|
||||
hidden : false,
|
||||
default : false,
|
||||
},
|
||||
{
|
||||
name: "syncOutLock",
|
||||
displayName : "EPWM External SYNCOUT Lock",
|
||||
description : 'Prevent changes to the SYNCOUT source',
|
||||
hidden : false,
|
||||
default : false,
|
||||
},
|
||||
])
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ======== filterHardware ========
|
||||
* Control RX, TX Pin usage by the user specified dataDirection.
|
||||
*
|
||||
* param component - hardware object describing signals and
|
||||
* resources they're attached to
|
||||
*
|
||||
* returns Boolean indicating whether or not to allow the component to
|
||||
* be assigned to an instance's $hardware config
|
||||
*/
|
||||
function filterHardware(component)
|
||||
{
|
||||
return (Common.typeMatches(component.type, ["SYNC"]));
|
||||
}
|
||||
|
||||
var syncModule = {
|
||||
peripheralName: "SYNC",
|
||||
displayName: "SYNC",
|
||||
maxInstances: 1,
|
||||
defaultInstanceName: "mySYNC",
|
||||
description: "Synchronization",
|
||||
filterHardware : filterHardware,
|
||||
moduleStatic : {
|
||||
config : staticConfig,
|
||||
},
|
||||
//config: config,
|
||||
templates: {
|
||||
boardc : "/driverlib/sync/sync.board.c.xdt",
|
||||
boardh : "/driverlib/sync/sync.board.h.xdt"
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
exports = syncModule;
|
||||
Reference in New Issue
Block a user