Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r9c3f5379ed2fbf1053bb7c446a0a1302f66459b4 -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 9c3f5379ed2fbf1053bb7c446a0a1302f66459b4) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -478,7 +478,6 @@ { if ( TRUE == bloodPrimeToDialysisRequest ) { - setBloodIsPrimed( TRUE ); // TODO - call when blood prime is completed // Kick dialysis sub-mode off setDialysisParams( presBloodFlowRate, presDialysateFlowRate, presMaxUFVolumeML, presUFRate ); startDialysis(); @@ -1135,6 +1134,7 @@ DIALYSIS_STATE_T dialysisState = getDialysisState(); UF_STATE_T uFState = getUltrafiltrationState(); SALINE_BOLUS_STATE_T salineBolusInProgress = getSalineBolusState(); + TREATMENT_STOP_STATE_T stopState = getCurrentTreatmentStopState(); BLOOD_PRIME_STATE_T bldPrimeState = getCurrentBloodPrimeState(); RINSEBACK_STATE_T rBState = getCurrentRinsebackState(); TREATMENT_RECIRC_STATE_T rCState = getCurrentTreatmentRecircState(); @@ -1145,7 +1145,7 @@ broadcastTreatmentTime( presTreatmentTimeSecs, elapsedTreatmentTimeInSecs, timeRemaining ); broadcastTreatmentState( (U32)currentTreatmentState, (U32)uFState, (U32)salineBolusInProgress, - (U32)hepState, (U32)rBState, (U32)rCState, (U32)bldPrimeState, (U32)endState ); + (U32)hepState, (U32)rBState, (U32)rCState, (U32)bldPrimeState, (U32)endState, (U32)stopState ); treatmentTimeBroadcastTimerCtr = 0; } } Index: firmware/App/Modes/ModeTreatment.h =================================================================== diff -u -r1942c708bc95f57e87b0bf6a472ebe824a3f38ed -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Modes/ModeTreatment.h (.../ModeTreatment.h) (revision 1942c708bc95f57e87b0bf6a472ebe824a3f38ed) +++ firmware/App/Modes/ModeTreatment.h (.../ModeTreatment.h) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -49,6 +49,9 @@ U32 heparinState; U32 rinsebackState; U32 txRecircState; + U32 bldPrimeState; + U32 txEndState; + U32 txStopState; } TREATMENT_STATE_DATA_T; /// Payload record structure for an ultrafiltration volume change confirmation message. Index: firmware/App/Modes/TreatmentStop.c =================================================================== diff -u -r0b8a93215a073650631911d190767b7642f09a43 -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision 0b8a93215a073650631911d190767b7642f09a43) +++ firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -31,6 +31,8 @@ // ********** private data ********** +TREATMENT_STOP_STATE_T currentTxStopState; ///< Current treatment stop state. + // ********** private function prototypes ********** /*********************************************************************//** @@ -43,6 +45,7 @@ *************************************************************************/ void initTreatmentStop( void ) { + currentTxStopState = TREATMENT_STOP_RECIRC_STATE; } /*********************************************************************//** @@ -112,4 +115,9 @@ // TODO - implement } +TREATMENT_STOP_STATE_T getCurrentTreatmentStopState( void ) +{ + return currentTxStopState; +} + /**@}*/ Index: firmware/App/Modes/TreatmentStop.h =================================================================== diff -u -r1942c708bc95f57e87b0bf6a472ebe824a3f38ed -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Modes/TreatmentStop.h (.../TreatmentStop.h) (revision 1942c708bc95f57e87b0bf6a472ebe824a3f38ed) +++ firmware/App/Modes/TreatmentStop.h (.../TreatmentStop.h) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -38,6 +38,8 @@ void transitionToTreatmentStop( void ); void execTreatmentStop( void ); +TREATMENT_STOP_STATE_T getCurrentTreatmentStopState( void ); + /**@}*/ #endif Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r9c3f5379ed2fbf1053bb7c446a0a1302f66459b4 -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9c3f5379ed2fbf1053bb7c446a0a1302f66459b4) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -1049,10 +1049,11 @@ * @param rinsebackState Current state of rinseback sub-mode * @param txRecircState Current state of treatment re-circulate sub-mode * @param bldPrimeState Current state of blood prime sub-mode - * @param txEndState Current state of treatment end sub-mode + * @param txEndState Current state of treatment end sub-mode + * @param txStopState Current state of treatment stop sub-mode * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastTreatmentState( U32 subMode, U32 uFState, U32 salineBolusState, U32 hepState, U32 rinsebackState, U32 txRecircState, U32 bldPrimeState, U32 txEndState ) +BOOL broadcastTreatmentState( U32 subMode, U32 uFState, U32 salineBolusState, U32 hepState, U32 rinsebackState, U32 txRecircState, U32 bldPrimeState, U32 txEndState, U32 txStopState ) { BOOL result; MESSAGE_T msg; @@ -1070,6 +1071,9 @@ payload.heparinState = hepState; payload.rinsebackState = rinsebackState; payload.txRecircState = txRecircState; + payload.bldPrimeState = bldPrimeState; + payload.txEndState = txEndState; + payload.txStopState = txStopState; memcpy( payloadPtr, &payload, sizeof( TREATMENT_STATE_DATA_T ) ); Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r9c3f5379ed2fbf1053bb7c446a0a1302f66459b4 -rc46815918e7cf33e8736f180094843758f1e21b2 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 9c3f5379ed2fbf1053bb7c446a0a1302f66459b4) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision c46815918e7cf33e8736f180094843758f1e21b2) @@ -234,7 +234,7 @@ BOOL broadcastTreatmentTime( U32 secsTotTreatment, U32 secsElapsed, U32 secsRemaining ); // MSG_ID_TREATMENT_STATE -BOOL broadcastTreatmentState( U32 subMode, U32 uFState, U32 salineBolusState, U32 hepState, U32 rinsebackState, U32 txRecircState, U32 bldPrimeState, U32 txEndState ); +BOOL broadcastTreatmentState( U32 subMode, U32 uFState, U32 salineBolusState, U32 hepState, U32 rinsebackState, U32 txRecircState, U32 bldPrimeState, U32 txEndState, U32 txStopState ); // MSG_ID_POWER_OFF_WARNING BOOL broadcastPowerOffWarning( void );