Index: sources/drydemo/StateController.h =================================================================== diff -u -r6c0428ed8c6430924d54d5a42c45c8ec0c16c7c2 -r4624d7657d342248336c1ff16edfae614c335728 --- sources/drydemo/StateController.h (.../StateController.h) (revision 6c0428ed8c6430924d54d5a42c45c8ec0c16c7c2) +++ sources/drydemo/StateController.h (.../StateController.h) (revision 4624d7657d342248336c1ff16edfae614c335728) @@ -55,6 +55,7 @@ quint32 validateHepDurMin; // Alarm variables Alarm_List activeTopAlarm; + quint16 activeAlarmProperty; quint32 triggerAlarmTimeoutCtr; Treatment_Pause_Sequential_Alarms txPauseSeqAlarmState; // Rinseback variables @@ -170,23 +171,29 @@ float ufVolumeL; }; - QHash _transitionEventsFromStandby; - QHash _alarmTriggerSpecs; - QList _broadcastMessages; - QList _sendMessages; - QHash _treatmentRcvdMessages; - QHash _uiConfirmMessages; - QRandomGenerator _randNumGenerator; - Pressure_Vars _pressureVars; - Treatment_Params _treatmentParams; - Treatment_Status_Vars _treatmentStatus; - Treatment_Sub_State_Vars _treatmentSubStates; - Treatment_HDF_vars _treatmentHDFVars; - bool _isBroadcastListReady; // TODO use a mutex? - bool _isSendListReady; // Todo use a mutex? - quint32 _elapsedTimeCtr; - drydemoXMLStates _dryDemo; + struct Generic_Msg_Status { + qint64 startTimeMS; + Confirmation_Status confirmStatus; + }; + QHash _transitionEventsFromStandby; + QHash _alarmTriggerSpecs; + QList _broadcastMessages; + QList _sendMessages; + QHash _treatmentRcvdMessages; + QHash _uiConfirmMessages; + QRandomGenerator _randNumGenerator; + Pressure_Vars _pressureVars; + Treatment_Params _treatmentParams; + Treatment_Status_Vars _treatmentStatus; + Treatment_Sub_State_Vars _treatmentSubStates; + Treatment_HDF_vars _treatmentHDFVars; + bool _isBroadcastListReady; // TODO use a mutex? + bool _isSendListReady; // Todo use a mutex? + quint32 _elapsedTimeCtr; + drydemoXMLStates _dryDemo; + // CAN function(s) void sendMessages(bool isBroadcast); bool handleDryDemoMenuRequestMessage(); @@ -210,10 +217,13 @@ void handleBackToStandbyEvent(State_Status &status); quint32 extractU32DataFromReceivedMessage(const Can::Message_ID_Enum msgID, qint32 index); float extractF32DataFromReceivedMessage(const Can::Message_ID_Enum msgID, qint32 index); - void triggerAnAlarm(const Alarm_List alarmID); + + // Alarm helper methods in standby.cpp + void triggerAnAlarm(const Alarm_List alarmID, const qint16 alarmProperty = ALARM_USE_DEFAULT_PROPERTIES); void handleAlarmUserAction(State_Status &status, bool isFromTxPause = false); void handleTriggeredAlarmsToTxPause(State_Status &status); void handleChemsReplacementAlarmsSequence(State_Status &status); + void handleAlarmStatusBroadcastData(const Broadcast_Type BCType); // Standby methods void handleInitiateTreatmentRequestMessage(State_Status &status); @@ -243,7 +253,7 @@ void handleTreatmentTimeProcessAndBroadcastData(const Broadcast_Type BCType); void handleTreatmentPrescriptionEditRequestMessage(); void handleSetPointBloodFlowChange(quint32 &bloodFlowMLPM, bool &hasBloodFlowChanged); - void handleDDGenDialysateModeBroadcastData(const Broadcast_Type BCType); + void handleDDGenDialysateModeBroadcastData(const Broadcast_Type BCType, const bool isDialysateBypass = false); void handleSetPointDialysateFlowChange(); void handleDDConductivityBroadcastData(const Broadcast_Type BCType); void handleUltrafiltrationBroadcastData(const Broadcast_Type BCType);