Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rf308cc4c35eab630ebbbde405cfe47d049afeafb -rfbc0a281b094ff309dcbf83db1878818a9b384f1 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision f308cc4c35eab630ebbbde405cfe47d049afeafb) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision fbc0a281b094ff309dcbf83db1878818a9b384f1) @@ -8,172 +8,178 @@ * @file SystemCommMessages.h * * @author (last) Quang Nguyen -* @date (last) 21-Jul-2020 +* @date (last) 24-Aug-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 ); - + +#ifndef __SYSTEM_COMM_MESSAGES_H__ +#define __SYSTEM_COMM_MESSAGES_H__ + +#include "DGCommon.h" +#include "MsgQueues.h" +#include "ROPump.h" + +/** + * @defgroup SystemCommMessages SystemCommMessages + * @brief System communication messages service module. Handles and broadcasts system messages. + * + * @addtogroup SystemCommMessages + * @{ + */ + +// ********** 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_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( U32 tgtSpeed, U32 dac ); + +// 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 ( 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 ); +BOOL broadcastConductivityData( void * conductivityDataPtr ); -// 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_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 ); +// 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: +#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_MEASURED_FLOW_OVERRIDE: +void handleTestROMeasuredFlowOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE: +void handleTestROPumpDataBroadcastIntervalOverrideRequest( 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 ); - +void handleTestSetConductivityDataPublishIntervalOverrideRequest( MESSAGE_T *message ); + // MSG_ID_DG_ACCEL_OVERRIDE: void handleTestDGAccelOverrideRequest( MESSAGE_T *message ); @@ -186,4 +192,33 @@ // MSG_ID_DG_ACCEL_SET_CALIBRATION: void handleSetAccelCalibration( MESSAGE_T *message ); -#endif +// MSG_ID_DG_SOFTWARE_RESET_REQUEST +void handleDGSoftwareResetRequest( MESSAGE_T *message); + +// MSG_ID_DG_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE +void handleConcentratePumpMeasuredSpeedOverride( MESSAGE_T *message ); + +// MSG_ID_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE +void handleSetConcentratePumpTargetSpeed( MESSAGE_T *message ); + +// MSG_ID_CONCENTRATE_PUMP_STATE_CHANGE_REQUEST +void handleConcentratePumpStateChangeRequest( MESSAGE_T *message ); + +// MSG_ID_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE +void handleConcentratePumpPublishIntervalOverride( MESSAGE_T *message ); + +// MSG_ID_DG_RO_PUMP_DUTY_CYCLE_OVERRIDE +void handleTestROPumpDutyCycleOverride( MESSAGE_T *message ); + +// MSG_ID_DG_RO_FLOW_RATE_OVERRIDE +void handleTestMeasuredROFlowRateOverride( MESSAGE_T *message ); + +// MSG_ID_DG_RO_PUMP_TARGET_FLOW_OVERRIDE +void handleTestROPumpTargetFlowOverride( MESSAGE_T *message ); + +// MSG_ID_DG_RO_PUMP_TARGET_PRESSURE_OVERRIDE +void handleROPumpTargetPressureOverride( MESSAGE_T *message ); + +/**@}*/ + +#endif