Demo application
#!/bin/shinit_leds() { echo 26 > /sys/class/gpio/export echo 500 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio26/direction echo out > /sys/class/gpio/gpio500/direction echo 0 > /sys/class/gpio/gpio26/value echo 1 > /sys/class/gpio/gpio500/value}set_leds() { echo $1 > /sys/class/gpio/gpio26/value echo $2 > /sys/class/gpio/gpio500/value}init_buzzer() { echo 503 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio503/direction echo 1 > /sys/class/gpio/gpio503/value}beep() { for i in $(seq $2) do echo 1 > /sys/class/gpio/gpio503/value usleep $1 echo 1 > /sys/class/gpio/gpio503/value usleep $1 done}get_status() { status=$(rauc status --detailed | grep "state=booted" -A 5 -B 1) bootname=$(echo $status | grep -o "bootname=system[01]" | grep -o "system[01]") version=$(echo $status | grep -o "version=.*$" | grep -o "[^=]*$") if [[ "system0" == $bootname ]] then set_leds 1 1 elif [[ "system1" == $bootname ]] then set_leds 0 0 fi}show_status() { clear clear dialog --no-lines --infobox "\Status\n\\n\bootname:\n\$bootname\n\version:\n\$version" \ 8 16}invert_colors() { printf '\ePtmux;\e\e[?5h\e\\'}revert_colors() { printf '\ePtmux;\e\e[?5l\e\\'}show_logo() { fbi -T 1 --noverbose esec_logo.png sleep 3 revert_colors killall fbi invert_colors}revert_colorsinit_ledsinit_buzzercloud=falseget_statusshow_logoinvert_colorsshow_statuscat logfile | \#journalctl -f -u rauc-hawkbit-updater | \while read line ; do if $cloud then revert_colors killall fbi invert_colors show_status cloud=false beep 100000 1 fi perc_line=$(echo "$line" | grep "Start downloading: ") if [ $? = 0 ] then cloud=true fbi -T 1 --noverbose solid_cloud-download-alt.png beep 100000 1 fi perc_line=$(echo "$line" | grep " :.*%") if [ $? = 0 ] then message=$(echo "$perc_line" | grep -o "% .*$" | grep -o "[^% ].*") perc=$(echo "$perc_line" | grep -o " :.*%" | grep -o [0-9]*) if [ $? = 0 ] then cat <<-EOF XXX $perc $message XXX EOF fi | dialog --no-lines --gauge Installing 8 16 fi perc_line=$(echo "$line" | grep "Software bundle installed successful.") if [ $? = 0 ] then sleep 1 fbi -T 1 --noverbose solid_check-circle.png beep 100000 1 sleep 5 revert_colors killall fbi beep 100000 1 invert_colors dialog --no-lines --msgbox "Rebooting now!" 8 16 echo reboot show_status fi perc_line=$(echo "$line" | grep "Cancellation completion is finished successfully.") if [ $? = 0 ] then fbi -T 1 --noverbose solid_times-circle.png beep 100000 1 sleep 5 revert_colors killall fbi invert_colors show_status fi perc_line=$(echo "$line" | grep "Failed to ") if [ $? = 0 ] then sleep 1 fbi -T 1 --noverbose solid_exclamation-circle.png beep 100000 2 sleep 10 revert_colors killall fbi invert_colors show_status fi usleep 100000doneCCES39645-557