740 {
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763#if FL_PLATFORM_HAS_TINY_MEMORY
764
766#endif
767 for (int i = 0; i < 8; i++) {
768 *back_ins++ = 0x00;
769 }
770
771
776 u16 r16, g16, b16;
777#if !FL_PLATFORM_HAS_TINY_MEMORY
778 if (managed) {
779
780
781
782
783
784
785
787 } else
788#endif
789 {
795 }
796 *back_ins++ = f0;
797 *back_ins++ = f1;
798 *back_ins++ =
static_cast<u8>(r16 >> 8);
799 *back_ins++ =
static_cast<u8>(r16 & 0xFF);
800 *back_ins++ =
static_cast<u8>(g16 >> 8);
801 *back_ins++ =
static_cast<u8>(g16 & 0xFF);
802 *back_ins++ =
static_cast<u8>(b16 >> 8);
803 *back_ins++ =
static_cast<u8>(b16 & 0xFF);
806 ++num_leds;
807 }
808 const fl::size latch = num_leds / 2 + 4;
809 for (
fl::size i = 0; i < latch; i++) {
810 *back_ins++ = 0xFF;
811 }
812 }
void advanceData() FL_NO_EXCEPT
void loadAndScaleRGB(u8 *r_out, u8 *g_out, u8 *b_out) FL_NO_EXCEPT
void loadAndScaleRGB16(u16 *r_out, u16 *g_out, u16 *b_out) FL_NO_EXCEPT
One pixel at the source's own precision, wire-ordered.
bool has(int n) FL_NO_EXCEPT
void stepDithering() FL_NO_EXCEPT
back_insert_iterator< Container > back_inserter(Container &c) FL_NO_EXCEPT
Helper function to create a back_insert_iterator.
void hd108BrightnessHeader(u8 brightness_8bit, u8 *f0_out, u8 *f1_out) FL_NO_EXCEPT
Generate HD108 per-channel gain header bytes.
u16 hd108GammaCorrect(u8 value) FL_NO_EXCEPT
Convert 8-bit color to HD108 16-bit gamma-corrected value (gamma 2.8)