mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
Merged feature/et-user
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Author : Gaston Gonzalez
|
# Author : Gaston Gonzalez
|
||||||
# Date : 23 April 2024
|
# Date : 23 April 2024
|
||||||
# Updated : 20 October 2024
|
# Updated : 25 October 2024
|
||||||
# Description : bash profile
|
# Description : bash profile
|
||||||
|
|
||||||
# All user accounts should be in the 'et-data' group to allow data sharing with
|
# All user accounts should be in the 'et-data' group to allow data sharing with
|
||||||
@@ -24,3 +24,5 @@ NC='\x1B[0m'
|
|||||||
echo -e "${YELLOW}"
|
echo -e "${YELLOW}"
|
||||||
cat /etc/motd
|
cat /etc/motd
|
||||||
echo -e "${NC}"
|
echo -e "${NC}"
|
||||||
|
|
||||||
|
export ET_USER_CONFIG=${HOME}/.config/emcomm-tools/user.json
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"callsign": "N0CALL",
|
||||||
|
"grid": "DM33"
|
||||||
|
}
|
||||||
@@ -36,6 +36,10 @@ CAT : ${execpi 10 et-system-info et-cat}
|
|||||||
GPS : ${execpi 10 et-system-info et-gps}
|
GPS : ${execpi 10 et-system-info et-gps}
|
||||||
Audio: ${execpi 10 et-system-info et-audio}
|
Audio: ${execpi 10 et-system-info et-audio}
|
||||||
|
|
||||||
|
${font DejaVu Sans:bold:size=10}${color #8d5133}${alignc}OPERATOR
|
||||||
|
${font DejaVu Sans Mono:size=11}${color yellow}Callsign: ${execpi 10 et-system-info callsign}
|
||||||
|
Grid : ${execpi 10 et-system-info grid}
|
||||||
|
|
||||||
${font DejaVu Sans:bold:size=9}${color #805f4f}${alignc}${execp /opt/emcomm-tools/bin/et-system-info release}
|
${font DejaVu Sans:bold:size=9}${color #805f4f}${alignc}${execp /opt/emcomm-tools/bin/et-system-info release}
|
||||||
]];
|
]];
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ update-config () {
|
|||||||
JS8CALL_CONF_FILE="${HOME}/.config/JS8Call.ini"
|
JS8CALL_CONF_FILE="${HOME}/.config/JS8Call.ini"
|
||||||
JS8CALL_TEMPLATE_CONF_FILE=${ET_HOME}/conf/template.d/js8call/JS8Call.rigctl.ini
|
JS8CALL_TEMPLATE_CONF_FILE=${ET_HOME}/conf/template.d/js8call/JS8Call.rigctl.ini
|
||||||
|
|
||||||
|
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||||
|
|
||||||
# Special case for the DigiRig Mobile when connected to a radio that does
|
# Special case for the DigiRig Mobile when connected to a radio that does
|
||||||
# not support CAT control.
|
# not support CAT control.
|
||||||
if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
|
if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
|
||||||
@@ -53,6 +55,15 @@ update-config () {
|
|||||||
cp ${JS8CALL_TEMPLATE_CONF_FILE} ${JS8CALL_CONF_FILE}
|
cp ${JS8CALL_TEMPLATE_CONF_FILE} ${JS8CALL_CONF_FILE}
|
||||||
et-log "Replaced JS8Call configuration with template: ${JS8CALL_TEMPLATE_CONF_FILE}"
|
et-log "Replaced JS8Call configuration with template: ${JS8CALL_TEMPLATE_CONF_FILE}"
|
||||||
|
|
||||||
|
# Update configuration with current callsign and grid
|
||||||
|
CALLSIGN=$(cat ${ET_USER_CONFIG} | jq -r .callsign)
|
||||||
|
GRID=$(cat ${ET_USER_CONFIG} | jq -r .grid)
|
||||||
|
|
||||||
|
sed -i "s|^MyCall.*|MyCall=${CALLSIGN}|" ${JS8CALL_CONF_FILE}
|
||||||
|
sed -i "s|^MyGrid.*|MyGrid=${GRID}|" ${JS8CALL_CONF_FILE}
|
||||||
|
|
||||||
|
et-log "Updated JS8Call configuration with user callsign '${CALLSIGN}' and grid: '${GRID}'"
|
||||||
|
|
||||||
# 1. Check if the symlink was created by the udev rules
|
# 1. Check if the symlink was created by the udev rules
|
||||||
if [ -e /dev/et-audio ]; then
|
if [ -e /dev/et-audio ]; then
|
||||||
|
|
||||||
|
|||||||
@@ -2,16 +2,18 @@
|
|||||||
#
|
#
|
||||||
# Author : Gaston Gonzalez
|
# Author : Gaston Gonzalez
|
||||||
# Date : 6 October 2024
|
# Date : 6 October 2024
|
||||||
# Updated : 23 October 2024
|
# Updated : 25 October 2024
|
||||||
# Purpose : Utility script for dumping system information
|
# Purpose : Utility script for dumping system information
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
echo "Usage: $(basename $0) <command>"
|
echo "Usage: $(basename $0) <command>"
|
||||||
echo " active-radio - Display model of active radio"
|
echo " active-radio - Display model of active radio"
|
||||||
|
echo " callsign - Current callsign"
|
||||||
echo " et-audio - Show state of audio interface"
|
echo " et-audio - Show state of audio interface"
|
||||||
echo " et-audio-card - Display audio card and device: <card>,<device>"
|
echo " et-audio-card - Display audio card and device: <card>,<device>"
|
||||||
echo " et-cat - Show state of CAT control interface"
|
echo " et-cat - Show state of CAT control interface"
|
||||||
echo " et-gps - Show state of GPS interface"
|
echo " et-gps - Show state of GPS interface"
|
||||||
|
echo " grid - Current grid square defined by user"
|
||||||
echo " ip - System IP address"
|
echo " ip - System IP address"
|
||||||
echo " release - EmComm Tools release"
|
echo " release - EmComm Tools release"
|
||||||
}
|
}
|
||||||
@@ -21,6 +23,8 @@ if [ $# -ne 1 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
active-radio)
|
active-radio)
|
||||||
if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
|
if [ -L "${ET_HOME}/conf/radios.d/active-radio.json" ]; then
|
||||||
@@ -29,6 +33,12 @@ case $1 in
|
|||||||
echo "No radio selected"
|
echo "No radio selected"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
callsign)
|
||||||
|
cat ${ET_USER_CONFIG} | jq -r .callsign
|
||||||
|
;;
|
||||||
|
grid)
|
||||||
|
cat ${ET_USER_CONFIG} | jq -r .grid
|
||||||
|
;;
|
||||||
et-audio)
|
et-audio)
|
||||||
|
|
||||||
# 1. Check if the symlink was created by the udev rules
|
# 1. Check if the symlink was created by the udev rules
|
||||||
|
|||||||
Executable
+48
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Author : Gaston Gonzalez
|
||||||
|
# Date : 25 October 2024
|
||||||
|
# Purpose : Set user-specific settings for EmComm Tools.
|
||||||
|
|
||||||
|
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
|
||||||
|
|
||||||
|
if [ ! -e ${ET_USER_CONFIG} ]; then
|
||||||
|
cp /etc/skel/.config/emcomm-tools/user.json ${ET_USER_CONFIG}
|
||||||
|
fi
|
||||||
|
|
||||||
|
CUR_CALLSIGN=$(cat ${ET_USER_CONFIG} | jq -r .callsign)
|
||||||
|
CUR_GRID=$(cat ${ET_USER_CONFIG} | jq -r .grid)
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -e -p "Enter your callsign (current: ${CUR_CALLSIGN}): " callsign
|
||||||
|
read -e -p "Enter your maidenhead grid square (current: ${CUR_GRID}): " grid
|
||||||
|
|
||||||
|
callsign=${callsign:-"$CUR_CALLSIGN"}
|
||||||
|
grid=${grid:-"$CUR_GRID"}
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Is the following correct?:"
|
||||||
|
echo "Callsign: $callsign"
|
||||||
|
echo "Grid Square: $grid"
|
||||||
|
read -p "(y/n): " confirm
|
||||||
|
|
||||||
|
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||||
|
|
||||||
|
cat <<EOF > "${ET_USER_CONFIG}"
|
||||||
|
{
|
||||||
|
"callsign": "${callsign}",
|
||||||
|
"grid": "${grid}"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "User settings updated..."
|
||||||
|
cat ${ET_USER_CONFIG} | jq .
|
||||||
|
break
|
||||||
|
elif [[ "$confirm" =~ ^[Nn]$ ]]; then
|
||||||
|
echo "Let's try again."
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "Please enter 'y' or 'n'."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
Reference in New Issue
Block a user