Files
@ faf3d701dcf0
Branch filter:
Location: HydroBot/hydrobot-sharedlibs/inc/can_buffer.h - annotation
faf3d701dcf0
722 B
text/plain
Added LightSense module
a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 a72d393244e6 | #ifndef _CAN_BUFFER_H
#define _CAN_BUFFER_H
#include <string.h>
#include "system.h"
#define CAN_BUFFER_SIZE 8
typedef enum CanBufferStatus {CAN_BUFFER_OK, CAN_BUFFER_EMPTY, CAN_BUFFER_FULL} CanBufferStatus;
typedef struct CanBuffer
{
volatile CanRxMsgTypeDef data[CAN_BUFFER_SIZE];
volatile uint8_t head;
volatile uint8_t tail;
volatile uint8_t count;
} CanBuffer;
void can_buffer_init(volatile CanBuffer *buffer);
CanBufferStatus can_buffer_add(volatile CanBuffer *buffer, CanRxMsgTypeDef *msg);
volatile CanRxMsgTypeDef* can_buffer_remove(volatile CanBuffer *buffer);
bool can_buffer_is_empty(volatile CanBuffer *buffer);
uint8_t can_buffer_size(volatile CanBuffer *buffer);
#endif //_CAN_BUFFER_H
|