Comma separated values for ReflectorLogic config

Space separated value lists for config of ReflectorLogic now use
comma separated values.
This commit is contained in:
Tobias Blomberg 2019-09-27 22:51:48 +02:00
parent bedcc08b08
commit b44387168a
4 changed files with 24 additions and 8 deletions

View File

@ -52,6 +52,8 @@ An example of how to use the Config class
#include <list>
#include <memory>
#include <sstream>
#include <locale>
#include <vector>
/****************************************************************************
@ -266,6 +268,7 @@ class Config
return true;
}
std::stringstream ssval(str_val);
ssval.imbue(std::locale(ssval.getloc(), new csv_whitespace));
while (!ssval.eof())
{
Value tmp;
@ -417,7 +420,18 @@ class Config
private:
typedef std::map<std::string, std::string> Values;
typedef std::map<std::string, Values> Sections;
struct csv_whitespace : std::ctype<char>
{
static const mask* make_table(void)
{
// Make a copy of the "C" locale table
static std::vector<mask> v(classic_table(), classic_table() + table_size);
v[','] |= space; // comma will be classified as whitespace
return &v[0];
}
csv_whitespace(std::size_t refs=0) : ctype(make_table(), false, refs) {}
};
FILE *file;
Sections sections;

View File

@ -393,13 +393,13 @@ after starting SvxLink. The device works bidirectional, received dtmf characters
Example: DTMF_CTRL_PTY=/dev/shm/dtmf_ctrl
.TP
.B CTCSS_TO_TG
Use this variable to specify a space separated list of pairs of tone
Use this variable to specify a comma separated list of pairs of tone
frequencies and talk groups. When one of the tone frequencies is detected, the
corresponding talk group will be indicated. This can be used for example by
ReflectorLogic to automatically switch to a talk group when one of the specified
tone frequencies is received.
Example: CTCSS_TO_TG=127.3:2403 136.5:2405
Example: CTCSS_TO_TG=127.3:9993,136.5:9995
.
.SS Simplex Logic Section
.
@ -607,7 +607,7 @@ The node will select this talk group on local incoming traffic if no other
talk group is currently selected. Default: 0 (no talk group).
.TP
.B MONITOR_TGS
A space separated list of talk groups which the node will monitor for activity
A comma separated list of talk groups which the node will monitor for activity
when no other talk group is selected.
It is also possible to mark talk groups as more prioritized than others by
@ -618,7 +618,7 @@ unless there have been local activity on the node.
Example:
MONITOR_TGS=112++ 240 2403+ 2403123
MONITOR_TGS=112++,240,2403+,2403123
will monitor the TGs for Sweden, Sweden district 3 and a specific TG #2403123.
Traffic on talk group 2403 will be prioritized and 112 will have the highest
@ -1014,7 +1014,7 @@ variable sets the frequency of the tone to use. The tone frequency ranges from
frequency to something outside this range but there is no guarantee that it will
work.
If desired it is possible to specify a space separated list of tone frequencies
If desired it is possible to specify a comma separated list of tone frequencies
in which case the squelch will open on all the tone frequencies.
.TP
.B CTCSS_OPEN_THRESH

View File

@ -40,6 +40,7 @@ FX_GAIN_LOW=-12
#MUTE_TX_ON_RX=1
#STATE_PTY=/var/run/svxlink/state
#DTMF_CTRL_PTY=/dev/shm/simplex_dtmf_ctrl
#CTCSS_TO_TG=77.0:999,123.0:9990,146.2:9992
[RepeaterLogic]
TYPE=Repeater
@ -79,6 +80,7 @@ IDLE_SOUND_INTERVAL=3000
#ONLINE_CMD=998877
#STATE_PTY=/var/run/svxlink/state
#DTMF_CTRL_PTY=/dev/shm/repeater_dtmf_ctrl
#CTCSS_TO_TG=77.0:999,123.0:9990,146.2:9992
[ReflectorLogic]
TYPE=Reflector
@ -88,7 +90,7 @@ CALLSIGN="MYCALL"
AUTH_KEY="Change this key now!"
#JITTER_BUFFER_DELAY=0
#DEFAULT_TG=1
#MONITOR_TGS=1 2 3
#MONITOR_TGS=1,2,3
#TG_SELECT_TIMEOUT=30
ANNOUNCE_REMOTE_MIN_INTERVAL=300
EVENT_HANDLER=@SVX_SHARE_INSTALL_DIR@/events.tcl

View File

@ -11,7 +11,7 @@ LIBECHOLIB=1.3.3
LIBASYNC=1.6.0
# SvxLink versions
SVXLINK=1.7.99.1-reflector-tg
SVXLINK=1.7.99.2-reflector-tg
MODULE_HELP=1.0.0
MODULE_PARROT=1.1.1
MODULE_ECHO_LINK=1.5.0