FastLED 3.9.15
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
fastspi_types.h
Go to the documentation of this file.
1
3
4#ifndef __INC_FASTSPI_TYPES_H
5#define __INC_FASTSPI_TYPES_H
6
7#include "fl/force_inline.h"
8#include "fl/namespace.h"
9#include "fl/unused.h"
10
12
18
20#define SPI_B0 (RGB_BYTE0(RGB_ORDER) + (MASK_SKIP_BITS & SKIP))
22#define SPI_B1 (RGB_BYTE1(RGB_ORDER) + (MASK_SKIP_BITS & SKIP))
24#define SPI_B2 (RGB_BYTE2(RGB_ORDER) + (MASK_SKIP_BITS & SKIP))
26#define SPI_ADVANCE (3 + (MASK_SKIP_BITS & SKIP))
28
36class DATA_NOP {
37public:
40 static FASTLED_FORCE_INLINE uint8_t adjust(FASTLED_REGISTER uint8_t data) { return data; }
41
46 static FASTLED_FORCE_INLINE uint8_t adjust(FASTLED_REGISTER uint8_t data, FASTLED_REGISTER uint8_t scale) { return scale8(data, scale); }
47
50 static FASTLED_FORCE_INLINE void postBlock(int /* len */, void* context = NULL) {
51 FASTLED_UNUSED(context);
52 }
53};
54
56#define FLAG_START_BIT 0x80
57
60#define MASK_SKIP_BITS 0x3F
61
64
66#define SPEED_DIV_2 2
68#define SPEED_DIV_4 4
70#define SPEED_DIV_8 8
72#define SPEED_DIV_16 16
74#define SPEED_DIV_32 32
76#define SPEED_DIV_64 64
78#define SPEED_DIV_128 128
80
83#define MAX_DATA_RATE 0
84
86
87#endif
UISlider scale("Scale", 4,.1, 4,.1)
static FASTLED_FORCE_INLINE uint8_t adjust(FASTLED_REGISTER uint8_t data)
Hook called to adjust a byte of data before writing it to the output.
static FASTLED_FORCE_INLINE uint8_t adjust(FASTLED_REGISTER uint8_t data, FASTLED_REGISTER uint8_t scale)
Hook called to adjust a byte of data before writing it to the output.
static FASTLED_FORCE_INLINE void postBlock(int, void *context=NULL)
Hook called after a block of data is written to the output.
Dummy class for output controllers that need no data transformations.
#define FASTLED_FORCE_INLINE
Definition force_inline.h:7
#define FASTLED_REGISTER
Helper macro to replace the deprecated 'register' keyword if we're using modern C++ where it's been r...
Definition register.h:9
LIB8STATIC_ALWAYS_INLINE uint8_t scale8(uint8_t i, fract8 scale)
Scale one byte by a second one, which is treated as the numerator of a fraction whose denominator is ...
Definition scale8.h:34
#define FASTLED_NAMESPACE_END
Definition namespace.h:22
Implements the FastLED namespace macros.
#define FASTLED_UNUSED(x)
Definition unused.h:3