Difference between revisions of "Blog 10"

From BitWizard Wiki
Jump to navigation Jump to search
Line 46: Line 46:
# kijk naar de knoppen
# kijk naar de knoppen
Button=`bw_tool -I -D /dev/i2c-1 -a 94 -R 30:b`
Button=`bw_tool -I -D /dev/i2c-1 -a 94 -R 30:b`
if [ $HENK != "00" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
fi

if [ $Button = "20" ]; then
if [ $Button = "20" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=showtemp2
Print=showtemp2
fi
fi
if [ $Button = "10" ]; then
if [ $Button = "10" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=time_load
Print=time_load
fi
fi
if [ $Button = "08" ]; then
if [ $Button = "08" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=cgpu2
Print=cgpu2
fi
fi
if [ $Button = "04" ]; then
if [ $Button = "04" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=DIAMoscow
Print=DIAMoscow
fi
fi
if [ $Button = "02" ]; then
if [ $Button = "02" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=DIAMWind
Print=DIAMWind
fi
fi
if [ $Button = "01" ]; then
if [ $Button = "01" ]; then
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
Print=ui
Print=ui
fi
fi

Revision as of 13:26, 24 September 2015

Push menu

1. Temperature  (From blog 05)
2. Time with load averages (From blog 04)
3. CPU + GPU (From blog 08)
4. Temperature at weather station (From blog 09) 
5. Wind a weather station (From blog 09) 
6. Defining Temperature ( not visible on display! ) (From blog 05)

I used previous codes, but I copied them in a new version. Example:

cp timer > time_load 

You have to make the script get to the basic, so that it only prints. So things like this has to be removed:

while true
done
echo 
10:00/11:00

Note! You shouldn't delete 11:20, because the script from pushmenu isn't made to to also remove the second line. It only cleans first row with 11:00.

Example from the 'Time with load averages':

#!/bin/bash

DISPL="bw_tool -I -D /dev/i2c-1 -a 94"

       load=`cut -d' ' -f-3 /proc/loadavg`
       $DISPL -t `date +%H:%M:%S`
       $DISPL -W 11:20:b
       $DISPL -t $load
#!/bin/bash 

#Print=showtemp2
#Print=time_load
#Print=DIAMoscow2
#Print=cgpu2
#Print=DIAMWind
Print=ui
bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00 

while true; do
  # kijk naar de knoppen
  Button=`bw_tool -I -D /dev/i2c-1 -a 94 -R 30:b`
  
  if [ $HENK  != "00" ]; then 
    bw_tool -I -D /dev/i2c-1 -a 94 -w 10:00
  fi
  if [ $Button  = "20" ]; then 
    Print=showtemp2
  fi  

  if [ $Button  = "10" ]; then 
    Print=time_load
  fi 

  if [ $Button  = "08" ]; then 
    Print=cgpu2
  fi

  if [ $Button  = "04" ]; then 
    Print=DIAMoscow
  fi

  if [ $Button  = "02" ]; then 
    Print=DIAMWind
  fi

  if [ $Button  = "01" ]; then 
    Print=ui
  fi

  bw_tool -I -D /dev/i2c-1 -a 94 -w 11:00
  ./$Print

  sleep 1
done

All the 6 buttons reference to 6 scripts:

1. Temperature
2. Time 
3. CPU +GPU
4. Temperature at weather station
5. Wind at weather station 
6. ui

The first list can delete the and only turn on 1 of them. If you remove it, it wouldn't be a problem on the display but a error. I found out this later, but left the others there because I thought maybe some people would like to start with an other one. It directly removes everything from display. (10:00)

Then it will start the while loop. ( while true; do) When started it will first look if it detects which button is pressed.

After that I made 6 if statements to check of that button is pressed. ( to detect which button gives which number:

bw_tool -I -D /dev/i2c-1 -a 94 -R 30:b
01

) Press the number you want to know and press the button.

At the end it says it has to place on the line 11:00 and with ./$print he that finally print the every second the one information from the button pressed.

Thanks to the sleep you now have to wait a second to recognize the different button you pressed. Because it has to go trough that list again in that 1 sec.


I hope this can also be useful for your own use.