wiki:Sample_10

lcd4linux.conf.sample:

Display LK204 {
    Driver 'MatrixOrbital'
    Model 'LK204-24-USB'
    Port '/dev/usb/tts/0'
#   Port '/dev/tts/0'
    Speed 19200
    Contrast 256/2
}


Display MI240 {
    Driver 'MilfordInstruments'
    Model 'MI240'
    Port '/dev/tts/0'
    Speed 19200
}


Display CW12232 {
    Driver 'Cwlinux'
    Model 'CW12232'
    Port '/dev/usb/tts/0'
    Speed 19200
    Brightness 2
    Icons 1
}


Display CF631 {
    Driver 'Crystalfontz'
    Model '631'
    Port '/dev/tts/USB0'
    Speed 115200
    Contrast 95
    Backlight 255
    Icons 1
}

Display CF632 {
    Driver 'Crystalfontz'
    Model '632'
    Port '/dev/tts/0'
    Speed 19200
    Icons 1
}

Display CF633 {
    Icons 4
    Driver 'Crystalfontz'
    Model '633'
    Port '/dev/tts/0'
    Speed 19200
    Contrast 16
    Backlight 50
}

# Pertelian x2040 display
Display Pertelian {
    Driver 'Pertelian'
    Port '/dev/ttyUSB0'
    Size '20x4'
    Icons 1
    Backlight 1
}

Display Curses {
    Driver 'Curses'
    Size '20x6'
}

# generic HD44780 display (LCD4Linux wiring)
Display HD44780-generic {
    Driver 'HD44780'
    Model 'generic'
    Port '/dev/parports/0'
    Size '20x4'
    Wire {
        RW      'GND'
        RS      'AUTOFD'
        ENABLE  'STROBE'
        ENABLE2 'GND'
        GPO     'GND'
    }
}

# generic HD44780 display (WinAmp wiring)
Display HD44780-winamp {
    Driver 'HD44780'
    Model 'generic'
    UseBusy 1
    Port '/dev/parports/0'
    Size '20x4'
    Wire {
        RW      'AUTOFD'
        RS      'INIT'
        ENABLE  'STROBE'
        ENABLE2 'GND'
        GPO     'GND'
    }
}

# HD44780 display from www.kernelconcepts.de
Display HD44780-kernelconcepts {
    Driver 'HD44780'
    Model 'HD66712'
    UseBusy 1
    Port '/dev/parports/0'
    Size '20x4'
    Wire {
        RW      'AUTOFD'
        RS      'INIT'
        ENABLE  'STROBE'
        ENABLE2 'GND'
        GPO     'GND'
    }
}

Display SC1602D {
    Driver 'HD44780'
    Port '/dev/parports/0'
    Bits '8'
    Size '16x2'
    asc255bug 0
    Icons 1
    Wire {
        RW     'GND'
        RS     'AUTOFD'
        ENABLE 'STROBE'
        GPO    'INIT'
    }
}


Display LCM-162 {
    Driver 'HD44780'
    Model 'LCM-162'
#   Bus 'parport'
    Port '/dev/parports/0'
    Size '16x2'
    UseBusy 1
    asc255bug 0
    Icons 1
}


Display HD44780-I2C {
    Driver 'HD44780'
    Model 'WRAP1C-PCF8574'
    Bus 'i2c'
    Port '/dev/i2c-0'
    Device '70'
    Bits '4'
    Size '20x4'
    asc255bug 0
    Icons 1
    Wire {
        RW     'DB5'
        RS     'DB4'
        ENABLE 'DB6'
        GPO    'GND'
    }
}


Display M50530-24x8 {
    Driver 'M50530'
    Port '/dev/parport0'
#   Port '0x378'
    Size '24x8'
    Wire.EX   'STROBE'
    Wire.IOC1 'SELECT'
    Wire.IOC2 'AUTOFD'
    Wire.GPO  'INIT'
}


Display CT20x4 {
    Driver 'Beckmann+Egle'
    Model 'CT20x4'
    Port '/dev/tts/0'
#    Size '16x2'
#    Contrast 7
#    Backlight 1
    Icons 1
}


Display USBLCD {
    Driver 'USBLCD'
#   Port '/dev/lcd0'
    Port 'libusb'
    Size '20x4'
    asc255bug 1
    Icons 1
}


