Index: firmware/App/HDCommon.h =================================================================== diff -u -rf46193ce4cce48dee728dd93235e0452e8fe1963 -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/HDCommon.h (.../HDCommon.h) (revision f46193ce4cce48dee728dd93235e0452e8fe1963) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -57,6 +57,8 @@ // #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 V1_5_SYSTEM 1 // Build for v1.5 system #include Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r1662b3ac21c7d19e218efbe44a25285778e8ea2b -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 1662b3ac21c7d19e218efbe44a25285778e8ea2b) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -417,7 +417,7 @@ activateAlarmNoData( ALARM_ID_CARTRIDGE_DOOR_OPENED ); } - if ( TRUE == isWetSelfTestsPassed() ) + if ( TRUE == isPrimeCompleted() ) { state = HD_PRE_TREATMENT_RECIRCULATE_START_STATE; activateAlarmNoData( ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY ); Index: firmware/App/Modes/Prime.c =================================================================== diff -u -ref698cbac7380448487c7b13c5484de0c89d1d5e -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/Modes/Prime.c (.../Prime.c) (revision ef698cbac7380448487c7b13c5484de0c89d1d5e) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -76,6 +76,7 @@ static HD_PRE_TREATMENT_PRIME_STATE_T previousPrimeState; ///< Previous state of the prime sub-mode, to use when resuming from pause. static PRIME_RESERVOIR_MGMT_STATE_T currentReservoirMgmtState; ///< Current reservoir management state. +static BOOL primeCompleteResult; ///< Prime complete status. static U32 primeStartTime; ///< Starting time of priming (in ms). static U32 primePauseStartTime; ///< Priming pause start time (in ms). static U32 primeStatusBroadcastTimerCounter; ///< Prime status data broadcast timer counter used to schedule when to transmit data. @@ -135,6 +136,7 @@ currentPrimeState = HD_PRIME_START_STATE; currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; + primeCompleteResult = FALSE; primeStartTime = getMSTimerCount(); primePauseStartTime = 0; primeStatusBroadcastTimerCounter = 0; @@ -165,7 +167,11 @@ { case HD_PRIME_START_STATE: cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); +#ifdef SKIP_PRIMING + currentPrimeState = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; +#else currentPrimeState = HD_PRIME_SALINE_SETUP_STATE; +#endif break; case HD_PRIME_SALINE_SETUP_STATE: @@ -201,6 +207,7 @@ break; case HD_PRIME_COMPLETE: + primeCompleteResult = TRUE; break; case HD_PRIME_PAUSE: @@ -225,6 +232,19 @@ /*********************************************************************//** * @brief + * The isPrimeCompleted function returns the status of prime. + * @details Inputs: none + * @details Outputs: none + * @return TRUE if prime has completed succesfully, otherwise FALSE + *************************************************************************/ +BOOL isPrimeCompleted( void ) +{ + return primeCompleteResult; +} + + +/*********************************************************************//** + * @brief * The signalAlarmActionToPrimeMode function executes the given alarm action * as appropriate while in Prime Mode. * @details Inputs: none @@ -556,7 +576,12 @@ previousLoadCellReading = 0; loadcellSteadyVolumeStartTime = getMSTimerCount(); primeDialysateDialyzerStartTime = getMSTimerCount(); + +#ifdef SKIP_PRIMING + state = HD_PRIME_WET_SELF_TESTS_STATE; +#else state = HD_PRIME_DIALYSATE_DIALYZER_STATE; +#endif } return state; Index: firmware/App/Modes/Prime.h =================================================================== diff -u -r8e2cfecc47bb3912078b29513f1717c1567f0071 -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/Modes/Prime.h (.../Prime.h) (revision 8e2cfecc47bb3912078b29513f1717c1567f0071) +++ firmware/App/Modes/Prime.h (.../Prime.h) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -49,7 +49,7 @@ void transitionToPrime( void ); void execPrime( void ); -BOOL isWetSelfTestsPassed( void ); +BOOL isPrimeCompleted( void ); void signalAlarmActionToPrimeMode( ALARM_ACTION_T action ); /**@}*/ Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r1662b3ac21c7d19e218efbe44a25285778e8ea2b -re0e5aff5a2d873dac91dfb1c1086572f7f1647da --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 1662b3ac21c7d19e218efbe44a25285778e8ea2b) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision e0e5aff5a2d873dac91dfb1c1086572f7f1647da) @@ -149,7 +149,11 @@ switch ( currentNoCartSelfTestsState ) { case NO_CART_SELF_TESTS_START_STATE: +#ifdef SKIP_SELF_TESTS + currentNoCartSelfTestsState = NO_CART_SELF_TESTS_HOME_VALVES_STATE; +#else currentNoCartSelfTestsState = NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE; +#endif break; case NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE: @@ -411,7 +415,11 @@ *************************************************************************/ BOOL isDrySelfTestsPassed( void ) { +#ifdef SKIP_SELF_TESTS + return TRUE; +#else return drySelfTestsResult; +#endif } /*********************************************************************//** @@ -491,7 +499,11 @@ *************************************************************************/ BOOL isWetSelfTestsPassed( void ) { +#ifdef SKIP_SELF_TESTS + return TRUE; +#else return wetSelfTestsResult; +#endif } /**@}*/