20 if (!
available(bytesToRead) || dst ==
nullptr) {
21 FASTLED_WARN(
"ByteStreamMemory::read: !available(bytesToRead): "
30 while (bytesRead < actualBytesToRead) {
31 uint8_t &b = dst[bytesRead];
44 if (src ==
nullptr ||
mReadBuffer.capacity() == 0) {
46 "ByteStreamMemory::write: src == nullptr");
48 "ByteStreamMemory::write: mReadBuffer.capacity() == 0");
53 for (
size_t i = 0; i < n; ++i) {
55 FASTLED_WARN(
"ByteStreamMemory::write: mReadBuffer.full(): "
66 size_t bytes_written =
write(
reinterpret_cast<const uint8_t *
>(src), n * 3);
67 size_t pixels_written = bytes_written / 3;
68 return pixels_written;
ByteStreamMemory(uint32_t size_buffer)
~ByteStreamMemory() override
size_t read(uint8_t *dst, size_t bytesToRead) override
size_t writeCRGB(const CRGB *src, size_t n)
size_t write(const uint8_t *src, size_t n)
CircularBuffer< uint8_t > mReadBuffer
bool available(size_t n) const override
Implements the FastLED namespace macros.
Implements a simple red square effect for 2D LED grids.
Representation of an RGB pixel (Red, Green, Blue)