47 const u8 lo_nib =
byte & 0x0F;
48 const u8 hi_nib = (
byte >> 4) & 0x0F;
69 int mPins[8] = {-1, -1, -1, -1, -1, -1, -1, -1};
122 int mPins[16] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
void init(const Pins16 &pins) FL_NO_EXCEPT
Initialize from 16 pin numbers. -1 means "skip this bit position".
static void applyNibble(const PinList &set, const PinList &clr) FL_NO_EXCEPT
DigitalMultiWrite16() FL_NO_EXCEPT=default
void buildNibbleLut(u8 bit_offset, PinList(&set_lut)[16], PinList(&clr_lut)[16]) FL_NO_EXCEPT
void write(fl::span< const u16 > pin_data) const FL_NO_EXCEPT
Write pre-transposed 16-bit data to the 16 pins.
bool allSamePort() const FL_NO_EXCEPT
Check whether all active pins (non -1) share the same GPIO port.
void buildNibbleLut(u8 bit_offset, PinList(&set_lut)[16], PinList(&clr_lut)[16]) FL_NO_EXCEPT
void write(fl::span< const u8 > pin_data) const FL_NO_EXCEPT
Write pre-transposed byte data to the 8 pins.
bool allSamePort() const FL_NO_EXCEPT
Check whether all active pins (non -1) share the same GPIO port.
static void applyNibble(const PinList &set, const PinList &clr) FL_NO_EXCEPT
void writeByte(u8 byte) const FL_NO_EXCEPT
Write a single bitmask byte to the 8 pins.
DigitalMultiWrite8() FL_NO_EXCEPT=default
void init(const Pins8 &pins) FL_NO_EXCEPT
Initialize from 8 pin numbers. -1 means "skip this bit position".
u8 u8 fract8 blur_amount FL_NO_EXCEPT
void pinMap(fl::span< PinInfo > pins) FL_NO_EXCEPT
Resolve port IDs for an array of PinInfo in-place.
void digitalMultiWrite8(const Pins8 &pins, fl::span< const u8 > pin_data) FL_NO_EXCEPT
Convenience free function — creates a temporary DigitalMultiWrite8, initializes it,...
int pinToPort(int pin) FL_NO_EXCEPT
Map a runtime pin number to an integer port ID using FastPin<N>::port().
void digitalMultiWrite16(const Pins16 &pins, fl::span< const u16 > pin_data) FL_NO_EXCEPT
Convenience free function — creates a temporary DigitalMultiWrite16, initializes it,...
Base definition for an LED controller.
Pin number with its resolved port ID.
POD struct holding 16 pin numbers for bulk pin writes.
POD struct holding 8 pin numbers for bulk pin writes.