c2000ware-core-sdk/driverlib/.meta/erad.js

177 lines
4.7 KiB
JavaScript
Raw Normal View History

2023-06-24 09:05:38 +03:00
let Common = system.getScript("/driverlib/Common.js");
let Pinmux = system.getScript("/driverlib/pinmux.js");
let config = [
{
name: "owner",
displayName : "Owner",
description : 'Owner of the ERAD module',
hidden : false,
readOnly : true,
default : "C28x",
options : [
{name: "C28x"},
{name: "Debugger"}
]
},
{
name: "hwbpsUsed",
displayName : "HWBPs Used",
description : 'Which HWBPs are used',
hidden : false,
default : [],
minSelections: 0,
options : [
{name: "BUSCOMP1"},
{name: "BUSCOMP2"},
{name: "BUSCOMP3"},
{name: "BUSCOMP4"},
{name: "BUSCOMP5"},
{name: "BUSCOMP6"},
{name: "BUSCOMP7"},
{name: "BUSCOMP8"},
]
},
{
name: "ctmsUsed",
displayName : "CTMs Used",
description : 'Which CTMs are used',
hidden : false,
default : [],
minSelections: 0,
options : [
{name: "COUNTER1"},
{name: "COUNTER2"},
{name: "COUNTER3"},
{name: "COUNTER4"},
]
},
];
if(["F2838x", "F28002x", "F28003x"].includes(system.deviceData.deviceId))
{
config.push(
{
name: "ANDmasksUsed",
displayName : "AND Masks Used",
description : 'Which AND Masks are used',
hidden : false,
default : [],
minSelections: 0,
options : [
{name: "AND_MASK1"},
{name: "AND_MASK2"},
{name: "AND_MASK3"},
{name: "AND_MASK4"},
]
},
{
name: "ORmasksUsed",
displayName : "OR Masks Used",
description : 'Which OR Masks are used',
hidden : false,
default : [],
minSelections: 0,
options : [
{name: "OR_MASK1"},
{name: "OR_MASK2"},
{name: "OR_MASK3"},
{name: "OR_MASK4"},
]
},
)
}
function filterHardware(component)
{
return (Common.typeMatches(component.type, ["ERAD"]));
}
function moduleInstances(inst)
{
let components = [
]
for (var hwbp_i in inst.hwbpsUsed)
{
var hwbp = inst.hwbpsUsed[hwbp_i]
components.push(
{
moduleName: "/driverlib/erad/modules/erad_hwbp.js",
name: "erad" + hwbp,
displayName:"ERAD " + hwbp,
description:"ERAD " + hwbp,
collapsed: true,
hidden: !inst.hwbpsUsed.includes(hwbp)
}
)
}
for (var ctm_i in inst.ctmsUsed)
{
var ctm = inst.ctmsUsed[ctm_i]
components.push(
{
moduleName: "/driverlib/erad/modules/erad_counter.js",
name: "erad" + ctm,
displayName:"ERAD " + ctm,
description:"ERAD " + ctm,
collapsed: true,
hidden: !inst.ctmsUsed.includes(ctm)
}
)
}
for (var and_mask_i in inst.ANDmasksUsed)
{
var and_mask = inst.ANDmasksUsed[and_mask_i]
components.push(
{
moduleName: "/driverlib/erad/modules/erad_and_mask.js",
name: "erad" + and_mask,
displayName:"ERAD " + and_mask,
description:"ERAD " + and_mask,
collapsed: true,
hidden: !inst.ANDmasksUsed.includes(and_mask)
}
)
}
for (var or_mask_i in inst.ORmasksUsed)
{
var or_mask = inst.ORmasksUsed[or_mask_i]
components.push(
{
moduleName: "/driverlib/erad/modules/erad_or_mask.js",
name: "erad" + or_mask,
displayName:"ERAD " + or_mask,
description:"ERAD " + or_mask,
collapsed: true,
hidden: !inst.ORmasksUsed.includes(or_mask)
}
)
}
return components;
}
var eradModule = {
peripheralName: "ERAD",
displayName: "ERAD",
maxInstances: 1,
defaultInstanceName: "myERAD",
description: "Embedded Real-Time Analysis And Diagnostic",
longDescription: (Common.getCollateralFindabilityList("ERAD")),
filterHardware : filterHardware,
config: config,
templates: {
boardc : "/driverlib/erad/erad.board.c.xdt",
boardh : "/driverlib/erad/erad.board.h.xdt"
},
moduleInstances : moduleInstances,
};
exports = eradModule;