Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r37a9fd8f15e413db5337371a7d1a1cb65567af7c -r27a68f930508638f2eb6265ebb381c8918cbc37b --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 37a9fd8f15e413db5337371a7d1a1cb65567af7c) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) @@ -39,17 +39,17 @@ #define MAX_PRIME_TIME ( 10 * SEC_PER_MIN ) ///< Maximum prime time (in seconds). #define PRIME_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the prime data is published on the CAN bus. -#define BLOOD_PUMP_FAST_FLOW_RATE_PURGE_AIR_ML_MIN 300 ///< Blood pump fast flow rate to fill fluid. +#define BLOOD_PUMP_FAST_FLOW_RATE_PURGE_AIR_ML_MIN 150 ///< Blood pump fast flow rate to fill fluid. #define BLOOD_PUMP_SLOW_FLOW_RATE_PURGE_AIR_ML_MIN 150 ///< Blood pump slow flow rate after fluid reach lower level of air trap sensor. #define BLOOD_PUMP_SALINE_FLOW_RATE_PURGE_AIR_ML_MIN 200 ///< Blood pump very slow flow rate during prime saline dialyzer state -#define BLOOD_PUMP_FLOW_RATE_CIRC_BLOOD_CIRCUIT_ML_MIN 300 ///< Blood pump flow rate during prime recirculate blood circuit state. +#define BLOOD_PUMP_FLOW_RATE_CIRC_BLOOD_CIRCUIT_ML_MIN 150 ///< Blood pump flow rate during prime recirculate blood circuit state. #define BLOOD_PUMP_FLOW_RATE_SALINE_DIALYZER_ML_MIN 300 ///< Blood pump flow rate during prime the saline dialyzer dialysate state. #define DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN 300 ///< Dialysate pump flow rate during priming fluid path. #define DIALYSATE_DIALYZER_TUBE_VOLUME_ML 115 ///< This total tube volume is used to calculate the Dpi & Dpo time out in the dialysate dialyzer state. #define DIALYSATE_DIALYZER_BYPASS_TUBE_VOLUME_ML 75 ///< This volume is used to calculate the DPi pump time out in the dialyzer bypass state. #define DIALYZER_DVI_PATH_VOLUME_ML 17 ///< Path volume from the dialyzer to the VDI valve in mL. -#define DIALYZER_VOLUME_SCALE_FACTOR 0.5 ///< Half of the dialyzer total volume. +#define DIALYZER_VOLUME_SCALE_FACTOR 0.5F ///< Half of the dialyzer total volume. #define NO_AIR_DETECTED_COUNT ( 20 * MS_PER_SECOND ) ///< No air detected time period count. #define PURGE_AIR_TIME_OUT_COUNT ( 60 * MS_PER_SECOND ) ///< Time period count for purge air time out. @@ -181,11 +181,13 @@ switch ( currentPrimeState ) { case HD_PRIME_START_STATE: +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) { currentPrimeState = HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE; } else +#endif { currentPrimeState = HD_PRIME_WAIT_FOR_USER_START_STATE; } @@ -426,10 +428,12 @@ // Keep updating start time until the user requested priming primeStartTime = getMSTimerCount(); +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) { primeStartRequested = TRUE; } +#endif if ( TRUE == primeStartRequested ) { @@ -581,11 +585,15 @@ steadyVolumeSamplingStartTime = getMSTimerCount(); primeDialysateDialyzerStartTime = getMSTimerCount(); +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) { + signalDialOutPumpHardStop(); + signalDialInPumpHardStop(); state = HD_PRIME_WET_SELF_TESTS_STATE; } else +#endif { state = HD_PRIME_DIALYSATE_DIALYZER_STATE; } @@ -832,12 +840,9 @@ signalResumeSelfTests(); } - if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_WET_SELF_TEST ) != SW_CONFIG_ENABLE_VALUE ) - { - execWetSelfTests(); - } + execWetSelfTests(); - if ( ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_WET_SELF_TEST ) ) || ( TRUE == isWetSelfTestsPassed() ) ) + if ( TRUE == isWetSelfTestsPassed() ) { state = HD_PRIME_COMPLETE; }