rev |
line source |
pankso@44
|
1 #!/bin/sh
|
pankso@44
|
2 #
|
pankso@44
|
3 # TazBerry - SliTaz Raspberry Pi Config Tool
|
pankso@44
|
4 #
|
pankso@44
|
5 # Copyright (C) 2014 SliTaz ARM - BSD License
|
pankso@44
|
6 # Author: Christophe Lincoln <pankso@slitaz.org>
|
pankso@44
|
7 #
|
pankso@44
|
8 . /lib/libtaz.sh
|
pankso@137
|
9 check_root
|
pankso@44
|
10
|
pankso@44
|
11 title="{ TazBerry }"
|
pankso@44
|
12 config="/boot/config.txt"
|
pankso@44
|
13 tmpdir="/tmp/tazberry"
|
pankso@44
|
14 tmp="$tmpdir/$$"
|
pankso@44
|
15 height="20"
|
pankso@44
|
16 width="72"
|
pankso@44
|
17
|
pankso@44
|
18 # Use a tmp directory
|
pankso@44
|
19 mkdir -p ${tmpdir}
|
pankso@44
|
20
|
pankso@44
|
21 # Small built-in help
|
pankso@44
|
22 help() {
|
pankso@44
|
23 cat << EOT
|
pankso@44
|
24
|
pankso@44
|
25 $(boldify "$(gettext 'Usage:')") $(basename $0) [command|rpi_function]
|
pankso@44
|
26
|
pankso@44
|
27 $(boldify "$(gettext 'Commands:')")
|
pankso@122
|
28 oclock $(gettext 'Configure overclocking')
|
pankso@134
|
29 cam-setup $(gettext 'Configure your Pi to use the Camera')
|
pankso@44
|
30 ls-functions $(gettext 'List TazBerry functions')
|
pankso@105
|
31 rpi_ $(gettext 'Execute any tazberry_function')
|
pankso@44
|
32 testsuite $(gettext 'Run TazBerry testsuite')
|
pankso@44
|
33
|
pankso@44
|
34 EOT
|
pankso@44
|
35 }
|
pankso@44
|
36
|
pankso@44
|
37 #
|
pankso@44
|
38 # RPi functions
|
pankso@44
|
39 #
|
pankso@44
|
40
|
paul@65
|
41 # This could move to /usr/bin/slitaz-??? or something since it's not
|
pankso@58
|
42 # ARM specific
|
pankso@44
|
43 rpi_stats() {
|
pankso@58
|
44 ip=$(ifconfig | fgrep -A 1 "encap:Ethernet" | fgrep "inet" | cut -d ":" -f 2)
|
pankso@58
|
45 mem_total=$(free -m | fgrep "Mem:" | awk '{print $2}')
|
pankso@58
|
46 mem_used=$(free -m | fgrep "Mem:" | awk '{print $3}')
|
pankso@58
|
47 mem_used_pct=$(( ( ${mem_used} * 100) / ${mem_total} ))
|
pankso@44
|
48 cat << EOT
|
pankso@67
|
49 $(gettext 'Kernel') : $(uname -snrm)
|
pankso@67
|
50 $(gettext 'Uptime') : $(uptime | awk '{print $3}' | sed s"/:/h /" | sed s"/,/min/")
|
pankso@67
|
51 $(gettext 'Network IP') : $(echo $ip | awk '{print $1}')
|
pankso@67
|
52 $(gettext 'CPU heat') : $(awk '{printf "%3.1f C\n", $1/1000}' /sys/class/thermal/thermal_zone0/temp)
|
pankso@67
|
53 $(gettext 'Processes') : $(ps | wc -l)
|
pankso@67
|
54 $(gettext 'Memory usage') : ${mem_used_pct}%
|
pankso@44
|
55 EOT
|
pankso@44
|
56 }
|
pankso@44
|
57
|
pankso@44
|
58 rpi_turbo() {
|
pankso@44
|
59 if ! fgrep -q 'force_turbo=1' ${config}; then
|
pankso@44
|
60 gettext "Enabling Raspberry Pi force turbo..."
|
pankso@44
|
61 echo "force_turbo=1" >> ${config}; status
|
pankso@44
|
62 else
|
pankso@44
|
63 gettext "Disabling Raspberry Pi force turbo..."
|
pankso@44
|
64 sed -i '/force_turbo=1/'d ${config}; status
|
pankso@44
|
65 fi
|
pankso@44
|
66 }
|
pankso@44
|
67
|
pankso@44
|
68 # RPi Overclocking
|
pankso@44
|
69 rpi_oclock() {
|
pankso@44
|
70 cat << EOT
|
pankso@44
|
71 none 700MHz ARM 250MHz core 400MHz SDRAM 0 overvolt
|
pankso@44
|
72 modest 800MHz ARM 300MHz core 400MHz SDRAM 0 overvolt
|
pankso@44
|
73 medium 900MHz ARM 333MHz core 450MHz SDRAM 2 overvolt
|
pankso@44
|
74 high 950MHz ARM 450MHz core 450MHz SDRAM 6 overvolt
|
pankso@44
|
75 turbo 1000MHz ARM 500MHz core 500MHz SDRAM 6 overvolt
|
pankso@44
|
76 EOT
|
pankso@44
|
77 }
|
pankso@44
|
78
|
pankso@122
|
79 # Unset overclocking
|
pankso@122
|
80 unset_oclock() {
|
pankso@122
|
81 debug "unset_oclock"
|
pankso@122
|
82 sed -i \
|
pankso@122
|
83 -e '/# Overclocking.*/'d \
|
pankso@122
|
84 -e '/arm_freq=/'d \
|
pankso@122
|
85 -e '/core_freq=/'d \
|
pankso@122
|
86 -e '/sdram_freq=/'d \
|
pankso@122
|
87 -e '/over_voltage=/'d ${config}
|
pankso@122
|
88 # Remove if 3 empty lines follows
|
pankso@122
|
89 sed -i '1N;N;/^\n\n$/d;P;D' ${config}
|
pankso@122
|
90 }
|
pankso@122
|
91
|
pankso@122
|
92 # Set overclocking: set_oclock [mode]
|
pankso@122
|
93 set_oclock() {
|
pankso@122
|
94 debug "set_oclock $1"
|
pankso@122
|
95 case "$1" in
|
pankso@122
|
96 none)
|
pankso@122
|
97 arm_freq=700
|
pankso@122
|
98 core_freq=250
|
pankso@122
|
99 sdram_freq=400
|
pankso@122
|
100 over_voltage=0 ;;
|
pankso@122
|
101 modest)
|
pankso@122
|
102 arm_freq=800
|
pankso@122
|
103 core_freq=300
|
pankso@122
|
104 sdram_freq=400
|
pankso@122
|
105 over_voltage=0 ;;
|
pankso@122
|
106 medium)
|
pankso@122
|
107 arm_freq=900
|
pankso@122
|
108 core_freq=333
|
pankso@122
|
109 sdram_freq=450
|
pankso@122
|
110 over_voltage=2 ;;
|
paul@127
|
111 high)
|
pankso@122
|
112 arm_freq=950
|
pankso@122
|
113 core_freq=450
|
pankso@122
|
114 sdram_freq=450
|
pankso@122
|
115 over_voltage=6 ;;
|
pankso@122
|
116 turbo)
|
pankso@122
|
117 arm_freq=1000
|
pankso@122
|
118 core_freq=500
|
pankso@122
|
119 sdram_freq=500
|
pankso@122
|
120 over_voltage=6 ;;
|
pankso@122
|
121 esac
|
pankso@122
|
122 unset_oclock
|
pankso@122
|
123 cat >> ${config} << EOT
|
pankso@122
|
124 # Overclocking Settings
|
pankso@122
|
125 arm_freq=$arm_freq
|
pankso@122
|
126 core_freq=$core_freq
|
pankso@122
|
127 sdram_freq=$sdram_freq
|
pankso@122
|
128 over_voltage=$over_voltage
|
pankso@122
|
129
|
pankso@122
|
130 EOT
|
pankso@122
|
131 }
|
pankso@122
|
132
|
pankso@44
|
133 #
|
pankso@44
|
134 # GUI Functions
|
pankso@44
|
135 #
|
pankso@44
|
136
|
pankso@44
|
137 # Usage: msg_box "title" "message"
|
pankso@44
|
138 msg_box() {
|
pankso@44
|
139 dialog --title "{ $1 }" --cr-wrap \
|
pankso@44
|
140 --ok-label "TazBerry" --msgbox "\n$2" ${height} ${width}
|
pankso@44
|
141 }
|
pankso@44
|
142
|
pankso@44
|
143 # Usage: text_box "file"
|
pankso@44
|
144 text_box() {
|
pankso@44
|
145 local file="$1"
|
pankso@44
|
146 if [ -f "$file" ]; then
|
pankso@44
|
147 dialog --cr-wrap \
|
pankso@115
|
148 --title "{ $(gettext 'Viewing file:') $file }" \
|
pankso@44
|
149 --extra-button \
|
pankso@44
|
150 --extra-label "Edit file" \
|
pankso@44
|
151 --ok-label "TazBerry" \
|
pankso@44
|
152 --textbox ${file} ${height} ${width}
|
pankso@44
|
153 else
|
pankso@44
|
154 dialog --title "$title" \
|
pankso@44
|
155 --msgbox "\nERROR: $file does not exist" 10 ${width}
|
pankso@44
|
156 fi
|
pankso@44
|
157 # Handle options
|
pankso@44
|
158 case "$?" in
|
pankso@73
|
159 3) editor ${file} ;;
|
pankso@44
|
160 esac
|
pankso@44
|
161 }
|
pankso@44
|
162
|
pankso@44
|
163 # Usage: tail_box "file"
|
pankso@44
|
164 tail_box() {
|
pankso@115
|
165 dialog --title "{ $(gettext 'Watching file:') $2 }" \
|
pankso@44
|
166 --tailbox "$1" ${height} ${width}
|
pankso@44
|
167 }
|
pankso@44
|
168
|
pankso@44
|
169 # Packages info and spk-up button
|
pankso@44
|
170 pkgs_box() {
|
pankso@44
|
171 out="$tmpdir/spk-info.txt"
|
pankso@44
|
172 spk info --output=raw > ${out}
|
pankso@44
|
173 dialog --cr-wrap \
|
pankso@44
|
174 --title "{ $(gettext 'Packages') }" \
|
pankso@44
|
175 --extra-button \
|
pankso@44
|
176 --extra-label "$(gettext 'Upgrade')" \
|
pankso@44
|
177 --ok-label "TazBerry" \
|
pankso@44
|
178 --textbox "$out" ${height} ${width}
|
pankso@44
|
179 # Handle options
|
pankso@44
|
180 case "$?" in
|
pankso@44
|
181 3) spk-up && gettext "Press ENTER to go back to TazBerry"; read ;;
|
pankso@44
|
182 esac
|
pankso@44
|
183 }
|
pankso@44
|
184
|
pankso@122
|
185 # Overclocking info TODO: button to setup
|
pankso@44
|
186 oclock_box() {
|
pankso@122
|
187 mode=$(fgrep arm_freq ${config} | cut -d '=' -f 2)
|
pankso@122
|
188 case "$mode" in
|
pankso@122
|
189 700) mode="none" ;;
|
pankso@122
|
190 800) mode="modest" ;;
|
pankso@122
|
191 900) mode="medium" ;;
|
pankso@122
|
192 950) mode="high" ;;
|
pankso@122
|
193 1000) mode="turbo" ;;
|
pankso@122
|
194 esac
|
pankso@122
|
195 dialog \
|
pankso@122
|
196 --clear --colors \
|
pankso@122
|
197 --extra-button \
|
pankso@122
|
198 --title "{ Overclocking }" \
|
pankso@44
|
199 --ok-label "TazBerry" \
|
pankso@122
|
200 --extra-label "Set Overclock" \
|
pankso@122
|
201 --cancel-label "Unset Oclock" \
|
paul@127
|
202 --menu "\nSet Raspberry Pi overclocking, current setting: \Zb\Z2$mode" \
|
pankso@122
|
203 ${height} ${width} 14 \
|
pankso@122
|
204 "none" "700MHz ARM 250MHz core 400MHz SDRAM 0 overvolt" \
|
pankso@122
|
205 "modest" "800MHz ARM 300MHz core 400MHz SDRAM 0 overvolt" \
|
pankso@122
|
206 "medium" "900MHz ARM 333MHz core 450MHz SDRAM 2 overvolt" \
|
pankso@122
|
207 "high" "950MHz ARM 450MHz core 450MHz SDRAM 6 overvolt" \
|
pankso@122
|
208 "turbo" "1000MHz ARM 500MHz core 500MHz SDRAM 6 overvolt" 2>${tmp}
|
pankso@122
|
209 retval="$?"
|
pankso@122
|
210 mode=$(cat $tmp)
|
pankso@122
|
211 case "$retval" in
|
pankso@122
|
212 0) continue ;;
|
pankso@122
|
213 1) unset_oclock ;;
|
pankso@122
|
214 3) set_oclock "$mode" ;;
|
pankso@122
|
215 255) rm -rf ${tmpdir} && exit 0 ;;
|
pankso@122
|
216 esac
|
pankso@44
|
217 }
|
pankso@44
|
218
|
pankso@105
|
219 gpu_mem_box() {
|
pankso@105
|
220 dialog \
|
pankso@105
|
221 --clear \
|
pankso@105
|
222 --title "$title" \
|
pankso@105
|
223 --ok-label "Set mem" \
|
pankso@105
|
224 --cancel-label "TazBerry" \
|
paul@108
|
225 --menu "\nSet the memory allocated to the GPU (in MB)" \
|
pankso@105
|
226 ${height} ${width} 14 \
|
pankso@105
|
227 "16" "For server, NAS, base system without X" \
|
pankso@105
|
228 "32" "For very small TFT and TV display" \
|
pankso@105
|
229 "64" "Default value, fine for low latency desktop" \
|
pankso@105
|
230 "128" "For a faster desktop, using a video player" \
|
pankso@105
|
231 "256" "For media center, GL/3D applications" 2>${tmp}
|
pankso@105
|
232 mem=$(cat $tmp)
|
pankso@105
|
233 sed -i \
|
pankso@105
|
234 -e s"/#gpu_mem=.*/gpu_mem=$mem/" \
|
pankso@105
|
235 -e s"/gpu_mem=.*/gpu_mem=$mem/" /boot/config.txt
|
pankso@105
|
236 }
|
pankso@105
|
237
|
pankso@134
|
238 picam_setup() {
|
pankso@134
|
239 db="/var/lib/tazpkg/installed"
|
pankso@134
|
240 gpu_mem=128
|
pankso@134
|
241 pct="0"
|
pankso@134
|
242 {
|
pankso@134
|
243 # Needed packages
|
pankso@134
|
244 for pkg in raspberrypi-vc raspberrypi-boot-x
|
pankso@134
|
245 do
|
pankso@134
|
246 echo "XXX" && echo $((${pct} + 20))
|
pankso@134
|
247 echo -e "\nInstalling: $pkg"
|
pankso@134
|
248 echo "XXX"
|
pankso@142
|
249 [ -d "$db/$pkg" ] || spk-add ${pkg} >/dev/null 2>/dev/null
|
pankso@134
|
250 sleep 1
|
pankso@134
|
251 done
|
pankso@134
|
252
|
pankso@134
|
253 echo "XXX" && echo 60
|
pankso@134
|
254 echo -e "\nSetting up: ${config}"
|
pankso@134
|
255 echo "XXX" && sleep 1
|
pankso@134
|
256 # 0 to disable camera, 1 to enable it
|
pankso@134
|
257 if ! grep -q "start_x=1" ${config}; then
|
pankso@134
|
258 cat >> ${config} << EOT
|
pankso@134
|
259
|
pankso@134
|
260 # Camera settings
|
pankso@134
|
261 start_x=1
|
pankso@134
|
262
|
pankso@134
|
263 EOT
|
pankso@134
|
264 fi
|
pankso@134
|
265 # In case it was commented ot disabled
|
pankso@134
|
266 sed -i s'/#start_x=.*/start_x=1/' ${config}
|
pankso@134
|
267 sed -i s'/start_x=.*/start_x=1/' ${config}
|
pankso@134
|
268
|
pankso@134
|
269 # PiCam need 128 MB of GPU memory
|
pankso@134
|
270 echo "XXX" && echo 80
|
pankso@134
|
271 echo -e "\nSetting GPU memory to: ${gpu_mem}"
|
pankso@134
|
272 echo "XXX" && sleep 1
|
pankso@134
|
273
|
pankso@134
|
274 sed -i "s/#gpu_mem=.*/gpu_mem=${gpu_mem}/" ${config}
|
pankso@134
|
275 sed -i "s/gpu_mem=.*/gpu_mem=${gpu_mem}/" ${config}
|
pankso@134
|
276
|
pankso@134
|
277 echo "XXX" && echo 100
|
pankso@134
|
278 echo -e "\nPiCam config done..."
|
pankso@134
|
279 echo "XXX" && sleep 1
|
pankso@134
|
280
|
pankso@134
|
281 } | dialog --title "{ PiCam Setup }" \
|
pankso@134
|
282 --gauge "" 8 ${width} 0
|
pankso@134
|
283
|
pankso@134
|
284 # Reboot ?
|
pankso@134
|
285 dialog --title "$title" \
|
pankso@134
|
286 --yesno "\n\
|
pankso@134
|
287 SliTaz is configured for the PiCam but you need a reboot to use it.\
|
pankso@134
|
288 \n\n
|
pankso@134
|
289 Do You wish to reboot now ?" \
|
pankso@134
|
290 ${height} ${width}
|
pankso@141
|
291 [ "$?" == 0 ] && reboot
|
pankso@134
|
292 }
|
pankso@134
|
293
|
pankso@137
|
294 # Breakout bords!
|
pankso@137
|
295 boards_box() {
|
pankso@137
|
296 dialog \
|
pankso@137
|
297 --clear \
|
pankso@137
|
298 --title "$title" \
|
pankso@137
|
299 --ok-label "Exec" \
|
pankso@137
|
300 --cancel-label "Quit" \
|
pankso@137
|
301 --menu "\nSetup or use a breakout board" ${height} ${width} 14 \
|
pankso@137
|
302 "cam-setup" "$(gettext 'Configure your Pi to use a Camera')" \
|
pankso@137
|
303 "piglow" "$(gettext 'Setup your Pi to use PiGlow')" 2>${tmp}
|
pankso@137
|
304
|
pankso@137
|
305 # Handle options
|
pankso@137
|
306 case "$?" in
|
pankso@137
|
307 1|255) rm -rf ${tmpdir} && exit 0 ;;
|
pankso@137
|
308 esac
|
pankso@137
|
309
|
pankso@137
|
310 # Handle actions
|
pankso@137
|
311 action=$(cat $tmp)
|
pankso@137
|
312 case "$action" in
|
pankso@137
|
313 cam-setup)
|
pankso@137
|
314 picam_setup ;;
|
pankso@137
|
315 piglow)
|
pankso@137
|
316 for pkg in python-rpi-pyglow wiringpi-piglow; do
|
pankso@137
|
317 spk-add ${pkg}
|
pankso@137
|
318 done
|
pankso@137
|
319 newline
|
pankso@137
|
320 echo -n "Do you wish to try the leds [y/N] ? " ; read anser
|
pankso@137
|
321 [ "$anser" == "y" ] && echo "Enter a value between: 5-255" \
|
pankso@137
|
322 && pyglow test
|
pankso@137
|
323 esac
|
pankso@137
|
324 }
|
pankso@137
|
325
|
pankso@44
|
326 # Main Dialog menu
|
pankso@44
|
327 main_box() {
|
pankso@44
|
328 dialog \
|
pankso@44
|
329 --clear \
|
pankso@44
|
330 --title "$title" \
|
pankso@44
|
331 --ok-label "Exec" \
|
pankso@44
|
332 --cancel-label "Quit" \
|
pankso@44
|
333 --menu "" ${height} ${width} 14 \
|
pankso@44
|
334 "rpi-stats" "$(gettext 'Show some RPi system stats')" \
|
pankso@105
|
335 "gpu-mem" "$(gettext 'Set memory split between ARM and GPU')" \
|
pankso@137
|
336 "boards" "$(gettext 'Boards settings and tools (Camera, PyGlow)')" \
|
pankso@105
|
337 "act-led" "$(gettext 'Test the RPi onboard ACT green led')" \
|
pankso@122
|
338 "oclock" "$(gettext 'Overclocking configuration')" \
|
pankso@105
|
339 "rpi-turbo" "$(gettext 'Enable or disable RPi turbo on next boot')" \
|
pankso@88
|
340 "boot-cmdline" "$(gettext 'View boot args /boot/cmdline.txt')" \
|
pankso@88
|
341 "boot-config" "$(gettext 'View config file /boot/config.txt')" \
|
pankso@115
|
342 "packages" "$(gettext 'SliTaz packages manager') (spk)" \
|
pankso@115
|
343 "config" "$(gettext 'System config (lang, keyboard, wifi)')" \
|
pankso@122
|
344 "reboot" "$(gettext 'Reboot SliTaz system')" \
|
pankso@44
|
345 "halt" "$(gettext 'Halt the Raspberry Pi')" \
|
pankso@88
|
346 "quit" "$(gettext 'Exit TazBerry tool')" 2>${tmp}
|
pankso@44
|
347
|
pankso@44
|
348 # Handle options
|
pankso@105
|
349 case "$?" in
|
pankso@46
|
350 1|255) rm -rf ${tmpdir} && exit 0 ;;
|
pankso@44
|
351 esac
|
pankso@44
|
352
|
pankso@44
|
353 # Handle actions
|
pankso@44
|
354 action=$(cat $tmp)
|
pankso@44
|
355 case "$action" in
|
pankso@44
|
356 rpi-stats)
|
pankso@44
|
357 msg_box "RPi Stats" "$(rpi_stats)" ;;
|
pankso@105
|
358 gpu-mem)
|
pankso@105
|
359 gpu_mem_box ;;
|
pankso@137
|
360 boards)
|
pankso@137
|
361 boards_box ;;
|
pankso@105
|
362 act-led)
|
pankso@105
|
363 brightness="/sys/class/leds/led0/brightness"
|
pankso@105
|
364 (echo "1" > ${brightness}
|
pankso@105
|
365 sleep 3; echo "0" > ${brightness}) & ;;
|
pankso@100
|
366 oclock)
|
pankso@100
|
367 oclock_box ;;
|
pankso@44
|
368 rpi-turbo)
|
pankso@44
|
369 rpi_turbo && newline
|
pankso@44
|
370 gettext "Press ENTER to go back to TazBerry"; read ;;
|
pankso@105
|
371 boot-cmdline)
|
pankso@105
|
372 text_box /boot/cmdline.txt ;;
|
pankso@105
|
373 boot-config)
|
pankso@105
|
374 text_box ${config} ;;
|
pankso@44
|
375 packages)
|
pankso@88
|
376 spk-dialog ;;
|
pankso@88
|
377 config)
|
pankso@88
|
378 slitaz-config ;;
|
pankso@44
|
379 reboot)
|
pankso@44
|
380 reboot ;;
|
pankso@44
|
381 halt)
|
pankso@115
|
382 poweroff ;;
|
pankso@44
|
383 quit)
|
pankso@44
|
384 rm -rf ${tmpdir} && exit 0 ;;
|
pankso@44
|
385 esac
|
pankso@44
|
386 }
|
pankso@44
|
387
|
pankso@44
|
388 # Progress bar testsuite
|
pankso@44
|
389 gauge_box() {
|
pankso@44
|
390 { for i in $(seq 1 100); do
|
pankso@44
|
391 echo $i
|
pankso@44
|
392 sleep 0.01
|
pankso@44
|
393 done
|
pankso@44
|
394 echo 100; } | dialog --title "{ TazBerry }" \
|
pankso@44
|
395 --gauge "Work in progress..." 6 ${width} 0
|
pankso@44
|
396 }
|
pankso@44
|
397
|
pankso@44
|
398 #
|
pankso@44
|
399 # Handle commands
|
pankso@44
|
400 #
|
pankso@44
|
401
|
pankso@44
|
402 case "$1" in
|
pankso@44
|
403 oclock)
|
pankso@122
|
404 oclock_box ;;
|
pankso@44
|
405
|
pankso@134
|
406 cam-setup)
|
pankso@134
|
407 picam_setup ;;
|
pankso@134
|
408
|
pankso@44
|
409 ls-functions)
|
pankso@44
|
410 newline
|
pankso@44
|
411 boldify "$(gettext 'TazBerry functions list')"
|
pankso@44
|
412 separator
|
pankso@44
|
413 grep "^rpi_*" $0 | awk '{print " ", $1}'
|
pankso@44
|
414 newline ;;
|
pankso@44
|
415
|
pankso@44
|
416 testsuite)
|
pankso@44
|
417 gauge_box
|
pankso@44
|
418 msg_box "Testsuite" "Test message"
|
pankso@44
|
419 rpi_stats
|
pankso@44
|
420 newline ;;
|
pankso@44
|
421
|
pankso@44
|
422 rpi_*)
|
pankso@44
|
423 # Execute functions
|
pankso@44
|
424 $@ ;;
|
pankso@44
|
425
|
pankso@44
|
426 "")
|
pankso@44
|
427 # No args: display Ncurses dialog
|
pankso@44
|
428 while true; do
|
pankso@44
|
429 main_box
|
pankso@44
|
430 done ;;
|
pankso@44
|
431
|
pankso@44
|
432 *|*help|-h)
|
pankso@44
|
433 # Display help
|
pankso@44
|
434 help ;;
|
pankso@44
|
435 esac
|
pankso@44
|
436
|
pankso@44
|
437 # Clean exit
|
pankso@44
|
438 rm -rf ${tmpdir}
|
pankso@44
|
439 exit 0
|