Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -rede368b67b0aecd60a9d90546eca353eb6f86e58 -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision ede368b67b0aecd60a9d90546eca353eb6f86e58) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -501,7 +501,7 @@ } // If the alarm has been raised the silence the alarm time has elapsed, get ready to raise the alarm in case the RPM was out of range // Once the alarm is raised, it is not raised again for 24 hours - else if ( ( TRUE == hasAlarmBeenRaised ) && ( ( calcTimeSince( rpmAlarmStartTime ) + getRPMAlarmStartTimeOffset() ) >= SECONDS_IN_A_DAY * MS_PER_SECOND ) ) + else if ( ( calcTimeSince( rpmAlarmStartTime ) + getRPMAlarmStartTimeOffset() ) >= SECONDS_IN_A_DAY * MS_PER_SECOND ) { hasAlarmBeenRaised = FALSE; rpmAlarmStartTime = 0; @@ -667,17 +667,16 @@ * start time offset. * @details Inputs: none * @details Outputs: rpmAlarmStartTimeOffset - * @param hours hours to override - * @param minutes minutes to override + * @param seconds seconds to override * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetFanRPMAlarmStartTimeOffsetOverride( U32 hours, U32 minutes ) +BOOL testSetFanRPMAlarmStartTimeOffsetOverride( U32 seconds ) { BOOL result = FALSE; if ( TRUE == isTestingActivated() ) { - rpmAlarmStartTimeOffset.ovData = ( ( hours * MIN_PER_HOUR * SEC_PER_MIN ) + ( minutes * SEC_PER_MIN ) ) * MS_PER_SECOND; + rpmAlarmStartTimeOffset.ovData = seconds * MS_PER_SECOND; rpmAlarmStartTimeOffset.override = OVERRIDE_KEY; result = TRUE; Index: firmware/App/Controllers/Fans.h =================================================================== diff -u -rcc8b9ddb9905161ddb0dc2af6bfbf863408669c8 -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Controllers/Fans.h (.../Fans.h) (revision cc8b9ddb9905161ddb0dc2af6bfbf863408669c8) +++ firmware/App/Controllers/Fans.h (.../Fans.h) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -68,7 +68,7 @@ BOOL testSetFanRPMOverride( U32 fanId, F32 rpm ); BOOL testResetFanRPMOverride( U32 fanId ); -BOOL testSetFanRPMAlarmStartTimeOffsetOverride( U32 hours, U32 minutes ); +BOOL testSetFanRPMAlarmStartTimeOffsetOverride( U32 seconds ); BOOL testResetFanRPMAlarmStartTimeOffsetOverride( void ); BOOL testSetFansDutyCycleOverride( F32 value ); Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r609d5c77e1f5bd85e9dd1a90b786e56004a79f06 -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 609d5c77e1f5bd85e9dd1a90b786e56004a79f06) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -672,7 +672,7 @@ { heaterEfficiency -= ( lastFillTemperature - primaryTargetTemperature ) * PRIMARY_HEATER_DUTY_CYCLE_PER_TEMPERATURE_C; } - else if ( lastFillTemperature - primaryTargetTemperature <= MAXIMUM_ALLOWED_TARGET_TEMPERATURE_DEVIATION_C ) + else { heaterEfficiency += ( primaryTargetTemperature - lastFillTemperature ) * PRIMARY_HEATER_DUTY_CYCLE_PER_TEMPERATURE_C; } Index: firmware/App/Controllers/Switches.c =================================================================== diff -u -r986abcfcf047822cad1a10c1ee0924a80dd5f512 -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Controllers/Switches.c (.../Switches.c) (revision 986abcfcf047822cad1a10c1ee0924a80dd5f512) +++ firmware/App/Controllers/Switches.c (.../Switches.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -106,9 +106,8 @@ currentSwitchStatus = ( getFPGAGFluidDoorStatus() != 0 ? STATE_OPEN : STATE_CLOSED ); break; - default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_DG_INVALID_SWITCH_ID, i ) - break; + // NOTE: the default case was removed since this switch case is executed using a for loop so the default + // case is never called. The default case is unreachable in development testing. } // Check if the current switch status is not the same as the recorded data Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -rede368b67b0aecd60a9d90546eca353eb6f86e58 -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision ede368b67b0aecd60a9d90546eca353eb6f86e58) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -984,7 +984,7 @@ { primeAcidSteadyStateCounter = 0; } - else if ( cd2Conductivity > MIN_ACID_CONDUCTIVITY_US_PER_CM ) + else { // Check if the acid conductivity value has been if ( ++primeAcidSteadyStateCounter >= PRIME_ACID_STEADY_CONDUCTIVITY_TIME_MS ) Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -rd756f33d33c00c6ed3adddb1a31a2bd03ac1327a -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision d756f33d33c00c6ed3adddb1a31a2bd03ac1327a) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -892,7 +892,8 @@ } // handle any test messages if tester has logged in successfully - if ( ( msgID > MSG_ID_FIRST_DG_TESTER_MESSAGE ) && ( msgID <= END_OF_MSG_IDS ) && ( TRUE == isTestingActivated() ) ) + // NOTE: END_OF_MSG_IDS = 65536 which is out of the range of a U16 so it is subtracted by 1. This is unreachable in development testing + if ( ( msgID > MSG_ID_FIRST_DG_TESTER_MESSAGE ) && ( msgID <= END_OF_MSG_IDS - 1 ) && ( TRUE == isTestingActivated() ) ) { switch ( msgID ) { Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rd756f33d33c00c6ed3adddb1a31a2bd03ac1327a -r02654dc5b372b3af948ebd28aabb95cc4b51c785 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision d756f33d33c00c6ed3adddb1a31a2bd03ac1327a) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) @@ -3260,17 +3260,17 @@ *************************************************************************/ void handleTestFansRPMAlarmStartTimeOffsetOverrideRequest( MESSAGE_T *message ) { - TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; + TEST_OVERRIDE_PAYLOAD_T payload; BOOL result = FALSE; // verify payload length - if ( sizeof( TEST_OVERRIDE_ARRAY_PAYLOAD_T ) == message->hdr.payloadLen ) + if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) { - memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_ARRAY_PAYLOAD_T ) ); + memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); if ( FALSE == payload.reset ) { - result = testSetFanRPMAlarmStartTimeOffsetOverride( payload.state.u32, payload.index ); + result = testSetFanRPMAlarmStartTimeOffsetOverride( payload.state.u32 ); } else {