Index: sources/StateController.h =================================================================== diff -u -r4af87533b19d61512e7a368554042501eeea75f2 -r424c81d03f7d915d39ab962f652c0b565f465bf7 --- sources/StateController.h (.../StateController.h) (revision 4af87533b19d61512e7a368554042501eeea75f2) +++ sources/StateController.h (.../StateController.h) (revision 424c81d03f7d915d39ab962f652c0b565f465bf7) @@ -59,7 +59,8 @@ #define MAX_UF_RATE_MLPM (2000.0 / MINUTES_PER_HOUR) #define DEF_TX_ELAPSED_TIME_S (2 * MINUTES_PER_HOUR) * SECONDS_PER_MINUTE - #define DEF_TX_PARAM_PRESCRIBED_DUR_S ((4 * MINUTES_PER_HOUR) + 30) * SECONDS_PER_MINUTE + #define DEF_TX_PARAM_PRESCRIBED_DUR_MIN ((4 * MINUTES_PER_HOUR) + 30) + #define DEF_TX_PARAM_PRESCRIBED_DUR_S DEF_TX_PARAM_PRESCRIBED_DUR_MIN * SECONDS_PER_MINUTE #define DEF_TX_PARAM_UF_VOLUME_L 2.0 #define DEF_TX_PARAM_BLOOD_FLOW_RATE_MLPM 400 #define DEF_TX_PARAM_DIAL_FLOW_RATE_MLPM 600 @@ -82,7 +83,10 @@ #define TX_END_SUB_STATE 6 // Rinseback defines - #define RINSEBACK_BACK_MAX_TIME_S (5 * SECONDS_PER_MINUTE) + #define RINSEBACK_MIN_FLOW_RATE_MLPM 100 + #define RINSEBACK_MAX_RLOW_RATE_MLPM 300 + #define RINSEBACK_ADJ_FLOW_RATE_MLPM 25 + #define RINSEBACK_BACK_MAX_TIME_S (5 * SECONDS_PER_MINUTE) #define RINSEBACK_END_TREATMENT_SIGNAL 999 #define RINSEBACK_STOP_INIT_STATE 0 #define RINSEBACK_RUN_STATE 1 @@ -114,6 +118,8 @@ enum Rinseback_Rqst { RINSEBACK_START_RB = 0, + RINSEBACK_ACCEL_FLOW = 1, + RINSEABCK_DECEL_FLOW = 2, RINSEBACK_PAUSE_RB = 3, RINSEBACK_RESUME_RB = 4, RINSEBACK_END_RB = 5, @@ -180,14 +186,16 @@ void prepareStatesBroadcastData(Can::Message_ID_Enum msgID, const QList &preTxStates); void prepareBloodPrimeBroadcastData(float accumulatedVolML); void prepareRinsebackBroadcastData(const QList &volsML, const QList &payload); + void prepareTreatmentTimeChangeResponse(quint32 accept, quint32 txDurS, float maxUFvolML); void handleTreatmentTimeChangeRequest(const QVariant &payload); qint32 handleMsgBBPayload(const QVariant &payload); void prepareMsgBA(quint32 cmd, quint32 acceptType); bool hasPreTxTimerElapsed(Can::Message_ID_Enum msgID, Can::Can_Id canChan, quint32 &timerCountDownS, quint32 defaultTimeoutS); void handleUltrafiltrationValidation(const QVariant &payload); - void handleRinsebackSubstate(const QVariant &payload, float &accumVolML, quint32 &txState, quint32 &rbState); + void handleRinsebackSubstate(const QVariant &payload, float &accumVolML, + quint32 &txState, quint32 &rbState, quint32 &rbFlowMLPM); bool isTreatmenStartRequested(const QVariant &payload); // State handlers