Index: sources/StateController.h =================================================================== diff -u -rbb3ff2c95ef0529f6251e7097ffdb19d8e7554f1 -r9112857b7ae9f1f849847b28aed3468e0b0cacd2 --- sources/StateController.h (.../StateController.h) (revision bb3ff2c95ef0529f6251e7097ffdb19d8e7554f1) +++ sources/StateController.h (.../StateController.h) (revision 9112857b7ae9f1f849847b28aed3468e0b0cacd2) @@ -40,6 +40,8 @@ #define REJECT_VALUE 0 #define START_TX_FROM_MSG_38 1 #define CONFIRM_CMD_ACCEPT_CLOSE 3 + #define PASS_RESULT 1 + #define DEVICE_ID 1234 // Timer event defines #define DEFAULT_TIMEOUT_S 10 @@ -98,6 +100,11 @@ #define DIALYSIS_SUB_STATE 2 #define RINSEBACK_SUBSTATE 4 #define TX_END_SUB_STATE 6 + // Heparin substates + #define HEPARIN_OFF_SUBSTATE 0 + #define HEPARIN_PAUSED_SUBSTATE 2 + #define HEPARIN_DISPENSING_SUBSTATE 4 + #define HEPARIN_COMPLETED_SUBSTATE 5 // Ultrafiltration substates #define UF_PAUSESD_STATE 0 @@ -206,6 +213,8 @@ // Treatment start and end times quint32 treatmentStarTimeEpoch; quint32 treatmentEndTimeEpoch; + // Accumulated heparin dispensed volume in milliters + float cumHeparinDisVolML; }; QHash_transitionEventsFromIdle; @@ -235,6 +244,7 @@ void prepareRinsebackBroadcastData(const QList &volsML, const QList &payload); void prepareTreatmentTimeChangeResponse(quint32 accept, quint32 txDurS, float maxUFvolML); void prepareSalineBolusBroadcastData(float cumSalineVolML, float bolSalineVolML); + void prepareHeparinVolumeBroadcastData(); void handleTreatmentTimeChangeRequest(const QVariant &payload); qint32 handleMsgBBPayload(const QVariant &payload); @@ -250,6 +260,7 @@ void handlePressureChangeReqeust(const QVariant &payload); void handleBloodDialRateChangeRequest(const QVariant &payload); void handleTreatmentLogRequest(); + void handleHeparinStatus(quint32 &heparinSubState); // State handlers void onIdleStateChange(bool active);