Display BWCT {
    Driver 'BWCT'
    Size '16x2'
    Contrast 30
    asc255bug 1
    Icons 1
}


Display T6963-240x64 {
    Driver 'T6963'
    Port '/dev/parports/0'
    Size '240x64'
    Wire.CE 'STROBE'
    Wire.CD 'SELECT'
    Wire.RD 'AUTOFD'
    Wire.WR 'INIT'
}


Display XWindow {
    Driver 'X11'
    Size   '120x32'
    Font   '6x8'
    Pixel  '4+1'
    Gap    '-1x-1'
    Border 20
    Foreground '#000000'
    Background '#80d000'
    Halfground '#70c000'
}

Display Image {
    Driver 'Image'
#   Format 'PPM'
    Format 'PNG'
    Size   '120x32'
    Font   '6x8'
    Pixel  '4+1'
    Gap    '-1x-1'
    Border 20
    Foreground '#000000'
    Background '#80d000'
    Halfground '#70c000'
}

Plugin Seti {
    Directory '/root/setiathome-3.08.i686-pc-linux-gnu'
}


Plugin MySQL {
    server 'gsmlandia.com'      # if none, localhost assumed
    port 3306                   # if none, MySQL default assumed
    user 'lcd4linux'            # if none, lcd4linux unix owner assumed
    password 'lcd4linux'        # if none, empty password assumed
    database 'lcd4linux'        # MUST be specified
}

Plugin Pop3 {
   server1 'localhost'
   port1 110
   user1 'michael'
   password1 'secret'
}


Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' ***'
    width 20
    align 'M'
    speed 100
    update tick
}

Widget CPU {
    class  'Text'
    expression  uname('machine')
    prefix 'CPU '
    width  9
    align  'L'
    update tick
}


Widget RAM {
    class  'Text'
    expression meminfo('MemTotal')/1024
    postfix ' MB RAM'
    width  11
    precision 0
    align  'R'
    update tick
}

Widget Busy {
    class 'Text'
    expression proc_stat::cpu('busy', 500)
    prefix 'Busy'
    postfix '%'
    width 10
    precision 1
    align 'R'
    update tick
}

Widget BusyBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 10
    direction 'E'
    update tack
}

Widget Load {
    class 'Text'
    expression loadavg(1)
    prefix 'Load'
    postfix loadavg(1)>1.0?'!':' '
    width 10
    precision 1
    align 'R'
    update tick
}

Widget LoadBar {
    class 'Bar'
    expression  loadavg(1)
    max 2.0
    length 10
    direction 'E'
    update tack
}


Widget Disk {
    class 'Text'
    # disk.[rw]blk return blocks, we assume a blocksize of 512
    # to get the number in kB/s we would do blk*512/1024, which is blk/2
    # expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
    # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
    # therefore you have to use another function called 'diskstats':
    expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500)
    prefix 'disk'
    postfix ' '
    width 10
    precision 0
    align 'R'
    update tick
}

Widget DiskBar {
    class 'Bar'
    #expression  proc_stat::disk('.*', 'rblk', 500)
    #expression2 proc_stat::disk('.*', 'wblk', 500)
    # for kernel 2.6:
    expression  diskstats('hd.', 'read_sectors',  500)
    expression2 diskstats('hd.', 'write_sectors', 500)
    length 14
    direction 'E'
    update tack
}

Widget Eth0 {
    class 'Text'
    expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
    prefix 'eth0'
    postfix ' '
    width 10
    precision 0
    align 'R'
    update tick
}

Widget Eth0Bar {
    class 'Bar'
    expression  netdev('eth0', 'Rx_bytes', 500)
    expression2 netdev('eth0', 'Tx_bytes', 500)
    length 14
    direction 'E'
    update tack
}

Widget PPP {
    class 'Text'
    expression (ppp('Rx:0', 500)+ppp('Tx:0', 500))
    prefix 'PPP'
    width 9
    precision 0
    align 'R'
    update tick
}

Widget Temp {
    class 'Text'
    expression i2c_sensors('temp3_input')*1.0324-67
    prefix 'Temp'
    width 9
    precision 1
    align 'R'
    update tick
}

Widget TempBar {
    class 'Bar'
    expression  i2c_sensors('temp3_input')*1.0324-67
    min 40
    max 80
    length 10
    direction 'E'
    update tack
}

Widget MySQLtest1 {
    class 'Text'
    expression MySQL::query('SELECT id FROM table1')
    width 20
    align 'R'
    prefix 'MySQL test:'
    update minute
}

Widget MySQLtest2 {
    class 'Text'
    expression MySQL::status()
    width 20
    align 'M'
    prefix 'Status: '
    update minute
}

Widget Uptime {
    class 'Text'
    expression uptime('%d days %H:%M:%S')
    width 20
    align 'R'
    prefix 'Up '
    update 1000
}


# debugging widgets

Widget BarTest {
    class 'Bar'
    # test::bar(barno,maxval,startval,delta) - move a test value between 0 and max.
    # delta= step to change value by each time it's read.
    # barno - ten different test bar values can be set up, with barno=0..9
    # if delta=0, just returns the value of bar n instead of changing it.
    expression test::bar(0,30,25,1)
    expression2 test::bar(1,30,0,1)
    length 6
    max 50
    direction 'E'
    update 10
}

Widget BarTestVal {
    class 'Text'
    expression test::bar(0,100,50,0)
    prefix 'Test '
    width 9
    update 200
}

Widget LightningTest {
    class 'icon'
    speed 500
    visible test::onoff(0)
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}


# Icons

Widget Heartbeat {
    class 'Icon'
    speed 800
    Bitmap {
        Row1 '.....|.....'
        Row2 '.*.*.|.*.*.'
        Row3 '*****|*.*.*'
        Row4 '*****|*...*'
        Row5 '.***.|.*.*.'
        Row6 '.***.|.*.*.'
        Row7 '..*..|..*..'
        Row8 '.....|.....'
    }
}

