NAME
Device::Chip::NoritakeGU_D
- chip driver for Noritake GU-D display modules
SYNOPSIS
use Device::Chip::NoritakeGU_D;
use Future::AsyncAwait;
my $chip = Device::Chip::NoritakeGU_D->new( interface => "UART" );
await $chip->mount( Device::Chip::Adapter::...->new );
await $chip->text( "Hello, world!" );
DESCRIPTION
This Device::Chip subclass provides communication to a display module in the GU-D family by Noritake.
The reader is presumed to be familiar with the general operation of this chip; the documentation here will not attempt to explain or define chip-specific concepts or features, only the use of this module to access them.
CONSTRUCTOR
new
$chip = Device::Chip::NoritakeGU_D->new(
interface => $iface,
...
)
Constructs a new driver instance for the given interface type. The type must be one of UART
, I2C
or SPI
.
METHODS
The following methods documented in an await
expression return Future instances.
text
await $chip->text( $str );
Draw text at the cursor position.
cursor_left
cursor_right
cursor_home
await $chip->cursor_left;
await $chip->cursor_right;
await $chip->cursor_linehome;
await $chip->cursor_home;
Move the cursor left or right one character position, to the beginning of the line, or to the home position (top left corner).
cursor_goto
await $chip->cursor_goto( $x, $y );
Moves the cursor to the $x
'th column of the $y
'th line (zero-indexed).
linefeed
await $chip->linefeed;
Move the cursor down to the next line.
clear
$chip->clear
Clear the display.
select_window
await $chip->select_window( $win );
Select the main window (when $win
is 0), or one of the four numbered sub-windows.
initialise
$chip->initialise
Reset all settings to their default values.
set_cursor_visible
await $chip->set_cursor_visible( $bool );
Set whether the cursor is visible.
set_brightness
await $chip->set_brightness( $val );
Set the display brightness, from 1 to 8.
set_reverse
await $chip->set_reverse( $bool );
Sets whether subsequent text will be rendered in "reverse video" (clear pixels on a set background) effect.
set_write_mixture_display_mode
await $chip->set_write_mixture_display_mode( $mode );
Set the combining mode for newly-added display content. $mode
must be one of
set or and xor
set_font_size
await $chip->set_font_size( $size );
Set the font size. $size
must be one of
5x7 8x16
set_font_width
await $chip->set_font_width( $width );
Set the font width. $width
must be one of
fixed fixed2 prop prop2
set_font_magnification
await $chip->set_font_magnification( $xscale, $yscale );
Set the font scaling factor. $xscale
must be between 1 to 4, and $yscale
must be 1 or 2.
realtime_image_display_columns
await $chip->realtime_image_display_columns( @columns );
Sends a bitmapped image to the display, at the cursor position. The cursor is not moved.
@columns
should be a list of strings of equal length, containing bytes of pixel data to represent each vertical column of the image content.
set_gpio_direction
await $chip->set_gpio_direction( $dir );
Configure the GPIO pins for input or output. $dir
is bitmask of four bits. Low bits correspond to input, high bits to output.
set_gpio_output
await $chip->set_gpio_output( $value );
Write the value to the GPIO pins.
read_gpio
$value = await $chip->read_gpio;
Returns the current state of the GPIO pins.
read_touchswitches
$switches = await $chip->read_touchswitches;
Reads the status of the panel touch switches. Returns a hash reference whose keys are the names of the touch areas (SW1
, SW2
, ...) and values are booleans indicating whether that area currently detects a touch.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>