Commit Graph

3397 Commits

Author SHA1 Message Date
Tobias Blomberg d02cc013bc Replace deprecated functions in qtel
Mostly use "tr" instead of "trUtf8".
2021-01-31 19:42:53 +01:00
Tobias Blomberg de35979b14 Fix CodeQL complaints in devcal
- "Multiplication result converted to larger type"
2021-01-31 18:57:39 +01:00
Tobias Blomberg 3de0a4f56c Fix CodeQL complaints
- Multiplication result converted to larger type
- Convert a lot of size variables from int to size_t
2021-01-31 18:19:39 +01:00
Tobias Blomberg 1aae84a195 Replace potentially dangerous function calls
- localtime -> localtime_r
- gmtime -> gmtime_r
- asctime -> asctime_r
2021-01-30 01:24:36 +01:00
Tobias Blomberg 38a2443c8a Update Docker build for Ubuntu
- Now use Ubuntu 20.04
2021-01-30 00:46:49 +01:00
Tobias Blomberg 8138a2a05f
Update codeql-analysis.yml
Add dependency qttools5-dev
2021-01-29 23:43:00 +01:00
Tobias Blomberg 1ed763c46b
Update codeql-analysis.yml
Add dependency libcurl4-openssl-dev
2021-01-29 22:29:27 +01:00
Tobias Blomberg da1edf1b6a
Update codeql-analysis.yml
Add dependency libjsoncpp-dev
2021-01-29 22:25:05 +01:00
Tobias Blomberg dd281239d5
Update codeql-analysis.yml
Add Qt library packages
2021-01-29 22:21:46 +01:00
Tobias Blomberg bc34402374
Update codeql-analysis.yml
Replace autobuild with manual build
2021-01-29 22:18:43 +01:00
Tobias Blomberg 729a43d4d4
Create codeql-analysis.yml 2021-01-29 22:06:58 +01:00
Tobias Blomberg bc4914a651
Merge pull request #532 from dl1hrc/metarbug-26012021
Bugfix in ModuleMetarinfo: Gusts were not announced correctly in combination with mps
2021-01-27 21:33:54 +01:00
Tobias Blomberg 4be904fe25 Update ChangeLog and module metarinfo version 2021-01-27 21:29:29 +01:00
Adi Bier / DL1HRC af3973f43a Bugfix: Gusts were not announced correctly in combination with mps 2021-01-26 16:14:23 +01:00
Tobias Blomberg 59872d2e01 Voter COMMAND_PTY MUTE command added
The voter COMMAND_PTY now accept a new command MUTE that will keep the
receiver active but block all content.
2021-01-17 13:28:32 +01:00
Tobias Blomberg 1d74bca0cb Bugfix: Do not emit tone detected events from muted receivers
If a receiver is muted it should block tone detected events in the same
manner that it blocks DTMF and selcall reception
2021-01-17 13:24:42 +01:00
Tobias Blomberg 1f48de9d52 Restricted talk group fixes
- Not allowed to monitor unallowed talk group
- Not receiving metadata (e.g. talker start/stop etc) from unallowed
  talk groups

Also now not allowed to request QSY from TG #0.
2021-01-16 23:31:38 +01:00
Tobias Blomberg 14a3f205f9 Update source code templates 2021-01-16 23:30:31 +01:00
Tobias Blomberg 846baaba82 Use SvxReflector config to create restricted talk groups
The new configuration variable ALLOW can now be used in a TG#xyz
configuration section to choose which callsigns that are allowed to
select the talk group.
2021-01-16 18:29:52 +01:00
Tobias Blomberg f00459762b Improve version include file generation
- Software version include files are now generated in the CMake stage
  rather than in the build stage.
- A CMake rerun is forces when the versions file changes.
- Software rebuilds are more targeted so that only the softwares that
  depend on a specific version definition are rebuilt.
