Basic_Frame_TypeC_2023_Omni
Loading...
Searching...
No Matches
queue_m.h
1/*******************************************************************************
2* @file : queue.h
3* @brief : provide queue management for various comms
4* @created time : Jul, 2023
5* @author : Haoran
6******************************************************************************
7* Copyright (c) 2023 UARM Artemis.
8* All rights reserved.
9*******************************************************************************/
10
11#ifndef __QUEUE_M_H__
12#define __QUEUE_M_H__
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#include "string.h"
19
20#include "stm32f407xx.h"
21#include "stm32f4xx_hal.h"
22
26typedef struct {
27 int16_t head; //queue head counter/pointer
28 int16_t tail;
29 uint16_t queue_size;
31
32/* can fifo queue */
33typedef struct {
34 CAN_TxHeaderTypeDef header;
35 uint8_t data[8];
37
38/* functions declaration here */
39void queueM_init(QueueManage_t* qm);
40void enqueueCanMessage(CAN_TxHeaderTypeDef* header, CanMessage_t* canQueue,
41 QueueManage_t* qm, uint8_t* data);
42void sendNextCanMessage(CAN_HandleTypeDef* hcan, CanMessage_t* canQueue,
43 QueueManage_t* qm);
44
45#ifdef __cplusplus
46}
47#endif
48
49#endif /*__QUEUE_H__*/
Definition queue_m.h:33
queue management main struct
Definition queue_m.h:26