doc/syscalls/90003_text_screen.md
The screen driver allows the process to write data to a text screen like an LCD display.
0Description: Does the driver exist?
Argument 1: unused
Argument 2: unused
Returns: Success if it exists, otherwise NODEVICE
1Description: Get the screen's resolution (in characters)
Argument 1: unused
Argument 2: unused
Returns: Ok(()) followed by a callback with the rotation value, BUSY if another command is in progress.
2Description: Turn the display on
Argument 1: unused
Argument 2: unused
Returns: Ok(()) if the command was successful, BUSY if another command is in progress.
3Description: Turn the display off
Argument 1: unused
Argument 2: unused
Returns: Ok(()) if the command was successful, BUSY if another command is in progress.
4Description: Turn blink mode on
Argument 1: unused
Argument 2: unused
Returns: Ok(()) if the command was successful, BUSY if another command is in progress.
5Description: Turn blink mode off
Argument 1: unused
Argument 2: unused
Returns: Ok(()) if the command was successful, BUSY if another command is in progress.
6Description: Show cursor
Argument 1: unused
Argument 2: unused
Returns: Ok(()) if the command was successful, BUSY if another command is in progress.
7Description: Hide cursor
Argument 1: unused
Argument 2: unused
Returns: SUCCESS_U32 with a u32 being the number of supported resolutions (minimum 1), BUSY if another command is in progress.
8Description: Initiate a write transaction of a buffer shared using allow_readonly. This will write the characters in the
buffer to the text screen.
At the end of the transaction, a callback will be delivered if the process
has subscribed.
Argument 1: unused
Argument 2: unused
Returns: Ok(()) followed by a callback when it is done, BUSY if another command is in progress.
9Description: Clear screen
Argument 1: unused
Argument 2: unused
Returns: SUCCESS_U32 with a u32 being the number of supported color depth (minimum 1), BUSY if another command is in progress.
10Description: Set the cursor position at (0, 0)
Argument 1: unused
Argument 2: unused
Returns: Ok(()) followed by a callback with the rotation value, BUSY if another command is in progress.
11Description: Set cursor position
Argument 1: row
Argument 2: column
Returns: Ok(()) followed by a callback with the resolution, BUSY if another command is in progress.
0Description: Subscribe to to all commands.
Callback signature: The callback receives different arguments depending on the issued command.
Returns: Ok(()) if the subscribe was successful.
0Description: Sets a shared buffer to be used as a source of data for the next write transaction. A shared buffer is released if it is replaced by a subsequent call and after a write transaction is completed. Replacing the buffer after beginning a write transaction but before receiving a completion callback is undefined (most likely either the original buffer or new buffer will be written in its entirety but not both).
Returns: Ok(()) if the subscribe was successful, INVAL if the buffer's length is not a multiple of the color depth length.