/************************************************************************** * * Copyright (c) 2019-2020 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 * * @author (last) Quang Nguyen * @date (last) 21-Jul-2020 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #ifndef __SYSTEM_COMM_MESSAGES_H__ #define __SYSTEM_COMM_MESSAGES_H__ #include "DGCommon.h" #include "MsgQueues.h" // ********** public definitions ********** // ********** public function prototypes ********** // ACK MSG BOOL sendACKMsg( MESSAGE_T *message ); // MSG_ID_ALARM_TRIGGERED BOOL broadcastAlarmTriggered( U16 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); // MSG_ID_ALARM_CLEARED BOOL broadcastAlarmCleared( U16 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( U32 tgtPressure, F32 measFlow, F32 setPWM ); // MSG_ID_DRAIN_PUMP_DATA BOOL broadcastDrainPumpData( U32 tgtSpeed, U32 dac ); // 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 ( U32 mainPrimaryDC, U32 smallPrimaryDC, U32 trimmerDC ); // MSG_ID_TEMPERATURE_SENSORS_READINGS BOOL broadcastTemperatureSensorsData ( U08 *sensorsValue, U32 byteLength ); // MSG_ID_DG_CONDUCTIVITY_DATA BOOL broadcastConductivityData( F32 cpi, F32 cpo ); // MSG_ID_POWER_OFF_WARNING void handlePowerOffWarning( MESSAGE_T *message ); // MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS void handleSetDialysateTemperatureCmd( MESSAGE_T *message ); // MSG_ID_REQUEST_FW_VERSIONS void handleFWVersionCmd( MESSAGE_T *message ); // MSG_ID_DG_SWITCH_RESERVOIR void handleSwitchReservoirCmd( MESSAGE_T *message ); // MSG_ID_DG_FILL void handleFillCmd( MESSAGE_T *message ); // MSG_ID_DG_DRAIN void handleDrainCmd( MESSAGE_T *message ); // MSG_ID_STARTING_STOPPING_TREATMENT void handleStartStopTreatmentMsg( MESSAGE_T *message ); // MSG_ID_DG_SAMPLE_WATER_CMD void handleSampleWaterCmd( MESSAGE_T *message ); // MSG_ID_START_STOP_PRIMARY_HEATER BOOL handleStartStopPrimaryHeater( MESSAGE_T * message ); // MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD void handleStartStopTrimmerHeaterCmd( MESSAGE_T *message ); // *********** public test support message functions ********** #ifdef DEBUG_ENABLED // DEBUG OUTPUT BOOL sendDebugData( U08 *dbgData, U32 len ); // Debug message to UI for logging void sendDebugDataToUI( U08 *str ); #endif // MSG_TESTER_LOG_IN void handleTesterLogInRequest( MESSAGE_T *message ); BOOL isTestingActivated( void ); // MSG_ID_DG_ALARM_STATE_OVERRIDE void handleTestAlarmStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_WATCHDOG_TASK_CHECKIN_OVERRIDE: void handleTestWatchdogCheckInStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_LOAD_CELL_OVERRIDE void handleTestLoadCellOverrideRequest( MESSAGE_T *message ); // MSG_ID_LOAD_CELLL_SEND_INTERVAL_OVERRIDE: void handleTestLoadCellDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_TEMPERATURE_SENSORS_OVERRIDE void handleTestTemperatureSensorsOverrideRequest ( MESSAGE_T *message ); // MSG_ID_TEMPERATURE_SENSORS_DATA_PUBLISH_OVERRIDE void handleTestTemperatureSensorsDataPublishOverrideRequest ( MESSAGE_T *message ); // MSG_ID_PUBLSIH_HEATERS_DATA_OVERRIDE void handleTestHeatersDataPublishOverrideRequest ( MESSAGE_T *message ); // MSG_ID_SET_RTC_TIMESTAMP void handleSetRTCTimestamp( MESSAGE_T *message ); // MSG_ID_PRESSURE_OVERRIDE: void handleTestPressureSensorOverrideRequest( MESSAGE_T *message ); // MSG_ID_PRESSURE_SEND_INTERVAL_OVERRIDE: void handleTestPressureDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_RO_PUMP_SET_PT_OVERRIDE: void handleTestROPumpSetPointOverrideRequest( MESSAGE_T *message ); // MSG_ID_RO_MEASURED_FLOW_OVERRIDE: void handleTestROMeasuredFlowOverrideRequest( MESSAGE_T *message ); // MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestROPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_DRAIN_PUMP_SET_PT_OVERRIDE: void handleTestDrainPumpSetPointOverrideRequest( MESSAGE_T *message ); // MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestDrainPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_VALVE_STATE_OVERRIDE void handleTestValveStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_VALVES_STATES_PUBLISH_INTERVAL_OVERRIDE void handleTestValvesStatesPublishIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_DG_SAFETY_SHUTDOWN_OVERRIDE: void handleTestDGSafetyShutdownOverrideRequest( MESSAGE_T *message ); // MSG_ID_CONDUCTIVITY_OVERRIDE void handleTestSetConductivityOverrideRequest( MESSAGE_T *message ); // MSG_ID_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE void handleTestSetConductivityDataPublishIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_DG_ACCEL_OVERRIDE: void handleTestDGAccelOverrideRequest( MESSAGE_T *message ); // MSG_ID_DG_ACCEL_MAX_OVERRIDE: void handleTestDGAccelMaxOverrideRequest( MESSAGE_T *message ); // MSG_ID_DG_ACCEL_SEND_INTERVAL_OVERRIDE: void handleTestDGAccelBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_DG_ACCEL_SET_CALIBRATION: void handleSetAccelCalibration( MESSAGE_T *message ); #endif