Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r233034b67edaee48012bf9a5478327519e0256bb -rdcd360fb4dc37db2dcbeb7fb14fb327fe68235f4 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 233034b67edaee48012bf9a5478327519e0256bb) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision dcd360fb4dc37db2dcbeb7fb14fb327fe68235f4) @@ -1,36 +1,38 @@ /************************************************************************** * -* 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) Quang Nguyen -* @date (last) 24-Aug-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 * ***************************************************************************/ #ifndef __SYSTEM_COMM_MESSAGES_H__ #define __SYSTEM_COMM_MESSAGES_H__ +#include "CommBuffers.h" #include "DGCommon.h" #include "DrainPump.h" #include "Fans.h" #include "FluidLeak.h" -#include "Heaters.h" #include "LoadCell.h" +#include "MessageSupport.h" #include "ModeChemicalDisinfect.h" #include "ModeFlush.h" #include "ModeHeatDisinfect.h" #include "MsgQueues.h" #include "NVDataMgmt.h" #include "Reservoirs.h" #include "ROPump.h" +#include "DialysateFlow.h" #include "Switches.h" #include "TemperatureSensors.h" #include "Thermistors.h" @@ -47,11 +49,22 @@ // ********** public definitions ********** +#define ACK_REQUIRED TRUE ///< Require an ACK. +#define ACK_NOT_REQUIRED FALSE ///< Not require an ACK. + // ********** public function prototypes ********** +U32 serializeMessage( MESSAGE_T msg, COMM_BUFFER_T buffer, BOOL ackReq ); + // ACK MSG BOOL sendACKMsg( MESSAGE_T *message ); +// MSG_ID_DG_EVENT +BOOL sendEvent( DG_EVENT_ID_T event, EVENT_DATA_T dat1, EVENT_DATA_T dat2 ); + +// Serialize message +U32 serializeMessage( MESSAGE_T msg, COMM_BUFFER_T buffer, BOOL ackReq ); + // MSG_ID_ALARM_TRIGGERED BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); @@ -61,81 +74,6 @@ // MSG_ID_ALARM_CONDITION_CLEARED BOOL broadcastAlarmConditionCleared( U32 alarm ); -// MSG_ID_DG_ACCELEROMETER_DATA -BOOL broadcastAccelData( F32 x, F32 y, F32 z, F32 xm, F32 ym, F32 zm, F32 xt, F32 yt, F32 zt ); - -// MSG_ID_RTC_EPOCH -BOOL broadcastRTCEpoch( U32 epoch ); // TODO - probably don't want DG to broadcast these - -// MSG_ID_DG_OP_MODE -BOOL broadcastDGOperationMode( U32 mode, U32 subMode ); - -// MSG_ID_LOAD_CELL_READINGS -BOOL broadcastLoadCellData( LOAD_CELL_DATA_T *loadCell ); - -// MSG_ID_DG_VALVES_STATES -BOOL broadcastValvesStates( U16 valvesStates ); - -// MSG_ID_RO_PUMP_DATA -BOOL broadcastROPumpData( RO_PUMP_DATA_T *pumpData ); - -// MSG_ID_DRAIN_PUMP_DATA -BOOL broadcastDrainPumpData( DRAIN_PUMP_DATA_T *drainPumpData ); - -// MSG_ID_DG_CONCENTRATE_PUMP_DATA -BOOL broadcastConcentratePumpData( void * concentratePumpDataPtr ); - -// MSG_ID_DG_PRESSURES_DATA -BOOL broadcastPressureSensorsData( F32 measROIn, F32 measROOut, F32 measDrainIn, F32 measDrainOut ); - -// MSG_ID_DG_RESERVOIR_DATA -BOOL broadcastReservoirData( U32 resID, U32 fillToVol, U32 drainToVol ); - -// MSG_ID_HEATERS_READINGS -BOOL broadcastHeatersData( HEATERS_DATA_T *heatersData ); - -// MSG_ID_TEMPERATURE_SENSORS_READINGS -BOOL broadcastTemperatureSensorsData( TEMPERATURE_SENSORS_DATA_T* tempSensorsData ); - -// MSG_ID_DG_CONDUCTIVITY_DATA -BOOL broadcastConductivityData( void * conductivityDataPtr ); - -// MSG_ID_DG_THERMISTORS_DATA -BOOL broadcastThermistorsData( THERMISTORS_DATA_T *thermistorsData ); - -// MSG_ID_DG_FANS_DATA -BOOL broadcastFansData( FANS_DATA_T * fansData ); - -// MSG_ID_DG_UV_REACTORS_DATA -BOOL broadcastUVReactorsData( UV_REACTORS_DATA_T *uvReactorsData ); - -// MSG_ID_DG_HEAT_DISINFECT_DATA -BOOL broadcastHeatDisinfectData( MODE_HEAT_DISINFECT_DATA_T *heatDisinfectData ); - -// MSG_ID_DG_FILTER_FLUSH_PROGRESS -BOOL broadcastFilterFlushData( U32 timeout, U32 countdown ); - -// MSG_ID_DG_FLUID_LEAK_STATE -BOOL broadcastFluidLeakState( FLUID_LEAK_STATES_T state); - -// MSG_ID_DG_VOLTAGES_DATA -BOOL broadcastVoltagesData( VOLTAGES_DATA_PAYLOAD_T data ); - -// MSG_ID_DG_FLUSH_DATA -BOOL broadcastFlushData( MODE_FLUSH_DATA_T *flushData ); - -// MSG_ID_DG_CHEM_DISINFECT_DATA -BOOL broadcastChemicalDisinfectData( MODE_CHEMICAL_DISINFECT_DATA_T *chemDisinfectData ); - -// MSG_ID_DG_CHEM_DISINFECT_TIME_TO_UI_DATA_PUBLISH -BOOL broadcastChemicalDisinfectData2UI( MODE_CHEMICAL_DISINFECT_UI_DATA_T *chemDisinfectUIData ); - -// MSG_ID_DG_HEAT_DISINFECT_TO_UI_DATA_PUBLISH -BOOL broadcastHeatDisinfectData2UI( MODE_HEAT_DISINFECT_UI_DATA_T *heatDisinfectUIData ); - -// MSG_ID_DG_SWITCHES_DATA -BOOL broadcastSwitchesData( SWITCHES_DATA_T *switchesData ); - // MSG_ID_DG_COMMAND_RESPONSE void sendCommandResponseMsg( DG_CMD_RESPONSE_T *cmdResponsePtr ); @@ -246,12 +184,21 @@ // MSG_ID_RO_MEASURED_FLOW_OVERRIDE: void handleTestROMeasuredFlowOverrideRequest( MESSAGE_T *message ); +// MSG_ID_DIALYSATE_MEASURED_FLOW_OVERRIDE: +void handleTestDialysateMeasuredFlowOverrideRequest( MESSAGE_T *message ); + // MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestROPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); +// MSG_ID_DIALYSATE_FLOW_SEND_INTERVAL_OVERRIDE: +void handleTestDialysateFlowDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); + // MSG_ID_DRAIN_PUMP_SET_RPM_OVERRIDE void handleTestDrainPumpRPMOverrideRequest( MESSAGE_T *message ); +// MSG_ID_DRAIN_PUMP_SET_RPM +void handleTestSetDrainPumpRPM( MESSAGE_T *message ); + // MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestDrainPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); @@ -265,7 +212,7 @@ void handleTestDGSafetyShutdownOverrideRequest( MESSAGE_T *message ); // MSG_ID_DRAIN_PUMP_SET_DELTA_PRESSURE_OVERRIDE -void handleSetDrainPumpDeltaPressureOverrideRequest( MESSAGE_T *message ); +void handleSetDrainPumpTargetOutletPressure( MESSAGE_T *message ); // MSG_ID_DG_SWITCHES_STATUS_OVERRIDE void handleSetSwitchesStatusOverrideRequest( MESSAGE_T *message ); @@ -339,7 +286,7 @@ // MSG_ID_DG_RO_FLOW_RATE_OVERRIDE void handleTestMeasuredROFlowRateOverride( MESSAGE_T *message ); -// MSG_ID_DG_RO_PUMP_TARGET_FLOW_OVERRIDE +// MSG_ID_DG_SET_RO_PUMP_TARGET_FLOW void handleTestROPumpTargetFlowOverride( MESSAGE_T *message ); // MSG_ID_DG_RO_PUMP_TARGET_PRESSURE_OVERRIDE @@ -390,6 +337,24 @@ // MSG_ID_FILTER_FLUSH_TIME_PERIOD_OVERRIDE void handleFilterFlushTimePeriodOverride( MESSAGE_T *message ); +// MSG_ID_DG_BLOCK_MESSAGE_TRANSMISSION +void handleTestBlockMessagesRequest( MESSAGE_T *message ); + +// MSG_ID_DG_ALARM_INFO_SEND_INTERVAL_OVERRIDE +void handleTestAlarmInfoSendIntervalOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_DG_SUPER_CLEAR_ALARMS_CMD +void handleTestSuperClearAlarmsRequest( MESSAGE_T *message ); + +// MSG_ID_DG_FANS_RPM_OVERRIDE +void handleFansRPMOverride( MESSAGE_T *message ); + +// MSG_ID_DG_STOP_RTC_CLOCK +void handleStopDGRTCClock( MESSAGE_T * message ); + +// MSG_ID_DG_DRAIN_PUMP_MEASURED_RPM_OVERRIDE +void handleSetDrainPumpMeasuredRPMOverrideRequest( MESSAGE_T *message ); + /**@}*/ #endif