34 #include <semaphore.h> 38 #define dl1printf(fmt, a...) tprintf(fmt, ##a) 39 #define dl1hd32(data, nWords) bhd32(data, nWords) 41 #define dl1printf(fmt, a...) 42 #define dl1hd32(data, nWords) 46 #define dl2printf(fmt, a...) tprintf(fmt, ##a) 47 #define dl2hd32(data, nWords) bhd32(data, nWords) 49 #define dl2printf(fmt, a...) 50 #define dl2hd32(data, nWords) 54 #define dl3printf(fmt, a...) tprintf(fmt, ##a) 55 #define dl3hd32(data, nWords) bhd32(data, nWords) 57 #define dl3printf(fmt, a...) 58 #define dl3hd32(data, nWords) 62 #define dl4printf(fmt, a...) tprintf(fmt, ##a) 63 #define dl4hd32(data, nWords) bhd32(data, nWords) 65 #define dl4printf(fmt, a...) 66 #define dl4hd32(data, nWords) 70 #define dl5printf(fmt, a...) tprintf(fmt, ##a) 71 #define dl5hd32(data, nWords) bhd32(data, nWords) 73 #define dl5printf(fmt, a...) 74 #define dl5hd32(data, nWords) 78 typedef uint8_t BUInt8;
79 typedef uint32_t BUInt32;
80 typedef uint64_t BUInt64;
81 typedef unsigned int BUInt;
84 typedef BUInt32 BTimeout;
85 const BTimeout BTimeoutForever = 0xFFFFFFFF;
94 Bool
wait(BTimeout timeoutUs = BTimeoutForever);
116 int write(
const void* data, BUInt num);
119 int read(
void* data, BUInt num);
129 void tprintf(
const char* fmt, ...);
130 void bhd8(
void* data, BUInt32 n);
131 void bhd32(
void* data,BUInt32 n);
132 void bhd32a(
void* data,BUInt32 n);
int resize(BUInt size)
Resize FIFO, clears it as well.
Definition: BeamLibBasic.cpp:115
BUInt writeAvailable()
How many items that can be written.
Definition: BeamLibBasic.cpp:127
Semaphore class.
Definition: BeamLibBasic.h:88
int write(const void *data, BUInt num)
Write a set of items. Can only write a maximum of writeAvailableChunk() to save going beyond end of F...
Definition: BeamLibBasic.cpp:136
volatile BUInt oreadPos
The read pointer.
Definition: BeamLibBasic.h:125
char * odata
FIFO memory buffer.
Definition: BeamLibBasic.h:123
Bool wait(BTimeout timeoutUs=BTimeoutForever)
Wait for the semaphore.
Definition: BeamLibBasic.cpp:61
Definition: BeamLibBasic.h:105
BUInt readAvailable()
How many items are available to read.
Definition: BeamLibBasic.cpp:160
int read(void *data, BUInt num)
Read a set of items.
Definition: BeamLibBasic.cpp:169
void set()
Set the semaphore.
Definition: BeamLibBasic.cpp:57
BUInt osize
The size of the FIFO.
Definition: BeamLibBasic.h:122
BUInt size()
Returns fifo size.
Definition: BeamLibBasic.cpp:111
volatile BUInt owritePos
The write pointer.
Definition: BeamLibBasic.h:124