Commit Graph

3464 Commits

Author SHA1 Message Date
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
Tobias Blomberg 74f3f561d9 Fix ReflectorLogic event buf with tg_qsy_failed
The event tg_qsy_failed was called tg_qsy_idle in the C++ source code
while it was called tg_qsy_failed in TCL.
2020-08-03 00:14:56 +02:00
Tobias Blomberg 81c9a2ad20 Use bash instead of sh in filter_sounds
The same with play_sound.
2020-08-03 00:13:01 +02:00
Tobias Blomberg 83d804537a Fix sign bug in CTCSS_DEBUG 2020-07-28 23:53:04 +02:00
Tobias Blomberg b48257d377 Add debug mode for the CTCSS detector
This commit add a debug mode for the CTCSS detector. Enable by setting
CTCSS_DEBUG to 1 in a receiver configuration section.
2020-07-28 23:29:01 +02:00
Tobias Blomberg daab01be89 Remove debug printout 2020-07-28 11:40:20 +02:00
Tobias Blomberg b38dff32ec Check channel number when opening audio device
The configured channel number for an audio device is now checked against
the value set in CARD_CHANNELS before trying to open the audio device.
2020-07-27 18:57:26 +02:00
Tobias Blomberg be4d911302 Add logical negation to the COMBINE squelch
It now is possible to write expressions like the one below for
SQL_DET=COMBINE.

  SQL_COMBINE=(Rx1:SIGLEV | Rx1:CTCSS) & !Rx1:CTCSS_BLOCK
2020-07-27 14:16:28 +02:00
Tobias Blomberg edaa9f42f9 Bugfix: Some squelch types did not report the integrated siglev
Squelch types DDR, SIM and TONE reported the "raw" signal strength
instead of the integrated one. This fix can change the behavior of the
voter and the extended hangtime feature.
2020-07-27 13:07:40 +02:00
Tobias Blomberg 61ec8d68e0 Add the COMBINE squelch type
There now is a new squelch type that can combine multiple other squelch
types using a logical expression.

Implementing this new feature required rewriting quite a lot of the
squelch infrastructure code. Watch out for changed behavior in the
squelch functionality.
2020-07-27 13:06:20 +02:00
Tobias Blomberg 7b11eb90b8 Update copyright notices 2020-07-25 16:20:22 +02:00
Tobias Blomberg 8f1b245789 An Auto QSY is now only triggered after talker stop 2020-07-25 16:14:38 +02:00
Tobias Blomberg 8f3289d0f0 Fix compiler warning 2020-07-25 13:22:04 +02:00
Tobias Blomberg 3ec8260a01 Don't try to build ogg-stuff if dependencies are not available 2020-07-25 13:20:58 +02:00
Tobias Blomberg ab4ebf046f New SvxReflector feature: Auto QSY
It is now possible to set a per talkgroup time in the reflector after
which a QSY to a random talkgroup is performed. This can typically be
used on call channels and wide area channels so that stations do not
dwell there for too long.
2020-07-25 12:58:31 +02:00
Tobias Blomberg c8e29c175f Move svxreflector_status.py to the reflector directory
The svxreflector_status.py script have now been moved from the scripts
directory to the reflector directory. It is also installed as part of a
"make install".
2020-07-25 08:18:35 +02:00
Tobias Blomberg 71d43d0c96 Use lambda function instead of anonymous namespace function 2020-07-25 00:50:58 +02:00
Tobias Blomberg e30b3f5955 The svxreflector_status.py script now use curses
The curses library is now used to make the svxreflector_status.py script
a fullscreen application that update the view a couple of times per
second.
2020-07-24 22:15:06 +02:00
Tobias Blomberg ecd14c735e Add an AudioContainer framework 2020-07-22 15:50:43 +02:00
Tobias Blomberg afc2e858a4 Improve usability for the Async::Factory class
- Introduce variadic templates to support classes with constructors that
  take one or more arguments.
- Better class naming
- Better documentation
- Add a detaild example also showing usage of constructor arguments.
2020-07-21 15:15:27 +02:00
Tobias Blomberg b7fa2062e0 New template class Async::Factory for creating object factories 2020-07-20 15:07:19 +02:00
Tobias Blomberg 67638fbfb4 Fix small memory deallocation bug in Async::AudioEncoderOpus 2020-07-20 14:56:00 +02:00
Tobias Blomberg 2ab1abccba Add chunked mode to http connections 2020-07-20 14:38:24 +02:00
Tobias Blomberg 7e28a99362 Improved GPIO up/down scripts
Improved GPIO up/down scripts with more error handling and support for
handling more cases.
2020-07-20 14:10:03 +02:00
Tobias Blomberg 29fd4e597e Update cpp/h template files 2020-07-20 10:44:31 +02:00
Adi Bier / DL1HRC 7c13f03b08 fixed some spaces 2020-04-20 20:41:45 +02:00
Adi Bier / DL1HRC a1f7214e67 fixed some spaces 2020-04-20 20:41:45 +02:00
Adi Bier / DL1HRC 3951c87688 ModuleMetarInfo: more flexible announcement of an airport at the beginning of a metar report 2020-04-20 20:41:45 +02:00
Daniel Loranger 0c4977db82 Update ModuleTxFan.tcl
Updating discussion to match the actual module and provide guidance on how to configure the module
2020-04-19 15:43:59 +02:00
Tobias Blomberg 873a451734 UTF-8 bugfix in svxreflector_status.py 2020-02-23 10:25:19 +01:00
Tobias Blomberg 92ef3e45f2 Subscribe to config changes now possible
The receiver configuration variables SQL_HANGTIME, SQL_EXTENDED_HANGTIME
and SQL_EXTENDED_HANGTIME_THRESH are now settable from within a C++
module for example.

This is made possible by the addition of the Config::valueUpdated signal
that is emitted when the Config::setValue function is called.
2020-01-19 21:46:54 +01:00
Tobias Blomberg 2c20d274ec Now possible to silently drop all incoming Echolink connections
It's now possible to silently ignore all incoming connections using the
DROP_ALL_INCOMING configuration variable.
2020-01-03 18:54:40 +01:00
Tobias Blomberg 2fd0d178f5 Better warning printouts for illegal UDP datagrams 2020-01-03 14:26:07 +01:00
Adi Bier / DL1HRC 8ff599ade1 bugfix: crash on long LocationInfo comments 2020-01-02 15:14:01 +01:00