Files
emcomm-tools-os-community/overlay/opt/emcomm-tools/bin/et-system-info
T

74 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 6 October 2024
# Updated : 10 October 2024
# Purpose : Utility script for dumping system information
function usage() {
echo "Usage: $(basename $0) <command>"
echo " active-radio - Display model of active radio"
echo " et-cat - Is CAT control connected"
echo " et-gps - Is the GPS connected"
echo " ip - System IP address"
echo " release - EmComm Tools Release"
}
if [ $# -ne 1 ]; then
usage
exit 1
fi
case $1 in
active-radio)
if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
cat "${ET_HOME}/conf/radios.d/active-radio.json" | jq -r .model
else
echo "No radio selected"
fi
;;
et-cat)
if [ ! -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
echo "N/A"
exit 0
fi
# 1. Check if the symlink was created by the udev rules
if [ -e /dev/et-cat ]; then
# 2. Check if the rigctl systemd unit is running properly
systemctl status rigctld --no-pager > /dev/null
if [ $? -eq 0 ]; then
# 3. Grab and format frequency
FREQ=$(timeout 1 rigctl -m 2 f)
if [ $? -eq 0 ]; then
printf "%'d MHz\n" "$FREQ" | sed 's|,|.|g'
else
echo "Connected. Can't access VFO";
fi
else
echo "Connected. rigctld not running"
fi
else
echo "Not connected";
fi
;;
et-gps)
if [ -e /dev/et-gps ]; then echo "Yes"; else echo "No"; fi
;;
ip)
hostname -I
;;
release)
grep DISTRIB_DESCRIPTION /etc/lsb-release | sed 's|"||g' | awk '{print $1}' | cut -d"=" -f2
;;
*)
echo "Command not supported."
usage
exit 1
;;
esac