Contents Up Previous Next

HiPi::Interface::HTBackpackV2

HiPi::Interface::HTBackpackV2 provides an implementation of HiPi::Interface::HD44780 for LCD devices using the HobbyTronics Backpack V2 controller.

The module inherits many of its methods from HiPi::Interface::HD44780.

Object Constructor and Methods

This module exports the following constants on request for use with
the inherited 'update_baudrate' method.

    use HiPi::Interface::HTBackpackV2 qw( :htv2baud );
   
    # exports constants 
   
        HTV2_BAUD_2400
        HTV2_BAUD_4800 
        HTV2_BAUD_9600 
        HTV2_BAUD_14400
        HTV2_BAUD_19200
        HTV2_BAUD_28800
        HTV2_BAUD_57600
        HTV2_BAUD_115200

The following are the methods specific to this implementation. 
See HiPi::Interface::HD44780 for inherited methods.
my $lcd = HiPi::Interface::HTBackpackV2->new( %params );
    %params  contains a number of key value pairs
    
    Required key value pairs
      width   =>  $width
      lines   =>  $lines

    You must specify the geometry of your LCD
    e.g.
    my $lcd = HiPi::Interface::HTBackpackV2->new( 
        width =>  16,
        lines =>  4,
    );
    
    Optional params and their defaults
    
    backlightcontrol => 0
    
    specify if methods setting the level of backlight can be used.
    The method $lcd->backlight will only work if you set
    backlightcontrol => 1 in the constructor.
    
    devicetype =>  'serialrx'

    The Backpack supports two connection types, 'serialrx' and 'i2c'
    You can specify either - the default is 'serialrx'

    Options and their defaults when devicetype is 'serialrx'
    
    devicename      => '/dev/ttyAMA0'
    baudrate        => 9600
    parity          => 'none',
    stopbits        => 1,
    databits        => 8,
    
    Options and their defaults when devicetype is 'i2c'
    
    devicename      => ( raspbi board version == 1 ) 
                       ? '/dev/i2c-0' : '/dev/i2c-1'
    
    address         => 0x3A

    Example complete constructor calls:
    
    my $lcd = HiPi::Interface::HTBackpackV2->new( 
        width            => 16,
        lines            => 4,
        devicetype       => 'serialrx',
        backlightcontrol => 1
    );
    
    my $lcd = HiPi::Interface::HTBackpackV2->new( 
        width            => 16,
        lines            => 4,
        devicetype       => 'i2c',
        address          => 0x3A
        backlightcontrol => 1
    );
$lcd->change_i2c_address( $newaddress );
    Change the I2C address if using in i2c mode.

    The i2c address must be in the range 1 - 127 ( 0x01 - 0x7F )
$lcd->send_htv2_command( $command, @params );
    You can use the HobbyTronics Backpack documented commands directly
    if you wish. The $command param is the backpack command number
    and you can follow this with any number of parameters required.

    This module exports the following constants on request for use with
    the the send_htv2_command '$command' parameter.

    use HiPi::Interface::HTBackpackV2 qw( :htv2cmd );
    
    HTV2_CMD_PRINT 
    HTV2_CMD_SET_CURSOR_POS
    HTV2_CMD_CLEAR_LINE
    HTV2_CMD_CLEAR_DISPLAY
    HTV2_CMD_LCD_TYPE
    HTV2_CMD_HD44780_CMD 
    HTV2_CMD_BACKLIGHT 
    HTV2_CMD_WRITE_CHAR
    HTV2_CMD_I2C_ADDRESS
    HTV2_CMD_BAUD_RATE
    HTV2_CMD_CUSTOM_CHAR




Contents Up Previous Next


HiPi Modules Copyright © 2013 Mark Dootson