expert mode for qnconfig

pull/12/head
Tom Early 7 years ago
parent cf74e6a42b
commit e369ee824d

@ -1895,7 +1895,7 @@ void CQnetGateway::Process()
tv.tv_usec = 20000; // 20 ms tv.tv_usec = 20000; // 20 ms
(void)select(max_nfds + 1, &fdset, 0, 0, &tv); (void)select(max_nfds + 1, &fdset, 0, 0, &tv);
// process packets coming from remote G2 or g2_link // process packets coming from remote G2
if (keep_running && FD_ISSET(g2_sock, &fdset)) { if (keep_running && FD_ISSET(g2_sock, &fdset)) {
SDSVT g2buf; SDSVT g2buf;
socklen_t fromlen = sizeof(struct sockaddr_in); socklen_t fromlen = sizeof(struct sockaddr_in);
@ -1915,6 +1915,7 @@ void CQnetGateway::Process()
FD_CLR(g2_sock, &fdset); FD_CLR(g2_sock, &fdset);
} }
// process packets from qnlink
if (keep_running && FD_ISSET(Link2Gate.GetFD(), &fdset)) { if (keep_running && FD_ISSET(Link2Gate.GetFD(), &fdset)) {
SDSVT g2buf; SDSVT g2buf;
ssize_t g2buflen = Link2Gate.Read(g2buf.title, 56); ssize_t g2buflen = Link2Gate.Read(g2buf.title, 56);
@ -1922,7 +1923,7 @@ void CQnetGateway::Process()
FD_CLR(Link2Gate.GetFD(), &fdset); FD_CLR(Link2Gate.GetFD(), &fdset);
} }
// process packets coming from local repeater modules // process packets coming from local repeater module(s)
if (keep_running && FD_ISSET(Modem2Gate.GetFD(), &fdset)) { if (keep_running && FD_ISSET(Modem2Gate.GetFD(), &fdset)) {
ProcessModem(); ProcessModem();
FD_CLR(Modem2Gate.GetFD(), &fdset); FD_CLR(Modem2Gate.GetFD(), &fdset);

@ -72,6 +72,7 @@ LinkMenu () {
echo -n "ad : CSV of calls that can execute scripts = "; EvaluateVar link_admin{,_d} echo -n "ad : CSV of calls that can execute scripts = "; EvaluateVar link_admin{,_d}
echo -n "li : CSV of calls that can link and unlink = "; EvaluateVar link_link_unlink{,_d} echo -n "li : CSV of calls that can link and unlink = "; EvaluateVar link_link_unlink{,_d}
echo -n "n : CSV of calls that cannot link&unlink = "; EvaluateVar link_no_link_unlink{,_d} echo -n "n : CSV of calls that cannot link&unlink = "; EvaluateVar link_no_link_unlink{,_d}
if [ -n "$em" ]; then
echo -n "i : Incoming IP address of QnetLink = "; EvaluateVar link_incoming_ip{,_d} echo -n "i : Incoming IP address of QnetLink = "; EvaluateVar link_incoming_ip{,_d}
echo -n "r : UDP port for REF linking = "; EvaluateVar link_ref_port{,_d} echo -n "r : UDP port for REF linking = "; EvaluateVar link_ref_port{,_d}
echo -n "x : UDP port for XRF linking = "; EvaluateVar link_xrf_port{,_d} echo -n "x : UDP port for XRF linking = "; EvaluateVar link_xrf_port{,_d}
@ -79,12 +80,15 @@ LinkMenu () {
echo -n "an : Announce linking = "; EvaluateVar link_announce{,_d} echo -n "an : Announce linking = "; EvaluateVar link_announce{,_d}
echo -n "ac : Acknowledge link on each keyup = "; EvaluateVar link_acknowledge{,_d} echo -n "ac : Acknowledge link on each keyup = "; EvaluateVar link_acknowledge{,_d}
echo -n "m : Maximum # of dongles allowed = "; EvaluateVar link_max_dongles{,_d} echo -n "m : Maximum # of dongles allowed = "; EvaluateVar link_max_dongles{,_d}
fi
echo echo
echo " Legacy D-Plus Repeaters and Reflectors" echo " Legacy D-Plus Repeaters and Reflectors"
echo -n "au : Authorize Legacy D-Plus Linking = "; EvaluateVar dplus_authorize{,_d} echo -n "au : Authorize Legacy D-Plus Linking = "; EvaluateVar dplus_authorize{,_d}
if [ -n "$em" ]; then
echo -n "lo : Login call for authorization server = "; EvaluateVar dplus_ref_login{,_d} echo -n "lo : Login call for authorization server = "; EvaluateVar dplus_ref_login{,_d}
echo -n "RF : Add legacy reflectors to gateway list = "; EvaluateVar dplus_use_reflectors{,_d} echo -n "RF : Add legacy reflectors to gateway list = "; EvaluateVar dplus_use_reflectors{,_d}
echo -n "RP : add legacy repeaters to gateway list = "; EvaluateVar dplus_use_repeaters{,_d} echo -n "RP : add legacy repeaters to gateway list = "; EvaluateVar dplus_use_repeaters{,_d}
fi
EndMenu EndMenu
if [[ "$key" == ad* ]]; then link_admin="${value^^}" if [[ "$key" == ad* ]]; then link_admin="${value^^}"
@ -126,7 +130,17 @@ FileMenu () {
while [[ "$key" != q* ]]; do while [[ "$key" != q* ]]; do
clear clear
echo echo
echo " Files/Logs/Timings Menu" if [ -z "$em" ]; then
echo " Debugging Menu"
else
echo " Debugging/Files/Timings Menu"
fi
echo
echo " Additional entries in log files (in /usr/local/var)"
echo -n "cl : Call(QSO) logging :"; EvaluateVar log_qso{,_d}
echo -n "il : IRC logging :"; EvaluateVar log_irc{,_d}
echo -n "dl : DTMF logging :"; EvaluateVar log_dtmf{,_d}
if [ -n "$em" ]; then
echo echo
echo " Files and directories" echo " Files and directories"
echo -n "sf : Repeater status file :"; EvaluateVar file_status{,_d} echo -n "sf : Repeater status file :"; EvaluateVar file_status{,_d}
@ -136,11 +150,6 @@ FileMenu () {
echo -n "gf : Gateways filename :"; EvaluateVar file_gwys{,_d} echo -n "gf : Gateways filename :"; EvaluateVar file_gwys{,_d}
echo -n "ad : Announce directory :"; EvaluateVar file_announce_dir{,_d} echo -n "ad : Announce directory :"; EvaluateVar file_announce_dir{,_d}
echo echo
echo " Logging file (in /usr/local/var)"
echo -n "cl : Call(QSO) logging :"; EvaluateVar log_qso{,_d}
echo -n "il : IRC logging :"; EvaluateVar log_irc{,_d}
echo -n "dl : DTMF logging :"; EvaluateVar log_dtmf{,_d}
echo
echo " Timing controls" echo " Timing controls"
echo -n "et : Echo timeout (sec) :"; EvaluateVar timing_timeout_echo{,_d} echo -n "et : Echo timeout (sec) :"; EvaluateVar timing_timeout_echo{,_d}
echo -n "vt : Voicemail timeout (sec) :"; EvaluateVar timing_timeout_voicemail{,_d} echo -n "vt : Voicemail timeout (sec) :"; EvaluateVar timing_timeout_voicemail{,_d}
@ -148,6 +157,7 @@ FileMenu () {
echo -n "rt : Repeater timeout (sec) :"; EvaluateVar timing_timeout_local_rptr{,_d} echo -n "rt : Repeater timeout (sec) :"; EvaluateVar timing_timeout_local_rptr{,_d}
echo -n "pw : Echo play wait (sec) :"; EvaluateVar timing_play_wait{,_d} echo -n "pw : Echo play wait (sec) :"; EvaluateVar timing_play_wait{,_d}
echo -n "pd : Echo play delay (msec) :"; EvaluateVar timing_play_delay{,_d} echo -n "pd : Echo play delay (msec) :"; EvaluateVar timing_play_delay{,_d}
fi
EndMenu EndMenu
if [[ "$key" == sf* ]]; then file_status="$value" if [[ "$key" == sf* ]]; then file_status="$value"
@ -195,8 +205,10 @@ IrcddbMenu () {
echo echo
echo "l : Login - must be a legal callsign = '${ircddb_login}'" echo "l : Login - must be a legal callsign = '${ircddb_login}'"
echo -n "h : Hostname for IRC Server = "; EvaluateVar ircddb_host{,_d} echo -n "h : Hostname for IRC Server = "; EvaluateVar ircddb_host{,_d}
if [ -n "$em" ]; then
echo -n "po : IRC TCP port = "; EvaluateVar ircddb_port{,_d} echo -n "po : IRC TCP port = "; EvaluateVar ircddb_port{,_d}
echo -n "pa : IRC Password = "; EvaluateVar ircddb_password{,_d} echo -n "pa : IRC Password = "; EvaluateVar ircddb_password{,_d}
fi
EndMenu EndMenu
if [[ "$key" == l* ]]; then ircddb_login="${value^^}" if [[ "$key" == l* ]]; then ircddb_login="${value^^}"
@ -219,7 +231,8 @@ GateMenu () {
echo echo
echo " Gateway/APRS Menu" echo " Gateway/APRS Menu"
echo echo
echo " Gateway Option - default values are usually best" echo " Gateway Option"
if [ -n "$em" ]; then
echo -n "r : Regenerate Headers = "; EvaluateVar gateway_header_regen{,_d} echo -n "r : Regenerate Headers = "; EvaluateVar gateway_header_regen{,_d}
echo -n "s : Send IRC network Module Info = "; EvaluateVar gateway_send_qrgs_maps{,_d} echo -n "s : Send IRC network Module Info = "; EvaluateVar gateway_send_qrgs_maps{,_d}
echo -n "i : IRC TCP local network address = "; EvaluateVar gateway_local_irc_ip{,_d} echo -n "i : IRC TCP local network address = "; EvaluateVar gateway_local_irc_ip{,_d}
@ -230,6 +243,7 @@ GateMenu () {
echo -n "tb : UNIX socket to Modem B = "; EvaluateVar gateway_gate2modemb{,_d} echo -n "tb : UNIX socket to Modem B = "; EvaluateVar gateway_gate2modemb{,_d}
echo -n "tc : UNIX socket to Modem C = "; EvaluateVar gateway_gate2modemc{,_d} echo -n "tc : UNIX socket to Modem C = "; EvaluateVar gateway_gate2modemc{,_d}
echo -n "fm : UNIX socket from Modem(s) = "; EvaluateVar gateway_modem2gate{,_d} echo -n "fm : UNIX socket from Modem(s) = "; EvaluateVar gateway_modem2gate{,_d}
fi
echo -n "la : Latitude (-90.0 to 90.0) = "; EvaluateVar gateway_latitude{,_d} echo -n "la : Latitude (-90.0 to 90.0) = "; EvaluateVar gateway_latitude{,_d}
echo -n "lo : Longitude (-180.0 to 180.0) = "; EvaluateVar gateway_longitude{,_d} echo -n "lo : Longitude (-180.0 to 180.0) = "; EvaluateVar gateway_longitude{,_d}
echo -n "d1 : Description #1 (20 chars max) = "; EvaluateVar gateway_desc1{,_d} echo -n "d1 : Description #1 (20 chars max) = "; EvaluateVar gateway_desc1{,_d}
@ -238,10 +252,12 @@ GateMenu () {
echo echo
echo " APRS - Repeater/User position tracking" echo " APRS - Repeater/User position tracking"
echo -n "e : Enable APRS Tracking = "; EvaluateVar aprs_enable{,_d} echo -n "e : Enable APRS Tracking = "; EvaluateVar aprs_enable{,_d}
if [ -n "$em" ]; then
echo -n "h : APRS hostname = "; EvaluateVar aprs_host{,_d} echo -n "h : APRS hostname = "; EvaluateVar aprs_host{,_d}
echo -n "ap : APRS TCP port number = "; EvaluateVar aprs_port{,_d} echo -n "ap : APRS TCP port number = "; EvaluateVar aprs_port{,_d}
echo -n "k : APRS Keep-alive interval (min) = "; EvaluateVar aprs_interval{,_d} echo -n "k : APRS Keep-alive interval (min) = "; EvaluateVar aprs_interval{,_d}
echo -n "af : APRS Filter (experimental) = "; EvaluateVar aprs_filter{,_d} echo -n "af : APRS Filter (experimental) = "; EvaluateVar aprs_filter{,_d}
fi
EndMenu EndMenu
if [[ "$key" == r* ]]; then SetBooleanValue gateway_header_regen "$value" if [[ "$key" == r* ]]; then SetBooleanValue gateway_header_regen "$value"
@ -332,10 +348,12 @@ ModuleMenu () {
echo -n "of : Offset in Hz = "; EvaluateVar {${mod},module_x}_offset echo -n "of : Offset in Hz = "; EvaluateVar {${mod},module_x}_offset
echo -n "ra : Range (in meters, 1 mile=1609.344 meters) = "; EvaluateVar {${mod},module_x}_range echo -n "ra : Range (in meters, 1 mile=1609.344 meters) = "; EvaluateVar {${mod},module_x}_range
echo -n "ag : Above ground level (in meters) = "; EvaluateVar {${mod},module_x}_agl echo -n "ag : Above ground level (in meters) = "; EvaluateVar {${mod},module_x}_agl
if [ -n "$em" ]; then
echo -n "in : Inactivity for this many minutes unlinks = "; EvaluateVar {${mod},module_x}_inactivity echo -n "in : Inactivity for this many minutes unlinks = "; EvaluateVar {${mod},module_x}_inactivity
echo -n "wa : Wait this many msec for the next packet = "; EvaluateVar {${mod},module_x}_packet_wait echo -n "wa : Wait this many msec for the next packet = "; EvaluateVar {${mod},module_x}_packet_wait
echo -n "ac : Send acknowledgment on each transmission = "; EvaluateVar {${mod},module_x}_acknowledge echo -n "ac : Send acknowledgment on each transmission = "; EvaluateVar {${mod},module_x}_acknowledge
echo -n "ad : acknowledgment delay (in msec) = "; EvaluateVar {${mod},module_x}_ack_delay echo -n "ad : acknowledgment delay (in msec) = "; EvaluateVar {${mod},module_x}_ack_delay
fi
if [[ "${!mod}" == dvap ]]; then if [[ "${!mod}" == dvap ]]; then
echo -n "po : Power (in dBm from -12 to 10) = "; EvaluateVar {${mod},dvap}_power echo -n "po : Power (in dBm from -12 to 10) = "; EvaluateVar {${mod},dvap}_power
echo -n "sq : Squelch (in dBm from -128 to -45) = "; EvaluateVar {${mod},dvap}_squelch echo -n "sq : Squelch (in dBm from -128 to -45) = "; EvaluateVar {${mod},dvap}_squelch
@ -529,6 +547,7 @@ WriteCFGFile () {
[ -z "${timing_play_delay+x}" ] || echo "timing_play_delay=${timing_play_delay}" >> $outFile [ -z "${timing_play_delay+x}" ] || echo "timing_play_delay=${timing_play_delay}" >> $outFile
} }
# Execution starts here!
# source files # source files
if [ -e ./defaults ]; then if [ -e ./defaults ]; then
source ./defaults source ./defaults
@ -543,6 +562,11 @@ else
sleep 1 sleep 1
fi fi
# process arguments
if [[ "$1" == ex* ]]; then
em="expertMode"
fi
# main loop # main loop
while [[ "$ans" != q* ]] while [[ "$ans" != q* ]]
do do
@ -556,7 +580,11 @@ do
echo "i : IRCDDB Menu - login = '${ircddb_login}'" echo "i : IRCDDB Menu - login = '${ircddb_login}'"
echo "g : Gateway/APRS Menu - default values are usually fine" echo "g : Gateway/APRS Menu - default values are usually fine"
echo "l : Link/D-Plus Menu - linking access" echo "l : Link/D-Plus Menu - linking access"
echo "f : Files/Logs/Timings - miscellaneous parameters" if [ -n "$em" ]; then
echo "d : Debugging/Files/Timings - miscellaneous parameters"
else
echo "d : Debuging - additional log entries"
fi
echo echo
if [ -n $module_a ] || [ -n $module_b ] || [ -n $module_c ] && [ -n $ircddb_login ]; then if [ -n $module_a ] || [ -n $module_b ] || [ -n $module_c ] && [ -n $ircddb_login ]; then
echo "w : Write qn.cfg configuration file (overwrites any existing file)" echo "w : Write qn.cfg configuration file (overwrites any existing file)"
@ -570,7 +598,7 @@ do
elif [[ "$ans" == i* ]]; then IrcddbMenu elif [[ "$ans" == i* ]]; then IrcddbMenu
elif [[ "$ans" == g* ]]; then GateMenu elif [[ "$ans" == g* ]]; then GateMenu
elif [[ "$ans" == l* ]]; then LinkMenu elif [[ "$ans" == l* ]]; then LinkMenu
elif [[ "$ans" == f* ]]; then FileMenu elif [[ "$ans" == d* ]]; then FileMenu
elif [[ "$ans" == w* ]]; then WriteCFGFile elif [[ "$ans" == w* ]]; then WriteCFGFile
fi fi
done done

Loading…
Cancel
Save

Powered by TurnKey Linux.