/************************************************************************** * * 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 * * @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 MSG_ID_PRESSURE_OCCLUSION_DATA, // 9 MSG_ID_RTC_EPOCH, // 10 MSG_ID_DIALYSATE_OUT_FLOW_DATA, // 11 MSG_ID_LOAD_CELL_READINGS, // 12 MSG_ID_TREATMENT_TIME, // 13 XXXXX, #ifdef CAN_TEST MSG_ID_HD_CAN_TEST_1_LARGE_FREQ, // 15 MSG_ID_DG_CAN_TEST_1_LARGE_FREQ, // 16 YYYYY, #endif // service/test CAN messages MSG_ID_FIRST_TESTER_MESSAGE = 0xA000, // 0xA000 MSG_ID_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_TESTER_MESSAGE, MSG_ID_DG_MESSAGE, // 0xA001 MSG_ID_WATCHDOG_TASK_CHECKIN_OVERRIDE, // 0xA002 MSG_ID_ALARM_STATE_OVERRIDE, // 0xA003 MSG_ID_SET_RTC_DATE_TIME, // 0xA004 END_OF_MSG_IDS } MSG_ID_T; // ********** public function prototypes ********** #ifndef ACK_NOT_IMPLEMENTED // ACK MSG BOOL sendACKMsg( MESSAGE_T *message ); #endif // 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_RTC_EPOCH BOOL broadcastRTCEpoch( U32 epoch ); // TODO - probably don't want DG to broadcast these // MSG_ID_LOAD_CELL_READINGS BOOL broadcastLoadCellData( F32 loadCellA1, F32 loadCellA2, F32 loadCellB1, F32 loadCellB2 ); #ifdef CAN_TEST // MSG_ID_DG_CAN_TEST_1_LARGE_FREQ void broadcastCANTest1LargeFrequentMessage(); #endif // *********** 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_DG_MESSAGE void handleTestDGMessageRequest( 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_SET_RTC_TIMESTAMP void handleSetRTCTimestamp( MESSAGE_T *message ); #endif