7#ifndef __INC_FASTSPI_ARM_SAM_H
8#define __INC_FASTSPI_ARM_SAM_H
20template <fl::u8 _DATA_PIN, fl::u8 _CLOCK_PIN, fl::u32 _SPI_CLOCK_DIVIDER>
void writeBytes(FASTLED_REGISTER fl::u8 *data, int len)
A full cycle of writing a value for len bytes, including select, release, and waiting.
static void writeBit(fl::u8 b)
write a single bit out, which bit from the passed in byte is determined by template parameter
static void writeByte(fl::u8 b)
write a byte out via SPI (returns immediately on writing register)
SAMHArdwareSPIOutput(Selectable *pSelect)
Constructor with selectable.
static void writeWord(fl::u16 w)
write a word out via SPI (returns immediately on writing register)
SAMHardwareSPIOutput()
Default Constructor.
void release()
release the CS select
void setSelect(Selectable *pSelect)
set the object representing the selectable
void select()
latch the CS select
static void writeBytesValueRaw(fl::u8 value, int len)
A raw set of writing byte values, assumes setup/init/waiting done elsewhere.
void init()
initialize the SPI subssytem
void writePixels(PixelController< RGB_ORDER > pixels, void *context=nullptr)
write a block of uint8_ts out in groups of three.
static void waitFully()
wait until all queued up data has been written
void writeBytesValue(fl::u8 value, int len)
A full cycle of writing a value for len bytes, including select, release, and waiting.
void writeBytes(FASTLED_REGISTER fl::u8 *data, int len)
A full cycle of writing a value for len bytes, including select, release, and waiting.
A skeletal implementation of hardware SPI support.
#define FLAG_START_BIT
Flag for the start of an SPI transaction.
Internal FastLED header for implementation files.
#define FL_DISABLE_WARNING_PUSH
#define FL_DISABLE_WARNING_POP
#define FL_DISABLE_WARNING_DEPRECATED_REGISTER
FASTLED_FORCE_INLINE fl::u8 loadAndScale0(int lane, fl::u8 scale)
non-template alias of loadAndScale<0>()
FASTLED_FORCE_INLINE void advanceData()
Advance the data pointer forward, adjust position counter.
FASTLED_FORCE_INLINE fl::u8 loadAndScale1(int lane, fl::u8 scale)
non-template alias of loadAndScale<1>()
FASTLED_FORCE_INLINE void stepDithering()
Step the dithering forward - creates triangular wave that toggles between pixels.
FASTLED_FORCE_INLINE fl::u8 loadAndScale2(int lane, fl::u8 scale)
non-template alias of loadAndScale<2>()