/************************************************************************** * * Copyright (c) 2019-2019 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 * * @date 10-Oct-2019 * @author S. Nash * * @brief header file for System Communication message definitions and functions. * **************************************************************************/ #ifndef __SYSTEM_COMM_MESSAGES_H__ #define __SYSTEM_COMM_MESSAGES_H__ #include "Common.h" #include "MsgQueues.h" // ********** public definitions ********** typedef enum Msg_IDs { // normal CAN messages MSG_ID_UNUSED = 0, MSG_ID_OFF_BUTTON_PRESS, // 1 MSG_ID_ALARM_STATUS, // 2 MSG_ID_ALARM_TRIGGERED, // 3 MSG_ID_ALARM_CLEARED, // 4 MSG_ID_BLOOD_FLOW_DATA, // 5 MSG_ID_DG_CHECK_IN, // 6 MSG_ID_UI_CHECK_IN, // 7 MSG_ID_DIALYSATE_FLOW_DATA, // 8 // service/test CAN messages MSG_ID_FIRST_TESTER_MESSAGE = 0x8000, // 0x8000 MSG_ID_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_TESTER_MESSAGE, MSG_ID_HD_MESSAGE, // 0x8001 MSG_ID_OFF_BUTTON_STATE_OVERRIDE, // 0x8002 MSG_ID_STOP_BUTTON_STATE_OVERRIDE, // 0x8003 MSG_ID_ALARM_LAMP_PATTERN_OVERRIDE, // 0x8004 MSG_ID_WATCHDOG_TASK_CHECKIN_OVERRIDE, // 0x8005 MSG_ID_ALARM_STATE_OVERRIDE, // 0x8006 MSG_ID_ALARM_TIME_OVERRIDE, // 0x8007 MSG_ID_BLOOD_FLOW_SET_PT_OVERRIDE, // 0x8008 MSG_ID_BLOOD_FLOW_MEAS_OVERRIDE, // 0x8009 MSG_ID_BLOOD_PUMP_MC_MEAS_SPEED_OVERRIDE, // 0x800A MSG_ID_BLOOD_PUMP_MC_MEAS_CURR_OVERRIDE, // 0x800B MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE, // 0x800C MSG_ID_ALARM_STATUS_SEND_INTERVAL_OVERRIDE, // 0x800D MSG_ID_BLOOD_PUMP_MEAS_SPEED_OVERRIDE, // 0x800E MSG_ID_BLOOD_PUMP_MEAS_ROTOR_SPEED_OVERRIDE, // 0x800F MSG_ID_DIAL_FLOW_SET_PT_OVERRIDE, // 0x8010 MSG_ID_DIAL_FLOW_MEAS_OVERRIDE, // 0x8011 MSG_ID_DIAL_PUMP_MC_MEAS_SPEED_OVERRIDE, // 0x8012 MSG_ID_DIAL_PUMP_MC_MEAS_CURR_OVERRIDE, // 0x8013 MSG_ID_DIAL_FLOW_SEND_INTERVAL_OVERRIDE, // 0x8014 MSG_ID_DIAL_PUMP_MEAS_SPEED_OVERRIDE, // 0x8015 MSG_ID_DIAL_PUMP_MEAS_ROTOR_SPEED_OVERRIDE, // 0x8016 END_OF_MSG_IDS } MSG_ID_T; // ********** public function prototypes ********** // MSG_ID_OFF_BUTTON_PRESS BOOL sendOffButtonMsgToUI( U08 cmd ); void handleOffButtonConfirmMsgFromUI( MESSAGE_T *message ); // MSG_ID_ALARM_STATUS BOOL broadcastAlarmStatus( COMP_ALARM_STATUS_T almStatus ); // 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_BLOOD_FLOW_DATA BOOL broadcastBloodFlowData( U32 flowStPt, F32 measFlow, F32 measRotorSpd, F32 measSpd, F32 measMCSpd, F32 measMCCurr, F32 pwmDC ); // MSG_ID_DIALYSATE_FLOW_DATA BOOL broadcastDialInFlowData( U32 flowStPt, F32 measFlow, F32 measRotorSpd, F32 measSpd, F32 measMCSpd, F32 measMCCurr, F32 pwmDC ); // MSG_ID_DG_CHECK_IN void handleDGCheckIn( MESSAGE_T *message ); // MSG_ID_UI_CHECK_IN void handleUICheckIn( MESSAGE_T *message ); // *********** public test support message functions ********** // DEBUG OUTPUT BOOL sendDebugData( U08 *dbgData, U32 len ); // MSG_TESTER_LOG_IN void handleTesterLogInRequest( MESSAGE_T *message ); BOOL isTestingActivated( void ); // MSG_ID_HD_MESSAGE void handleTestHDMessageRequest( MESSAGE_T *message ); // MSG_ID_OFF_BUTTON_STATE_OVERRIDE void handleTestOffButtonStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_STOP_BUTTON_STATE_OVERRIDE void handleTestStopButtonStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_ALARM_LAMP_PATTERN_OVERRIDE void handleTestAlarmLampPatternOverrideRequest( MESSAGE_T *message ); // MSG_ID_WATCHDOG_TASK_CHECKIN_OVERRIDE: void handleTestWatchdogCheckInStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_ALARM_STATE_OVERRIDE void handleTestAlarmStateOverrideRequest( MESSAGE_T *message ); // MSG_ID_ALARM_TIME_OVERRIDE void handleTestAlarmTimeOverrideRequest( MESSAGE_T *message ); // MSG_ID_ALARM_STATUS_SEND_INTERVAL_OVERRIDE void handleTestAlarmStatusBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_FLOW_SET_PT_OVERRIDE void handleTestBloodFlowSetPointOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_FLOW_MEAS_OVERRIDE void handleTestBloodFlowMeasuredOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_PUMP_MC_MEAS_SPEED_OVERRIDE void handleTestBloodPumpMCMeasuredSpeedOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_PUMP_MC_MEAS_CURR_OVERRIDE void handleTestBloodPumpMCMeasuredCurrentOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE void handleTestBloodFlowBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_PUMP_MEAS_SPEED_OVERRIDE void handleTestBloodPumpMeasuredSpeedOverrideRequest( MESSAGE_T *message ); // MSG_ID_BLOOD_PUMP_MEAS_ROTOR_SPEED_OVERRIDE void handleTestBloodPumpRotorMeasuredSpeedOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_FLOW_SET_PT_OVERRIDE void handleTestDialFlowSetPointOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_FLOW_MEAS_OVERRIDE void handleTestDialFlowMeasuredOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_PUMP_MC_MEAS_SPEED_OVERRIDE void handleTestDialPumpMCMeasuredSpeedOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_PUMP_MC_MEAS_CURR_OVERRIDE void handleTestDialPumpMCMeasuredCurrentOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_FLOW_SEND_INTERVAL_OVERRIDE void handleTestDialFlowBroadcastIntervalOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_PUMP_MEAS_SPEED_OVERRIDE void handleTestDialPumpMeasuredSpeedOverrideRequest( MESSAGE_T *message ); // MSG_ID_DIAL_PUMP_MEAS_ROTOR_SPEED_OVERRIDE void handleTestDialPumpRotorMeasuredSpeedOverrideRequest( MESSAGE_T *message ); #endif