3#include "platforms/arm/teensy/is_teensy.h"
5#if defined(FL_IS_TEENSY_4X)
14#define BYTES_PER_DMA 20
21class ObjectFLEDDmaManager {
23 static ObjectFLEDDmaManager& getInstance() {
24 static ObjectFLEDDmaManager instance;
28 void acquire(
void* owner);
29 void release(
void* owner);
30 void waitForCompletion();
32 void* getCurrentOwner()
const {
return mCurrentOwner; }
42 static DMAMEM
uint32_t bitmask[4] __attribute__((used, aligned(32)));
45 volatile uint32_t framebuffer_index = 0;
49 uint8_t pin_bitnum[NUM_DIGITAL_PINS];
50 uint8_t pin_offset[NUM_DIGITAL_PINS];
53 ObjectFLEDDmaManager() =
default;
54 ~ObjectFLEDDmaManager() =
default;
55 ObjectFLEDDmaManager(
const ObjectFLEDDmaManager&) =
delete;
56 ObjectFLEDDmaManager& operator=(
const ObjectFLEDDmaManager&) =
delete;
58 void* mCurrentOwner =
nullptr;
fl::Grid< CRGB > frameBuffer
Base definition for an LED controller.