Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r5126b79e4970ffe2ed9db4cccea18a1216c78570 -r6408d79e3a9a543e90b2fa7ab823be348befd391 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 5126b79e4970ffe2ed9db4cccea18a1216c78570) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 6408d79e3a9a543e90b2fa7ab823be348befd391) @@ -43,13 +43,6 @@ #define FRESH_DIAL_PUMP_INITIAL_RPM 2500 ///< Nominal RPM target for fresh dialysate pump to maintain required pressure. #define SPENT_DIAL_PUMP_INITIAL_RPM 2000 ///< Nominal RPM target for spent dialysate pump to maintain required pressure. #define HYD_CHAMBER_FLUID_TEMP_C_MIN 35.0F ///< Minimum hydraulics fluid temperature in deg celcius -#define HYD_CHAMBER_PRES_CHECK_TIME_OUT ( 1 * SEC_PER_MIN * MS_PER_SECOND ) ///< Time out period when hydraulics chamber pressure check initiated -#define SPENT_DIAL_PRES_CHECK_TIME_OUT ( 1 * SEC_PER_MIN * MS_PER_SECOND ) ///< Time out period when spent dialysate pressure check initiated -//TODO : Needs further finetuning. currently max negative pressure reaches around 11.5 psi +/- 5% values defined for now -//#define HYD_CHAMBER_TARGET_NEG_PRESS_MIN_PSI (-11.7877F) ///< Hydraulics chamber minimum negative pressure(D9/PHo) in psi. -//#define HYD_CHAMBER_TARGET_NEG_PRESS_MAX_PSI (-12.2789F) ///< Hydraulics chamber maximum negative pressure(D9/PHo) in psi. -#define HYD_CHAMBER_TARGET_NEG_PRESS_MIN_PSI (-10.000F) ///< Hydraulics chamber minimum negative pressure(D9/PHo) in psi. -#define HYD_CHAMBER_TARGET_NEG_PRESS_MAX_PSI (-12.075F) ///< Hydraulics chamber maximum negative pressure(D9/PHo) in psi. #define GEN_DIALYSATE_DATA_PUBLISH_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the gen dialysate mode data published. /// Payload record structure for Gen dialysate execution state set request @@ -62,10 +55,9 @@ static DD_GEND_MODE_STATE_T genDialysateState = DD_GEND_STATE_START; ///< Currently active gen dialysate state. static OVERRIDE_F32_T targetHydChamberFluidTemp; ///< Target hydraulics chamber fluid temperature. -static U32 hydChamberPressureCheckStartTimeMS; ///< Current time when hydraulics chamber pressure check satrted in milliseconds. -static U32 spentDialPressureCheckStartTimeMS; ///< Current time when spent dialysate pressure check started in milliseconds. static OVERRIDE_U32_T isDialDeliveryInProgress; ///< To indicate dialysate started delivering to dialyzer for treatment (overrideable) static OVERRIDE_U32_T isDialysateGoodtoDeliver; ///< Flag indicating whether ready to deliver dialysate or not. +static OVERRIDE_U32_T pendingStopDDGenDialRequest; ///< Flag indicating TD has requested DD stop the generate dialysate (Overridable). static U32 genDialysateDataPublicationTimerCounter; ///< Used to schedule generate dialysate data publication to CAN bus. static OVERRIDE_U32_T genDialysateDataPublishInterval; ///< Generate dialysate mode data publish interval. static F32 lastDialTargetTemperatureSet; ///< last dialysate target temperature set for heater control @@ -75,13 +67,10 @@ static void setModeGenDStateTransition( DD_GEND_MODE_STATE_T state ); static BOOL hydChamberWaterInletControl( void ); -static DD_GEND_MODE_STATE_T handleGenDHydraulicsChamberWaterInletCheckState( void ); -static DD_GEND_MODE_STATE_T handleGenDHydChamberPressureCheckState( void ); -static DD_GEND_MODE_STATE_T handleGenDFreshDialysatePressureCheckState( void ); -static DD_GEND_MODE_STATE_T handleGenDSpentDialysatePressureCheckState( void ); -static DD_GEND_MODE_STATE_T handleGenDProduceDialysateState( void ); +static DD_GEND_MODE_STATE_T handleGenDDialysateBypassState( void ); static DD_GEND_MODE_STATE_T handleGenDDialysateDeliveryState( void ); static DD_GEND_MODE_STATE_T handleGenDDialysateDeliveryPauseState( void ); +static DD_GEND_MODE_STATE_T handleGenDDialysateIsolatedUFState( void ); static F32 getGenDialysateTargetTemperature( void ); static void publishGenDialysateModeData( void ); @@ -107,8 +96,10 @@ isDialDeliveryInProgress.ovData = FALSE; isDialDeliveryInProgress.ovInitData = FALSE; isDialDeliveryInProgress.override = OVERRIDE_RESET; - hydChamberPressureCheckStartTimeMS = 0; - spentDialPressureCheckStartTimeMS = 0; + pendingStopDDGenDialRequest.data = FALSE; + pendingStopDDGenDialRequest.ovData = FALSE; + pendingStopDDGenDialRequest.ovInitData = FALSE; + pendingStopDDGenDialRequest.override = OVERRIDE_RESET; genDialysateDataPublishInterval.data = GEN_DIALYSATE_DATA_PUBLISH_INTERVAL; genDialysateDataPublishInterval.ovData = GEN_DIALYSATE_DATA_PUBLISH_INTERVAL; genDialysateDataPublishInterval.ovInitData = 0; @@ -180,94 +171,35 @@ // Do nothing break; - case DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE: - // Close all balancing chamber and hydraulics valves - valveControlForBCClosedState(); - setHydValvesStatetoClosedState(); - setUFValvesStatetoClosedState(); + case DD_GEND_DIALYSATE_BYPASS_STATE: + //Previous state setValveState( M4_VALV, VALVE_STATE_OPEN ); - // Get the target temperature from TD targetHydChamberFluidTemp.data = getTDTargetDialysateTemperature(); - // Turn on the primary heater setHeaterTargetTemperature( D5_HEAT, getGenDialysateTargetTemperature() ); startHeater( D5_HEAT ); lastDialTargetTemperatureSet = getGenDialysateTargetTemperature(); - break; - case DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE: - //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); - startHeater( D5_HEAT ); - - // Open up VHo valve setValveState( D14_VALV, VALVE_STATE_OPEN ); - // Start timer for hyd chamber negative pressure check state - hydChamberPressureCheckStartTimeMS = getMSTimerCount(); - // Start D12/DGP pump - setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM ); - break; - - case DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE: - //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); - startHeater( D5_HEAT ); - setValveState( D14_VALV, VALVE_STATE_OPEN ); - setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM ); - - // Lets be DGP continue running since pressure relief valve was set/ tuned part of priming process - hydChamberPressureCheckStartTimeMS = getMSTimerCount(); - break; - - case DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE: - //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); - startHeater( D5_HEAT ); - setValveState( D14_VALV, VALVE_STATE_OPEN ); - setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM ); - - // Start the timer for spent dialysate pressure check - spentDialPressureCheckStartTimeMS = getMSTimerCount(); - - // Open only fresh side balancing chamber valves - valveControlForBCFreshSideOnlyOpenState(); - - // Make sure valves are in correct position + setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM, FALSE ); setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve - setValveState( D35_VALV, VALVE_STATE_CLOSED ); // VDI - setValveState( D40_VALV, VALVE_STATE_CLOSED ); // VDO - setValveState( D34_VALV, VALVE_STATE_OPEN ); // Bypass valve - - // Start D48/SDP pump - setDialysatePumpTargetRPM( D48_PUMP, SPENT_DIAL_PUMP_INITIAL_RPM ); - break; - - case DD_GEND_PRODUCE_DIALYSATE_STATE: - //Previous state - setValveState( M4_VALV, VALVE_STATE_OPEN ); - startHeater( D5_HEAT ); - setValveState( D14_VALV, VALVE_STATE_OPEN ); - setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM ); - setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve setValveState( D35_VALV, VALVE_STATE_CLOSED ); // VDI setValveState( D40_VALV, VALVE_STATE_CLOSED ); // VDO setValveState( D34_VALV, VALVE_STATE_OPEN ); // Bypass valve - setDialysatePumpTargetRPM( D48_PUMP, SPENT_DIAL_PUMP_INITIAL_RPM ); + setDialysatePumpTargetRPM( D48_PUMP, SPENT_DIAL_PUMP_INITIAL_RPM, FALSE ); - //Close previously opened BC valves - valveControlForBCClosedState(); - + transitionToBalChamberFill(); break; case DD_GEND_DIALYSATE_DELIVERY_STATE: //Previous state setValveState( M4_VALV, VALVE_STATE_OPEN ); startHeater( D5_HEAT ); setValveState( D14_VALV, VALVE_STATE_OPEN ); - setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM ); + setDialysatePumpTargetRPM( D12_PUMP, FRESH_DIAL_PUMP_INITIAL_RPM, FALSE ); setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve - setDialysatePumpTargetRPM( D48_PUMP, SPENT_DIAL_PUMP_INITIAL_RPM ); + setDialysatePumpTargetRPM( D48_PUMP, SPENT_DIAL_PUMP_INITIAL_RPM, FALSE ); // Disable bypass valve setValveState( D34_VALV, VALVE_STATE_CLOSED ); // Bypass valve @@ -293,6 +225,10 @@ //close the DD - water inlet and drain valves? break; + case DD_GEND_ISOLATED_UF_STATE: + //TODO : define actuators states + break; + default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_GEND_MODE_INVALID_EXEC_STATE1, state ) break; @@ -302,72 +238,64 @@ /*********************************************************************//** * @brief * The execGenDialysateMode function executes the Gen dialysate mode state machine. - * @details \b Inputs: none + * @details \b Inputs: pendingStopDDGenDialRequest,genDialysateState * @details \b Outputs: Gen dialysate mode state machine executed * @details \b Alarm: ALARM_ID_DD_SOFTWARE_FAULT when wrong gen dialysate state invoked. * @return current state. *************************************************************************/ U32 execGenDialysateMode( void ) { - // Continuous water inlet pressure check - if ( genDialysateState != DD_GEND_DIALYSATE_DELIVERY_PAUSE ) - { - if ( TRUE == areInletWaterConditionsAlarmsActive() ) // Check RO alarms as required - { - setModeGenDStateTransition( DD_GEND_DIALYSATE_DELIVERY_PAUSE ); - genDialysateState = DD_GEND_DIALYSATE_DELIVERY_PAUSE; - } - } + // Manage water level control + hydChamberWaterInletControl(); - // Manage water inlet temperature - if ( genDialysateState > DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE ) - { - hydChamberWaterInletControl(); - } - // Update any dynamic treatment parameter changes updateTreatmentSettings(); - // execute current gen dialysate state - switch ( genDialysateState ) + //TODO: Transition to post gen dialysate then standby. + if ( TRUE == getU32OverrideValue( &pendingStopDDGenDialRequest ) ) { - case DD_GEND_STATE_START: - setModeGenDStateTransition( DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE ); - genDialysateState = DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE; - break; + pendingStopDDGenDialRequest.data = FALSE; + requestNewOperationMode( DD_MODE_STAN ); + } + // Continuous water inlet pressure check + else if ( ( genDialysateState != DD_GEND_DIALYSATE_DELIVERY_PAUSE ) && + ( TRUE == areInletWaterConditionsAlarmsActive() ) ) + { + //Check RO alarms as required + setModeGenDStateTransition( DD_GEND_DIALYSATE_DELIVERY_PAUSE ); + genDialysateState = DD_GEND_DIALYSATE_DELIVERY_PAUSE; + } + else + { + // execute current gen dialysate state + switch ( genDialysateState ) + { + case DD_GEND_STATE_START: + setModeGenDStateTransition( DD_GEND_DIALYSATE_BYPASS_STATE ); + genDialysateState = DD_GEND_DIALYSATE_BYPASS_STATE; + break; - case DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE: - genDialysateState = handleGenDHydraulicsChamberWaterInletCheckState(); - break; + case DD_GEND_DIALYSATE_BYPASS_STATE: + genDialysateState = handleGenDDialysateBypassState(); + break; - case DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE: - genDialysateState = handleGenDHydChamberPressureCheckState(); - break; + case DD_GEND_DIALYSATE_DELIVERY_STATE: + genDialysateState = handleGenDDialysateDeliveryState(); + break; - case DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE: - genDialysateState = handleGenDFreshDialysatePressureCheckState(); - break; + case DD_GEND_DIALYSATE_DELIVERY_PAUSE: + genDialysateState = handleGenDDialysateDeliveryPauseState(); + break; - case DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE: - genDialysateState = handleGenDSpentDialysatePressureCheckState(); - break; + case DD_GEND_ISOLATED_UF_STATE: + genDialysateState = handleGenDDialysateIsolatedUFState(); + break; - case DD_GEND_PRODUCE_DIALYSATE_STATE: - genDialysateState = handleGenDProduceDialysateState(); - break; - - case DD_GEND_DIALYSATE_DELIVERY_STATE: - genDialysateState = handleGenDDialysateDeliveryState(); - break; - - case DD_GEND_DIALYSATE_DELIVERY_PAUSE: - genDialysateState = handleGenDDialysateDeliveryPauseState(); - break; - - default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_GEND_MODE_INVALID_EXEC_STATE, genDialysateState ) - genDialysateState = DD_GEND_STATE_START; - break; + default: + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_GEND_MODE_INVALID_EXEC_STATE, genDialysateState ) + genDialysateState = DD_GEND_STATE_START; + break; + } } //Publish Gen dialysate mode data @@ -423,132 +351,33 @@ /*********************************************************************//** * @brief - * The handleGenDHydraulicsChamberWaterInletCheckState function checks the - * water level and allow the water into hydraulics for dialysate generation. - * @details \b Inputs: floater levels. + * The handleGenDDialysateIsolatedUFState function performs the + * Isolated ultrafiltration operations. + * @details \b Inputs: none. * @details \b Outputs: none * @return the current state of gen dialysate mode *************************************************************************/ -static DD_GEND_MODE_STATE_T handleGenDHydraulicsChamberWaterInletCheckState( void ) +static DD_GEND_MODE_STATE_T handleGenDDialysateIsolatedUFState( void ) { - DD_GEND_MODE_STATE_T state = DD_GEND_HYD_CHAMBER_WATER_INLET_CHECK_STATE; + DD_GEND_MODE_STATE_T state = DD_GEND_ISOLATED_UF_STATE; - // Allow water inlet to hydraulics chamber - if ( TRUE == hydChamberWaterInletControl() ) - { - // if water level is met, move to pressure check state - setModeGenDStateTransition( DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE ); - state = DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE; - } + //TODO: define isoalted ultrafilteration. return state; } /*********************************************************************//** * @brief - * The handleGenDHydChamberPressureCheckState function checks the - * hydraulics chamber pressure at chamber 4 of hydraulics. - * @details \b Inputs: pressure sensor readings, hydChamberPressureCheckStartTimeMS - * @details \b Outputs: none - * @return the current state of gen dialysate mode - *************************************************************************/ -static DD_GEND_MODE_STATE_T handleGenDHydChamberPressureCheckState( void ) -{ - DD_GEND_MODE_STATE_T state = DD_GEND_HYD_CHAMBER_PRESSURE_CHECK_STATE; - F32 hydPressure = getFilteredPressure( D9_PRES ); - - // Hydraulics chamber negative pressure is in range ( -24 to -25 inHg ) - if ( ( hydPressure <= HYD_CHAMBER_TARGET_NEG_PRESS_MIN_PSI ) && ( hydPressure >= HYD_CHAMBER_TARGET_NEG_PRESS_MAX_PSI ) ) - { - // Proceed to next state - setModeGenDStateTransition( DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE ); - state = DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE; - } - else if ( TRUE == didTimeout( hydChamberPressureCheckStartTimeMS, HYD_CHAMBER_PRES_CHECK_TIME_OUT ) ) - { - // time out alarm and pause the dialysate generation? - SET_ALARM_WITH_1_F32_DATA( ALARM_ID_DD_GEND_HYD_CHAMBER_PRESS_OUT_OF_RANGE, hydPressure ); - state = DD_GEND_DIALYSATE_DELIVERY_PAUSE; - } - - return state; -} - -/*********************************************************************//** - * @brief - * The handleGenDFreshDialysatePressureCheckState function checks the - * positive pressure level ( chamber 5) of hydraulics chamber or fresh - * dialysate side. - * @details \b Inputs: pressure sensor readings,hydChamberPressureCheckStartTimeMS - * @details \b Outputs: none - * @return the current state of gen dialysate mode - *************************************************************************/ -static DD_GEND_MODE_STATE_T handleGenDFreshDialysatePressureCheckState( void ) -{ - DD_GEND_MODE_STATE_T state = DD_GEND_FRESH_DIALYSATE_PRESSURE_CHECK_STATE; - F32 hydPressure = getFilteredPressure( D18_PRES ); - - // Hydraulics chamber postive pressure is in range - if ( ( hydPressure >= FRESH_DIAL_PRESSURE_MIN_PSIG ) && ( hydPressure <= FRESH_DIAL_PRESSURE_MAX_PSIG ) ) - { - // Proceed to next state - setModeGenDStateTransition( DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE ); - state = DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE; - } - else if ( TRUE == didTimeout( hydChamberPressureCheckStartTimeMS, HYD_CHAMBER_PRES_CHECK_TIME_OUT ) ) - { - // time out alarm and pause the dialysate generation? - SET_ALARM_WITH_1_F32_DATA( ALARM_ID_DD_GEND_FRESH_DIAL_PRESS_OUT_OF_RANGE, hydPressure ); - state = DD_GEND_DIALYSATE_DELIVERY_PAUSE; - } - - return state; -} - -/*********************************************************************//** - * @brief - * The handleGenDSpentDialysatePressureCheckState function checks the - * spent dialyaste pressure is in range to begin balancing chamber dialysate - * delivery. - * @details \b Inputs: pressure sensor readings,spentDialPressureCheckStartTimeMS. - * @details \b Outputs: none - * @return the current state of gen dialysate mode - *************************************************************************/ -static DD_GEND_MODE_STATE_T handleGenDSpentDialysatePressureCheckState( void ) -{ - DD_GEND_MODE_STATE_T state = DD_GEND_SPENT_DIALYSATE_PRESSURE_CHECK_STATE; - F32 spentdialPressure = getFilteredPressure( D51_PRES ); - - // Spent dialysate pressure is in range - if ( ( spentdialPressure >= SPENT_DIAL_PRESSURE_MIN_PSIG ) && ( spentdialPressure <= SPENT_DIAL_PRESSURE_MAX_PSIG ) ) - { - // Proceed to next state - transitionToBalChamberFill(); - setModeGenDStateTransition( DD_GEND_PRODUCE_DIALYSATE_STATE ); - state = DD_GEND_PRODUCE_DIALYSATE_STATE; - } - else if ( TRUE == didTimeout( spentDialPressureCheckStartTimeMS, SPENT_DIAL_PRES_CHECK_TIME_OUT ) ) - { - // time out alarm and pause the dialysate generation? - SET_ALARM_WITH_1_F32_DATA( ALARM_ID_DD_GEND_SPENT_DIAL_PRESS_OUT_OF_RANGE, spentdialPressure ); - state = DD_GEND_DIALYSATE_DELIVERY_PAUSE; - } - - return state; -} - -/*********************************************************************//** - * @brief - * The handleGenDProduceDialysateState function produces dialysate + * The handleGenDDialysateBypassState function produces dialysate * by executing balancing chamber and decides to pass the dialysate - * for treatment. + * to dialyzer for treatment. * @details \b Inputs: none * @details \b Outputs: balancing chamber state. * @return the current state of gen dialysate mode *************************************************************************/ -static DD_GEND_MODE_STATE_T handleGenDProduceDialysateState( void ) +static DD_GEND_MODE_STATE_T handleGenDDialysateBypassState( void ) { - DD_GEND_MODE_STATE_T state = DD_GEND_PRODUCE_DIALYSATE_STATE; + DD_GEND_MODE_STATE_T state = DD_GEND_DIALYSATE_BYPASS_STATE; //Execute balancing chamber execBalancingChamberControl(); @@ -584,16 +413,37 @@ //transition to produce dialystate state if ( ( FALSE == getDialGoodToDeliverStatus() ) || ( TRUE == getTDDialyzerBypass() ) ) { - setModeGenDStateTransition( DD_GEND_PRODUCE_DIALYSATE_STATE ); + setModeGenDStateTransition( DD_GEND_DIALYSATE_BYPASS_STATE ); isDialDeliveryInProgress.data = FALSE; - state = DD_GEND_PRODUCE_DIALYSATE_STATE; + state = DD_GEND_DIALYSATE_BYPASS_STATE; } return state; } /*********************************************************************//** * @brief + * The requestDDGenDialyasteStop function handles an TD request to stop + * generation dialysis mode. + * @details \b Inputs: Generation dialysate mode / state + * @details \b Outputs: mode pendingStopDDGenDialRequest + * @return TRUE if request accepted, FALSE if not. + *************************************************************************/ +BOOL requestDDGenDialyasteStop( void ) +{ + BOOL status = FALSE; + + if ( DD_MODE_GEND == getCurrentOperationMode() ) + { + pendingStopDDGenDialRequest.data = TRUE; + status = TRUE; + } + + return status; +} + +/*********************************************************************//** + * @brief * The handleGenDDialysateDeliveryPauseState function pause the dialysate * delivery due to alarms conditions or some control asked to be in * paused state. @@ -828,6 +678,23 @@ /*********************************************************************//** * @brief + * The testDDStopGenDialysateOverride function sets the override value + * to stop the gen dialysate operation mode. + * @details Inputs: pendingStopDDGenDialRequest + * @details Outputs: pendingStopDDGenDialRequest + * @param message Override message from Dialin which includes the flag + * to override the operation mode. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testDDStopGenDialysateOverride( MESSAGE_T *message ) +{ + BOOL result = u32Override( message, &pendingStopDDGenDialRequest, FALSE, TRUE ); + + return result; +} + +/*********************************************************************//** + * @brief * The testGenDExecStateOverride function sets the Gen dialysate execution state * machine to given state. * @details \b Inputs: tester logged in, execStateSet