:py:mod:`phoenix6.controls.twinkle_off_animation` ================================================= .. py:module:: phoenix6.controls.twinkle_off_animation Module Contents --------------- .. py:class:: TwinkleOffAnimation(led_start_index: int, led_end_index: int, slot: int = 0, color: RGBWColor = RGBWColor(), max_leds_on_proportion: float = 1.0, frame_rate: phoenix6.units.hertz = 25) Animation that randomly turns on LEDs until it reaches the maximum count, and then turns them all off. :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 max_leds_on_proportion: The max proportion of LEDs that can be on, in the range [0.1, 1.0]. :type max_leds_on_proportion: float :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, turning one LED on or all LEDs off. :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 frequency at which this control will update. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency. 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 :value: '0' 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:: max_leds_on_proportion :value: '1.0' The max proportion of LEDs that can be on, in the range [0.1, 1.0]. .. py:attribute:: frame_rate :value: '25' 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, turning one LED on or all LEDs off. - Units: Hz .. py:method:: with_led_start_index(new_led_start_index: int) -> TwinkleOffAnimation 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: TwinkleOffAnimation .. py:method:: with_led_end_index(new_led_end_index: int) -> TwinkleOffAnimation 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: TwinkleOffAnimation .. py:method:: with_slot(new_slot: int) -> TwinkleOffAnimation 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: TwinkleOffAnimation .. py:method:: with_color(new_color: RGBWColor) -> TwinkleOffAnimation 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: TwinkleOffAnimation .. py:method:: with_max_leds_on_proportion(new_max_leds_on_proportion: float) -> TwinkleOffAnimation Modifies this Control Request's max_leds_on_proportion parameter and returns itself for method-chaining and easier to use request API. The max proportion of LEDs that can be on, in the range [0.1, 1.0]. :param new_max_leds_on_proportion: Parameter to modify :type new_max_leds_on_proportion: float :returns: Itself :rtype: TwinkleOffAnimation .. py:method:: with_frame_rate(new_frame_rate: phoenix6.units.hertz) -> TwinkleOffAnimation 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, turning one LED on or all LEDs off. - Units: Hz :param new_frame_rate: Parameter to modify :type new_frame_rate: hertz :returns: Itself :rtype: TwinkleOffAnimation .. py:method:: with_update_freq_hz(new_update_freq_hz: phoenix6.units.hertz) -> TwinkleOffAnimation Sets the frequency at which this control will update. This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency. 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: TwinkleOffAnimation