framebufferio – Native framebuffer display driving¶
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)
- 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
- root_group :displayio.Group¶
The root group on the display.
- show(group: displayio.Group) None ¶
Switches to displaying the given group of layers. When group is None, the default CircuitPython terminal will be shown.
group (Group) – The group to show.
- refresh(*, target_frames_per_second: int = 60, minimum_frames_per_second: int = 1) bool ¶
When auto refresh is off, 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. Set minimum_frames_per_second to 0 to disable.
When auto refresh is on, updates the display immediately. (The display will also update without calls to this.)