mirror of
https://github.com/n5amd/NextionDriverInstaller.git
synced 2025-12-06 03:42:00 +01:00
192 lines
5.7 KiB
Bash
Executable file
192 lines
5.7 KiB
Bash
Executable file
#!/bin/bash
|
|
#########################################################
|
|
# #
|
|
# NextionDriver_InstallationChecker #
|
|
# #
|
|
# (c)2018 by ON7LDS #
|
|
# #
|
|
# This program checkes the MMDVMHost configuration #
|
|
# and NextionDriver configuration files #
|
|
# #
|
|
# V1.00 #
|
|
# #
|
|
#########################################################
|
|
|
|
#PATH=/opt/MMDVMHost:$PATH
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" #"
|
|
if [ "$EUID" -ne 0 ]
|
|
then echo "- Please run as root (did you forget to prepend 'sudo' ?)"
|
|
exit
|
|
fi
|
|
|
|
#######################################################################################
|
|
|
|
PISTAR=$(if [ -f /etc/pistar-release ];then echo "OK"; fi)
|
|
MMDVM=$(which MMDVMHost)
|
|
ND=$(which NextionDriver)
|
|
BINDIR=$(echo "$MMDVM" | sed "s/\/MMDVMHost//")
|
|
CONFIGFILE="/etc/MMDVM.ini"
|
|
|
|
#######################################################################################
|
|
|
|
CHECK=""
|
|
|
|
if [ "$PISTAR" = "OK" ]; then
|
|
CONFIGFILE="/etc/mmdvmhost"
|
|
CHECK="PISTAR"
|
|
echo "+ This seems to be Pi-Star"
|
|
fi
|
|
if [ "$CHECK" = "" ]; then
|
|
if [ "$BINDIR" = "/opt/MMDVMHost" ]; then
|
|
CONFIGFILE="/opt/MMDVMHost/MMDVMHost.ini"
|
|
CHECK="JESSIE"
|
|
fi
|
|
fi
|
|
|
|
echo "----------------------"
|
|
echo "Searching MMDVMHost ..."
|
|
echo "-----------------------"
|
|
if [ "$MMDVM" = "" ]; then
|
|
MMDVM=$(find / -executable | grep "MMDVMHost$")
|
|
AANT=$(echo "$MMDVM" | wc -l)
|
|
if [ "$AANT" -gt 1 ]; then
|
|
echo "- Found more than one binary !"
|
|
fi
|
|
fi
|
|
if [ "$MMDVM" = "" ]; then
|
|
echo "- MMDVMHost not found"
|
|
else
|
|
echo "+ MMDVMHost found at $MMDVM"
|
|
fi
|
|
|
|
echo "+ Searching MMDVMHost configuration file ..."
|
|
CONFIGOK=""
|
|
if [ -f "$CONFIGFILE" ]; then
|
|
CONFIGOK=$(cat $CONFIGFILE | grep General)
|
|
fi
|
|
if [ "$CONFIGOK" = "" ]; then
|
|
C=$(find /etc/systemd/ -name '*' -exec cat {} \; 2>/dev/null | grep "MMDVMHost " | grep Start)
|
|
CONFIGFILE=$(echo $C | sed "s/.*MMDVMHost //")
|
|
CONFIGOK=$(cat "$CONFIGFILE" | grep General)
|
|
fi
|
|
if [ "$CONFIGFILE" = "" ]; then
|
|
echo "- MMDVMHost configuration file not found"
|
|
else
|
|
echo "+ MMDVMHost configuration file found at $CONFIGFILE"
|
|
fi
|
|
|
|
if [ "$CONFIGFILE" != "" ]; then
|
|
NEXTIONPORT_IS_MODEM=""
|
|
NEXTIONPORT_IS_DRIVER=""
|
|
TRANSPARENT=""
|
|
ND_CONFIG=""
|
|
SAMEN=""
|
|
while IFS='' read -r line || [[ -n "$line" ]]; do
|
|
#sectie bepalen
|
|
if [[ "${line:0:1}" == "[" ]]; then
|
|
SECTION=${line:1:-1}
|
|
fi
|
|
#Port van Nextion zoeken,.
|
|
if [[ "$SECTION" == "Nextion" && "$line" == "Port="* ]]; then
|
|
MMDVM_PORT=$(echo "$line" | sed "s/.*=//")
|
|
echo "I Serial port for Nextion is $MMDVM_PORT"
|
|
fi
|
|
if [[ "$SECTION" == "Nextion" && "$line" == "Port="*"ttyNextionDriver" ]]; then
|
|
B="+ MMDVMHost is configured for NextionDriver"
|
|
echo $B
|
|
SAMEN="$SAMEN$B\n"
|
|
ND_CONFIG="ok"
|
|
fi
|
|
if [[ "$SECTION" == "Transparent Data" && "$TRANSPARENT" == "" ]]; then
|
|
echo "+ Transparent Data section found"
|
|
TRANSPARENT="0"
|
|
fi
|
|
if [[ "$SECTION" == "Transparent Data" && "$line" == "Enable=1" ]]; then
|
|
echo "I Transparent Data Enabeled"
|
|
TRANSPARENT="1"
|
|
fi
|
|
if [[ "$SECTION" == "Transparent Data" && "$TRANSPARENT" == "1" && "$line" == "SendFrameType=1" ]]; then
|
|
TRANSPARENT="2"
|
|
echo "I SendFrameType enabled"
|
|
fi
|
|
done < "$CONFIGFILE"
|
|
if [ "$ND_CONFIG" = "" ]; then
|
|
echo "- ERROR ERROR ERROR ERROR ERROR:"
|
|
B="- MMDVMHost is NOT configured for NextionDriver !!!"
|
|
echo $B
|
|
SAMEN="$SAMEN\$B\n"
|
|
fi
|
|
|
|
fi
|
|
|
|
echo ""
|
|
echo "--------------------------"
|
|
echo "Searching NextionDriver ..."
|
|
echo "---------------------------"
|
|
if [ "$ND" = "" ]; then
|
|
ND=$(find / -executable | grep "NextionDriver$")
|
|
AANT=$(echo "$ND" | wc -l)
|
|
if [ "$AANT" -gt 1 ]; then
|
|
echo "- Found more than one binary !"
|
|
fi
|
|
fi
|
|
if [ "$ND" = "" ]; then
|
|
echo "- NextionDriver not found"
|
|
else
|
|
echo "+ NextionDriver found at $ND"
|
|
fi
|
|
|
|
if [ "$CONFIGFILE" != "" ]; then
|
|
while IFS='' read -r line || [[ -n "$line" ]]; do
|
|
#sectie bepalen
|
|
if [[ "${line:0:1}" == "[" ]]; then
|
|
SECTION=${line:1:-1}
|
|
fi
|
|
#Port van Nextion zoeken,.
|
|
if [[ "$SECTION" == "NextionDriver" && "$line" == "Port="* ]]; then
|
|
ND_PORT=$(echo "$line" | sed "s/.*=//")
|
|
echo "I Nextion is connected to $ND_PORT"
|
|
fi
|
|
done < "$CONFIGFILE"
|
|
if [ $ND_PORT != "modem" ]; then
|
|
if [ -w "$ND_PORT" ]; then
|
|
echo "+ Nextion seems to be connected to an active port"
|
|
echo $B
|
|
SAMEN=$SAMEN"+ The Nextion display must be connected to $ND_PORT\n"
|
|
else
|
|
echo "+ Nextion IS NOT connected to an existing port"
|
|
fi
|
|
else
|
|
SAMEN=$SAMEN"+ The Nextion display must be connected to the modem\n"
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "----------------------------"
|
|
echo "Checking active programs ..."
|
|
echo "----------------------------"
|
|
|
|
MMDVM_ACT=$(pidof MMDVMHost)
|
|
if [ "$MMDVM_ACT" = "" ]; then
|
|
echo "- MMDVMHost not running"
|
|
SAMEN=$SAMEN"- MMDVMHost is NOT running\n"
|
|
else
|
|
echo "+ MMDVMHost running with PID $MMDVM_ACT"
|
|
SAMEN=$SAMEN"+ MMDVMHost is running\n"
|
|
fi
|
|
|
|
ND_ACT=$(pidof NextionDriver)
|
|
if [ "$ND_ACT" = "" ]; then
|
|
echo "- NextionDriver not running"
|
|
SAMEN=$SAMEN"- NextionDriver is NOT running\n"
|
|
else
|
|
echo "+ NextionDriver running with PID $ND_ACT"
|
|
SAMEN=$SAMEN"+ NextionDriver is running\n"
|
|
fi
|
|
|
|
echo ""
|
|
echo "--------------------------------"
|
|
echo "| REPORT |"
|
|
echo "--------------------------------"
|
|
echo -e "$SAMEN"
|