ESOS32
ESOSOn32-bitProcessors
Macros | Functions
esos_cb.c File Reference

Circular buffer routines for ESOS32. More...

#include "esos.h"
#include "esos_cb.h"
Include dependency graph for esos_cb.c:

Go to the source code of this file.

Macros

#define __WRITE_CB_UINT8(pstB, u8x, u16e)
 
#define __OVERWRITE_CB_UINT8(pstB, u8x, u16e)
 
#define __READ_CB_UINT8(pstB, u8x)
 

Functions

void __esos_CB_Init (CBUFFER *pst_CBuffer, uint8_t *pau8_ptr, uint16_t u16_Len)
 
void __esos_CB_WriteUINT8 (CBUFFER *pst_CBuffer, uint8_t u8_x)
 
void __esos_CB_OverwriteUINT8 (CBUFFER *pst_CBuffer, uint8_t u8_x)
 
void __esos_CB_WriteUINT16 (CBUFFER *pst_CBuffer, uint16_t u16_x)
 
void __esos_CB_WriteUINT32 (CBUFFER *pst_CBuffer, uint32_t u32_x)
 
void __esos_CB_WriteUINT8Buffer (CBUFFER *pst_CBuffer, uint8_t *pu8_x, uint16_t u16_size)
 
uint8_t __esos_CB_ReadUINT8 (CBUFFER *pst_CBuffer)
 
uint16_t __esos_CB_ReadUINT16 (CBUFFER *pst_CBuffer)
 
uint32_t __esos_CB_ReadUINT32 (CBUFFER *pst_CBuffer)
 
void __esos_CB_ReadUINT8Buffer (CBUFFER *pst_CBuffer, uint8_t *pu8_x, uint16_t u16_size)
 

Detailed Description

Circular buffer routines for ESOS32.

Definition in file esos_cb.c.

Macro Definition Documentation

◆ __OVERWRITE_CB_UINT8

#define __OVERWRITE_CB_UINT8 (   pstB,
  u8x,
  u16e 
)
Value:
do { \
(u16e) = ((pstB)->u16_Start + (pstB)->u16_Count) % (pstB)->u16_Length; \
(pstB)->pau8_Data[(u16e)] = (u8x); \
if ((pstB)->u16_Count == (pstB)->u16_Length) \
(pstB)->u16_Start = ((pstB)->u16_Start + 1) % (pstB)->u16_Length; \
else \
++(pstB)->u16_Count; \
}while(0)

Definition at line 63 of file esos_cb.c.

◆ __READ_CB_UINT8

#define __READ_CB_UINT8 (   pstB,
  u8x 
)
Value:
do { \
(u8x) = (pstB)->pau8_Data[(pstB)->u16_Start]; \
(pstB)->u16_Start = ((pstB)->u16_Start + 1) % (pstB)->u16_Length; \
--(pstB)->u16_Count; \
} while(0)

Definition at line 73 of file esos_cb.c.

◆ __WRITE_CB_UINT8

#define __WRITE_CB_UINT8 (   pstB,
  u8x,
  u16e 
)
Value:
do { \
if ((pstB)->u16_Count < (pstB)->u16_Length) { \
(u16e) = ((pstB)->u16_Start + (pstB)->u16_Count) % (pstB)->u16_Length; \
(pstB)->pau8_Data[(u16e)] = (u8x); \
++(pstB)->u16_Count; \
} \
}while(0)

Definition at line 54 of file esos_cb.c.