FastLED 3.9.15
Loading...
Searching...
No Matches
NOPSPIOutput< _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER > Class Template Reference

Detailed Description

template<uint8_t _DATA_PIN, uint8_t _CLOCK_PIN, uint32_t _SPI_CLOCK_DIVIDER>
class NOPSPIOutput< _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER >

A nop/stub class, mostly to show the SPI methods that are needed/used by the various SPI chipset implementations.

Should be used as a definition for the set of methods that the spi implementation classes should use (since C++ doesn't support the idea of interfaces - it's possible this could be done with virtual classes, need to decide if i want that overhead)

Definition at line 18 of file fastspi_nop.h.

#include <fastspi_nop.h>

+ Collaboration diagram for NOPSPIOutput< _DATA_PIN, _CLOCK_PIN, _SPI_CLOCK_DIVIDER >:

Public Member Functions

 NOPSPIOutput ()
 Default Constructor.
 
 NOPSPIOutput (Selectable *pSelect)
 Constructor with selectable.
 
void init ()
 initialize the SPI subssytem
 
void release ()
 release the CS select
 
void select ()
 latch the CS select
 
void setSelect (Selectable *pSelect)
 set the object representing the selectable
 
void waitFully ()
 wait until all queued up data has been written
 
void writeByte (uint8_t b)
 write a byte out via SPI (returns immediately on writing register)
 
void writeBytes (uint8_t *data, int len)
 A full cycle of writing a raw block of data out, including select, release, and waiting.
 
void writeBytesValue (uint8_t value, int len)
 A full cycle of writing a value for len bytes, including select, release, and waiting.
 
template<uint8_t FLAGS, class D, EOrder RGB_ORDER>
void writePixels (PixelController< RGB_ORDER > pixels, void *context=NULL)
 write out pixel data from the given PixelController object
 
void writeWord (uint16_t w)
 write a word out via SPI (returns immediately on writing register)
 

Static Public Member Functions

template<uint8_t BIT>
static void writeBit (uint8_t b)
 not the most efficient mechanism in the world - but should be enough for sm16716 and friends
 
template<uint8_t BIT>
static void writeBit (uint8_t b)
 write a single bit out, which bit from the passed in byte is determined by template parameter
 
static void writeBytesValueRaw (uint8_t value, int len)
 A raw set of writing byte values, assumes setup/init/waiting done elsewhere (static for use by adjustment classes)
 

Private Attributes

Selectablem_pSelect
 

The documentation for this class was generated from the following file: