Animation that creates a rainbow throughout all the LEDs. More...
#include <ctre/phoenix6/controls/RainbowAnimation.hpp>
Public Member Functions | |
RainbowAnimation (int LEDStartIndex, int LEDEndIndex) | |
Animation that creates a rainbow throughout all the LEDs. | |
RainbowAnimation & | WithLEDStartIndex (int newLEDStartIndex) |
Modifies this Control Request's LEDStartIndex parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithLEDEndIndex (int newLEDEndIndex) |
Modifies this Control Request's LEDEndIndex parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithSlot (int newSlot) |
Modifies this Control Request's Slot parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithBrightness (units::dimensionless::scalar_t newBrightness) |
Modifies this Control Request's Brightness parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithDirection (signals::AnimationDirectionValue newDirection) |
Modifies this Control Request's Direction parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithFrameRate (units::frequency::hertz_t newFrameRate) |
Modifies this Control Request's FrameRate parameter and returns itself for method-chaining and easier to use request API. | |
RainbowAnimation & | WithUpdateFreqHz (units::frequency::hertz_t newUpdateFreqHz) |
Sets the period at which this control will update at. | |
std::string | ToString () const override |
Returns a string representation of the object. | |
std::map< std::string, std::string > | GetControlInfo () const override |
Gets information about this control request. | |
![]() | |
ControlRequest (std::string name) | |
Constructs a new Control Request with the given name. | |
std::string const & | GetName () const |
virtual | ~ControlRequest ()=default |
Public Attributes | |
int | LEDStartIndex |
The index of the first LED this animation controls (inclusive). | |
int | LEDEndIndex |
The index of the last LED this animation controls (inclusive). | |
int | Slot = 0 |
The slot of this animation, within [0, 7]. | |
units::dimensionless::scalar_t | Brightness = 1.0 |
The brightness of the animation, as a scalar from 0.0 to 1.0. | |
signals::AnimationDirectionValue | Direction = signals::AnimationDirectionValue::Forward |
The direction of the animation. | |
units::frequency::hertz_t | FrameRate = 100_Hz |
The frame rate of the animation, from [2, 1000] Hz. | |
units::frequency::hertz_t | UpdateFreqHz {20_Hz} |
The period at which this control will update at. | |
Additional Inherited Members | |
![]() | |
ControlRequest (ControlRequest const &)=default | |
ControlRequest (ControlRequest &&)=default | |
ControlRequest & | operator= (ControlRequest const &)=default |
ControlRequest & | operator= (ControlRequest &&)=default |
![]() | |
std::string | name |
Animation that creates a rainbow throughout all the LEDs.
|
inline |
Animation that creates a rainbow throughout all the LEDs.
LEDStartIndex | The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip |
If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.
LEDEndIndex | The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip. |
If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.
|
inlineoverridevirtual |
Gets information about this control request.
Implements ctre::phoenix6::controls::ControlRequest.
|
inlineoverridevirtual |
Returns a string representation of the object.
Implements ctre::phoenix6::controls::ControlRequest.
|
inline |
Modifies this Control Request's Brightness parameter and returns itself for method-chaining and easier to use request API.
The brightness of the animation, as a scalar from 0.0 to 1.0.
newBrightness | Parameter to modify |
|
inline |
Modifies this Control Request's Direction parameter and returns itself for method-chaining and easier to use request API.
The direction of the animation.
newDirection | Parameter to modify |
|
inline |
Modifies this Control Request's FrameRate parameter and returns itself for method-chaining and easier to use request API.
The frame rate of the animation, from [2, 1000] Hz. This determines the speed of the animation.
A frame is defined as a transition in the state of the LEDs, advancing the rainbow by about 3 degrees of hue (out of 360 degrees).
newFrameRate | Parameter to modify |
|
inline |
Modifies this Control Request's LEDEndIndex parameter and returns itself for method-chaining and easier to use request API.
The index of the last LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.
newLEDEndIndex | Parameter to modify |
|
inline |
Modifies this Control Request's LEDStartIndex parameter and returns itself for method-chaining and easier to use request API.
The index of the first LED this animation controls (inclusive). Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip
If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.
newLEDStartIndex | Parameter to modify |
|
inline |
Modifies this Control Request's Slot parameter and returns itself for method-chaining and easier to use request API.
The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation.
newSlot | Parameter to modify |
|
inline |
Sets the period at which this control will update at.
This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms).
If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.
newUpdateFreqHz | Parameter to modify |
units::dimensionless::scalar_t ctre::phoenix6::controls::RainbowAnimation::Brightness = 1.0 |
The brightness of the animation, as a scalar from 0.0 to 1.0.
signals::AnimationDirectionValue ctre::phoenix6::controls::RainbowAnimation::Direction = signals::AnimationDirectionValue::Forward |
The direction of the animation.
units::frequency::hertz_t ctre::phoenix6::controls::RainbowAnimation::FrameRate = 100_Hz |
The frame rate of the animation, from [2, 1000] Hz.
This determines the speed of the animation.
A frame is defined as a transition in the state of the LEDs, advancing the rainbow by about 3 degrees of hue (out of 360 degrees).
int ctre::phoenix6::controls::RainbowAnimation::LEDEndIndex |
The index of the last LED this animation controls (inclusive).
Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip.
If the end index is less than the start index, the direction will be reversed. The direction can also be changed using the Direction parameter.
int ctre::phoenix6::controls::RainbowAnimation::LEDStartIndex |
The index of the first LED this animation controls (inclusive).
Indices 0-7 control the onboard LEDs, and 8-399 control an attached LED strip
If the start index is greater than the end index, the direction will be reversed. The direction can also be changed using the Direction parameter.
int ctre::phoenix6::controls::RainbowAnimation::Slot = 0 |
The slot of this animation, within [0, 7].
Each slot on the CANdle can store and run one animation.
units::frequency::hertz_t ctre::phoenix6::controls::RainbowAnimation::UpdateFreqHz {20_Hz} |
The period at which this control will update at.
This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms).
If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.