35 #include <semaphore.h> 39 #define dl1printf(fmt, a...) tprintf(fmt, ##a) 40 #define dl1hd32(data, nWords) bhd32(data, nWords) 42 #define dl1printf(fmt, a...) 43 #define dl1hd32(data, nWords) 47 #define dl2printf(fmt, a...) tprintf(fmt, ##a) 48 #define dl2hd32(data, nWords) bhd32(data, nWords) 50 #define dl2printf(fmt, a...) 51 #define dl2hd32(data, nWords) 55 #define dl3printf(fmt, a...) tprintf(fmt, ##a) 56 #define dl3hd32(data, nWords) bhd32(data, nWords) 58 #define dl3printf(fmt, a...) 59 #define dl3hd32(data, nWords) 63 #define dl4printf(fmt, a...) tprintf(fmt, ##a) 64 #define dl4hd32(data, nWords) bhd32(data, nWords) 66 #define dl4printf(fmt, a...) 67 #define dl4hd32(data, nWords) 71 #define dl5printf(fmt, a...) tprintf(fmt, ##a) 72 #define dl5hd32(data, nWords) bhd32(data, nWords) 74 #define dl5printf(fmt, a...) 75 #define dl5hd32(data, nWords) 79 typedef uint8_t BUInt8;
80 typedef uint32_t BUInt32;
81 typedef uint64_t BUInt64;
82 typedef unsigned int BUInt;
85 typedef BUInt32 BTimeout;
86 const BTimeout BTimeoutForever = 0xFFFFFFFF;
95 Bool
wait(BTimeout timeoutUs = BTimeoutForever);
117 int write(
const void* data, BUInt num);
120 int read(
void* data, BUInt num);
130 void tprintf(
const char* fmt, ...);
131 void bhd8(
void* data, BUInt32 n);
132 void bhd32(
void* data,BUInt32 n);
133 void bhd32a(
void* data,BUInt32 n);
int resize(BUInt size)
Resize FIFO, clears it as well.
Definition: BeamLibBasic.cpp:116
BUInt writeAvailable()
How many items that can be written.
Definition: BeamLibBasic.cpp:128
Semaphore class.
Definition: BeamLibBasic.h:89
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:137
volatile BUInt oreadPos
The read pointer.
Definition: BeamLibBasic.h:126
char * odata
FIFO memory buffer.
Definition: BeamLibBasic.h:124
Bool wait(BTimeout timeoutUs=BTimeoutForever)
Wait for the semaphore.
Definition: BeamLibBasic.cpp:62
Definition: BeamLibBasic.h:106
BUInt readAvailable()
How many items are available to read.
Definition: BeamLibBasic.cpp:161
int read(void *data, BUInt num)
Read a set of items.
Definition: BeamLibBasic.cpp:170
void set()
Set the semaphore.
Definition: BeamLibBasic.cpp:58
BUInt osize
The size of the FIFO.
Definition: BeamLibBasic.h:123
BUInt size()
Returns fifo size.
Definition: BeamLibBasic.cpp:112
volatile BUInt owritePos
The write pointer.
Definition: BeamLibBasic.h:125