Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r1a5efe97f5f39594b45797fded52cafce92afe80 -r604d8aaceeb8e0b650ac2054644333fc7717bb51 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 1a5efe97f5f39594b45797fded52cafce92afe80) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 604d8aaceeb8e0b650ac2054644333fc7717bb51) @@ -1,35 +1,39 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2022 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) 31-Mar-2022 * -* @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" #include "UVReactors.h" @@ -45,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 ); @@ -59,75 +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( F32 loadCellA1, F32 loadCellA2, F32 loadCellB1, F32 loadCellB2 ); - -// 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_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_COMMAND_RESPONSE void sendCommandResponseMsg( DG_CMD_RESPONSE_T *cmdResponsePtr ); @@ -143,6 +89,15 @@ // MSG_ID_REQUEST_FW_VERSIONS void handleFWVersionCmd( MESSAGE_T *message ); +// MSG_ID_REQUEST_FW_VERSIONS +void handleDGSerialNumberRequest( void ); + +// MSG_ID_UI_REQUEST_SERVICE_INFO +void handleDGServiceScheduleRequest( MESSAGE_T *message ); + +// MSG_ID_HD_REQUEST_DG_CONCENTRATE_RATIOS +void handleDGSendConcentrateMixingRatios( MESSAGE_T *message ); + // MSG_ID_DG_SWITCH_RESERVOIR_CMD void handleSwitchReservoirCmd( MESSAGE_T *message ); @@ -167,12 +122,6 @@ // MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD void handleStartStopTrimmerHeaterCmd( MESSAGE_T *message ); -// 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_SEND_CALIBRATION_DATA BOOL sendDGCalibrationRecord( U32 payloadCurrNum, U32 payloadTotalNum, U32 length, U08* calRcrdAddress ); @@ -191,15 +140,13 @@ // MSG_ID_DG_POST_FINAL_TEST_RESULT BOOL sendPOSTFinalResult( BOOL passed ); -// *********** public test support message functions ********** +// MSG_ID_DG_SEND_SW_CONFIG_RECORD +BOOL sendDGSWConfigRecord( U32 payloadCurrNum, U32 payloadTotalNum, U32 length, U08* swRcrdAddress ); -#ifdef DEBUG_ENABLED -// DEBUG OUTPUT -BOOL sendDebugData( U08 *dbgData, U32 len ); +// MSG_ID_DG_SCHEDULED_RUNS_INFO +void handleDGScheduledRunsRequest( MESSAGE_T *message ); -// Debug message to UI for logging -void sendDebugDataToUI( U08 *str ); -#endif +// *********** public test support message functions ********** // MSG_TESTER_LOG_IN void handleTesterLogInRequest( MESSAGE_T *message ); @@ -238,12 +185,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 ); @@ -257,8 +213,14 @@ 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 ); + +// MSG_ID_DG_SWITCHES_PUBLISH_INTERVAL_OVERRIDE +void handleTestSwitchesPublishIntervalOverrideRequest( MESSAGE_T *message ); + // MSG_ID_CONDUCTIVITY_OVERRIDE void handleTestSetConductivityOverrideRequest( MESSAGE_T *message ); @@ -325,7 +287,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 @@ -340,6 +302,9 @@ // MSG_ID_UI_DG_SET_RTC_REQUEST void handleUIClockSyncRequest( MESSAGE_T *message ); +// MSG_ID_HD_DG_POST_RESULT_REQUEST +void handleDGPOSTResultRequest( MESSAGE_T *message ); + // MSG_ID_DG_SET_CALIBRATION_DATA void handleSetDGCalibrationRecord( MESSAGE_T *message ); @@ -367,6 +332,51 @@ // MSG_ID_DG_START_STOP_CHEM_DSINFECT BOOL handleStartStopDGChemicalDisinfect( MESSAGE_T *message ); +// MSG_ID_DG_OP_MODE_PUBLISH_INTERVAL_OVERRIDE +void handleSetDGOpModeBroadcastIntervalOverrideRequest( MESSAGE_T *message ); + +// 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 ); + +// MSG_ID_DG_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE +void handleTestFansRPMAlarmStartTimeOffsetOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_DG_USED_ACID_VOLUME_ML_OVERRIDE +void handleTestUsedAcidVolumeMLOverrideRequest(MESSAGE_T *message); + +// MSG_ID_DG_USED_BICARB_VOLUME_ML_OVERRIDE +void handleTestUsedBicarbVolumeMLOverrideRequest(MESSAGE_T *message); + +// MSG_ID_DG_FANS_DUTY_CYCLE_OVERRIDE +void handleSetFansDutyCycleOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_DG_GET_SW_CONFIG_RECORD +void handleGetDGSoftwareConfigRecord( MESSAGE_T *message ); + +// MSG_ID_DG_SET_SW_CONFIG_RECORD +void handleSetDGSoftwareConfigRecord( MESSAGE_T *message ); + +// MSG_ID_DG_HD_COMMUNICATION_STATUS +void handleTestHDCommunicationStatusOverrideRequest(MESSAGE_T *message); + /**@}*/ #endif