22 if (!
available(bytesToRead) || dst ==
nullptr) {
23 FASTLED_WARN(
"ByteStreamMemory::read: !available(bytesToRead): " << bytesToRead <<
" mReadBuffer.size(): " <<
mReadBuffer.size());
30 while (bytesRead < actualBytesToRead) {
31 uint8_t& b = dst[bytesRead];
44 if (src ==
nullptr ||
mReadBuffer.capacity() == 0) {
45 FASTLED_WARN_IF(src ==
nullptr,
"ByteStreamMemory::write: src == nullptr");
51 for (
size_t i = 0; i < n; ++i) {
63 size_t bytes_written =
write(
reinterpret_cast<const uint8_t*
>(src), n * 3);
64 size_t pixels_written = bytes_written / 3;
65 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)