Index: firmware/App/Services/CommBuffers.h =================================================================== diff -u -rde5a0d43bdef611d963d11855bc958a8d8899a09 -r5eda37efda2d771de4f5cfb509adf05621a290c3 --- firmware/App/Services/CommBuffers.h (.../CommBuffers.h) (revision de5a0d43bdef611d963d11855bc958a8d8899a09) +++ firmware/App/Services/CommBuffers.h (.../CommBuffers.h) (revision 5eda37efda2d771de4f5cfb509adf05621a290c3) @@ -20,36 +20,51 @@ #include "HDCommon.h" +/** + * @defgroup CommBuffers CommBuffers + * @brief The communication buffers module provides buffering services for + * incoming and outgoing CAN data. A separate buffer is provided for each + * CAN ID (channel) so that frame order is maintained for a given channel. + * + * @addtogroup CommBuffers + * @{ + */ + // ********** public definitions ********** - + +/// Enumeration of CAN communication buffers. Buffers are ordered by priority. typedef enum Comm_Buffers { - COMM_BUFFER_NOT_USED = 0, // CAN message boxes start at 1 - COMM_BUFFER_OUT_CAN_HD_ALARM, - COMM_BUFFER_IN_CAN_DG_ALARM, - COMM_BUFFER_IN_CAN_UI_ALARM, - COMM_BUFFER_OUT_CAN_HD_2_DG, - COMM_BUFFER_IN_CAN_DG_2_HD, - COMM_BUFFER_OUT_CAN_HD_2_UI, - COMM_BUFFER_OUT_CAN_HD_BROADCAST, - COMM_BUFFER_IN_CAN_DG_BROADCAST, - COMM_BUFFER_IN_CAN_UI_2_HD, - COMM_BUFFER_IN_CAN_UI_BROADCAST, - COMM_BUFFER_IN_CAN_PC, - COMM_BUFFER_OUT_CAN_PC, + COMM_BUFFER_NOT_USED = 0, ///< CAN message boxes start at 1 so we will not use this buffer + COMM_BUFFER_OUT_CAN_HD_ALARM, ///< Buffer for outgoing HD alarm messages + COMM_BUFFER_IN_CAN_DG_ALARM, ///< Buffer for incoming DG alarm messages + COMM_BUFFER_IN_CAN_UI_ALARM, ///< Buffer for incoming UI alarm messages + COMM_BUFFER_OUT_CAN_HD_2_DG, ///< Buffer for outgoing HD to DG messages + COMM_BUFFER_IN_CAN_DG_2_HD, ///< Buffer for incoming DG to HD messages + COMM_BUFFER_OUT_CAN_HD_2_UI, ///< Buffer for outgoing HD to UI messages + COMM_BUFFER_OUT_CAN_HD_BROADCAST, ///< Buffer for outgoing HD broadcast messages + COMM_BUFFER_IN_CAN_DG_BROADCAST, ///< Buffer for incoming DG broadcast messages + COMM_BUFFER_IN_CAN_UI_2_HD, ///< Buffer for incoming UI to HD messages + COMM_BUFFER_IN_CAN_UI_BROADCAST, ///< Buffer for incoming UI broadcast messages + COMM_BUFFER_IN_CAN_PC, ///< Buffer for incoming PC to HD messages + COMM_BUFFER_OUT_CAN_PC, ///< Buffer for outgoing HD to PC messages + COMM_BUFFER_LAST_CAN_BUFFER = COMM_BUFFER_OUT_CAN_PC, ///< Last CAN buffer #ifdef DEBUG_ENABLED COMM_BUFFER_IN_UART_PC, COMM_BUFFER_OUT_UART_PC, #endif - NUM_OF_COMM_BUFFERS + NUM_OF_COMM_BUFFERS ///< Number of CAN communication buffers } COMM_BUFFER_T; // ********** public function prototypes ********** void initCommBuffers( void ); +void clearBuffer( COMM_BUFFER_T buffer ); BOOL addToCommBuffer( COMM_BUFFER_T buffer, U08 *data, U32 len ); U32 getFromCommBuffer( COMM_BUFFER_T buffer, U08 *data, U32 len ); U32 peekFromCommBuffer( COMM_BUFFER_T buffer, U08 *data, U32 len ); U32 numberOfBytesInCommBuffer( COMM_BUFFER_T buffer ); +/**@}*/ + #endif