ADC Temp error handling, rename temps

This commit is contained in:
2022-11-23 12:54:49 +01:00
parent 8a95e24982
commit 9830c36543
9 changed files with 71 additions and 71 deletions

View File

@ -146,29 +146,53 @@ PRIVATE VOID vTask( PVOID arg )
UNUSED( arg );
BOOL boOK = TRUE;
U8 error;
U16 u16ADC_data[ADCD_eNumberOfTemps];
U8 u8error;
U16 u16ADC_data;
FLOAT flTempData[ADCD_eNumberOfTemps];
osDelay(10);
while( TRUE )
{
boOK &= ADCD_boReadData( ADCD_eHot, &error, &u16ADC_data[ADCD_eHot] );
boOK &= ADCD_boReadData( ADCD_eCold, &error, &u16ADC_data[ADCD_eCold] );
/** @todo call errorhandler if value == 0 */
boOK &= ADCD_boReadData( ADCD_eWater, &u8error, &u16ADC_data );
if( boOK )
{
flTempData[ADCD_eHot] = flConvertADCData( u16ADC_data[ADCD_eHot] );
flTempData[ADCD_eCold] = flConvertADCData( u16ADC_data[ADCD_eCold] );
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_H, flTempData[ADCD_eHot] );
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_C, flTempData[ADCD_eCold] );
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_Diff, flTempData[ADCD_eHot] - flTempData[ADCD_eCold] );
flTempData[ADCD_eWater] = flConvertADCData( u16ADC_data );
} else {
if( (u8error & ADCD_STATUS_DATA_ERROR) == ADCD_STATUS_DATA_ERROR ){
flTempData[ADCD_eWater] = -273.16f;
/** @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 */
}
}
boOK &= ADCD_boReadData( ADCD_eModule, &u8error, &u16ADC_data );
if( boOK )
{
flTempData[ADCD_eModule] = flConvertADCData( u16ADC_data );
} else {
if( (u8error & ADCD_STATUS_DATA_ERROR) == ADCD_STATUS_DATA_ERROR ){
flTempData[ADCD_eModule] = -273.16f;
/** @todo call error handler temp data */
} else if( (u8error & ADCD_SPI_FAILURE) == ADCD_SPI_FAILURE ){
flTempData[ADCD_eModule] = -273.16f;
/** @todo call error handler onchip spi failure */
}
}
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_Water, flTempData[ADCD_eWater] );
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_Module, flTempData[ADCD_eModule] );
VARH_vSetVariableDataFromSystemFloat( VARH_eTemp_Diff, flTempData[ADCD_eWater] - flTempData[ADCD_eModule] );
boOK = TRUE;
osDelay(REFRESH_MS);
}
}