execution/run_utils.py
def draw_frame(pixels: neopixel.NeoPixel, frame: Frame, frame_time: float):
    """
    Draw a single frame and wait to make up the frame time if required.

    :param pixels: The neopixel interface
    :param frame: The frame to draw
    :param frame_time: The time this frame should remain on the device
    """
    t = time.perf_counter()
    for led in range(pixels.n):
        pixels[led] = frame[led]
    pixels.show()
    end_time = t + frame_time
    while time.perf_counter() < end_time:
        time.sleep(0)

    Draw a single frame and wait to make up the frame time if required.

    :param pixels: The neopixel interface
    :param frame: The frame to draw
    :param frame_time: The time this frame should remain on the device
    
Draw a single frame and wait to make up the frame time if required.
Draw a single frame and wait to make up the frame time if required .
def draw_frame(pixels: neopixel.NeoPixel, frame: Frame, frame_time: float):
    t = time.perf_counter()
    for led in range(pixels.n):
        pixels[led] = frame[led]
    pixels.show()
    end_time = t + frame_time
    while time.perf_counter() < end_time:
        time.sleep(0)
def draw_frame ( pixels : neopixel . NeoPixel , frame : Frame , frame_time : float ) : t = time . perf_counter ( ) for led in range ( pixels . n ) : pixels [ led ] = frame [ led ] pixels . show ( ) end_time = t + frame_time while time . perf_counter ( ) < end_time : time . sleep ( 0 )
Draw a single frame and wait to make up the frame time if required.
Draw a single frame and wait to make up the frame time if required .
"""
    Draw a single frame and wait to make up the frame time if required.

    :param pixels: The neopixel interface
    :param frame: The frame to draw
    :param frame_time: The time this frame should remain on the device
    """
pixels
neopixel.NeoPixel
The neopixel interface
The neopixel interface
frame
Frame
The frame to draw
The frame to draw
frame_time
float
The time this frame should remain on the device
The time this frame should remain on the device