Module kernel::hil::screen

source ·
Expand description

Interface for screens and displays.

The interfaces exposed here cover both configurable (ScreenSetup), and less configurable hardware (only Screen).

It’s composed of 4 main kinds of requests:

  • set power,
  • read configuration (e.g. get_resolution),
  • configure (e.g. set_invert),
  • write buffer.

All requests, except for Screen::set_power, can return OFF under some circumstances.

For buffer writes, it’s when the display is powered off.

While the display is not powered on, the user could try to configure it. In that case, the driver MUST either cache the value, or return OFF. This is to let the user power the display in the desired configuration.

Configuration reads shall return the actual state of the display. In situations where a parameter cannot be configured (e.g. fixed resolution), they return value may be hardcoded. Otherwise, the driver should query the hardware directly, and return OFF if it’s not powered.

Configuration sets cause a command_complete callback unless noted otherwise.