Raspberry Pi LCD program

From BitWizard Wiki
Jump to navigation Jump to search

download

download the program source from http://www.bitwizard.nl/software/bw_lcd.c

You will need a kernel with spidev enabled and the raspberry pi SPI driver included. See Raspberry pi spi kernel

Currently you also need the http://www.bitwizard.nl/software/gpio_spi_i2c_20120419.tgz programs: You need to set gpio 7 through 11 to "ALT0":

gpio_setfunc 7 ALT0
gpio_setfunc 8 ALT0
gpio_setfunc 9 ALT0
gpio_setfunc 10 ALT0
gpio_setfunc 11 ALT0

This won't be neccesary when this code is included in the SPI driver.

Command line arguments

 SPI options: 
 -D <device>       SPI device to use. default: /dev/spidev0.0
 -s <speed>        speed to use on the SPI bus default 0.5MHz. 
 -d <delay>        delay between bytes. default: 15 us. 
 LCD options:
 -a <addr>          address of display, defaults to 0x82
 -p <c>,<l>         Jump to line <l> and character <c>
 -t <text>          print text
 -T <c>,<l> <text>  Print tekst starting at line <l> character <c>. 
 -b < b >           Adjust backlight level
 -c <c>             Adjust contrast
 -C                 clearscreen 
 -f <file>          display text from file (not implemented yet).
 general bw SPI options: 
 -r <reg>           
 -v <val>           set register to value. Requires -r.

Example commands

Print current date on line 0:

bw_lcd -p 0,0 -t `date +%m/%d/%Y`

Print the text "Hello World" on line 1, character 2:

bw_lcd -T 2,1 "Hello World"

Print the contents of "textfile":

bw_lcd -f textfile

Write two different strings to two daisy-chained displays:

bw_lcd -a 82 -T 0,0 display0
bw_lcd -a 84 -T 0,0 display1