Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r844f98879b7425c207b58562e623ab960adbc357 -r8bd1ae47aa13a843aa8abd6321ddc050deacb4a6 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 844f98879b7425c207b58562e623ab960adbc357) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 8bd1ae47aa13a843aa8abd6321ddc050deacb4a6) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2021 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * -* @file SystemCommMessages.h +* @file SystemCommMessages.h * -* @author (last) Sean Nash -* @date (last) 14-Oct-2020 +* @author (last) Dara Navaei +* @date (last) 06-Nov-2021 * -* @author (original) Dara Navaei -* @date (original) 05-Nov-2019 +* @author (original) Dara Navaei +* @date (original) 05-Nov-2019 * ***************************************************************************/ @@ -23,14 +23,15 @@ #include "BloodLeak.h" #include "BloodPrime.h" #include "Bubble.h" +#include "CommBuffers.h" #include "DGInterface.h" #include "DialInFlow.h" #include "DialOutFlow.h" #include "Dialysis.h" #include "Fans.h" #include "FluidLeak.h" #include "HDCommon.h" -#include "Prime.h" +#include "MessageSupport.h" #include "ModeInitPOST.h" #include "ModePostTreat.h" #include "ModePreTreat.h" @@ -39,6 +40,7 @@ #include "MsgQueues.h" #include "NVDataMgmt.h" #include "PresOccl.h" +#include "Prime.h" #include "Rinseback.h" #include "Switches.h" #include "SyringePump.h" @@ -55,12 +57,24 @@ * @{ */ -// ********** public definitions ********** +// ********** public definitions ********** + +#define ACK_REQUIRED TRUE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. +#define ACK_NOT_REQUIRED FALSE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. +#define ACK_REQUIRED TRUE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. +#define ACK_NOT_REQUIRED FALSE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. + // ********** public function prototypes ********** - + +// Serialize message +U32 serializeMessage( MESSAGE_T msg, COMM_BUFFER_T buffer, BOOL ackReq ); + // ACK MSG -BOOL sendACKMsg( MESSAGE_T *message ); +BOOL sendACKMsg( MESSAGE_T *message ); + +// Serialize message +U32 serializeMessage( MESSAGE_T msg, COMM_BUFFER_T buffer, BOOL ackReq ); // MSG_ID_DG_CHECK_IN void handleDGCheckIn( MESSAGE_T *message ); @@ -92,6 +106,9 @@ // MSG_ID_HD_DG_POST_RESULT_REQUEST BOOL sendDGPOSTResultRequest( void ); +// MSG_ID_HD_EVENT +BOOL sendEvent( HD_EVENT_ID_T event, EVENT_DATA_T dat1, EVENT_DATA_T dat2 ); + // MSG_ID_OFF_BUTTON_PRESS BOOL sendOffButtonMsgToUI( U08 cmd ); void handleOffButtonConfirmMsgFromUI( MESSAGE_T *message ); @@ -127,7 +144,10 @@ void handleDGTemperatureData( MESSAGE_T *message ); // MSG_ID_RO_PUMP_DATA: -void handleROPumpData( MESSAGE_T *message ); +void handleROPumpData( MESSAGE_T *message ); + +// MSG_ID_DG_DIALYSATE_FLOW_METER_DATA: +void handleDialysateFlowData( MESSAGE_T *message ); // MSG_ID_DRAIN_PUMP_DATA: void handleDrainPumpData( MESSAGE_T *message ); @@ -325,7 +345,7 @@ BOOL sendTreatmentLogAlarmEventData( ALARM_ID_T alarmID, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); // MSG_ID_HD_TREATMENT_LOG_EVENT -BOOL sendTreatmentLogEventData( EVENT_ID_T event, F32 oldValue, F32 newValue ); +BOOL sendTreatmentLogEventData( TX_EVENT_ID_T event, F32 oldValue, F32 newValue ); // *********** public DG command functions ********** @@ -371,113 +391,9 @@ // MSG_ID_DG_START_STOP_CHEM_DISINFECT BOOL sendDGStartChemicalDisinfectModeCommand( BOOL start ); -// *********** public data broad cast functions ********** - -// MSG_ID_HD_ACCELEROMETER_DATA -BOOL broadcastAccelData( F32 x, F32 y, F32 z, F32 xm, F32 ym, F32 zm, F32 xt, F32 yt, F32 zt ); - // MSG_ID_ALARM_STATUS BOOL broadcastAlarmStatus( COMP_ALARM_STATUS_T almStatus ); -// MSG_ID_HD_ALARM_INFORMATION -BOOL broadcastAlarmInfo( ALARM_INFO_PAYLOAD_T data ); - -// MSG_ID_ALARM_TRIGGERED -BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); - -// MSG_ID_ALARM_CLEARED -BOOL broadcastAlarmCleared( U32 alarm ); - -// MSG_ID_ALARM_CONDITION_CLEARED -BOOL broadcastAlarmConditionCleared( U32 alarm ); - -// MSG_ID_BLOOD_FLOW_DATA -BOOL broadcastBloodFlowData( BLOOD_PUMP_STATUS_PAYLOAD_T *bloodData ); - -// MSG_ID_DIALYSATE_FLOW_DATA -BOOL broadcastDialInFlowData( DIALIN_PUMP_STATUS_PAYLOAD_T *dialInData ); - -// MSG_ID_DIALYSATE_OUT_FLOW_DATA -BOOL broadcastDialOutFlowData( DIAL_OUT_FLOW_DATA_T *dialOutFlowData ); - -// MSG_ID_HD_SYRINGE_PUMP_DATA -BOOL broadcastSyringePumpData( SYRINGE_PUMP_DATA_PAYLOAD_T data ); - -// MSG_ID_HD_HEPARIN_DATA_BROADCAST -BOOL broadcastHeparinData( F32 volume ); - -// MSG_ID_PRESSURE_OCCLUSION_DATA -BOOL broadcastPresOcclData( PRESSURE_OCCLUSION_DATA_T data ); - -// MSG_ID_HD_VOLTAGES_DATA -BOOL broadcastVoltagesData( VOLTAGES_DATA_PAYLOAD_T data ); - -// MSG_ID_RTC_EPOCH -BOOL broadcastRTCEpoch( U32 epoch ); - -// MSG_ID_TREATMENT_TIME -BOOL broadcastTreatmentTime( U32 secsTotTreatment, U32 secsElapsed, U32 secsRemaining ); - -// MSG_ID_TREATMENT_STATE -BOOL broadcastTreatmentState( TREATMENT_STATE_DATA_T payload ); - -// MSG_ID_HD_POST_TREATMENT_STATE -BOOL broadcastPostTreatmentState( U32 postTreatmentSubMode ); - -// MSG_ID_PRE_TREATMENT_STATE -BOOL broadcastPreTreatmentState( PRE_TREATMENT_STATE_DATA_T *preTreatmentDataPtr ); - -// MSG_ID_POWER_OFF_WARNING -BOOL broadcastPowerOffWarning( void ); - -// MSG_ID_HD_OP_MODE -BOOL broadcastHDOperationMode( U32 mode, U32 subMode ); - -// MSG_ID_HD_VALVES_DATA -BOOL broadcastHDValves( HD_VALVE_DATA_T *valveData ); - -// MSG_ID_SALINE_BOLUS_DATA -BOOL broadcastSalineBolusData( SALINE_BOLUS_DATA_PAYLOAD_T data ); - -// MSG_ID_HD_TREATMENT_STOP_TIMER_DATA -BOOL broadcastTreatmentStopData( U32 timeout, U32 countdown ); - -// MSG_ID_HD_RINSEBACK_PROGRESS -BOOL broadcastRinsebackData( RINSEBACK_DATA_PAYLOAD_T data ); - -// MSG_ID_HD_RECIRC_PROGRESS -BOOL broadcastRecircData( U32 timeout, U32 countdown ); - -// MSG_ID_HD_BLOOD_PRIME_PROGRESS -BOOL broadcastBloodPrimeData( BLOOD_PRIME_DATA_PAYLOAD_T data ); - -// MSG_ID_HD_AIR_TRAP_DATA -BOOL broadcastAirTrapData( AIR_TRAP_LEVELS_T lowerLevel, AIR_TRAP_LEVELS_T upperLevel ); - -// MSG_ID_HD_NO_CART_SELF_TEST_PROGRESS -BOOL broadcastNoCartSelfTestTime( U32 timeout, U32 countdown ); - -// MSG_ID_HD_DRY_SELF_TEST_PROGRESS -BOOL broadcastDrySelfTestTime( U32 timeout, U32 countdown ); - -// MSG_ID_HD_FLUID_LEAK_STATE -BOOL broadcastFluidLeakState( FLUID_LEAK_STATES_T state ); - -// MSG_ID_HD_BLOOD_LEAK_DATA -BOOL broadcastBloodLeakData( BLOOD_LEAK_STATUS_T status, U32 state ); - -// MSG_ID_HD_BUBBLES_DATA -BOOL broadcastBubblesData( U32 statusADA, U32 stateADA, U32 statusADV, U32 stateADV ); - -// MSG_ID_HD_PRIMING_STATUS_DATA -BOOL broadcastPrimeData( PRIMING_DATA_PAYLOAD_T *primeDataPtr ); - -// MSG_ID_HD_DISINFECT_STANDBY_DATA -BOOL broadcastDisinfectsData( DISINFECTS_DATA_T *disinfectsData ); - -// MSG_ID_HD_SWITCHES_DATA -BOOL broadcastSwitchesData( SWITCHES_DATA_T *switchesData ); - // MSG_ID_HD_SEND_CALIBRATION_RECORD BOOL sendHDCalibrationRecord( U32 payloadCurrNum, U32 payloadTotalNum, U32 length, U08* calRcrdAddress ); @@ -487,15 +403,6 @@ // MSG_ID_Hd_SEND_SERVICE_RECORD BOOL sendHDServiceRecord( U32 payloadCurrNum, U32 payloadTotalNum, U32 length, U08* srvcRcrdAddress ); -// MSG_ID_HD_DISINFECT_STANDBY_DATA -BOOL broadcastDisinfectsData( DISINFECTS_DATA_T *disinfectsData ); - -// MSG_ID_HD_TEMPERATURES_DATA -BOOL broadcastTemperaturesData( TEMPERATURES_DATA_T *temperaturesData ); - -// MSG_ID_HD_FANS_DATA -BOOL broadcastFansData( FANS_DATA_T *fansData ); - #ifdef EMC_TEST_BUILD // MSG_ID_CAN_ERROR_COUNT BOOL broadcastCANErrorCount( U32 count ); @@ -539,9 +446,12 @@ // MSG_ID_BLOOD_FLOW_MEAS_OVERRIDE void handleTestBloodFlowMeasuredOverrideRequest( MESSAGE_T *message ); -// MSG_ID_BLOOD_FLOW_SIG_STRENGTH_OVERRIDE -void handleTestBloodFlowSignalStrengthOverrideRequest( MESSAGE_T *message ); +// MSG_ID_BLOOD_ROTOR_COUNT_OVERRIDE +void handleHDBloodPumpRotorCountOverrideRequest( MESSAGE_T *message ); +// MSG_ID_SET_ARTERIAL_PRESSURE_OFFSET +void handleHDSetArterialPressureOffsetRequest( MESSAGE_T *message ); + // MSG_ID_BLOOD_PUMP_MC_MEAS_SPEED_OVERRIDE void handleTestBloodPumpMCMeasuredSpeedOverrideRequest( MESSAGE_T *message ); @@ -566,9 +476,6 @@ // MSG_ID_DIAL_IN_FLOW_MEAS_OVERRIDE void handleTestDialInFlowMeasuredOverrideRequest( MESSAGE_T *message ); -// MSG_ID_DIAL_IN_FLOW_SIG_STRENGTH_OVERRIDE -void handleTestDialInFlowSignalStrengthOverrideRequest( MESSAGE_T *message ); - // MSG_ID_DIAL_IN_PUMP_MC_MEAS_SPEED_OVERRIDE void handleTestDialInPumpMCMeasuredSpeedOverrideRequest( MESSAGE_T *message ); @@ -593,12 +500,6 @@ // MSG_ID_OCCLUSION_BLOOD_PUMP_OVERRIDE void handleTestBloodPumpOcclusionOverrideRequest( MESSAGE_T *message ); -// MSG_ID_OCCLUSION_DIAL_IN_PUMP_OVERRIDE -void handleTestDialysateInletPumpOcclusionOverrideRequest( MESSAGE_T *message ); - -// MSG_ID_OCCLUSION_DIAL_OUT_PUMP_OVERRIDE -void handleTestDialysateOutletPumpOcclusionOverrideRequest( MESSAGE_T *message ); - // MSG_ID_PRES_OCCL_SEND_INTERVAL_OVERRIDE void handleTestPresOcclBroadcastIntervalOverrideRequest( MESSAGE_T *message ); @@ -706,15 +607,9 @@ // MSG_ID_HD_BLOOD_PRIME_VOLUME_OVERRIDE void handleBloodPrimeVolumeOverrideRequest( MESSAGE_T *message ); -// MSG_ID_HD_BLOOD_PRIME_SAFETY_VOLUME_OVERRIDE -void handleBloodPrimeSafetyVolumeOverrideRequest( MESSAGE_T *message ); - // MSG_ID_HD_RINSEBACK_VOLUME_OVERRIDE void handleRinsebackVolumeOverrideRequest( MESSAGE_T *message ); -// MSG_ID_HD_RINSEBACK_SAFETY_VOLUME_OVERRIDE -void handleRinsebackSafetyVolumeOverrideRequest( MESSAGE_T *message ); - // MSG_ID_HD_SWITCHES_STATUS_OVERRIDE void handleSetSwitchesStatusOverrideRequest( MESSAGE_T *message ); @@ -859,6 +754,15 @@ // MSG_ID_HD_FANS_RPM_OVERRIDE void handleFansRPMOverride( MESSAGE_T *message ); +// MSG_ID_HD_BLOCK_MESSAGE_TRANSMISSION +void handleTestBlockMessagesRequest( MESSAGE_T *message ); + +// MSG_ID_HD_SYRINGE_PUMP_FORCE_SENSOR_DAC_CALIBRATE +void handleTestSyringePumpForceSensorCalibrateRequest( MESSAGE_T *message ); + +// MSG_ID_HD_STOP_RTC_CLOCK +void handleStopHDRTCClock( MESSAGE_T *message ); + /**@}*/ #endif