2023-06-24 09:05:38 +03:00
|
|
|
% var nameOfModule = "adcsafetycheckertile";
|
|
|
|
|
% var module = system.modules['/driverlib/' + nameOfModule + '.js'];
|
2023-07-24 12:14:00 +03:00
|
|
|
% var staticModule = system.modules['/driverlib/adcsafetychecker.js'];
|
|
|
|
|
% var stat = staticModule.$static ;
|
2023-06-24 09:05:38 +03:00
|
|
|
% let Common = system.getScript("/driverlib/Common.js");
|
|
|
|
|
% var nameOfPeripheral = module.peripheralName;
|
2023-07-24 12:14:00 +03:00
|
|
|
% let device_driverlib_peripheral = system.getScript("/driverlib/device_driverlib_peripherals/" + Common.getDeviceName().toLowerCase() + "_adc.js");
|
|
|
|
|
% let device_driverlib_memmap =system.getScript("/driverlib/device_driverlib_peripherals/" + Common.getDeviceName().toLowerCase() + "_memmap.js");
|
2023-06-24 09:05:38 +03:00
|
|
|
//*****************************************************************************
|
|
|
|
|
//
|
|
|
|
|
// ADC Safety Checker Configurations
|
|
|
|
|
//
|
|
|
|
|
//*****************************************************************************
|
|
|
|
|
void `nameOfPeripheral`_init(){
|
|
|
|
|
%if (module != null)
|
|
|
|
|
%{
|
|
|
|
|
% for(var i = 0; i < module.$instances.length; i++) {
|
|
|
|
|
% var instance = module.$instances[i];
|
|
|
|
|
% var baseName = instance.$name + "_BASE";
|
|
|
|
|
`instance.$name`_init();
|
|
|
|
|
% }
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-24 12:14:00 +03:00
|
|
|
% for(var i = 0; i < module.$instances.length; i++) {
|
|
|
|
|
% var instance = module.$instances[i];
|
|
|
|
|
% var baseName = instance.$name + "_BASE";
|
2023-06-24 09:05:38 +03:00
|
|
|
void `instance.$name`_init(){
|
2023-07-24 12:14:00 +03:00
|
|
|
% for(var rptrIndex in device_driverlib_peripheral.ADC_SafetyCheckInst){
|
|
|
|
|
% var currentRPTR = device_driverlib_peripheral.ADC_SafetyCheckInst[rptrIndex].name
|
|
|
|
|
% var rptrNumber = (currentRPTR).replace(/[^0-9]/g,'');
|
|
|
|
|
% var socName = "ADC_SOC_NUMBER"+(instance["safetycheck"+rptrNumber+"usedSOC"]).replace(/[^0-9]/g,'') ;
|
|
|
|
|
//
|
|
|
|
|
// Configures the safety checker result for a selected SOC.
|
|
|
|
|
// scBase : `baseName`
|
|
|
|
|
// socNumber : `instance["safetycheck"+rptrNumber+"usedSOC"]`
|
|
|
|
|
// scInput : `instance["safetycheck"+rptrNumber+"inputSource"]`
|
|
|
|
|
ADC_configSOCSafetyCheckerInput(`baseName`,`socName`,`instance["safetycheck"+rptrNumber+"inputSource"]`);
|
2023-06-24 09:05:38 +03:00
|
|
|
//
|
2023-07-24 12:14:00 +03:00
|
|
|
// Configures the safety checker module.
|
|
|
|
|
// scBase : `baseName`
|
|
|
|
|
// SafetyCheckerInstant : `rptrNumber`
|
|
|
|
|
// ADCInstant : `instance["safetycheck"+rptrNumber+"ADC"]`
|
|
|
|
|
// adcResultInst : `instance["safetycheck"+rptrNumber+"ResultSelect"]`
|
|
|
|
|
ADC_configureSafetyChecker(`baseName`, ADC_SAFETY_CHECK`rptrNumber`,`instance["safetycheck"+rptrNumber+"ADC"]`,`instance["safetycheck"+rptrNumber+"ResultSelect"]`);
|
|
|
|
|
% }
|
|
|
|
|
//
|
|
|
|
|
// Configures the tolerance allowed between safety check results.
|
|
|
|
|
// scBase : `baseName`
|
|
|
|
|
// tolerance : `instance["safetyCheckTolerance"]`
|
|
|
|
|
ADC_setSafetyCheckerTolerance(`baseName`,`instance["safetyCheckTolerance"]`);
|
2023-06-24 09:05:38 +03:00
|
|
|
% if(instance.enableSafetychecker){
|
|
|
|
|
//
|
|
|
|
|
// Enables the ADC result safety checker module.
|
|
|
|
|
//
|
|
|
|
|
ADC_enableSafetyChecker(`baseName`);
|
|
|
|
|
% }
|
|
|
|
|
% else{
|
|
|
|
|
//
|
|
|
|
|
// Disables the ADC result safety checker module.
|
|
|
|
|
//
|
|
|
|
|
ADC_disableSafetyChecker(`baseName`);
|
|
|
|
|
% }
|
2023-07-24 12:14:00 +03:00
|
|
|
% for (var sftychkr in device_driverlib_memmap.ADCSAFETYCHK) {
|
|
|
|
|
% for (var chkrslt in device_driverlib_peripheral.ADC_SafetyCheckResult){
|
|
|
|
|
% var currentchkrslt= device_driverlib_memmap.ADCSAFETYCHK[sftychkr].name.replace("_BASE","").replace("ADC","");
|
|
|
|
|
% var currentsftychkr = device_driverlib_peripheral.ADC_SafetyCheckResult[chkrslt].name.replace("ADC_SAFETY_CHECK_","");
|
|
|
|
|
% var chkrNumber = currentchkrslt.replace(/[^0-9]/g,'');
|
|
|
|
|
% var chkrResult = device_driverlib_peripheral.ADC_SafetyCheckResult[chkrslt].name;
|
|
|
|
|
% if (stat.enableInterrupt) {
|
|
|
|
|
% if((stat.eventInterruptSource).includes(currentchkrslt + currentsftychkr)){
|
|
|
|
|
//
|
|
|
|
|
// Enable Safety Checker `chkrNumber` `currentsftychkr` interrupt
|
|
|
|
|
//
|
|
|
|
|
ADC_enableSafetyCheckInt(`baseName`, ADC_SAFETY_CHECKER`chkrNumber`, `chkrResult`);
|
|
|
|
|
% }
|
|
|
|
|
% }
|
|
|
|
|
% }
|
|
|
|
|
% }
|
|
|
|
|
% for(var evntIndex in device_driverlib_peripheral.ADC_SafetyCheckEvent){
|
|
|
|
|
% var currentEvnt = device_driverlib_peripheral.ADC_SafetyCheckEvent[evntIndex].name
|
|
|
|
|
% var evntNumber = (currentEvnt).replace(/[^0-9]/g,'')
|
|
|
|
|
% if((stat.enableEvent).includes(currentEvnt)){
|
|
|
|
|
% for (var sftychkr in device_driverlib_memmap.ADCSAFETYCHK) {
|
|
|
|
|
% for (var chkrslt in device_driverlib_peripheral.ADC_SafetyCheckResult){
|
|
|
|
|
% var currentchkrslt= device_driverlib_memmap.ADCSAFETYCHK[sftychkr].name.replace("_BASE","").replace("ADC","");
|
|
|
|
|
% var currentsftychkr = device_driverlib_peripheral.ADC_SafetyCheckResult[chkrslt].name.replace("ADC_SAFETY_CHECK_","");
|
|
|
|
|
% var chkrNumber = currentchkrslt.replace(/[^0-9]/g,'');
|
|
|
|
|
% var chkrResult = device_driverlib_peripheral.ADC_SafetyCheckResult[chkrslt].name;
|
|
|
|
|
% if((stat["chkEvent" + evntNumber + "Source"]).includes(currentchkrslt + currentsftychkr)){
|
|
|
|
|
//
|
|
|
|
|
// Enable Safety Checker `chkrNumber` `currentsftychkr` event `evntNumber`
|
|
|
|
|
//
|
|
|
|
|
ADC_enableSafetyCheckEvt(`baseName`, ADC_SAFETY_CHECKER`chkrNumber`, ADC_SAFETY_CHECK_EVENT`evntNumber`, `chkrResult`);
|
|
|
|
|
% }
|
|
|
|
|
% }
|
|
|
|
|
% }
|
|
|
|
|
% }
|
2023-06-24 09:05:38 +03:00
|
|
|
% }
|
|
|
|
|
}
|
|
|
|
|
% }
|
|
|
|
|
% }
|