Index: firmware/App/Drivers/ConductivitySensors.c =================================================================== diff -u -ra9983d3e6b07e7c927fab3d16e80b715594fe221 -rac4caa05957f8ff84a5e4c2b1ef8fcf92500411b --- firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision a9983d3e6b07e7c927fab3d16e80b715594fe221) +++ firmware/App/Drivers/ConductivitySensors.c (.../ConductivitySensors.c) (revision ac4caa05957f8ff84a5e4c2b1ef8fcf92500411b) @@ -220,7 +220,7 @@ checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D17_COND_SENSOR, getConductivitySensorErrorCount( D17_COND ) ); checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D27_COND_SENSOR, getConductivitySensorErrorCount( D27_COND ) ); - checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D27_COND_SENSOR, getConductivitySensorErrorCount( D29_COND ) ); + checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D29_COND_SENSOR, getConductivitySensorErrorCount( D29_COND ) ); checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D43_COND_SENSOR, getConductivitySensorErrorCount( D43_COND ) ); checkFPGAPersistentErrorCountAlarm( FPGA_PERS_ERROR_D74_COND_SENSOR, getConductivitySensorErrorCount( D74_COND ) ); } Index: firmware/App/Drivers/SafetyShutdown.c =================================================================== diff -u -rf7c714a1a09b10d85a8b013712532d37b4d7b97a -rac4caa05957f8ff84a5e4c2b1ef8fcf92500411b --- firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision f7c714a1a09b10d85a8b013712532d37b4d7b97a) +++ firmware/App/Drivers/SafetyShutdown.c (.../SafetyShutdown.c) (revision ac4caa05957f8ff84a5e4c2b1ef8fcf92500411b) @@ -194,65 +194,55 @@ safetyShutdownSelfTestState = SAFETY_SHUTDOWN_SELF_TEST_STATE_START; } -/*********************************************************************//** - * @brief - * The testSetSafetyShutdownOverride function overrides the HD safety shutdown. - * @details \b Inputs: none - * @details \b Outputs: HD safety shutdown overridden - * @param value TRUE to activate safety shutdown, FALSE to de-activate it - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testSetSafetyShutdownOverride( U32 value ) -{ - BOOL result = FALSE; + +/************************************************************************* + * TEST SUPPORT FUNCTIONS + *************************************************************************/ + + +/*********************************************************************//** + * @brief + * The testSetResetSafetyShutdownOverride function set/reset safety shutdown. + * @details \b Inputs: tester logged in + * @details \b Outputs: safetyShutdownActivated + * @param message set message from Dialin which includes the safety shutdown + * value and set/reset flag. + * @return TRUE if set/reset request is successful, FALSE if not + *************************************************************************/ +BOOL testSetResetSafetyShutdownOverride( MESSAGE_T *message ) +{ + BOOL result = FALSE; + + // Verify payload length is valid + if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) + { + TEST_OVERRIDE_PAYLOAD_T payload; + + result = TRUE; + + memcpy( &payload, message->payload, sizeof(TEST_OVERRIDE_PAYLOAD_T) ); + + if ( ( payload.state.u32 > 0 ) && ( payload.reset != TRUE ) ) + { + // remember natural state before override so we can reset + safetyShutdownOverrideResetState = safetyShutdownActivated; + activateSafetyShutdown(); + } + else if ( ( TRUE == safetyShutdownOverrideResetState ) && ( payload.reset != FALSE ) ) + { + activateSafetyShutdown(); + } + else + { + safetyShutdownActivated = FALSE; + clear_saftety_shutdown(); + } + } + + return result; +} + + - if ( TRUE == isTestingActivated() ) - { - // remember natural state before override so we can reset - safetyShutdownOverrideResetState = safetyShutdownActivated; - // override safety shutdown signal - if ( value > 0 ) - { - activateSafetyShutdown(); - } - else - { - safetyShutdownActivated = FALSE; - clear_saftety_shutdown(); - } - result = TRUE; - } - return result; -} - -/*********************************************************************//** - * @brief - * The testResetSafetyShutdownOverride function resets the override of the - * HD safety shutdown. - * @details \b Inputs: none - * @details \b Outputs: shutdown override reset - * @return TRUE if override reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSafetyShutdownOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - if ( TRUE == safetyShutdownOverrideResetState ) - { - activateSafetyShutdown(); - } - else - { - safetyShutdownActivated = FALSE; - clear_saftety_shutdown(); - } - result = TRUE; - } - - return result; -} - /**@}*/ Index: firmware/App/Drivers/SafetyShutdown.h =================================================================== diff -u -rf7c714a1a09b10d85a8b013712532d37b4d7b97a -rac4caa05957f8ff84a5e4c2b1ef8fcf92500411b --- firmware/App/Drivers/SafetyShutdown.h (.../SafetyShutdown.h) (revision f7c714a1a09b10d85a8b013712532d37b4d7b97a) +++ firmware/App/Drivers/SafetyShutdown.h (.../SafetyShutdown.h) (revision ac4caa05957f8ff84a5e4c2b1ef8fcf92500411b) @@ -34,19 +34,18 @@ typedef struct { U32 isSafetyShutdownActivated; ///< Is safety shutdown active boolean flag -} DG_SAFETY_SHUTDOWN_DATA_T; - +} DG_SAFETY_SHUTDOWN_DATA_T; + // ********** public function prototypes ********** void initSafetyShutdown( void ); void activateSafetyShutdown( void ); BOOL isSafetyShutdownActivated( void ); SELF_TEST_STATUS_T execSafetyShutdownTest( void ); void resetSafetyShutdownPOSTState( void ); + +BOOL testSetResetSafetyShutdownOverride( MESSAGE_T *message ); -BOOL testSetSafetyShutdownOverride( U32 value ); -BOOL testResetSafetyShutdownOverride( void ); - /**@}*/ #endif