Index: NVDataMgmt.c =================================================================== diff -u -rb8e02ae9dc7f0ee831aaba7d15d7df96e745d1e5 -r25f65e8a300e8541f5b772c11c458b659c3cd43e --- NVDataMgmt.c (.../NVDataMgmt.c) (revision b8e02ae9dc7f0ee831aaba7d15d7df96e745d1e5) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 25f65e8a300e8541f5b772c11c458b659c3cd43e) @@ -2857,7 +2857,58 @@ return status; } +/*********************************************************************//** + * @brief + * The isSWConfigRecordValid function checks the validity of the software + * configuration record. + * @details Inputs: dgSWConfigGroup, hdSWConfigGroup + * @details Outputs: dgSWConfigGroup, hdSWConfigGroup + * @return TRUE if the DG system record is valid otherwise FALSE + *************************************************************************/ +static BOOL isSWConfigRecordValid( void ) +{ + BOOL status = TRUE; + #ifdef _DG_ + U16 calcCRC = crc16( (U08*)&dgSWConfigGroup, sizeof( DG_SW_CONFIG_GROUP_T ) - sizeof(U16) ); + U16 recordCRC = dgSWConfigGroup.crc; + + if ( calcCRC != recordCRC ) + { + memset( (U08*)&dgSWConfigGroup, 0, sizeof( DG_SW_CONFIG_GROUP_T ) ); + + // Recalculate the CRC with the default values + dgSWConfigGroup.crc = crc16( (U08*)&dgSWConfigGroup, sizeof( DG_SW_CONFIG_GROUP_T ) - sizeof(U16) ); + + //activateAlarmNoData( ALARM_ID_DG_SW_CONFIG_RECORD_INVALID_CRC ); // TODO remove + + // Set the to FALSE since the record is not valid + status = FALSE; + } +#endif + +#ifdef _HD_ + U16 calcCRC = crc16( (U08*)&hdSWConfigGroup, sizeof( HD_SW_CONFIG_GROUP_T ) - sizeof(U16) ); + U16 recordCRC = hdSWConfigGroup.crc; + + if ( calcCRC != recordCRC ) + { + memset( (U08*)&hdSWConfigGroup, SW_CONFIG_DISABLE_VALUE, sizeof( HD_SW_CONFIG_GROUP_T ) ); + + // Recalculate the CRC with the default values + hdSWConfigGroup.crc = crc16( (U08*)&hdSWConfigGroup, sizeof( HD_SW_CONFIG_GROUP_T ) - sizeof(U16) ); + + //activateAlarmNoData( ALARM_ID_HD_SW_CONFIG_RECORD_INVALID_CRC ); // TODO remove + + // Set the to FALSE since the record is not valid + status = FALSE; + } +#endif + + return status; +} + +#ifdef _DG_ /*********************************************************************//** * @brief * The isDGSystemRecordValid function checks the validity of the DG system @@ -3122,57 +3173,6 @@ /*********************************************************************//** * @brief - * The isSWConfigRecordValid function checks the validity of the software - * configuration record. - * @details Inputs: dgSWConfigGroup, hdSWConfigGroup - * @details Outputs: dgSWConfigGroup, hdSWConfigGroup - * @return TRUE if the DG system record is valid otherwise FALSE - *************************************************************************/ -static BOOL isSWConfigRecordValid( void ) -{ - BOOL status = TRUE; - -#ifdef _DG_ - U16 calcCRC = crc16( (U08*)&dgSWConfigGroup, sizeof( DG_SW_CONFIG_GROUP_T ) - sizeof(U16) ); - U16 recordCRC = dgSWConfigGroup.crc; - - if ( calcCRC != recordCRC ) - { - memset( (U08*)&dgSWConfigGroup, 0, sizeof( DG_SW_CONFIG_GROUP_T ) ); - - // Recalculate the CRC with the default values - dgSWConfigGroup.crc = crc16( (U08*)&dgSWConfigGroup, sizeof( DG_SW_CONFIG_GROUP_T ) - sizeof(U16) ); - - //activateAlarmNoData( ALARM_ID_DG_SW_CONFIG_RECORD_INVALID_CRC ); // TODO remove - - // Set the to FALSE since the record is not valid - status = FALSE; - } -#endif - -#ifdef _HD_ - U16 calcCRC = crc16( (U08*)&hdSWConfigGroup, sizeof( HD_SW_CONFIG_GROUP_T ) - sizeof(U16) ); - U16 recordCRC = hdSWConfigGroup.crc; - - if ( calcCRC != recordCRC ) - { - memset( (U08*)&hdSWConfigGroup, SW_CONFIG_DISABLE_VALUE, sizeof( HD_SW_CONFIG_GROUP_T ) ); - - // Recalculate the CRC with the default values - hdSWConfigGroup.crc = crc16( (U08*)&hdSWConfigGroup, sizeof( HD_SW_CONFIG_GROUP_T ) - sizeof(U16) ); - - //activateAlarmNoData( ALARM_ID_HD_SW_CONFIG_RECORD_INVALID_CRC ); // TODO remove - - // Set the to FALSE since the record is not valid - status = FALSE; - } -#endif - - return status; -} - -/*********************************************************************//** - * @brief * The isDGConcPumpRecordValid function checks whether the calibration * record of concentrate pump is valid or not. * @details Inputs: none