EU1KY AA
fifo.h
Go to the documentation of this file.
1 /*
2  * (c) Yury Kuchura
3  * kuchura@gmail.com
4  *
5  * This code can be used on terms of WTFPL Version 2 (http://www.wtfpl.net/).
6  */
7 
8 #ifndef FIFO_H_INCLUDED
9 #define FIFO_H_INCLUDED
10 
11 #include <stdint.h>
12 
13 #define FIFO_SIZE 128
14 
15 typedef struct
16 {
17  uint8_t in;
18  uint8_t out;
19  uint8_t count;
20  uint8_t buff[FIFO_SIZE];
21 } FIFO_Descr;
22 
23 typedef enum
24 {
27 } FIFO_STATUS;
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 void FIFO_Init(FIFO_Descr *pFifo);
34 FIFO_STATUS FIFO_Put(FIFO_Descr *pFifo, uint8_t ch);
35 FIFO_STATUS FIFO_Get(FIFO_Descr *pFifo, uint8_t *ch);
36 int FIFO_IsEmpty(FIFO_Descr *pFifo);
37 int FIFO_IsFull(FIFO_Descr *pFifo);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif // FIFO_H_INCLUDED
Definition: fifo.h:25
uint8_t out
Definition: fifo.h:18
int FIFO_IsFull(FIFO_Descr *pFifo)
Definition: fifo.c:46
uint8_t in
Definition: fifo.h:17
Definition: fifo.h:15
FIFO_STATUS FIFO_Put(FIFO_Descr *pFifo, uint8_t ch)
Definition: fifo.c:17
Definition: fifo.h:26
#define FIFO_SIZE
Definition: fifo.h:13
int FIFO_IsEmpty(FIFO_Descr *pFifo)
Definition: fifo.c:39
void FIFO_Init(FIFO_Descr *pFifo)
Definition: fifo.c:10
FIFO_STATUS FIFO_Get(FIFO_Descr *pFifo, uint8_t *ch)
Definition: fifo.c:28
uint8_t count
Definition: fifo.h:19
FIFO_STATUS
Definition: fifo.h:23