c2000ware-core-sdk/driverlib/.meta/sdfm/modules/sd_InterruptConfiguration.js

262 lines
6.9 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 useComparator = system.getScript("/driverlib/sdfm/modules/sd_comparatorFilter.js");
let useDatafilter = system.getScript("/driverlib/sdfm/modules/sd_DataFilter.js");
let sd_device_info = system.getScript("/driverlib/sdfm/sd_device_info.js");
let device_driverlib_peripheral =
system.getScript("/driverlib/device_driverlib_peripherals/" +
Common.getDeviceName().toLowerCase() + "_sdfm.js");
let CompEvent =
[
{ name: "CEVT1" , displayName: "Comparator event 1 interrupt" },
{ name: "CEVT2" , displayName: "Comparator event 2 interrupt" },
]
let IEL_IEHEvent =
[
{ name: "IEL" , displayName: "Low Threshold interrupt" },
{ name: "IEH" , displayName: "High Threshold interrupt" },
]
var temp1 = [];
var temp2 = [];
if (sd_device_info.peripheralType == "Type0" || sd_device_info.peripheralType == "Type1")
{
var temp1 = IEL_IEHEvent[0];
var temp2 = IEL_IEHEvent[1];
}
if (sd_device_info.peripheralType == "Type2")
{
var temp1 = CompEvent[0];
var temp2 = CompEvent[1];
}
var FilterNumber = [];
//var length = sd_device_info.SDFM_FilterNumber.length;
function onChangeUseInterrupts(inst, ui)
{
var status_use_int = inst.useInterrupts
var status_FIFO_EN = (inst.Ch1_FIFO_Enable || inst.Ch2_FIFO_Enable || inst.Ch3_FIFO_Enable || inst.Ch4_FIFO_Enable);
var status_compEN;
if(sd_device_info.peripheralType == "Type1" || sd_device_info.peripheralType == "Type2")
{
status_compEN = (inst.Ch1_ComparatorEnable || inst.Ch2_ComparatorEnable || inst.Ch3_ComparatorEnable || inst.Ch4_ComparatorEnable);
}
else
{
status_compEN = true;
}
ui.MFIE.hidden = !status_use_int;
ui.AE.hidden = !status_use_int;
if(sd_device_info.peripheralType == "Type0" || sd_device_info.peripheralType == "Type1")
{
ui.IEH.hidden = ((!status_use_int) || (!status_compEN));
ui.IEL.hidden = ((!status_use_int) || (!status_compEN));
}
if(sd_device_info.peripheralType == "Type2")
{
ui.CEVT1.hidden = ((!status_use_int) || (!status_compEN));
ui.CEVT2.hidden = ((!status_use_int) || (!status_compEN));
}
if(sd_device_info.peripheralType == "Type0")
{
// ui.SDFM_INT_RegisterInterrupts.hidden = (!status_use_int);
}
if(sd_device_info.peripheralType == "Type1" || sd_device_info.peripheralType == "Type2")
{
ui.SDFFINT.hidden = ((!status_FIFO_EN) || (!status_use_int));
ui.SDFFOVF.hidden = ((!status_FIFO_EN) || (!status_use_int));
// ui.SDFM_ERR_RegisterInterrupts.hidden = (!status_use_int);
// ui.SDFM_DR_RegisterInterrupts.hidden = (!status_use_int);
}
}
var interruptSettings_Type0 = [];
var intSettings = [];
if(sd_device_info.peripheralType == "Type0")
{
interruptSettings_Type0 = interruptSettings_Type0.concat
([
{
name : "MFIE",
displayName : "Modulator Clock failure",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : temp1.name,
displayName : temp1.displayName,
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : temp2.name,
displayName : temp2.displayName,
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : "AE",
displayName : "Data Acknowledge",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
])
intSettings = interruptSettings_Type0;
}
var interruptSettings_SDFM_INT = [];
var interruptSettings_SDFM_DR_INT = [];
if(sd_device_info.peripheralType == "Type1" || sd_device_info.peripheralType == "Type2")
{
interruptSettings_SDFM_INT = interruptSettings_SDFM_INT.concat([
{
name : "MFIE",
displayName : "Modulator Clock failure",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : temp1.name,
displayName : temp1.displayName,
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : temp2.name,
displayName : temp2.displayName,
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : "SDFFOVF",
displayName : "FIFO Overflow error",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
])
intSettings = interruptSettings_SDFM_INT;
interruptSettings_SDFM_DR_INT = interruptSettings_SDFM_DR_INT.concat([
{
name : "AE",
displayName : "Data Acknowledge",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
{
name : "SDFFINT",
displayName : "SDFM FIFO Interrupt",
description : 'Which interrupts to enabled.',
hidden : true,
default : [],
minSelections: 0,
options : sd_device_info.SDFM_FilterNumber,
},
])
}
var interruptSettings = [];
interruptSettings =
[
{
name : "useInterrupts",
displayName : "Use SDFM interrupts",
description : 'Whether or not to use Interrupt mode.',
hidden : false,
default : false,
onChange : onChangeUseInterrupts,
},
{
name: "GROUP_SDFM_INT",
displayName: "SDFM interrupt",
description: "Configure SDFM interrupt",
collapsed : false,
longDescription: "",
config: intSettings,
},
{
name: "GROUP_SDFM_DR_INT",
displayName: "SDFM data ready interrupt",
description: "Configure SDFM data ready interrupt",
collapsed : false,
longDescription: "",
config: interruptSettings_SDFM_DR_INT,
},
]
var sdInterruptConfigSubmodule =
{
displayName: "Interrupt Configurations",
maxInstances: Common.peripheralCount("SD"),
defaultInstanceName: "_INTERRUPT_CONFIG",
description: "Select Interrupt source",
config: interruptSettings,
templates:
{
boardc : "",
boardh : "",
},
};
exports = sdInterruptConfigSubmodule