A class for driving addressable LEDs, such as WS2812Bs and NeoPixels.
More...
#include <frc/AddressableLED.h>
A class for driving addressable LEDs, such as WS2812Bs and NeoPixels.
By default, the timing supports WS2812B LEDs, but is configurable using SetBitTiming()
Only 1 LED driver is currently supported by the roboRIO. However, multiple LED strips can be connected in series and controlled from the single driver.
◆ AddressableLED() [1/2]
frc::AddressableLED::AddressableLED |
( |
int | port | ) |
|
|
explicit |
Constructs a new driver for a specific port.
- Parameters
-
port | the output port to use (Must be a PWM header) |
◆ AddressableLED() [2/2]
◆ operator=()
◆ SetBitTiming()
void frc::AddressableLED::SetBitTiming |
( |
units::nanosecond_t | highTime0, |
|
|
units::nanosecond_t | lowTime0, |
|
|
units::nanosecond_t | highTime1, |
|
|
units::nanosecond_t | lowTime1 ) |
Sets the bit timing.
By default, the driver is set up to drive WS2812Bs, so nothing needs to be set for those.
- Parameters
-
highTime0 | high time for 0 bit (default 400ns) |
lowTime0 | low time for 0 bit (default 900ns) |
highTime1 | high time for 1 bit (default 900ns) |
lowTime1 | low time for 1 bit (default 600ns) |
◆ SetData() [1/2]
void frc::AddressableLED::SetData |
( |
std::initializer_list< LEDData > | ledData | ) |
|
Sets the led output data.
If the output is enabled, this will start writing the next data cycle. It is safe to call, even while output is enabled.
- Parameters
-
ledData | the buffer to write |
◆ SetData() [2/2]
void frc::AddressableLED::SetData |
( |
std::span< const LEDData > | ledData | ) |
|
Sets the led output data.
If the output is enabled, this will start writing the next data cycle. It is safe to call, even while output is enabled.
- Parameters
-
ledData | the buffer to write |
◆ SetLength()
void frc::AddressableLED::SetLength |
( |
int | length | ) |
|
Sets the length of the LED strip.
Calling this is an expensive call, so its best to call it once, then just update data.
The max length is 5460 LEDs.
- Parameters
-
◆ SetSyncTime()
void frc::AddressableLED::SetSyncTime |
( |
units::microsecond_t | syncTime | ) |
|
Sets the sync time.
The sync time is the time to hold output so LEDs enable. Default set for WS2812B.
- Parameters
-
syncTime | the sync time (default 280us) |
◆ Start()
void frc::AddressableLED::Start |
( |
| ) |
|
Starts the output.
The output writes continuously.
◆ Stop()
void frc::AddressableLED::Stop |
( |
| ) |
|
The documentation for this class was generated from the following file: