mailbox_message.h 732 B

123456789101112131415161718192021222324252627
  1. #ifndef _MAILBOX_MESSAGE_H_
  2. #define _MAILBOX_MESSAGE_H_
  3. #include "mailbox.h"
  4. #define MB_RX_QUEUE_LEN 8 // 每个消息类型的接收队列长度
  5. #define MB_FRAME_DSIZE (MAILBOX_DR_SUM*4 - 2) // 帧头占2字节
  6. typedef enum {
  7. MB_MSG_T_SYS_UPDATE = 0,
  8. MB_MSG_T_CAN_UPDATE,
  9. MB_MSG_T_MEDIA_UPDATE,
  10. MB_MSG_T_DCIC_DETECT,
  11. MB_MSG_T_MCU_MODULE_ACCESS,
  12. MB_MSG_T_CPU_MODULE_ACCESS,
  13. MB_MSG_T_MAX,
  14. }mb_msg_type_t;
  15. typedef struct {
  16. uint8_t data[MB_FRAME_DSIZE];
  17. uint32_t dl;
  18. }mb_rxmsg_t;
  19. int mailbox_msg_send(mb_msg_type_t type, const uint8_t *data, uint32_t dl, TickType_t xTicksToWait);
  20. BaseType_t mailbox_msg_receive(mb_msg_type_t type, mb_rxmsg_t *msg, TickType_t xTicksToWait);
  21. void mailbox_msg_init(void);
  22. #endif