110 ObjectFLED(uint16_t numLEDs,
void* drawBuf, uint8_t config, uint8_t numPins,
const uint8_t* pinList, \
111 uint8_t serpentine = 0);
115 while (micros() - update_begin_micros < numbytes * 8 * TH_TL / OC_FACTOR / 1000 + 5);
123 void begin(uint16_t);
127 void begin(
double, uint16_t = 300);
130 void begin(uint16_t, uint16_t, uint16_t, uint16_t = 300);
133 void waitForDmaToFinish() {
134 while (!dma3.complete()) {
135 delayMicroseconds(10);
142 void setBrightness(uint8_t);
145 void setBalance(uint32_t);
147 uint8_t getBrightness() {
return brightness; }
149 uint32_t getBalance() {
return colorBalance; }
152 static void isr(
void);
154 void genFrameBuffer(uint32_t);
156 static uint8_t* frameBuffer;
157 static uint32_t numbytes;
158 static uint8_t numpins;
159 static uint8_t pin_bitnum[NUM_DIGITAL_PINS];
160 static uint8_t pin_offset[NUM_DIGITAL_PINS];
161 DMAMEM
static uint32_t bitdata[BYTES_PER_DMA * 64] __attribute__((used, aligned(32)));
162 DMAMEM
static uint32_t bitmask[4] __attribute__((used, aligned(32)));
163 static DMAChannel dma1, dma2, dma3;
164 static DMASetting dma2next;
166 uint32_t update_begin_micros = 0;
167 uint8_t brightness = 255;
168 uint32_t colorBalance = 0xFFFFFF;
169 uint32_t rLevel = 65025;
170 uint32_t gLevel = 65025;
171 uint32_t bLevel = 65025;
175 uint8_t pinlist[NUM_DIGITAL_PINS];
176 uint16_t comp1load[3];
178 float OC_FACTOR = 1.0;
179 uint16_t TH_TL = 1250;
182 uint16_t LATCH_DELAY = 300;
185 uint32_t bitmaskLocal[4];
186 uint8_t numpinsLocal;
187 uint8_t* frameBufferLocal;
188 uint32_t numbytesLocal;
189 uint8_t pin_bitnumLocal[NUM_DIGITAL_PINS];
190 uint8_t pin_offsetLocal[NUM_DIGITAL_PINS];
196void fadeToColorBy(
void*, uint16_t, uint32_t, uint8_t);