Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/radio@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// --------------------------------------------------------------
|
||||
#ifndef RINGBUF_H
|
||||
#define RINGBUF_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "radio_types.h"
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Types
|
||||
// --------------------------------------------------------------
|
||||
typedef struct _rbuf_t
|
||||
{
|
||||
uint32_t size, iw, ir, dist;
|
||||
radio_float_t *pData;
|
||||
|
||||
} rbuf_t;
|
||||
|
||||
typedef struct _fifo_t
|
||||
{
|
||||
uint32_t size_max;
|
||||
uint32_t size;
|
||||
uint32_t ir;
|
||||
uint32_t iw;
|
||||
uint32_t *pData;
|
||||
|
||||
} fifo_t;
|
||||
|
||||
// --------------------------------------------------------------
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Functions
|
||||
// --------------------------------------------------------------
|
||||
// RingBuffer
|
||||
void RBufInit(rbuf_t *pObj, uint32_t size);
|
||||
void RBufFree(rbuf_t *pObj);
|
||||
void RBufPut(rbuf_t *pObj, radio_float_t x);
|
||||
radio_float_t RBufGet(rbuf_t *pObj);
|
||||
radio_float_t RBufGetAfter(rbuf_t *pObj, int32_t delay);
|
||||
radio_float_t RBufGetAt(rbuf_t *pObj, uint32_t index);
|
||||
|
||||
// Fifo
|
||||
void FifoInit(fifo_t *pObj, uint32_t max_size);
|
||||
void FifoFree(fifo_t *pObj);
|
||||
uint32_t FifoSize(fifo_t *pObj);
|
||||
uint32_t FifoSizeMax(fifo_t *pObj);
|
||||
uint32_t FifoFront(fifo_t *pObj);
|
||||
uint32_t FifoBack(fifo_t *pObj);
|
||||
void FifoPushBack(fifo_t *pObj, uint32_t item);
|
||||
void FifoPushFront(fifo_t *pObj, uint32_t item);
|
||||
void FifoPopBack(fifo_t *pObj);
|
||||
void FifoPopFront(fifo_t *pObj);
|
||||
|
||||
// --------------------------------------------------------------
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
// --------------------------------------------------------------
|
||||
#endif // RINGBUF_H
|
||||
Reference in New Issue
Block a user