Blog 13

From BitWizard Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Scroll Menu

Scroll Menu with multiple functions, where with every functions you can set up certain things. Example: Changing Alarm Time Changing volume

The reason I made this, is because I don't want to use the raspberry pi only for just 1 thing. I want to use it for multiple script and don't want to use a command section to get the other script to work. Here I can also put all my future projects in.


First mission is to make it possible that it goes up and down in the menu and than choose a certain function.

  • 1. Select option 1
  • 2. Select option 2
  • 3. go to the begin of the menu
  • 4. Go to the End of the menu
  • 5. Going down in the menu
  • 6. Going up in the menu

For this script I used previous scripts that I already made in previous blogs.

#!/bin/bash
bw_tool -I -D /dev/i2c-1 -a 94 -W 10:00

while true; do
HENK=`bw_tool -I -D /dev/i2c-1 -a 94 -R 30:b`

array=( pushmenu2 AlarmMenu Jaap Tim Martin Koos Willem Bas Luuk Richard Nick Alex)
# Element 0       1         2    3   4      5    6      7   8    9       10   11

Barray=( "Temp Menu" "Alarm Menu" Settings "Board menu" "Fries Menu" "Banana Menu" "vega burger" "wc menu" Bananaphone "2001:ABC" "ghost server" "My  name is...")
# Element 0           1           2         3            4            5             6             7        8            9          10             11

 if [ $HENK  != "00" ]; then
    bw_tool -I -D /dev/i2c-1 -a 94 -W 10:00
 fi

 if [ $HENK  = "20" ]; then
    ./${array[$Number]}
 fi

 if [ $HENK  = "10" ]; then
   ./${array[$Numb2]}
 fi

 if [ $HENK  = "08" ]; then
    Number=0
 fi

 if [ $HENK  = "04" ]; then
    Number=10
 fi

 if [ $HENK  = "02" ]; then
    Number=$(((Number + 10) % 12 )) # can be changed to 11 if you want it to get 1 down
 fi

 if [ $HENK  = "01" ]; then
    Number=$(((Number + 2) % 12 )) #can be changed to 1 if you want to get it up by 1 / I did 2 because speed
 fi

Numb2=$((Number + 1))
Numb3=$((Numb2 + 1))

bw_tool -I -D /dev/i2c-1 -a 94 -W 11:00
bw_tool -I -D /dev/i2c-1 -a 94 -t "$Numb2""."${Barray[$Number]}
bw_tool -I -D /dev/i2c-1 -a 94 -W 11:20
bw_tool -I -D /dev/i2c-1 -a 94 -t "$Numb3""."${Barray[$Numb2]}

sleep 1

done