2026-03-13 16:20:14 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
#
|
|
|
|
|
# Author : Gaston Gonzalez
|
|
|
|
|
# Date : 13 March 2026
|
2026-03-14 18:17:02 -07:00
|
|
|
# Updated : 14 March 2026
|
2026-03-13 16:20:14 -07:00
|
|
|
# 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"
|
|
|
|
|
|
2026-03-14 18:17:02 -07:00
|
|
|
if [[ ! -e ${FLMSG_CONF_FILE} ]]; then
|
|
|
|
|
et-log "${FLMSG_CONF_FILE} does not exist. Creating it from template."
|
|
|
|
|
cp -r /etc/skel/.nbems ${HOME}
|
2026-03-13 16:20:14 -07:00
|
|
|
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
|