Clockless Led Drivers
Introduction
StarLight uses FastLED as the default driver of LEDs, FastLED is not flexible in (re)assigning pins, they need to be defined during compile time. In StarLight a workaround has been made to precompile all templates for possible pins for a specific board so you reassign by choosing another pin and another precompiled template will be used (or multiple in case you drive multiple pins). Each pin template is around 700 bytes (check) so this creates an overhead in flash / memory.
I2S Clockless Led Driver
Alternatively you can choose for I2SClocklessLedDriver if you are compiling from VSCode by uncommenting this in platformio.ini (contact us if you need a precompiled binary).
Uncomment the 2 lines for build flags and lib deps to choose on of the alternatives for the FastLED driver:
This has the following advantages
- See above
- I2S ...
- Clockless ...
- I2SClockLessLedDriveresp32s3 supports S3 boards. Status ...
For more info check the readme in the link above
I2S Virtual Clockless Led Driver
If you want to build bigger LED setups at a high frame rate the pins an ESP32 board provides are not enough. I2SClocklessVirtualLedDriver solves this by using I2S to send LED data to one or more SN495 shift registers ic's where each ic sends LEDS data to 8 pins. For instance, if you have 6 ic's you can drive 48 panels of size 16x16 at their max speed which is 120-130fps. This is a total of 12288 LEDs. The ESP32 is powerfull enough to run most effects with this size at speeds ranging from 60-120fps depending on the complexity of the effect.
For more info check the readme in the link above.
Example of a board with 6 SN495 shift registers (and one 245 array to distribute to the shift registers)
- The shift registers also act as level shifter providing 5 volts to the LED data pins.
- Virtual driver on S3 not yet supported ...
- A design for a 15 panel set up is in progress:
Clockless drivers together with Live Scripts
- If both options are available in a build there is also the option to run a mapping projection directly from the F_ixture.sc file.
- Compile with -D STARLIGHT_LIVE_MAPPING option
- WIP
- See Live Fixtures
Notes
- The clockless LED drivers work totally independently from Live Scripts functionality, so you can run live effects with the FastLED driver and run normal effects using one of Clockless drivers.
- IN the Fixture module, you can see which driver is used (FastLED show, CLD show or CLVD show)
- Compare with FastLED rmt / clockless functionality, see FastLED/releases ...