Files
HendiControlFirmware/Control/firmware/uart_echo/fifo.h
T
jens 6998950021 - main: no global vars
- changed data types in fifo


git-svn-id: http://moon:8086/svn/projects/HendiControl@39 fda53097-d464-4ada-af97-ba876c37ca34
2019-03-02 16:07:39 +00:00

35 lines
642 B
C

/*
* fifo.h
*
* Created: 20.02.2019 20:35:48
* Author: jens
*/
#ifndef FIFO_H_
#define FIFO_H_
#include <stdlib.h>
#include <avr/interrupt.h>
typedef struct _sFifo
{
uint8_t **ppData;
size_t capacity;
size_t itemSize;
size_t volatile fill;
size_t volatile wi;
size_t volatile ri;
const char *pName;
} Fifo;
void fifo_init(Fifo *pObj, size_t capacity, size_t itemSize, const char *pName);
void fifo_free(Fifo *pObj);
int fifo_push(Fifo *pObj, void *pItem);
int fifo_pop(Fifo *pObj, void *pItem);
int fifo_isEmpty(Fifo *pObj);
void enterCritical();
void exitCritial();
#endif /* FIFO_H_ */