Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r660876bca7ae34f862ae9cc6feef9a30ec02fe94 -r82b7c4c94b0f8b3f8a3d3d2e41384a7a7d497215 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 660876bca7ae34f862ae9cc6feef9a30ec02fe94) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 82b7c4c94b0f8b3f8a3d3d2e41384a7a7d497215) @@ -288,6 +288,8 @@ *************************************************************************/ void execNoCartSelfTests( void ) { + NO_CART_SELF_TESTS_STATE_T priorSubState = currentNoCartSelfTestsState; + // execute no cartridge self-tests state machine switch ( currentNoCartSelfTestsState ) { @@ -335,6 +337,10 @@ // Self-tests flags should be handled by now, reset if flags not handled with current state resetSelfTestsFlags(); + if ( priorSubState != currentNoCartSelfTestsState ) + { + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_STATE_CHANGE, priorSubState, currentNoCartSelfTestsState ); + } // Publish current self-test time data if ( calcTimeSince( selfTestPreviousPublishDataTime ) >= SELF_TEST_TIME_DATA_PUB_INTERVAL ) { @@ -415,6 +421,8 @@ *************************************************************************/ void execDrySelfTests( void ) { + DRY_SELF_TESTS_STATE_T priorSubState = currentDrySelfTestsState; + // execute dry self-tests state machine switch ( currentDrySelfTestsState ) { @@ -511,6 +519,10 @@ // Self-tests flags should be handled by now, reset if flags not handled with current state resetSelfTestsFlags(); + if ( priorSubState != currentDrySelfTestsState ) + { + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_STATE_CHANGE, priorSubState, currentDrySelfTestsState ); + } // Publish current self-test time data if ( calcTimeSince( selfTestPreviousPublishDataTime ) >= SELF_TEST_TIME_DATA_PUB_INTERVAL ) { @@ -589,6 +601,8 @@ *************************************************************************/ void execWetSelfTests( void ) { + WET_SELF_TESTS_STATE_T priorSubState = currentWetSelfTestsState; + #ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_WET_SELF_TEST ) == SW_CONFIG_ENABLE_VALUE ) { @@ -658,6 +672,11 @@ // Self-tests flags should be handled by now, reset if flags not handled with current state resetSelfTestsFlags(); + + if ( priorSubState != currentWetSelfTestsState ) + { + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_STATE_CHANGE, priorSubState, currentWetSelfTestsState ); + } } /*********************************************************************//**