Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -rb8d74fc5b07d0e62d841b4c5a786b2be4e593c63 -rba7a576375ad7bbfa0d5a879d82b8783e5182899 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision b8d74fc5b07d0e62d841b4c5a786b2be4e593c63) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision ba7a576375ad7bbfa0d5a879d82b8783e5182899) @@ -51,7 +51,7 @@ #define NORMAL_PRESSURE_DIFF_TOLERANCE_MMHG 5.0 ///< Difference in pressure readings after return to normal state tolerance (in mmHg). -#define DIP_FLOW_RATE_SETUP_ML_MIN 100 ///< Dialysate inlet pump flow rate during the setup for wet self-test. +#define DIP_FLOW_RATE_SETUP_ML_MIN 150 ///< Dialysate inlet pump flow rate during the setup for wet self-test. #define DIP_FLOW_RATE_FIRST_DISPLACEMENT_ML_MIN 100 ///< Dialysate inlet pump flow rate during the first displacement in wet self-test. #define DIP_FLOW_RATE_SECOND_DISPLACEMENT_ML_MIN 600 ///< Dialysate inlet pump flow rate during the second displacement in wet self-test. @@ -61,9 +61,9 @@ #define WET_SELF_TEST_INTEGRATED_VOLUME_TOLERANCE 5.0 ///< Tolerance on integrated volume in percentage. #define WET_SELF_TEST_DISPLACEMENT_TOLERANCE_G 1.5 ///< Tolerance in the load cell readings of the displacement in grams. #define WET_SELF_TEST_DISPLACEMENT_TIME_MS ( SEC_PER_MIN * MS_PER_SECOND ) ///< Time to displace dialysate in wet self-test in ms. -#define RESERVOIR_SETTLE_TIME_MS ( 4 * SEC_PER_MIN * MS_PER_SECOND ) ///< Time allotted for reservoir to settle in ms. +#define RESERVOIR_SETTLE_TIME_MS ( 4 * MS_PER_SECOND ) ///< Time allotted for reservoir to settle in ms. -#define MAX_NO_CARTRIDGE_SELF_TEST_TIME SEC_PER_MIN ///< Maximum no cartridge self-test time (in seconds). +#define MAX_NO_CARTRIDGE_SELF_TEST_TIME 30 ///< Maximum no cartridge self-test time (in seconds). #define MAX_DRY_SELF_TEST_TIME ( 3 * SEC_PER_MIN ) ///< Maximum dry self-test time (in seconds). #define SELF_TEST_TIME_DATA_PUB_INTERVAL ( MS_PER_SECOND ) ///< Interval (ms/task time) at which self-test time data is published on the CAN bus. @@ -988,7 +988,11 @@ if ( TRUE == selfTestsResumeRequested ) { selfTestsResumeRequested = FALSE; +#ifndef SKIP_DRY_SELF_TESTS state = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; +#else + state = DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE; +#endif } return state; @@ -1089,20 +1093,20 @@ static WET_SELF_TESTS_STATE_T handleWetSelfTestPrimeCheckState( SELF_TEST_STATUS_T *result ) { WET_SELF_TESTS_STATE_T state = WET_SELF_TESTS_PRIME_CHECK_STATE; + *result = SELF_TEST_STATUS_FAILED; // TODO: Use appropriate sensor driver BOOL const isADADetectedAir = getFPGAArterialAirBubbleStatus(); BOOL const isADVDetectedAir = getFPGAVenousAirBubbleStatus(); +#ifndef SKIP_AIR_BUBBLE_CHECK if ( ( FALSE == isADADetectedAir ) && ( FALSE == isADVDetectedAir ) ) +#endif { settleStartTime = getMSTimerCount(); - currentWetSelfTestsState = WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE; + state = WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE; + *result = SELF_TEST_STATUS_PASSED; } - else - { - *result = SELF_TEST_STATUS_FAILED; - } if ( TRUE == doesAlarmStatusIndicateStop() ) {