FastLED 3.9.15
Loading...
Searching...
No Matches

◆ read()

size_t fl::ByteStreamMemory::read ( uint8_t * dst,
size_t bytesToRead )
overridevirtual

Implements fl::ByteStream.

Definition at line 21 of file bytestreammemory.cpp.

21 {
22 if (!available(bytesToRead) || dst == nullptr) {
23 FASTLED_WARN("ByteStreamMemory::read: !available(bytesToRead): " << bytesToRead << " mReadBuffer.size(): " << mReadBuffer.size());
24 return 0;
25 }
26
27 size_t actualBytesToRead = MIN(bytesToRead, mReadBuffer.size());
28 size_t bytesRead = 0;
29
30 while (bytesRead < actualBytesToRead) {
31 uint8_t& b = dst[bytesRead];
32 mReadBuffer.pop_front(&b);
33 bytesRead++;
34 }
35
36 if (bytesRead == 0) {
37 FASTLED_WARN("ByteStreamMemory::read: bytesRead == 0");
38 }
39
40 return bytesRead;
41}
CircularBuffer< uint8_t > mReadBuffer
bool available(size_t n) const override
#define MIN(a, b)
Definition math_macros.h:8
#define FASTLED_WARN
Definition warn.h:7

References available(), FASTLED_WARN, MIN, and mReadBuffer.

+ Here is the call graph for this function: