Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rd3afa76096a5835e791b1e1b380065c4db3d81a1 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision d3afa76096a5835e791b1e1b380065c4db3d81a1) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -1265,7 +1265,9 @@ CALIBRATION_DATA_T cal; // Retrieve blood flow sensor calibration data and check for sensor connected status +#ifndef SKIP_CALIBRATION_TESTS if ( ( TRUE == getCalibrationData( &cal ) ) && ( BFM_SENSOR_PARAM_CORRUPT_STATUS != getFPGABloodFlowMeterStatus() ) ) +#endif { bloodFlowCalGain = cal.bloodFlowGain; bloodFlowCalOffset = cal.bloodFlowOffset_mL_min; Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r2f2419f67d9d458837893fef5cc1b21870021026 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 2f2419f67d9d458837893fef5cc1b21870021026) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -57,7 +57,8 @@ // DG status static DG_OP_MODE_T dgCurrentOpMode = DG_MODE_INIT; ///< Current DG operation mode. -static U32 dgSubMode = 0; ///< Current state (sub-mode) of current DG operation mode. +static U32 dgSubMode = 0; ///< Current state (sub-mode) of current DG operation mode. +static BOOL dgStartCommandSent = FALSE; ///< Flag indicates command to start DG has been sent. static BOOL dgStarted = FALSE; ///< Flag indicates whether we have commanded the DG to start or stop. static BOOL dgTrimmerHeaterOn = FALSE; ///< Flag indicates whether we have commanded the DG to start or stop the trimmer heater. @@ -719,7 +720,7 @@ *************************************************************************/ void cmdStartDG( void ) { - dgStarted = TRUE; + dgStartCommandSent = TRUE; sendDGStartStopCommand( START_DG_CMD ); } @@ -946,6 +947,12 @@ *************************************************************************/ void checkDGRestart( void ) { + if ( dgStartCommandSent == TRUE && ( DG_MODE_CIRC == dgCurrentOpMode ) ) + { + dgStartCommandSent = FALSE; + dgStarted = TRUE; + } + if ( TRUE == dgStarted ) { if ( ( DG_MODE_FAUL != dgCurrentOpMode ) && ( DG_MODE_CIRC != dgCurrentOpMode ) && Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -rd3afa76096a5835e791b1e1b380065c4db3d81a1 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision d3afa76096a5835e791b1e1b380065c4db3d81a1) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -1221,8 +1221,10 @@ SELF_TEST_STATUS_T result = SELF_TEST_STATUS_FAILED; CALIBRATION_DATA_T cal; +#ifndef SKIP_CALIBRATION_TESTS // Retrieve dialysate flow sensor calibration data if ( ( TRUE == getCalibrationData( &cal ) ) && ( DFM_SENSOR_PARAM_CORRUPT_STATUS != getFPGADialysateFlowMeterStatus() ) ) +#endif { dialInFlowCalGain = cal.dialysateFlowGain; dialInFlowCalOffset = cal.dialysateFlowOffset_mL_min; Index: firmware/App/HDCommon.h =================================================================== diff -u -r4add377f60d45effbdc064b110a59c1b8afd0ab8 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision 4add377f60d45effbdc064b110a59c1b8afd0ab8) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -57,10 +57,12 @@ // #define READ_FPGA_ASYNC_DATA 1 // Test build reads non-priority register page every other time // #define EMC_TEST_BUILD 1 // EMC test build - HD/DG run separately but connected, HD pumps toggle on/off w/ stop button #define ALARMS_DEBUG 1 // Triggered alarms sent to debug UART - #define SKIP_SELF_TESTS 1 // Skip Pre-treatment Self-tests - #define SKIP_PRIMING 1 // Skip Pre-treatment Prime +// #define SKIP_PRIMING 1 // Skip Pre-treatment Prime #define SKIP_WET_SELF_TESTS 1 // Skip Pre-treatment prime wet self-tests // #define V1_5_SYSTEM 1 // Build for v1.5 system + #define SKIP_CONSUMABLE_TESTS 1 // Skip pre-treatment consumable Self-tests + #define SKIP_CALIBRATION_TESTS 1 // Skip pre-treatment self-tests involving calibration + #define SKIP_DRY_SELF_TESTS 1 // Skip pre-treatment dry self-tests #include #include Index: firmware/App/Modes/ConsumableSelfTest.c =================================================================== diff -u -r936acbb405970a406c8b1f557ea727e7cbf74c94 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision 936acbb405970a406c8b1f557ea727e7cbf74c94) +++ firmware/App/Modes/ConsumableSelfTest.c (.../ConsumableSelfTest.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -74,11 +74,27 @@ switch( currentConsumableSelfTestState ) { case CONSUMABLE_SELF_TESTS_INSTALL_STATE: +#ifndef SKIP_CONSUMABLE_TESTS if ( TRUE == confirmConsumableInstallRequested ) +#endif { + cmdStartDG(); + cmdSetDGDialysateTargetTemps( 39.0, 37.0 ); + cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); confirmConsumableInstallRequested = FALSE; +#ifdef SKIP_CONSUMABLE_TESTS + currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_COMPLETE_STATE; +#else + currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_FILL_CMD_STATE; +#endif + } + break; + + case CONSUMABLE_SELF_TESTS_FILL_CMD_STATE: + if ( ( DG_MODE_CIRC == getDGOpMode() ) && ( DG_RECIRCULATE_MODE_STATE_RECIRC_WATER == getDGSubMode() ) ) + { currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE; - signalStartFillReservoirOne(); + cmdStartDGFill( FILL_RESERVOIR_TO_VOLUME_ML ); } break; @@ -92,14 +108,15 @@ case CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE: if ( ( DG_MODE_FILL == getDGOpMode() ) && ( DG_FILL_MODE_STATE_ACID_PUMP_CHECK == getDGSubMode() ) ) { - currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE; + currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE; } break; case CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE: if ( ( DG_MODE_FILL == getDGOpMode() ) && ( DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION == getDGSubMode() ) ) { currentConsumableSelfTestState = CONSUMABLE_SELF_TESTS_COMPLETE_STATE; + cmdStopDGFill(); } break; Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r5e0257ef85adb18a5c8837d9804304f405080266 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 5e0257ef85adb18a5c8837d9804304f405080266) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -364,19 +364,6 @@ /*********************************************************************//** * @brief - * The signalStartFillReservoirOne function signals reservoir management - * state machine to start fill reservoir one. - * @details Inputs: none - * @details Outputs: started reservoir one fill - * @return none - *************************************************************************/ -void signalStartFillReservoirOne( void ) -{ - fillReservoirOneStartRequested = TRUE; -} - -/*********************************************************************//** - * @brief * The getReservoirFillStatus function returns the fill complete status for * given reservoir. * @details Inputs: reservoirFilledStatus @@ -492,9 +479,6 @@ if ( TRUE == isSampleWaterPassed() ) { state = HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE; - cmdStartDG(); - cmdSetDGDialysateTargetTemps( 39.0, 37.0 ); - cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); transitionToConsumableSelfTest(); } @@ -518,6 +502,7 @@ if ( CONSUMABLE_SELF_TESTS_COMPLETE_STATE == getConsumableSelfTestState() ) { state = HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE; + fillReservoirOneStartRequested = TRUE; transitionToNoCartSelfTests(); } Index: firmware/App/Modes/ModePreTreat.h =================================================================== diff -u -r5e0257ef85adb18a5c8837d9804304f405080266 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Modes/ModePreTreat.h (.../ModePreTreat.h) (revision 5e0257ef85adb18a5c8837d9804304f405080266) +++ firmware/App/Modes/ModePreTreat.h (.../ModePreTreat.h) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -60,7 +60,6 @@ void signalAlarmActionToPreTreatmentMode( ALARM_ACTION_T action ); // Execute alarm action as appropriate for pre-treatment mode -void signalStartFillReservoirOne( void ); BOOL getReservoirFillStatus( DG_RESERVOIR_ID_T reservoirID ); /**@}*/ Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r936acbb405970a406c8b1f557ea727e7cbf74c94 -r9e2667ac9d2f1b2add9811f93477f0365f1b4eb7 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 936acbb405970a406c8b1f557ea727e7cbf74c94) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 9e2667ac9d2f1b2add9811f93477f0365f1b4eb7) @@ -223,11 +223,7 @@ switch ( currentNoCartSelfTestsState ) { case NO_CART_SELF_TESTS_START_STATE: -#ifdef SKIP_SELF_TESTS - currentNoCartSelfTestsState = NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE; -#else currentNoCartSelfTestsState = NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE; -#endif break; case NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE: @@ -368,7 +364,7 @@ switch ( currentDrySelfTestsState ) { case DRY_SELF_TESTS_START_STATE: -#ifdef SKIP_SELF_TESTS +#ifdef SKIP_DRY_SELF_TESTS currentDrySelfTestsState = DRY_SELF_TESTS_COMPLETE_STATE; #else currentDrySelfTestsState = DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE;