wiki:st2205

Version 3 (modified by anonymous, 11 years ago) (diff)

--

st2205

Information

Check out the picframe project to get more information. There is a hacked firmware available, so you digital photoframe can be used as LCD4Linux display.
Resolution: 128x128 Pixels (also 320x240)
Quite cheap

How to compile

You need the st2205 library and header files installed. They are available on the picframe wiki site.

Example config

Config-Example:

Display st2205u {
    Driver     'st2205'
    Port       '/dev/sda'
    Font       '6x8'
    Foreground 'ffffff'
    Background '000000'
    Basecolor  '000000'
}

Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' - st2205 driver by Sprite ***'
    width 21
    align 'M'
    speed 500
    update tick
    Background '008000'
    Foreground 'ffffff'
}

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


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

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

Widget BusyBar {
    class 'Bar'
    expression  proc_stat::cpu('busy',   500)
    expression2 proc_stat::cpu('system', 500)
    length 21
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '8f8fff'
    BarColor1 'ff8f8f'
}

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

Widget LoadBar {
    class 'Bar'
    expression  loadavg(1)
    max 2.0
    length 21
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '8f8fff'
    BarColor1 'ff8f8f'
}


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
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

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 21
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '8f8fff'
    BarColor1 'ff8f8f'
}

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
    Foreground 'ffffff'
    Background 'FFFFFF00'
}

Widget Eth0Bar {
    class 'Bar'
    expression  netdev('eth0', 'Rx_bytes', 500)
    expression2 netdev('eth0', 'Tx_bytes', 500)
    length 21
    direction 'E'
    update tack
    Foreground 'ffffff'
    Background '00000080'
    BarColor0 '8f8fff'
    BarColor1 'ff8f8f'
}

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

Widget Bgnd {
    class 'Image'
    file 'bgnd.png'
    reload 0
    update 0
    inverted 0
    visible 1
}

Display 'st2205u'

Layout mylayout {
    Row01.Col01 'OS'
    Row02.Col02 'CPU
    Row02.Col10 'RAM
    Row04.Col01 'Busy
    Row05.Col01 'BusyBar
    Row06.Col01 'Load'
    Row07.Col01 'LoadBar'
    Row08.Col01 'Disk'
    Row09.Col01 'DiskBar'
    Row10.Col01 'Eth0'
    Row11.Col01 'Eth0Bar'
    Row16.Col01 'Uptime'
    Layer 2 {
	X1.Y1 'Bgnd'
    }
}

Layout 'mylayout'

Variables {
    tick 500
    tack 200
    minute 60000
}