- fixed mutual inclusions git-svn-id: http://moon:8086/svn/software/trunk/libsrc/radio@866 b431acfa-c32f-4a4a-93f1-934dc6c82436
63 lines
1.7 KiB
C
Executable File
63 lines
1.7 KiB
C
Executable File
// --------------------------------------------------------------
|
|
#ifndef _RADIO_RINGBUF_H_
|
|
#define _RADIO_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 // _RADIO_RINGBUF_H_
|