Update repo
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
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() + "_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";
|
||||
|
||||
|
||||
function onChangeInputsUsed(inst, ui)
|
||||
{
|
||||
var usedInputs = inst.inputsUsed;
|
||||
for (var uiInputXbarNameIndex in uiInputXbarNames)
|
||||
{
|
||||
var uiName = uiInputXbarNames[uiInputXbarNameIndex];
|
||||
//console.log(uiName);
|
||||
ui[uiName].hidden = true;
|
||||
|
||||
uiName = uiInputXbarLockNames[uiInputXbarNameIndex];
|
||||
//console.log(uiName);
|
||||
ui[uiName].hidden = true;
|
||||
}
|
||||
for (var usedInputIndex in usedInputs)
|
||||
{
|
||||
var usedInput = usedInputs[usedInputIndex];
|
||||
for (uiInputXbarNameIndex in uiInputXbarNames)
|
||||
{
|
||||
var uiName = uiInputXbarNames[uiInputXbarNameIndex];
|
||||
//console.log("ui Name:" + uiName)
|
||||
//console.log("used input name:" + usedInput)
|
||||
if (usedInput == uiName)
|
||||
{
|
||||
//console.log("Name match")
|
||||
//console.log(uiName);
|
||||
ui[uiName].hidden = false;
|
||||
|
||||
uiName = uiInputXbarLockNames[uiInputXbarNameIndex];
|
||||
//console.log(uiName);
|
||||
ui[uiName].hidden = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Array of Input X-bar configurables that are common across device families */
|
||||
var config = [
|
||||
/*
|
||||
{
|
||||
name : "bitRate",
|
||||
displayName : "Bit Rate",
|
||||
description : 'Bit rate for device',
|
||||
hidden : false,
|
||||
default : '400'
|
||||
}
|
||||
*/
|
||||
];
|
||||
|
||||
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 interfaceNames = []
|
||||
var uiInputXbarNames = []
|
||||
var uiInputXbarLockNames = []
|
||||
for (var clb_inputxbar_index = 1; clb_inputxbar_index <= 16; clb_inputxbar_index++)
|
||||
{
|
||||
|
||||
|
||||
var uiInputXbarName = "CLB_INPUTXBAR" + clb_inputxbar_index.toString() + "Gpio"
|
||||
var uiInputXbarLockName = "CLB_INPUTXBAR" + clb_inputxbar_index.toString() + "Lock"
|
||||
|
||||
uiInputXbarNames.push(uiInputXbarName)
|
||||
uiInputXbarLockNames.push(uiInputXbarLockName)
|
||||
|
||||
|
||||
interfaceNames.push({name: uiInputXbarName, displayName: "CLB_INPUTXBAR" + clb_inputxbar_index.toString()})
|
||||
|
||||
var inputxbarGPIOConfig = {
|
||||
name : uiInputXbarName,
|
||||
displayName : "CLB_INPUTXBAR" + clb_inputxbar_index.toString(),
|
||||
description : 'GPIO for this Input X-Bar',
|
||||
hidden : true,
|
||||
default : inputxbarGPIOOptions[0].name,
|
||||
options : inputxbarGPIOOptions,
|
||||
deprecated : true,
|
||||
}
|
||||
|
||||
var inputxbarLOCKConfig = {
|
||||
name : uiInputXbarLockName,
|
||||
displayName : "CLB_INPUTXBAR" + clb_inputxbar_index.toString() + " Lock",
|
||||
description : 'Lock this Input X-Bar',
|
||||
hidden : true,
|
||||
default : false,
|
||||
deprecated : true,
|
||||
}
|
||||
|
||||
config.push(inputxbarGPIOConfig);
|
||||
config.push(inputxbarLOCKConfig);
|
||||
}
|
||||
|
||||
config.unshift(
|
||||
{
|
||||
name : "inputsUsed",
|
||||
displayName : "INPUTs to be used",
|
||||
description : 'Which inputs to use from the CLB INPUT X-BAR.',
|
||||
hidden : false,
|
||||
default : [],
|
||||
minSelections: 0,
|
||||
//onChange : onChangeInputsUsed,
|
||||
options : interfaceNames,
|
||||
deprecated : true,
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
var clb_inputxbarModule = {
|
||||
displayName: "CLB INPUTXBAR",
|
||||
maxInstances: 1,
|
||||
defaultInstanceName: "myCLBINPUTXBAR",
|
||||
description: "CLB Input X-bar",
|
||||
config: config,
|
||||
templates: {
|
||||
boardc : "",
|
||||
boardh : ""
|
||||
},
|
||||
migrateLegacyConfiguration : (inst) => {
|
||||
for (var input of inst.inputsUsed)
|
||||
{
|
||||
var inputxbar_input_inst = scripting.addModule("/driverlib/clb_inputxbar_input.js").addInstance();
|
||||
var inputNum = input.replace("Gpio", "").replace("CLB_INPUTXBAR", "")
|
||||
var inputLock = inst["CLB_INPUTXBAR" + inputNum + "Lock"]
|
||||
var inputSource = inst[input]
|
||||
inputxbar_input_inst.inputxbarInput = "XBAR_INPUT" + inputNum;
|
||||
inputxbar_input_inst.inputxbarGpio = inputSource;
|
||||
inputxbar_input_inst.inputxbarLock = inputLock;
|
||||
}
|
||||
},
|
||||
//pinmuxRequirements : Pinmux.inputxbarPinmuxRequirements
|
||||
};
|
||||
|
||||
|
||||
if (clb_inputxbarModule.maxInstances <= 0)
|
||||
{
|
||||
delete clb_inputxbarModule.pinmuxRequirements;
|
||||
}
|
||||
|
||||
|
||||
exports = clb_inputxbarModule;
|
||||
Reference in New Issue
Block a user