removed Xid.dat idea

pull/4/head
Tom Early 8 years ago
parent 20e92e5d35
commit 524af5b5c5

@ -1,6 +1,6 @@
/*
* Copyright (C) 2010, 2011, 2012 by Scott Lawson KI4LKF
* addition Copyright (C) 2015 by Thomas A. Early N7TAE
* addition Copyright (C) 2018 by Thomas A. Early N7TAE
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -288,7 +288,7 @@ Note: MAXIMUM dtmf sequence is up to 32 dtmf tones.
What dtmf tones are being decoded and processed
-----------------------------------------------
To link to an XRF reflector: Example: #02102
To link to an XRF reflector: Example: B02102
That says: link to XRF021 module B. So, we use the # dtmf key
to mean that we're interested in linking to an XRF reflector. The
last two digits are the remote module 01 thru 05 (which is
@ -306,12 +306,12 @@ to mean that we're interested in linking to a REF reflector. The
last two digits are the remote module 01 thru 05 (which is
translated to A thru E).
To unlink (from any reflector xrf or ref): 73
To unlink (from any reflector xrf or ref): #
To get the "link status": 99
To get the "link status": 0 or 00
Note:
You can extend the shell ascript to do more things. like force
You can extend the shell script to do more things. like force
your repeater to ID itself. Any YRCALL command that can be executed
by g2link_test, can be added to the shell script. Basically, the
Linux shell script proc_QnetGateway_dtmfs.sh converts the decoded
@ -341,7 +341,7 @@ change these files, unless you want to have your own personal voice
played over RF. These dat files were created using a computer and they
are NOT anyone's voice.
The only dat file that you should really change is id.dat. The file
The only dat file most hams will need to change is id.dat. The file
id.dat contains the audio "UNLINKED" and nothing else. When the gateway
is not linked and the RF user sets YRCALL=_______I to request the
status of the link, the file id.dat will be played back over RF. But
@ -353,23 +353,9 @@ the audio: "This is repeater ...". A simple way to create your own
recorded "repeater identification file" id.dat is to use your Dstar HT
and set YRCALL command: YRCALL=______S0 and key up your repeater.
Start talking, and the gateway will record your audio into the file
x_voicemail.dat where x is one of A.B or C. Now copy that file into
id.dat.
x_voicemail.dat where x is one of A.B or C. Now copy that file:
sudo cp -f /tmp/C_voicemail.dat /usr/local/etc/it.dat
Open the file QnetLink.cfg:
You can add as many lines to gwys.txt, if you know of any other
reflectors that you want to be able to connect to. REF reflectors
use port 20001(for USER connections), DCS reflectors use port
30051 and XRF reflectors use either 30001(for Repeater linking)
or 20001(for USER connections).
You can have as many ADMIN lines as you want. ADMIN is user
callsign that can connect to your own gateway(QnetLink) using
DVTool, ...
Only ADMIN users can use the scripts feature of this software.
Note:
You may be thinking why did we put all this source code inside QnetLink
instead of putting it all inside the Gateway software QnetGateway (or
g2_ccs CCS gateway software). Because it is NOT a good design to burden
@ -378,7 +364,7 @@ NOT part of Dstar and they are not Dstar protocol.
The only code that should be in a gateway, is G2 protocol code. This way
we keep the gateway (QnetGateway) clean of any unneccesary source
code logic and containing only pure G2/dstar logic.
code logic and containing only pure G2/D-Star logic.
QnetDVAP
@ -398,8 +384,8 @@ After editing /usr/local/etc/g2.cfg file you can restart the effected
program with "sudo service QnetDVRPTR restart". Or you can alway just
reboot with "sudo reboot".
Rig specific parameters are in "QnetDVRPTR.rf_rx_level", "QnetDVRPTR.inverse.rx" and
"QnetDVRPTR.inverse.tx". You need to play with these to work best with your rig.
Rig specific parameters are in "module.x.rf_rx_level", "module.x.inverse.rx" and
"module.x.inverse.tx". You need to play with these to work best with your rig.
With my Kenwood TM-V71, I use the default values.
You can first start with inverse.rx, trying true or false. Use the echo command
@ -410,5 +396,5 @@ then you can work out the inverse.tx paramter. Once you hear anything
with in the echo mode, move rf_rx_level up or down to get the best
audio.
Once you have a working system, it's a good idea to back up you g2.cfg
Once you have a working system, it's a good idea to back up you qn.cfg
files.

@ -20,11 +20,11 @@ how qnremote works.
######## QnetRemote #########
QnetRemote is a program used to send any arbitrary YourCall to your QnetGateway
system. It is install automatically when you install any of the supported modems:
MMDVMHost, QnetDVAP or QnetDVRPTR. It's a very simple, yet powerful program.
Open a shell to you system and type "qnremote" and it will remind you of the
format it expects:
QnetRemote is a command line program used to send any arbitrary YourCall to your
QnetGateway system. It is install automatically when you install any of the
supported modems: MMDVMHost, QnetDVAP or QnetDVRPTR. It's a very simple, yet
powerful program. Open a shell to you system and type "qnremote" and it will
remind you of the format it expects:
pi@raspberrypi:~ $ qnremote
Usage: qnremote <module> <mycall> <yourcall>
@ -40,7 +40,7 @@ YourCall parameters. Here are some more examples:
qnremote b w4wwm u # W4WWM is unlinking module B.
qnremote c w1bwb i # W1BSB is requesting the status of module C
Modules, callsigns and YourCall can all be in lowercase, qnremote will convert
Modules, callsigns and YourCall can all be in lowercase, qnremote will conver
them to uppercase. QnetLink will validate that the specific MyCall is allowed
to link or unlink, according to the configuration. (By default, any user can
link or unlink a module, unless link_unlink is specified in the configuration
@ -52,3 +52,41 @@ Mountain Time for the D-Star Users Net, don't forget to include an unlink
command in your cron-executed script before you link! For instructions on how
to do this search the web with "linux cron job".
######## QnetVoice ########
QnetVoice is another command line program to send any DVTool-formatted file
to a moule configured on you gateway. It has a simple interface, like
QnetRemote. To get started, open a shell on your system and type "qnvoice":
pi@raspberrypi:~ $ qnvoice
Usage: qnvoice <module> <mycall> <dvtoolFile>
Where...
module is one of your modules
mycall is your personal callsign
dvtoolFile is a dvtool file
Please note that <module> and <mycall> are not case sensitive, but
<dvtoolFile> is.
So what's a DVTool file? All the voice prompts delivered with QnetGateway,
in the QnetGateway/announce directory and DVTool files. And, you can
easily create your own!
To make your own DVTool file, just put " S0" in your radio's YourCall
and key up and talk. You will be making a "voice mail" DVTool file:
/tmp/X_voicemail.dat, where X is the module on which you are transmitting.
Once you have created it, you can move it out of the /tmp directory and
rename it. Then you can use it in a qnvoice command. You can also replace
all of the standard voice messsages with your own. If you want to do this
put your versions in a directory outside of the build directoy and make
a small script that will copy your messages over the existing, installed
messages:
#!/bin/bash
sudo cp ./id.dat /usr/local/etc
... more copy commands
That way, when you pull down a new release and build and install it, you
can quickly update the voice messages with your own.

@ -74,7 +74,7 @@ clean:
install : qngateway qnlink qnrelay
######### QnetGateway #########
/bin/cp -f qngateway $(BINDIR)
/bin/cp -f qnremote $(BINDIR)
/bin/cp -f qnremote qnvoice $(BINDIR)
/bin/cp -f qn.cfg $(CFGDIR)
/bin/cp -f system/qngateway.service $(SYSDIR)
systemctl enable qngateway.service
@ -99,7 +99,7 @@ install : qngateway qnlink qnrelay
installdvap : qngateway qnlink qndvap
######### QnetGateway #########
/bin/cp -f qngateway $(BINDIR)
/bin/cp -f qnremote $(BINDIR)
/bin/cp -f qnremote qnvoice $(BINDIR)
/bin/cp -f qn.cfg $(CFGDIR)
/bin/cp -f system/qngateway.service $(SYSDIR)
systemctl enable qngateway.service
@ -124,7 +124,7 @@ installdvap : qngateway qnlink qndvap
installdvrptr : qngateway qnlink qndvrptr
######### QnetGateway #########
/bin/cp -f qngateway $(BINDIR)
/bin/cp -f qnremote $(BINDIR)
/bin/cp -f qnremote qnvoice $(BINDIR)
/bin/cp -f qn.cfg $(CFGDIR)
/bin/cp -f system/qngateway.service $(SYSDIR)
systemctl enable qngateway.service
@ -178,6 +178,7 @@ uninstall :
/bin/rm -f $(SYSDIR)/qngateway.service
/bin/rm -f $(BINDIR)/qngateway
/bin/rm -f $(BINDIR)/qnremote
/bin/rm -f $(BINDIR)/qnvoice
/bin/rm -f $(CFGDIR)/qn.cfg
######### QnetLink #########
systemctl stop qnlink.service
@ -207,6 +208,7 @@ uninstalldvap :
/bin/rm -f $(SYSDIR)/qngateway.service
/bin/rm -f $(BINDIR)/qngateway
/bin/rm -f $(BINDIR)/qnremote
/bin/rm -f $(BINDIR)/qnvoice
/bin/rm -f $(CFGDIR)/qn.cfg
######### QnetLink #########
systemctl stop qnlink.service
@ -236,6 +238,7 @@ uninstalldvrptr :
/bin/rm -f $(SYSDIR)/qngateway.service
/bin/rm -f $(BINDIR)/qngateway
/bin/rm -f $(BINDIR)/qnremote
/bin/rm -f $(BINDIR)/qnvoice
/bin/rm -f $(CFGDIR)/qn.cfg
######### QnetLink #########
systemctl stop qnlink.service

@ -3867,18 +3867,7 @@ static void AudioNotifyThread(char *arg)
sleep(delay_before);
memset(temp_file, '\0', sizeof(temp_file));
if (0 == memcmp(notify_msg + 2, "id.dat", 6)) {
// check for <mod>id.dat
snprintf(temp_file, FILENAME_MAX, "%s/%c%s", announce_dir.c_str(), mod, notify_msg + 2);
struct stat ssbuf;
if (stat(temp_file, &ssbuf))
// nope, no <mod>id.dat file, revert back to id.dat
snprintf(temp_file, FILENAME_MAX, "%s/%s", announce_dir.c_str(), notify_msg + 2);
} else
// not id.dat
snprintf(temp_file, FILENAME_MAX, "%s/%s", announce_dir.c_str(), notify_msg + 2);
snprintf(temp_file, FILENAME_MAX, "%s/%s", announce_dir.c_str(), notify_msg + 2);
printf("sending File:[%s], mod:[%c], RADIO_ID=[%s]\n", temp_file, mod, RADIO_ID);
fp = fopen(temp_file, "rb");

Loading…
Cancel
Save

Powered by TurnKey Linux.