NAME

    Device::Chip::NoritakeGU_D - chip driver for Noritake GU-D display
    modules

SYNOPSIS

       use Device::Chip::NoritakeGU_D;
    
       my $chip = Device::Chip::NoritakeGU_D->new( interface => "UART" );
       $chip->mount( Device::Chip::Adapter::...->new )->get;
    
       $chip->text( "Hello, world!" )->get;

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 with a trailing call to ->get return
    Future instances.

 text

       $chip->text( $str )->get

    Draw text at the cursor position.

 cursor_left

 cursor_right

 cursor_home

       $chip->cursor_left->get
       $chip->cursor_right->get
    
       $chip->cursor_linehome->get
    
       $chip->cursor_home->get

    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

       $chip->cursor_goto( $x, $y )->get

    Moves the cursor to the $x'th column of the $y'th line (zero-indexed).

 linefeed

       $chip->linefeed->get

    Move the cursor down to the next line.

 clear

       $chip->clear

    Clear the display.

 select_window

       $chip->select_window( $win )->get

    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

       $chip->set_cursor_visible( $bool )->get

    Set whether the cursor is visible.

 set_brightness

       $chip->set_brightness( $val )->get

    Set the display brightness, from 1 to 8.

 set_reverse

       $chip->set_reverse( $bool )->get

    Sets whether subsequent text will be rendered in "reverse video" (clear
    pixels on a set background) effect.

 set_write_mixture_display_mode

       $chip->set_write_mixture_display_mode( $mode )->get

    Set the combining mode for newly-added display content. $mode must be
    one of

       set or and xor

 set_font_size

       $chip->set_font_size( $size )->get

    Set the font size. $size must be one of

       5x7 8x16

 set_font_width

       $chip->set_font_width( $width )->get

    Set the font width. $width must be one of

       fixed fixed2 prop prop2

 set_font_magnification

       $chip->set_font_magnification( $xscale, $yscale )->get

    Set the font scaling factor. $xscale must be between 1 to 4, and
    $yscale must be 1 or 2.

 realtime_image_display_columns

       $chip->realtime_image_display_columns( @columns )->get

    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

       $chip->set_gpio_direction( $dir )->get

    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

       $chip->set_gpio_output( $value )->get

    Write the value to the GPIO pins.

 read_gpio

       $value = $chip->read_gpio->get

    Returns the current state of the GPIO pins.

 read_touchswitches

       $switches = $chip->read_touchswitches->get

    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>

