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 Index: NVDataMgmtHDRecords.h =================================================================== diff -u -r66600859e4fb3036f48901aae8c9845f37e3e707 -r25f65e8a300e8541f5b772c11c458b659c3cd43e --- NVDataMgmtHDRecords.h (.../NVDataMgmtHDRecords.h) (revision 66600859e4fb3036f48901aae8c9845f37e3e707) +++ NVDataMgmtHDRecords.h (.../NVDataMgmtHDRecords.h) (revision 25f65e8a300e8541f5b772c11c458b659c3cd43e) @@ -39,13 +39,13 @@ /// Software configuration enums typedef enum software_configurations { - SW_CONFIG_DISABLE_ALARM_AUDIO = 0, - SW_CONFIG_DISABLE_AIR_TRAP_LEVELING_ALARM, - SW_CONFIG_DISABLE_ACK_ERRORS, - SW_CONFIG_ENABLE_WORN_OUT_CARTRIDGE, - SW_CONFIG_DISABLE_MOTOR_CURRNT_CHECKS, - SW_CONFIG_DISABLE_PUMP_FLOW_CHECKS, - SW_CONFIG_DISABLE_PUMP_DIRECTION_CHECKS, + SW_CONFIG_DISABLE_ALARM_AUDIO = 0, ///< Software configuration disable alarm audio. + SW_CONFIG_DISABLE_AIR_TRAP_LEVELING_ALARM, ///< Software configuration disable air trap leveling alarm. + SW_CONFIG_DISABLE_ACK_ERRORS, ///< Software configuration disable acknowledge errors. + SW_CONFIG_ENABLE_WORN_OUT_CARTRIDGE, ///< Software configuration enable worn out cartridge. + SW_CONFIG_DISABLE_MOTOR_CURRNT_CHECKS, ///< Software configuration disable motor current checks. + SW_CONFIG_DISABLE_PUMP_FLOW_CHECKS, ///< Software configuration disable pump flow checks. + SW_CONFIG_DISABLE_PUMP_DIRECTION_CHECKS, ///< Software configuration disable pump direction checks. SW_CONFIG_DISABLE_PUMP_SPEED_CHECKS, SW_CONFIG_DISABLE_SYRINGE_PUMP, SW_CONFIG_ENABLE_SYRINGE_PUMP_CMDS,