2021-01-16 18:22:54 +01:00
Tobias Blomberg 6130407e6c Remove siglev fractions in Voter close printout 2021-01-13 21:30:27 +01:00
Tobias Blomberg 1716a935bc Rename SIGLEV squelch releated configuration variables
Rename configuration variables to make it more clear that they are for
squelch configuration. An "SQL_" prefix have been added to the following
configuration variables: SIGLEV_RX_NAME, SIGLEV_OPEN_THRESH,
SIGLEV_CLOSE_THRESH.
2021-01-10 21:44:27 +01:00
Tobias Blomberg c99730e332 New voter configuration variable VERBOSE
A new voter configuration variable VERBOSE has been added which cause
the voter to print the squelch state events of the satellite receivers.
This can be used while fine tuning voter timing for example.
2021-01-10 19:30:17 +01:00
Tobias Blomberg 01374dbce7 Apply combiner SQL_XYZ config variables to the combiner
In the previous implementation of the squelch combiner the squelch
timing configuration variables, like SQL_DELAY, SQL_HANGTIME etc, was
applied to all subsquelches. This caused a strange behavior where the
top-level setting would "win" over the squelch specific settings. The
implementation have now been changed so that the squelch timing
configuration variables are applied on the combiner squelch itself.

Have a look at the SQL_COMBINER configuration variable description in
the svxlink.conf(5) manual page for more information.
2021-01-10 19:09:09 +01:00
Tobias Blomberg 5b526377f2 Rework squelch core code
The core squelch handling code was not fully correct causing problems in
some configurations.
2021-01-10 18:49:35 +01:00
Tobias Blomberg 6956b35966 Bugfix: SQL_START_DELAY was not honored in all cases 2021-01-09 22:57:42 +01:00
Tobias Blomberg 26af258dd0 Fix crash when no logic linking was used
Fixes #529.
2021-01-09 22:51:34 +01:00
Tobias Blomberg 7bce1b648f Bugfix in the receiver muting
Fix receiver muting bug introduced with the AUDIO_DEV_KEEP_OPEN feature.
Receivers were not completely muted which caused events, like tone
detection, to be emitted even though there should no events emitted from
a fully muted receiver.
2021-01-09 09:53:16 +01:00
Tobias Blomberg 043f137ae0 Bugfix in COMBINE squelch
After the previous commit, the COMBINE squelch could get in a state
where the squelch did not open until it had closed and opened one more
time.
2021-01-08 21:26:21 +01:00
Tobias Blomberg 3e3fb69959 More informative squelch open/close printouts
The information that is printed within the parenthesis after the squelch
open/close message is now specific for each squelch type so that
meaningful information can be printed for that squelch type. For example
the CTCSS tone frequency and SNR is printed for CTCSS squelch. The value
printed for SIGLEV squelch is now the actual value that is used by the
squelch. Previously there was no connection between the value used by
the squelch and the printed signal level.
2021-01-08 12:35:28 +01:00
Tobias Blomberg 2bfa870ddc Mute logic linking when a module is active
By default, when activating a module in a logic core, all logic linking
audio will be muted. This behavior can be changed by using the
MUTE_LOGIC_LINKING configuration variable in the module configuration.
2021-01-05 17:15:57 +01:00
Tobias Blomberg 39954192ed Always clear delayed selection event on selectTg
The delayed TG selection event is now always cleared on every call to
selectTG. That avoid double announcements in some cases when using the
QSY on squelch activity feature.
2021-01-04 19:26:58 +01:00
Tobias Blomberg c3c591a7c9 ReflectorLogic: QSY on squelch activity
Follow a remote initiated QSY on squelch open some short time after
missing out on a QSY due to no local activity. Use configuration
variable QSY_PENDING_TIMEOUT to set the time.

Also, go to TG #0 immediately on ignored or pending QSY
2021-01-04 17:19:10 +01:00
Tobias Blomberg 7a843f549c Default TIMEOUT with AUTOACTIVATE_ON_SQL did not work
Bugfix: When AUTOACTIVATE_ON_SQL is used in a logic link definition it
is supposed to default to a timeout of 30 seconds if TIMEOUT is not set.
That did not work though.
2021-01-03 14:46:59 +01:00
Tobias Blomberg 047ca7a607 Add templated function Async::Config::setValue
Add templated function Async::Config::setValue() so that generic types
can be used without converting them to string first.
2021-01-03 11:02:07 +01:00
Tobias Blomberg c04708004d Add simple GNU Radio based trx audio simulator 2020-12-22 15:16:49 +01:00
Tobias Blomberg 3a9f111334 Configurable audio limiter for both RX and TX audio
- Make the audio limiter threshold in the receiver configurable using the
  LIMITER_THRESH configuration variable in a receiver configuration section.