Widget EKG {
    class 'Icon'
    speed 50
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....|.....|.....'
        Row2 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
        Row3 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
        Row4 '.....|....*|...**|..**.|.**..|**...|*....|.....'
        Row5 '.....|....*|...**|..**.|.**..|**...|*....|.....'
        Row6 '.....|....*|...*.|..*.*|.*.*.|*.*..|.*...|*....'
        Row7 '*****|*****|****.|***..|**..*|*..**|..***|.****'
        Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Karo {
    class 'Icon'
    speed 200
    Bitmap {
        Row1 '.....|.....|.....|.....|..*..|.....|.....|.....'
        Row2 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
        Row3 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
        Row4 '.....|..*..|.*.*.|*...*|.....|*...*|.*.*.|..*..'
        Row5 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
        Row6 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
        Row7 '.....|.....|.....|.....|..*..|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Heart {
    class 'Icon'
    speed 250
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....'
        Row2 '.*.*.|.....|.*.*.|.....|.....|.....'
        Row3 '*****|.*.*.|*****|.*.*.|.*.*.|.*.*.'
        Row4 '*****|.***.|*****|.***.|.***.|.***.'
        Row5 '.***.|.***.|.***.|.***.|.***.|.***.'
        Row6 '.***.|..*..|.***.|..*..|..*..|..*..'
        Row7 '..*..|.....|..*..|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....'
    }
}
Widget Blob {
    class 'Icon'
    speed 250
    Bitmap {
        Row1 '.....|.....|.....'
        Row2 '.....|.....|.***.'
        Row3 '.....|.***.|*...*'
        Row4 '..*..|.*.*.|*...*'
        Row5 '.....|.***.|*...*'
        Row6 '.....|.....|.***.'
        Row7 '.....|.....|.....'
        Row8 '.....|.....|.....'
    }
}
Widget Wave {
    class 'Icon'
    speed 100
    Bitmap {
        Row1 '..**.|.**..|**...|*....|.....|.....|.....|.....|....*|...**'
        Row2 '.*..*|*..*.|..*..|.*...|*....|.....|.....|....*|...*.|..*..'
        Row3 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
        Row4 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
        Row5 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
        Row6 '.....|.....|....*|...*.|..*..|.*..*|*..*.|..*..|.*...|*....'
        Row7 '.....|.....|.....|....*|...**|..**.|.**..|**...|*....|.....'
        Row8 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....'
    }
}
Widget Squirrel {
    class 'Icon'
    speed 100
    Bitmap {
        Row1 '.....|.....|.....|.....|.....|.....'
        Row2 '.....|.....|.....|.....|.....|.....'
        Row3 '.....|.....|.....|.....|.....|.....'
        Row4 '**...|.**..|..**.|...**|....*|.....'
        Row5 '*****|*****|*****|*****|*****|*****'
        Row6 '...**|..**.|.**..|**...|*....|.....'
        Row7 '.....|.....|.....|.....|.....|.....'
        Row8 '.....|.....|.....|.....|.....|.....'
    }
}

Widget Lightning {
    class 'icon'
    speed 100
    visible cpu('busy', 500)-50
    bitmap {
        row1 '...***'
        row2 '..***.'
        row3 '.***..'
        row4 '.****.'
        row5 '..**..'
        row6 '.**...'
        row7 '**....'
        row8 '*.....'
    }
}

Widget Rain {
    class 'icon'
    speed 200
    bitmap {
        row1 '...*.|.....|.....|.*...|....*|..*..|.....|*....'
        row2 '*....|...*.|.....|.....|.*...|....*|..*..|.....'
        row3 '.....|*....|...*.|.....|.....|.*...|....*|..*..'
        row4 '..*..|.....|*....|...*.|.....|.....|.*...|....*'
        row5 '....*|..*..|.....|*....|...*.|.....|.....|.*...'
        row6 '.*...|....*|..*..|.....|*....|...*.|.....|.....'
        row7 '.....|.*...|....*|..*..|.....|*....|...*.|.....'
        row8 '.....|.....|.*...|....*|..*..|.....|*....|...*.'
    }
}

Widget Test {
    class 'Text'
    expression '1234567890123456789012345678901234567890'
    #expression '|'
    width 40
}


Layout Default {
    Row1 {
        Col1  'OS'
    }
    Row2 {
        Col1  'CPU'
        Col10 'RAM'
    }
    Row3 {
        Col1  'Busy'
#       Col10 'Rain'
        Col11 'BusyBar'
    }
    Row4 {
        Col1 'Load'
        Col11 'LoadBar'
    }
    Row5 {
        Col1  'Disk'
        Col11 'DiskBar'
    }
    Row6 {
        Col1  'Eth0'
        Col11 'Eth0Bar'
    }
}

Layout L24x8 {
    Row1 {
        Col1  'Load'
        Col11 'BusyBar'
    }
    Row2 {
    }
}

Layout L16x2 {
    Row1 {
        Col1  'Busy'
        Col11 'BusyBar'
    }
    Row2 {
        Col1  'Disk'
        #Col11 'DiskBar'
        Col11 'BarTest'
    }
#   Row2 {
#       Col1 'Heartbeat'
#       Col2 'EKG'
#       Col3 'Karo'
#       Col4 'Heart'
#       Col5 'Blob'
#       Col6 'Wave'
#       Col7 'Squirrel'
#   }
}

Layout L20x2 {
    Row1 {
        Col1  'Busy'
        Col11 'BusyBar'
    }
    Row2 {
        Col1 'Load'
        Col11 'LoadBar'
    }
}

Layout Test {
    Row01.Col1 'Test'
    Row02.Col1 'Test'
    Row03.Col1 'Test'
    Row04.Col1 'Test'
    Row05.Col1 'Test'
    Row06.Col1 'Test'
    Row07.Col1 'Test'
    Row08.Col1 'Test'
#    Row09.Col1 'Test'
#    Row10.Col1 'Test'
#    Row11.Col1 'Test'
#    Row12.Col1 'Test'
#    Row13.Col1 'Test'
#    Row14.Col1 'Test'
#    Row15.Col1 'Test'
#    Row16.Col1 'Test'
}


Layout testMySQL {
        Row1 {
                Col1 'MySQLtest1'
        }
        Row2 {
                Col1 'MySQLtest2'
        }
}


#Display 'LK204'
#Display 'MI240'
#Display 'CW12232'
#Display 'HD44780-20x4'
#Display 'SC1602D'
#Display 'LCM-162'
#Display 'CF631'
#Display 'CF632'
#Display 'CF633'
#Display 'Curses'
Display 'M50530-24x8'
#Display 'CT20x4'
#Display 'T6963-240x64'
#Display 'XWindow'
#Display 'USBLCD'
#Display 'BWCT'
#Display 'Image'
#Display 'Pertelian'

Layout  'Default'
#Layout 'L16x2'
#Layout 'L20x2'
#Layout 'Test'


Variables {
   tick 500
   tack 100
   minute 60000
}
Last modified 10 years ago Last modified on 03/21/08 19:00:20