2021-05-06 00:12:09 +02:00
#!/bin/bash
# this is an dialog that handles all UI events during setup that require a "info & wait" with no interaction
# get basic system information
# these are the same set of infos the WebGUI dialog/controler has
source /home/admin/_version.info
source /home/admin/raspiblitz.info
# 1st PARAMETER: eventID
# fixed ID string for a certain event
eventID = $1
if [ " ${ eventID } " = = "" ] ; then
echo "err='missing eventID'"
exit 1
fi
# 2nd PARAMETER (optional): dynamic content that can be used in two ways
# 1) contentWords[] --> if eventID is known & well defined between backend & frontend, then use the single words of this string as dynamic content for static text info
# 2) contentString --> if eventID is new and not well defined yet, then just show a generic info and use the complete string as info message
# just see examples of this two use cases below
contentWords = ( $2 )
contentString = $2
# default backtitle for dialog
2021-05-06 00:54:14 +02:00
backtitle = " RaspiBlitz ${ codeVersion } / ${ localip } "
2021-05-06 00:12:09 +02:00
################################################
# 1) WELL DEFINED EVENTS
################################################
2021-05-06 02:27:26 +02:00
if [ " ${ eventID } " = = "starting" ] || [ " ${ eventID } " = = "system-init" ] ; then
2021-05-06 00:12:09 +02:00
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Starting RaspiBlitz
Please wait ...
" 6 24
2021-05-06 02:23:02 +02:00
elif [ " ${ eventID } " = = "reboot" ] ; then
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Shutting down for reboot.
" 5 30
2021-05-13 14:31:15 +02:00
elif [ " ${ eventID } " = = "noDHCP" ] ; then
2021-05-06 02:27:26 +02:00
2021-05-13 14:31:15 +02:00
# this event is mostly for LCD/HDMI display
# because if device gets no local IP
# SSH & WEBUI would not have connected yet
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Waiting for local IP address ...
If this takes too long please check
your connection to internet router.
" 7 41
elif [ " ${ eventID } " = "noIP-LAN" ] || [ " ${ eventID } " = "noIP-WIFI" ] ; then
# this event is mostly for LCD/HDMI display
# because if device gets no local IP
# SSH & WEBUI would not have connected yet
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Waiting for Network ...
Not able to get local IP.
LAN cable connected? WIFI lost?
" 7 41
elif [ " ${ eventID } " = "noInternet" ] ; then
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Waiting for Internet ...
Local Network seems OK but no Internet.
Is your router still online?
" 7 43
elif [ " ${ eventID } " = "noInternet" ] ; then
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Waiting for Internet ...
Local Network seems OK but no Internet.
Is your router still online?
" 7 43
elif [ " ${ eventID } " = = "inspect-hdd" ] ; then
2021-05-06 00:12:09 +02:00
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
2021-05-13 14:31:15 +02:00
Checking HDD/SSD ...
Please wait.
" 6 26
2021-05-06 00:12:09 +02:00
2021-05-18 21:06:32 -05:00
elif [ " ${ eventID } " = = "noHDD" ] ; then
# contentWords[1] --> size string (for example '1TB')
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
Please connect a HDD/SSD.
Minimum of ${ contentWords [1] } needed.
" 7 40
2021-05-06 00:12:09 +02:00
elif [ " ${ eventID } " = = "sdtoosmall" ] ; then
# contentWords[1] --> size string (for example '16GB')
dialog --backtitle " ${ backtitle } " --cr-wrap --infobox "
PROBLEM: SD CARD IS TOO SMALL
2021-05-18 21:06:32 -05:00
Minimum of ${ contentWords [1] } needed
2021-05-06 00:12:09 +02:00
Cut power & create fresh sd card
" 8 40
################################################
# 2) GENERIC EVENT
# may get better defined in the future
################################################
else
# a generic info box for not further defined events
dialog --title " ${ eventid } " --backtitle " ${ backtitle } " --cr-wrap --infobox " \n ${ contentString } " 7 50
fi