- Add an audio limiter to the transmitted audio path. The threshold may be set
  using the LIMITER_THRESH configuration variable in a TX configuration
  section.
2020-12-22 13:43:46 +01:00
Tobias Blomberg 8be029b983 Only clear the local activity flag if idle or TG#0 2020-12-19 18:45:54 +01:00
Tobias Blomberg 871a0aa5ef Ignore prioritized talkgroups qfter QSY
Ignore prioritized talkgroups qfter QSY if there have been local node
activity prior to the QSY. This fix a problem where a node would switch
to a prioritized talkgroup after a QSY to a lower priority talkgroup, if
there have been no local activity after the QSY. Priority will be
honored again after the node have switched to TG#0.
2020-12-19 16:19:07 +01:00
Tobias Blomberg d520bf5971 Filter out CTCSS band for voice output
Interference on CTCSS transmission could be caused by low frequency
content in audio clips or incoming audio on Echolink for example.
2020-12-19 14:48:35 +01:00
Tobias Blomberg 0049bab36a Eventsource script improvements
Several improvements were made to the eventsource.pl script and the web
pages.

- Now support the Rx:sql_state and Tx:state events
- The Logic:transmit event no longer have to be added
- Paths can now be set on the command line for eventsource.pl
- Add a simple web server script that can be used to try out the system
  locally
- Add missing icons
- Add jQuery
- More generic and trimmed down setup in the JSON files
2020-11-28 18:10:43 +01:00
Tobias Blomberg c27d3925bb
Fix eventsource.pl to handle both JSON and simple formats
Merge pull request #519 from dermodmaster/patch-1. Fix parse method for non JSON values in eventsource.pl. The script would fail if non JSON data was received.
2020-11-28 12:55:56 +01:00
Tobias Blomberg 2ec188d73b Fix JSON data getting lost
The JSON data never reached the JSON parser since it was "eaten" by the
assignment to $rx_info_raw.
2020-11-28 12:34:46 +01:00
Tobias Blomberg b27724df22 Extended support for changing variables at runtime
- Now possible to set configuration variables from TCL using the
  setConfigValue function. This can be used to change certain configuration of
  SvxLink while it is running. Only some configuration variables support being
  changed at runtime.
- If a configuration variable is changed in the logic core, or in the main
  configuration section for a module, the new TCL function config_updated will
  be called.
- New configuration variable ONLINE that can be used to decide if a logic core
  should be active or not on program startup. This variable also support being
  set at runtime.
- Use the new configuration variable COMMAND_PTY to set up a PTY that can be
  used to send commands to a logic core.
2020-11-28 00:32:43 +01:00
Tobias Blomberg c25a66a73c A Pty can now be set in line buffered mode
The Pty::setLineBuffered method can now be used to enable line buffered mode
where incoming chars are buffered until a <CR> or <LF> is received.
2020-11-28 00:31:04 +01:00
Tobias Blomberg 783954aca3 Config::valueUpdated only emitted if value changed 2020-11-28 00:29:04 +01:00
Tobias Blomberg 4c85168a70 ReflectorLogic UDP heartbeat interval adjustment
It is now possible to adjust the ReflectorLogic UDP heartbeat interval
using the UDP_HEARTBEAT_INTERVAL configuration variable.
2020-11-21 13:01:13 +01:00
Levent K 3dc5a951f2
Update eventsource.pl 2020-11-09 20:43:23 +01:00
Levent K a6d2290b6e
Update eventsource.pl
Fix parse method for non json values
2020-11-09 20:37:19 +01:00
Tobias Blomberg 78b59d1008 Update templates 2020-08-04 13:45:57 +02:00