# $Id$ # $URL$ Variables { tick 50 netstep 0.5 diskstep 1.5 } Display SitecomHUB { Driver 'USBHUB' Vendor '0x04b4' Product '0x6560' } Display TyphoonHUB { Driver 'USBHUB' Vendor '0x0409' Product '0x0058' } Widget GPO_Test300 { class 'GPO' expression 2+(1+test::onoff(1))/2 update 300 } Widget GPO_Test400 { class 'GPO' expression 2+(1+test::onoff(2))/2 update 400 } Widget GPO_Test500 { class 'GPO' expression 2+(1+test::onoff(3))/2 update 500 } Widget GPO_Test600 { class 'GPO' expression 2+(1+test::onoff(4))/2 update 600 } # Display network activity as pulse duration on the hub leds. # currently configured to # # 0 % pulse width : traffic < exp(10) == 22kbyte/sec # 50 % pulse width : traffic about exp(13.5) == 730kbyte/sec # 100 % pulse width : traffic > exp(16) == 8886kbyte/sec # # Which is quite suitable for a 100mbit network. Widget Net_RX { class 'GPO' expression (exp(10+test::bar(1,6,0,0.5)) < netdev('eth0', 'Rx_bytes', (6/netstep)*2*tick))?2:3 update tick } Widget Net_TX { class 'GPO' expression (exp(10+test::bar(2,6,0,0.5)) < netdev('eth0', 'Tx_bytes', (6/netstep)*2*tick))?2:3 update tick } # As above, but for disk read/writes, pwm for 0bytes/sec .. 33MB/sec (e^9 * 4096) Widget SDA_read { class 'GPO' expression (exp(test::bar(3,9,0,diskstep)) < diskstats('sda', 'read_sectors', (9/diskstep)*2*tick))?2:3 update tick } Widget SDA_write{ class 'GPO' expression (exp(test::bar(4,9,0,diskstep)) < diskstats('sda', 'write_sectors', (9/diskstep)*2*tick))?2:3 update tick } Layout TestHUB { GPO1 'GPO_Test300' GPO2 'GPO_Test400' GPO3 'GPO_Test500' GPO4 'GPO_Test600' } Layout NetAndHDD { GPO1 'Net_RX' GPO2 'Net_TX' GPO3 'SDA_read' GPO4 'SDA_write' } #Display 'SitecomHUB' Display 'TyphoonHUB' #Layout 'TestHUB' Layout 'NetAndHDD' ffada25b74e1ac8fa0a54bc5aa32d'/>
path: root/widget_timer.h
blob: df2aebb2cd0ca1b7c08ad21ebfcb2419a2199d16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* $Id$
 * $URL$
 *
 * timer widget handling
 *
 * Copyright (C) 2006 Michael Reinelt <michael@reinelt.co.at>
 * Copyright (C) 2006 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
 *
 * This file is part of LCD4Linux.
 *
 * LCD4Linux is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * LCD4Linux is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */


#ifndef _WIDGET_TIMER_H_
#define _WIDGET_TIMER_H_

#include "property.h"

typedef struct WIDGET_TIMER {
    PROPERTY expression;	/* main timer expression */
    PROPERTY update;		/* update interval (msec) */
    PROPERTY active;		/* timer active? */
} WIDGET_TIMER;

extern WIDGET_CLASS Widget_Timer;

int widget_timer_register(void);

#endif