Files

70 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 13 March 2026
# Updated : 14 March 2026
# Purpose : Wrapper script for starting flmsg with PnP support
#
# Preconditions
# 1. None
#
# Postconditions
# 1. flmsg core settings updated
# 2. flmsg started
usage() {
echo "usage: $(basename $0) <command>"
echo " start - Update config and start flmsg"
echo " update-config - Update config"
}
if [[ $# -ne 1 ]]; then
usage
exit 1
fi
start() {
update-config && /usr/local/bin/flmsg &
}
update-config () {
FLMSG_CONF_DIR="${HOME}/.nbems"
FLMSG_CONF_FILE="${FLMSG_CONF_DIR}/FLMSG.prefs"
if [[ ! -e ${FLMSG_CONF_FILE} ]]; then
et-log "${FLMSG_CONF_FILE} does not exist. Creating it from template."
cp -r /etc/skel/.nbems ${HOME}
fi
[ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json"
#################
# Update callsign
#################
et-log "Updating callsign configuration..."
CALLSIGN=$(jq -r -e '.callsign' ${ET_USER_CONFIG})
if [[ "${CALLSIGN}" = "N0CALL" ]]; then
et-log "Exiting early. No callsign set. Run: et-user."
exit 1
fi
et-log "Using callsign '${CALLSIGN}'"
sed -i "s|^mycall:.*|mycall:${CALLSIGN}|" ${FLMSG_CONF_FILE}
}
case $1 in
start)
start
;;
update-config)
update-config
;;
*)
echo "Invalid command."
usage
exit 1
;;
esac