:py:mod:`phoenix6.controls.larson_animation` ============================================ .. py:module:: phoenix6.controls.larson_animation Module Contents --------------- .. py:class:: LarsonAnimation(led_start_index: int, led_end_index: int, slot: int = 0, color: RGBWColor = RGBWColor(), size: int = 3, bounce_mode: LarsonBounceValue = LarsonBounceValue.FRONT, frame_rate: phoenix6.units.hertz = 25) Animation that bounces a pocket of light across the LED strip. :param led_start_index: 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. :type led_start_index: int :param led_end_index: 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. :type led_end_index: int :param slot: The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation. :type slot: int :param color: The color to use in the animation. :type color: RGBWColor :param size: The number of LEDs in the pocket of light, up to 15. :type size: int :param bounce_mode: The behavior of the pocket of light when it reaches the end of the strip. :type bounce_mode: LarsonBounceValue :param frame_rate: 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 pocket of light by one LED. :type frame_rate: hertz .. py:property:: name :type: str Gets the name of this control request. :returns: Name of the control request :rtype: str .. py:property:: control_info :type: dict Gets information about this control request. :returns: Dictonary of control parameter names and corresponding applied values :rtype: dict .. py:attribute:: update_freq_hz :type: phoenix6.units.hertz :value: 20 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. .. py:attribute:: led_start_index 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. .. py:attribute:: led_end_index 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. .. py:attribute:: slot The slot of this animation, within [0, 7]. Each slot on the CANdle can store and run one animation. .. py:attribute:: color The color to use in the animation. .. py:attribute:: size The number of LEDs in the pocket of light, up to 15. .. py:attribute:: bounce_mode The behavior of the pocket of light when it reaches the end of the strip. .. py:attribute:: frame_rate 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 pocket of light by one LED. - Units: Hz .. py:method:: with_led_start_index(new_led_start_index: int) -> LarsonAnimation Modifies this Control Request's led_start_index 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. :param new_led_start_index: Parameter to modify :type new_led_start_index: int :returns: Itself :rtype: LarsonAnimation .. py:method:: with_led_end_index(new_led_end_index: int) -> LarsonAnimation Modifies this Control Request's led_end_index 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. :param new_led_end_index: Parameter to modify :type new_led_end_index: int :returns: Itself :rtype: LarsonAnimation .. py:method:: with_slot(new_slot: int) -> LarsonAnimation 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. :param new_slot: Parameter to modify :type new_slot: int :returns: Itself :rtype: LarsonAnimation .. py:method:: with_color(new_color: RGBWColor) -> LarsonAnimation Modifies this Control Request's color parameter and returns itself for method-chaining and easier to use request API. The color to use in the animation. :param new_color: Parameter to modify :type new_color: RGBWColor :returns: Itself :rtype: LarsonAnimation .. py:method:: with_size(new_size: int) -> LarsonAnimation Modifies this Control Request's size parameter and returns itself for method-chaining and easier to use request API. The number of LEDs in the pocket of light, up to 15. :param new_size: Parameter to modify :type new_size: int :returns: Itself :rtype: LarsonAnimation .. py:method:: with_bounce_mode(new_bounce_mode: LarsonBounceValue) -> LarsonAnimation Modifies this Control Request's bounce_mode parameter and returns itself for method-chaining and easier to use request API. The behavior of the pocket of light when it reaches the end of the strip. :param new_bounce_mode: Parameter to modify :type new_bounce_mode: LarsonBounceValue :returns: Itself :rtype: LarsonAnimation .. py:method:: with_frame_rate(new_frame_rate: phoenix6.units.hertz) -> LarsonAnimation Modifies this Control Request's frame_rate 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 pocket of light by one LED. - Units: Hz :param new_frame_rate: Parameter to modify :type new_frame_rate: hertz :returns: Itself :rtype: LarsonAnimation .. py:method:: with_update_freq_hz(new_update_freq_hz: phoenix6.units.hertz) -> LarsonAnimation 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. :param new_update_freq_hz: Parameter to modify :type new_update_freq_hz: hertz :returns: Itself :rtype: LarsonAnimation