framebufferio – Native framebuffer display driving — Adafruit CircuitPython 1 documentation (original) (raw)

Adafruit CircuitPython

The framebufferio module contains classes to manage display output including synchronizing with refresh rates and partial updating. It is used in conjunction with classes from displayio to actually place items on the display; and classes like RGBMatrix to actually drive the display.

Available on these boards

class framebufferio.FramebufferDisplay(framebuffer: circuitpython_typing.FrameBuffer, *, rotation: int = 0, auto_refresh: bool = True)

Manage updating a display with framebuffer in RAM

This initializes a display and connects it into CircuitPython. Unlike other objects in CircuitPython, Display objects live until displayio.release_displays()is called. This is done so that CircuitPython can use the display itself.

Create a Display object with the given framebuffer (a buffer, array, ulab.array, etc)

Parameters:

refresh(*, target_frames_per_second: int | None = None, minimum_frames_per_second: int = 0) → bool

When auto_refresh is off, and target_frames_per_second is not None this waits for the target frame rate and then refreshes the display, returning True. If the call has taken too long since the last refresh call for the given target frame rate, then the refresh returns False immediately without updating the screen to hopefully help getting caught up.

If the time since the last successful refresh is below the minimum frame rate, then an exception will be raised. The default minimum_frames_per_second of 0 disables this behavior.

When auto_refresh is off, and target_frames_per_second is None this will update the display immediately.

When auto_refresh is on, updates the display immediately. (The display will also update without calls to this.)

Parameters:

auto_refresh_: bool_

True when the display is refreshed automatically.

brightness_: float_

The brightness of the display as a float. 0.0 is off and 1.0 is full brightness.

width_: int_

Gets the width of the framebuffer

height_: int_

Gets the height of the framebuffer

rotation_: int_

The rotation of the display as an int in degrees.

framebuffer_: circuitpython_typing.FrameBuffer_

The framebuffer being used by the display

fill_row(y: int, buffer: circuitpython_typing.WriteableBuffer) → circuitpython_typing.WriteableBuffer

Extract the pixels from a single row

Parameters:

root_group_: displayio.Group_

The root group on the display. If the root group is set to displayio.CIRCUITPYTHON_TERMINAL, the default CircuitPython terminal will be shown. If the root group is set to None, no output will be shown.