#!/bin/bash # ############################################################################# NAME_="ledd" HTML_="simple LED daemon for Neo FreeRunner" PURPOSE_="display wlan and charging activity" SYNOPSIS_="$NAME_" REQUIRES_="standard GNU commands, /proc fs, neo freerunner" VERSION_="1.0.1" DATE_="2008-08-30" AUTHOR_="Sebastian Krzyszkowiak , Dawid Michalczyk (network traffic part - bytetraf)" URL_="openmoko.opendevice.org" CATEGORY_="net" PLATFORM_="om-gta02" SHELL_="bash" DISTRIBUTE_="yes" # ######################################################################################### # This program is distributed under the terms of the GNU General Public License 2 or higher # define net interface interface=eth0 blue=/sys/class/leds/gta02-power:blue/brightness orange=/sys/class/leds/gta02-power:orange/brightness bateria=/sys/devices/platform/bq27000-battery.0/power_supply/bat/status status=$(cat $bateria) swieci=0 [[ $status == "Charging" ]] && echo 1 > $orange && echo 0 > $blue && dioda=$blue ( [[ $status == "Discharging" ]] || [[ $status == "Not charging" ]] ) && echo 1 > $blue && echo 0 > $orange && dioda=$orange # local funcs byte_count() { while read line;do if [[ $line == ${interface}:* ]];then [[ $1 == r ]] && { set -- ${line#*:}; echo $1; } [[ $1 == t ]] && { set -- ${line#*:}; echo $9; } fi done < /proc/net/dev } # enabling extended globbing shopt -s extglob while grep $interface < /proc/net/dev &>/dev/null ;do status2=$(cat $bateria) if [[ $status != $status2 ]];then [[ $status2 == "Charging" ]] && echo 1 > $orange && echo $swieci > $blue && dioda=$blue ([[ $status2 == "Discharging" ]] || [[ $status2 == "Not charging" ]]) && echo 1 > $blue && echo $swieci > $orange && dioda=$orange status=$status2 fi received=$(byte_count r) transmit=$(byte_count t) sleep 1 # time interval for how often to grab data from /proc/net/dev nreceived=$(byte_count r) ntransmit=$(byte_count t) rdiff=$((( $nreceived - $received ))) tdiff=$((( $ntransmit - $transmit ))) rate=$((( ($rdiff + $tdiff) ))) [[ $swieci == 0 ]] && [[ $rate > 0 ]] && swieci=1 && echo 1 > $dioda; [[ $swieci > 0 ]] && [[ $rate == 0 ]] && swieci=0 && echo 0 > $dioda; done