#ifndef __MESSAGING_H__ #define __MESSAGING_H__ #include "FPCommon.h" #include "FPDefs.h" #include "MessageSupport.h" #include "MsgQueues.h" /** * @defgroup Messaging Messaging * @brief The system communication messages unit provides helper functions * for sending outgoing system message and handling incoming system messages. * * @addtogroup Messaging * @{ */ // ********** public definitions ********** #define ACK_REQUIRED TRUE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. #define ACK_NOT_REQUIRED FALSE ///< Macro for functions that want to know if an outgoing message requires acknowledgement from receiver. #pragma pack(push, 1) /// Payload record structure for ACK response. typedef struct { U08 acknowledgement; ///< Acknowledgement Byte } ACK_RESPONSE_PAYLOAD_T; #pragma pack(pop) // ********** public function prototypes ********** // Serialize message U32 serializeMessage( MESSAGE_T msg, COMM_BUFFER_T buffer, BOOL ackReq ); BOOL sendACKMsg( MESSAGE_T *message ); void handleIncomingMessage( MESSAGE_T *message ); BOOL handleUnhandledMsg( MESSAGE_T *message ); BOOL handleVersionRequestMessage( MESSAGE_T *message ); BOOL broadcastAlarmTriggered( U32 alarm, ALARM_DATA_T almData1, ALARM_DATA_T almData2 ); BOOL broadcastAlarmCleared( U32 alarm ); BOOL broadcastAlarmConditionCleared( U32 alarm ); BOOL sendEvent( FP_EVENT_ID_T event, EVENT_DATA_T dat1, EVENT_DATA_T dat2 ); void handleUITDResetInServiceModeRequest( MESSAGE_T* message ); BOOL handleSetROOperationMode( MESSAGE_T *message ); // Test Support Messaging Functions ************************** BOOL isTestingActivated( void ); void setTesterStatusToLoggedOut( void ); BOOL handleTesterLogInRequest( MESSAGE_T *message ); BOOL handleROSoftwareResetRequest( MESSAGE_T *message ); BOOL handleROTestConfiguration( MESSAGE_T *message ); /**@}*/ #endif