Update repo
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
let Common = system.getScript("/driverlib/Common.js");
|
||||
let Pinmux = system.getScript("/driverlib/pinmux.js");
|
||||
let InputXbar_DevSpecific = system.getScript("/driverlib/inputxbar/inputxbar_deviceSpecific.js");
|
||||
|
||||
let device_driverlib_peripheral =
|
||||
system.getScript("/driverlib/device_driverlib_peripherals/" +
|
||||
Common.getDeviceName().toLowerCase() + "_xbar.js");
|
||||
|
||||
|
||||
/* Intro splash on GUI */
|
||||
let longDescription = "The CLB Input X-BAR is used to route signals from a GPIO to many different" +
|
||||
" IP blocks such as the ADC(s), eCAP(s), ePWM(s), and external interrupts";
|
||||
|
||||
var inputXbarCount = 16
|
||||
|
||||
|
||||
/* Array of Input X-bar configurables that are common across device families */
|
||||
var config = [
|
||||
|
||||
];
|
||||
|
||||
var gpios = Common.getGPIOs();
|
||||
var aios = Common.getAIOs();
|
||||
var inputxbarGPIOOptions = [];
|
||||
for (var gpioIndex = 0; gpioIndex < gpios.length; gpioIndex++)
|
||||
{
|
||||
inputxbarGPIOOptions.push({name: gpios[gpioIndex]});
|
||||
}
|
||||
for (var aioIndex = 0; aioIndex < aios.length; aioIndex++)
|
||||
{
|
||||
inputxbarGPIOOptions.push({name: aios[aioIndex]});
|
||||
}
|
||||
|
||||
var inputNumOptions = []
|
||||
for (var inputNum of device_driverlib_peripheral.XBAR_InputNum)
|
||||
{
|
||||
inputNumOptions.push({
|
||||
name: inputNum.name
|
||||
})
|
||||
}
|
||||
|
||||
var inputxbarINPUTConfig = {
|
||||
name : "inputxbarInput",
|
||||
displayName : "INPUT",
|
||||
description : 'The INPUT number for Input X-Bar',
|
||||
hidden : false,
|
||||
default : inputNumOptions[0].name,
|
||||
options : inputNumOptions
|
||||
}
|
||||
|
||||
var inputxbarGPIOConfig = {
|
||||
name : "inputxbarGpio",
|
||||
displayName : "INPUT Source",
|
||||
description : 'GPIO for this Input X-Bar',
|
||||
hidden : false,
|
||||
default : inputxbarGPIOOptions[0].name,
|
||||
options : inputxbarGPIOOptions
|
||||
}
|
||||
|
||||
var inputxbarLOCKConfig = {
|
||||
name : "inputxbarLock",
|
||||
displayName : "INPUT Lock",
|
||||
description : 'Lock this Input X-Bar',
|
||||
hidden : false,
|
||||
default : false
|
||||
}
|
||||
|
||||
config.push(inputxbarINPUTConfig);
|
||||
config.push(inputxbarGPIOConfig);
|
||||
config.push(inputxbarLOCKConfig);
|
||||
|
||||
|
||||
function onValidate(inst, validation)
|
||||
{
|
||||
var usedInsts = [];
|
||||
for (var instance_index in inst.$module.$instances)
|
||||
{
|
||||
var instance_obj = inst.$module.$instances[instance_index];
|
||||
usedInsts.push(instance_obj.inputxbarInput);
|
||||
}
|
||||
|
||||
var duplicatesResult = Common.findDuplicates(usedInsts)
|
||||
|
||||
if (duplicatesResult.duplicates.length != 0)
|
||||
{
|
||||
var allDuplicates = "";
|
||||
for (var duplicateNamesIndex in duplicatesResult.duplicates)
|
||||
{
|
||||
allDuplicates = allDuplicates + Common.stringOrEmpty(allDuplicates, ", ")
|
||||
+ duplicatesResult.duplicates[duplicateNamesIndex];
|
||||
}
|
||||
validation.logError(
|
||||
"This instance is already in use! Duplicates: " + allDuplicates,
|
||||
inst, "inputxbarInput");
|
||||
}
|
||||
}
|
||||
|
||||
var clb_inputxbarModule = {
|
||||
peripheralName: "CLB_INPUTXBAR",
|
||||
displayName: "CLB INPUTXBAR INPUT",
|
||||
maxInstances: inputXbarCount,
|
||||
defaultInstanceName: "myCLBINPUTXBARINPUT",
|
||||
description: "CLB Input X-bar",
|
||||
config: config,
|
||||
templates: {
|
||||
boardc : "/driverlib/clb_inputxbar/clb_inputxbar_input.board.c.xdt",
|
||||
boardh : "/driverlib/clb_inputxbar/clb_inputxbar_input.board.h.xdt"
|
||||
},
|
||||
validate : onValidate,
|
||||
|
||||
};
|
||||
|
||||
|
||||
if (clb_inputxbarModule.maxInstances <= 0)
|
||||
{
|
||||
delete clb_inputxbarModule.pinmuxRequirements;
|
||||
}
|
||||
|
||||
|
||||
exports = clb_inputxbarModule;
|
||||
Reference in New Issue
Block a user