v08 - add error handling
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user