v08 - add error handling

This commit is contained in:
2024-10-18 10:54:47 +02:00
parent dc2dedf822
commit 2fbc3b3023
14 changed files with 3030 additions and 191 deletions

View File

@ -36,6 +36,8 @@
// Toolbox
#include "../Toolbox/UTIL_Utility.h"
#include "ERRH_ErrorHandler.h"
// Drivers
#include "ADCD_AdcDriver.h"
@ -161,11 +163,13 @@ PRIVATE VOID vTask( PVOID arg )
flTempData[ADCD_eWater] = flConvertADCData( u16ADC_data );
} else {
if( (u8error & ADCD_STATUS_DATA_ERROR) == ADCD_STATUS_DATA_ERROR ){
BOOL boFatal = TRUE;
if( (u8error & ADCD_FAULT_HIGHTHRESH) == ADCD_FAULT_HIGHTHRESH ){
flTempData[ADCD_eWater] = 4200.0f;
boFatal &= FALSE;
}else if( (u8error & ADCD_FAULT_LOWTHRESH) == ADCD_FAULT_LOWTHRESH ){
flTempData[ADCD_eWater] = -273.16f;
boFatal &= FALSE;
}else if( (u8error & ADCD_FAULT_REFINLOW) == ADCD_FAULT_REFINLOW ){
flTempData[ADCD_eWater] = -273.16f;
}else if( (u8error & ADCD_FAULT_REFINHIGH) == ADCD_FAULT_REFINHIGH ){
@ -178,19 +182,21 @@ PRIVATE VOID vTask( PVOID arg )
flTempData[ADCD_eWater] = -273.16f;
}
if(boFatal) ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORW_MASK | TEMP_ERROR_SENSOR_FAILURE | u8error);
/** @todo call error handler temp data */
} else if( (u8error & ADCD_SPI_FAILURE) == ADCD_SPI_FAILURE ){
flTempData[ADCD_eWater] = -273.16f;
/** @todo call error handler onchip spi failure */
ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORW_MASK | TEMP_ERROR_SPI_FAILURE);
} else {
flTempData[ADCD_eWater] = -273.16f;
ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORW_MASK | TEMP_ERROR_GENERAL_FAILURE);
}
u8error = 0;
boOK = TRUE;
}
@ -203,11 +209,13 @@ PRIVATE VOID vTask( PVOID arg )
flTempData[ADCD_eModule] = flConvertADCData( u16ADC_data );
} else {
if( (u8error & ADCD_STATUS_DATA_ERROR) == ADCD_STATUS_DATA_ERROR ){
BOOL boFatal = TRUE;
if( (u8error & ADCD_FAULT_HIGHTHRESH) == ADCD_FAULT_HIGHTHRESH ){
flTempData[ADCD_eModule] = 4200.0f;
boFatal &= FALSE;
}else if( (u8error & ADCD_FAULT_LOWTHRESH) == ADCD_FAULT_LOWTHRESH ){
flTempData[ADCD_eModule] = -273.16f;
boFatal &= FALSE;
}else if( (u8error & ADCD_FAULT_REFINLOW) == ADCD_FAULT_REFINLOW ){
flTempData[ADCD_eModule] = -273.16f;
}else if( (u8error & ADCD_FAULT_REFINHIGH) == ADCD_FAULT_REFINHIGH ){
@ -219,16 +227,18 @@ PRIVATE VOID vTask( PVOID arg )
} else {
flTempData[ADCD_eModule] = -273.16f;
}
/** @todo call error handler temp data */
if(boFatal) ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORM_MASK | TEMP_ERROR_SENSOR_FAILURE | u8error);
} else if( (u8error & ADCD_SPI_FAILURE) == ADCD_SPI_FAILURE ){
flTempData[ADCD_eModule] = -273.16f;
/** @todo call error handler onchip spi failure */
ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORM_MASK | TEMP_ERROR_SPI_FAILURE);
} else {
flTempData[ADCD_eModule] = -273.16f;
ERRH_vSetError(TEMP_ERROR_MASK | TEMP_ERROR_SENSORM_MASK | TEMP_ERROR_GENERAL_FAILURE);
}