Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r92f32196d272e32f9480e82dd09a038bb68753bc -r827d379703a8ca50989d932e92bc2f488ed82f1e --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 92f32196d272e32f9480e82dd09a038bb68753bc) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 827d379703a8ca50989d932e92bc2f488ed82f1e) @@ -77,8 +77,10 @@ /// Interval (in task intervals) at which to publish standby mode data to CAN bus. static OVERRIDE_U32_T standbyModePublishInterval = { DISINFECTS_DATA_PUB_INTERVAL, DISINFECTS_DATA_PUB_INTERVAL, DISINFECTS_DATA_PUB_INTERVAL, 0 }; -#ifdef CARTRIDGE_TEST_BUILD -static BOOL testCartridgesMode = FALSE; // Flag indicates we are testing cartridges. Used only for cartridge test build. +#ifdef CARTRIDGE_TEST_BUILD // Variables and definitions used only for cartridge test build. +#define CARTRIDGE_TEST_COMPLETE_TIME ( ( 10 * SEC_PER_MIN * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) +static BOOL testCartridgesMode = FALSE; // Flag indicates we are testing cartridges. +static U32 testCartridgesTimerCtr = 0; // Test timer counter. #endif // ********** private function prototypes ********** @@ -236,6 +238,15 @@ } #ifdef CARTRIDGE_TEST_BUILD + if ( ( TRUE == testCartridgesMode ) && ( ++testCartridgesTimerCtr >= CARTRIDGE_TEST_COMPLETE_TIME ) ) + { + stop = TRUE; // Stop cartridge test after 10 hrs + } + if ( TRUE == isAlarmActive( ALARM_ID_HD_FLUID_LEAK_DETECTED ) ) + { + stop = TRUE; // Stop cartridge test if a fluid leak is detected + } + if ( TRUE == stop ) { if ( testCartridgesMode != TRUE ) @@ -261,6 +272,7 @@ setValvePosition( VBV, VALVE_POSITION_A_INSERT_EJECT ); setValveAirTrap( STATE_OPEN ); testCartridgesMode = FALSE; + testCartridgesTimerCtr = 0; } } #endif