/
ChangeLog
1418 lines (1015 loc) · 59.1 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1.6.0 -- ?? ??? 2017
----------------------
* ModuleMetarInfo: smaller changes e.g. additional tcl function for raw
output
* ModuleMetarInfo: Because of termination the metar service on noaa.gov some
changes were needed in the module (weather.noaa.gov - >
aviationweather.gov), better debug output if a metar can not be announced
* New argument "call" to EchoLink::is_receiving TCL event handler.
Patch by hsmade.
* New TCL event handler EchoLink::client_list_changed.
Patch by hsmade.
* New TCL function playDtmf. Patch by DL1HRC / Adi.
* ModuleEchoLink: Add command PTY that can be used to send commands to the
EchoLink module at runtime. Patch by hsmade.
* RemoteTrx now display squelch open/close even when disconnected from
the main system.
* Small bugfix in the LocationInfo functionality that made SvxLink exit
uncleanly, possibly with a segmentation fault.
* New TCL command, injectDtmf, to inject DTMF digits into the command
stream just as if they were received on the receiver. This function
can for example be used in conjuction with the dtmf_digit_received and
dtmf_cmd_received functions to remap commands to something different or
inventing compound commands.
* ModuleTclVoiceMail: SvxLink would not start if the HOME environment
variable was not set. That prevented proper operation from system
startcripts.
* ModuleFrn: Now possible to specify a backup server that is used when the
connection to the primary server fail. Use the new configuration variables
SERVER_BACKUP and PORT_BACKUP to configure the backup server.
Patch by sh123.
* New command PTY for controlling the receiver voter. It's possible to
enable and disable receivers using the ENABLE and DISABLE commands.
Use the COMMAND_PTY config variable in the voter configuration section
to set it up.
* New command PTY for injecting DTMF digits into a logic core. Use
configuration variable DTMF_CTRL_PTY to set the path to the PTY.
* New configuration variable GPIO_PATH for PTT and squelch configurations that
use GPIO. On some hardware platforms the path to control GPIO pins is not
standard. This configuration variable can be used to set the path.
* Bugfix: Setting FQ_CORR=0 in a WbRx configuration section resulted in an
error message
* FQ_CORR can now be negative
* New TCL event handing function EchoLink::info_received that is called when
an info message is received from a remote EchoLink station.
* ModuleEchoLink: The connected TCL event handling function now also is given
the callsign.
1.5.0 -- 22 Nov 2015
----------------------
* Added support for using digital drop receivers on an RTL2832U based DVB-T
USB dongle. This will open up the world of cheap receiver hardware to all
SvxLink users. It will for example be very cheap to set up an extra receiver
with local coverage for a SvxLink based repeater, as long as there is a
network connection to the repeater. The modulation forms supported are:
FM, FM narrow, AM, AM narrow, USB, LSB, CW, CW wide and wideband FM
(broadcast).
* New configuration variable for local receivers, RAW_AUDIO_UDP_DEST, which
makes it possible to stream the raw audio read by SvxLink from the audio
device to a UDP port. This feature was mainly added for debugging but may
be usable for other things as well.
* New configuration variable MASTER_GAIN for local transmitters. This has the
functionality as the PREAMP variable have for local receivers. That is,
it can be used to fine tune or amplify the gain of the signal if it's not
possible to do with the normal hardware sound controls.
* Added a calibration utility, devcal, which can be used to get all the
levels right for all transmitters and receivers in the system.
* New squelch detector type, OPEN, which keeps the squelch open at all times.
Used at calibration for example.
* Bugfix: The receiver voter had a bug which caused incoming audio to be
muted if a receiver switch occurred in the middle of an identification.
* Support added for raw HID (Human Interface Devices) based devices that can
be used for PTT and Squelch. An example of such a chip is the CM108 which
can be found in some USB audio devices.
Contributed by Adi / DL1HRC.
* Bugfix in ModuleMetarInfo: Numbers was some times read in the wrong way
* New logic core configuration, STATE_PTY, which specify a UNIX 98 PTY to open
where SvxLink state information can be published. This information can be
used by external applications to act on.
* The receiver voter now continuously output squelch state information to the
logic core state PTY.
* Fixed issues reported by the Coverity scan static analysis tool.
* New config variable CARD_CHANNELS which is used to set the number of
channels that is used on the sound card, e.g. 1=mono, 2=stereo.
* The DTMF_TONE_AMP transmitter configuration variable has been renamed to
DTMF_DIGIT_PWR. To get the same level as with the old variable, add 3dB
to the value set on the new configuration variable.
* Rewritten and greatly improved software DTMF decoder. The new decoder is
the default choice when DTMF_DEC_TYPE is set to INTERNAL. To keep using the
old DTMF decoder, set it to DH1DM instead. The improvements in the new DTMF
decoder are:
- Quicker: Now detect durations as short as 40ms
- Much better immunity to non-DTMF audio, like speech, which mean less
false detections
- Slightly more sensitive
- Lowered CPU requirements
* Now printing out when 1750Hz tone burst muting is active.
* Bugfix in the QSO recorder: If a write error occurred, the audio pipe could
get stuck leading to audio to stop flowing in other parts of SvxLink.
* Config file open code cleanup for SvxLink and RemoteTrx. Under some
circumstances "fopen: ..." error messsages were printed even though there
really wasn't an error. Also, when using the --runasuser switch, the
configuration file was still searched for using the HOME environment variable
of the user who started the process rather than using the home directory
of the target user.
* Add simulator for local receivers and signal level detectors. These
simulators can be used to debug problems in SvxLink.
* Bugfix: A Local Rx would let squelch open/close through even when muted.
* The install path for libraries are now automatically discovered which may
make libraries install in a another directory than before. For example, on
normal 64 bit x86_64 systems they will end up in /usr/lib64 and the plugins
will be placed in /usr/lib64/svxlink. On other platforms the paths may be a
bit stranger, like /usr/lib/arm-linux-gnueabihf on the Cubieboard.
This may require that the MODULE_PATH config variable is changed for the
plugins to be found. The best is to comment out the MODULE_PATH
configuration variable and let SvxLink determine what to use.
The old LIB_SUFFIX CMake variable is not used anymore.
* New configuration variable in svxlink.conf for remote transmitters and
receivers, LOG_DISCONNECTS_ONCE, that can be set to 1 to not log reconnect
attempts. This may be of use if a RemoteTrx is missing for a long time or if
it's only used from time to time.
* The CFG_DIR configuration variable read additional config from files in
the configured directory. The man-page stated that files starting with a dot
were ignored. This was not true but is now. The man-page was also lacking
information on that all files not ending in ".conf" are ignored.
* The default PTT type is now NONE so that svxlink and remotetrx can start
out of the box without reconfiguring them.
* Bugfix in the GPIO squelch detector. The usage of "!" in GPIO_SQL_PIN to get
inverted operation did not work.
1.4.3 -- 02 nov 2015
----------------------
* SvxLink now compile in C++11 mode with GCC and other compilers that
understand the -std=c++11 compiler switch. The compiler switch will
automatically be turned on if a version of libsigc++ greater than 2.5.0 is
detected since those versions require C++11 to be enabled.
1.4.2 -- 06 jun 2015
----------------------
* Bugfix: The logic linking would cause a crash under some circumstances.
For example SvxLink would crash on startup if link TIMEOUT was set and the
startup Tcl function was modified to play an audio clip.
1.4.1 -- 30 apr 2015
----------------------
* ModuleEchoLink: If an incoming connect have a different IP address than
the one registered in the Echolink directory server, the station list is now
refreshed immediately instead of just rejecting the connection and wait for
the next periodic refresh.
1.4.0 -- 02 aug 2014
----------------------
* The PTT hardware type must now be specified using the PTT_TYPE configuration
variable in a TX section. Specify "SerialPin" for using a pin in the serial
port, "GPIO" to use a pin in a GPIO port. Set PTT_TYPE to "Dummy" or "NONE"
to not use any PTT hardware at all. It is an error to not specify PTT_TYPE.
* New config variable for repeater logics: CLOSE_ON_SEL5 which make it
possible to close the repeater using a selective calling sequence.
Patch contributed by Adi / DL1HRC.
* Now possible to have active low functionality on the PTT pin for GPIO. This
is configured in the same way as for serial ports, by prefixing the gpio
pin specification with an exclamation mark (!) in the PTT_PIN config.
Example: PTT_PIN=!gpio5
* ModuleEchoLink: It's now possible to disconnect one specific station by
choosing from a list of callsigns. The disconnect by callsign feature
is activated using subcommand 7 while the EchoLink module is active.
This feature was contributed by Martin/DF1AMB.
* ModuleEchoLink: New TCL event handling function: "chat_received" which
is called when a remote chat message is received.
* ModuleEchoLink: New TCL event handling function: "squelch_open" which is
called when the local receiver squelch open and closes. This function can be
used to for example send a roger beep to the remote station when the squelch
closes.
Patch contributed by DL1HRC / Adi.
* Previously the upper threshold for the signal level reported from the noise
signal level detector was hardcoded to 120. It can now be set using the
configuration variable SIGLEV_BOGUS_THRESH. By default it's disabled.
* Now possible to make log entries have milliseconds in the timestamp. Use the
code "%f" in the TIMESTAMP_FORMAT configuration variable to make that happen.
* New configuration variable for SimplexLogic, MUTE_TX_ON_RX, which can be set
to allow transmission during reception. This may be desired if the logic is
connected to some full duplex device.
* Now possible to prefix the GPIO_SQL_PIN config variable value with an
exclamation mark (!) to get inverted operation for the GPIO squelch.
* Changed syntax for SERIAL_PIN in an RX section to match other config
variables better. Now just the pin name need to be specified. If inverted
operation is desired, the pin name may be prefixed with an exclamation mark
(!). The old syntax, SERIAL_PIN=PINNAME:LEVEL, is still supported but a
warning is printed if that form is used.
* ModuleEchoLink: New config variable REJECT_CONF which when set will reject
connections from stations that are in conference mode.
* ModuleEchoLink: New config variable BIND_ADDR which can be set to bind the
EchoLink UDP sockets to a specific IP-address/interface. This may be
needed if the computer is fitted with more than one ethernet interface and
EchoLink should only be used on one of them.
* Previously, when setting CTCSS_LEVEL in a LocalTx section, the voice level
was adjusted down by the same amount that the CTCSS level was adjusted up.
This is just confusing so I removed that compensation.
* Bugfix in the Voter: If the squelch were open while quitting, a crash could
occur.
* Bugfix in logfile handling: SvxLink/RemoteTrx would crash if the filesystem
was full while trying to write to the logfile.
* Flushing logs at exit.
There have always been a problem with the log handling in SvxLink that if an
error occurred during startup, the error printouts would not end up in the
log. In fact, nothing would end up in the log, leaving the user confused.
Now the log is flushed before exit so that all printouts end up in the log.
1.3.1 -- 30 jun 2014
----------------------
* Bugfix: The voter may have had a race condition which caused an assertion
failure. The code is a little bit more forgiving now.
* Bugfix: The voter could cause an assertion failure if a signal level lower
than -100 were reported from one of the receivers.
* Bugfix in ModuleTcl example file.
1.3.0 -- 01 Dec 2013
----------------------
* Improved support for linking logics together. It's now possible to have
multiple links active at the same time for a logic. A link can be set to
be default active. This mean that the link will be activated as soon as the
application starts and also that the link can be automatically reactivated,
after a timeout, if manually deactivated.
* Improved the logic shutdown feature. Upon shutdown, any active module is
deactivated immediately and module activation is not allowed until
the logic is activated again. This for example means that if the logic is
shut down and an EchoLink connection comes in, that connection will be
rejected. Also, no other DTMF commands than the logic activation command
is allowed when the logic is shut down.
The command was also renamed to ONLINE_CMD since everything became more
logical. Calling it SHUTDOWN_CMD was a bit confusing. Should subcommand 1
mean that the logic is shut down or brought back online? Naming the command
ONLINE_CMD make everything clear: 1=online, 0=offline.
* Improved QSO recorder. There now is only one configuration variable,
QSO_RECORDER, in a logic configuration section. This configuration variable
is used to set the DTMF command and to point out a configuration section
where the rest of the QSO recorder configuration is specified.
The QSO recorder can now close a recording after a configurable recording
time and start a new one. The maximum time is specified using the MAX_TIME
config variable. The SOFT_TIME config variable is used to specify an
interval where the file will be closed on the first detected squelch close.
This will give more natural cuts between recordings.
It is now also possible to specify a maximum total size for all files in the
recording directory. This is done using the MAX_DIRSIZE config variable.
When the limit have been reached, the oldest file(s) will be deleted.
The DEFAULT_ACTIVE config variable is used to set the default activation
state of the QSO recorder. If set to 1, the recorder will be activated upon
SvxLink startup. If the TIMEOUT variable is set, the activation state will
return to the one set in DEFAULT_ACTIVE if manually activated/deactivated.
If less than MIN_TIME milliseconds of audio has been recorded when a file is
closed, the file will be deleted.
If the node is idle for more than QSO_TIMEOUT seconds, the file will be
closed.
The ENCODER_CMD variable makes it possible to run an external audio
encoder to compress the recordings.
* Added support for Squelch on GPIO. Use SQL_DET=GPIO and GPIO_SQL_PIN=gpio3
in your config for GPIO support.
Patch contributed by DG9OAA / Jonny.
* GPIO pins are now specified with the full name (e.g. gpio3) instead of with
just the pin number. This enables the use of any pin naming scheme.
* Improved pre- and de-emphasis filters. They were not good at all in the
previous relese. Now the filters should behave as expected. Also, the
filters have been designed to be each others complement so that they will
exactly cancel each other out.
* Now possible to specify DTMF_DEC_TYPE=NONE (or just comment it out) if no
DTMF decoder is required for a certain receiver. Also made it possible to
specify NONE for SEL5_DEC_TYPE to make them behave in the same way.
* Bugfix for the REPORT_CTCSS config variable. Depending on the locale
settings (e.g. the LC_NUMERIC environment variable) the wrong CTCSS
frequency could be announced.
* Bugfix: Setting DTMF_MUTING=0 did not remove the audio delay, which it
should do.
* Sound clips are now included for module MetarInfo.
1.2.0 -- 29 Jul 2013
----------------------
* Added support for EchoLink proxy.
* ModuleEchoLink: Now possible to configure multiple servers for the directory
server. The servers will be tried in order until a working one is found.
The SERVER config variable has been replaced by the SERVERS config variable
which is a space separated list of servers. Host names that resolve
to multiple IP addresses, like servers.echolink.org, will also be correctly
handled so that each resolved IP address will be tried in order until a
working one is found.
* Added support for PTT on GPIO. This is for example good for embedded
systems like the Raspberry Pi where GPIO pins are readily available. Using
GPIO will eliminate the need for a USB to serial converter.
Patch contributed by K1FSY / David.
* ModuleEchoLink: New TCL function "is_receiving" that is called when a remote
EchoLink transmission is started or stopped. The default implementation will
send a beep over the local transmitter.
Patch from DL1HRC / Adi.
* Now possible to force the transmitter off using a DTMF command. The new
configuration variable SHUTDOWN_CMD is used in a logic configuration
section to set the command that should be used. The node will continue
to operate as usual with the only difference that the transmitter will
not be turned on for any event.
1.1.0 -- 06 Jun 2013
----------------------
* Bugfixes in APRS statistcs.
* Modified DTMF-decoder's bandwidth to be more tolerant against voice audio
and to comply with the ITU-T Q.23 und Q.24 standards.
Patch from Steve / DH1DM.
* ModuleParrot: A new event handler has been added which make it possible to
play a sound, for example a roger beep, when the recorded audio has been
played back.
* ModuleEchoLink: Added an autoconnect feature where one EchoLink ID can be
set up for auto connection. SvxLink will try to connect whenever idle.
Original patch by Robbie / ON4SAX and Volodymyr / UR3QJW.
* 16kHz internal sampling frequency is now the default. This will increase
the theoretical audio bandwidth from 4kHz to 8kHz. In reality the frequency
response starts falling off after 5.5kHz due to filtering.
* Improved pre/de-emphasis filters.
* The QSO recorder now print out when being activated and deactivated.
* ModuleEchoLink: Now possible to disable use of Speex for EchoLink. This can
be of use when running SvxLink on a system that have a less powerful CPU.
New config variable: USE_GSM_ONLY. Have a look at the ModuleEchoLink (5)
manual page for more information.
Patch from Adi / DL1HRC.
* Improved error handling when reading the SQL_DELAY, SQL_START_DELAY and
SQL_TIMEOUT config variables.
* Bugfix: There were an audio stuttering problem at the end of the long ident
when using 16k internal sampling rate on slower hardware. This has now
been fixed.
* ModuleEchoLink: The language for remote announcements were always the
default. The DEFAULT_LANG config variable were ignored. Now it is possible
to set a DEFAULT_LANG config variable in the ModuleEchoLink.conf file which
only affect remote announcements.
* Improved printouts so that it's easier to see which part of SvxLink (logic,
module etc) that made the printout. Also added a printout for receiver and
transmitter creation.
* ModuleEchoLink: Listen only was falsely indicated when the EchoLink module
was remotely activated.
* Periodic identifications were missing now and then under some conditions.
This should be fixed now.
* The maximum QSO limit (MAX_QSOS) did not work for outgoing connections for
all use cases.
* Now possible to specify NONE for RX and TX in all configs. For example,
previously it was not possible to specify NONE for uplink RX or TX in
RemoteTrx.
1.0.0 -- 08 Mar 2013
----------------------
* Moved from sigc++ version 1.2 to version 2.
Patch contributed by Felix/WU8K.
* The CTCSS detector has been improved. It is now much faster and have
a lower false trigger rate in its default configuration. The mean
detection time is now about 200ms where it previously was about 450ms.
Previous configurations will have to be changed to adapt to the new
detector. Have a look in the manual page at the new configuration
variables: CTCSS_MODE, CTCSS_OPEN_THRESH, CTCSS_CLOSE_THRESH,
CTCSS_SNR_OFFSET, CTCSS_BPF_LOW and CTCSS_BPF_HIGH. The CTCSS_THRESH
configuration variable is obsolete.
* Now possible to set RTS and/or DTR to a static state by configuration
if needed. Have a look at the SERIAL_SET_PINS config variable for the
LocalRx and LocalTx sections in the svxlink.conf.5 manual page.
* Improved the SigLevTone detector using the same techniques that was
used to improve the CTCSS decoder.
* Now possible to block incoming Echolink connects from stations if they
connect too often. New config variable: CHECK_NR_CONNECTS.
Patch from Adi/DL1HRC, reworked by SM0SVX/Tobias.
* Bugfix in Metar information module: SvxLink could crash if two
requests were made in rapid succession.
* Now possible to have personal greetings on incoming EchoLink connections,
if desired. Some TCL coding is neccessary to enable it though.
* Improved voter implementation that can vote continously and not only at the
start of a transmission. By default it will check the signal strength for
all receivers once per second and switch to the strongest one if the
difference is large enough. New config variables: REVOTE_INTERVAL,
HYSTERESIS, SQL_CLOSE_REVOTE_DELAY, RX_SWITCH_DELAY.
* ModuleEchoLink: The text "[listen only] is now prepended to the sysop name
if listen only mode is active.
* New feature "extended squelch hangtimne" added. It is now possible to
configure an extended squelch hangtime that is activated when the
signal strength fall below a given threshold.
* Now SvxLink can send APRS statistics about RX squelch open count,
TX on count, RX squelch open time and TX on time.
Patch from Adi / DL1HRC.
0.13.1 -- 27 Nov 2011
-----------------------
* Bugfix in RemoteTrx: Could crash when a Net uplink was disconnected.
0.13.0 -- 05 Nov 2011
-----------------------
* Added selective calling system Motorola QC2.
* Small bugfix in RepeaterLogic: TX down was not always correctly handled
on interference shutdown.
* Bugfix in ModuleEchoLink: The "last disconnected station" variable was
updated even if a connection was rejected. This affected the "connect
to the last disconnected station" command.
* New feature: 1750Hz tone call muting. Use the 1750_MUTING configuration
variable in a local receiver configuration section to enable this new
feature. This feature was contributed by Adi / DL1HRC.
* FAI alerts is now taken care of in the PropagationMonitor module.
Patch from Adi / DL1HRC.
* Improved handling of SQL_HANGTIME and SQL_DELAY when using CTCSS. Now
the ToneDetector itself handle the delays which is much better.
* Bugfix in RemoteTrx: Groups was not properly setup so remotetrx
could not access stuff that it should have right to do.
Patch contributed by Eren / TA1AET.
* TEP and F2 alerts are now taken care of in the PropagationMonitor module.
Patch from Adi / DL1HRC.
* Bugfix in the MUTE_TX_ON_RX feature in RemoteTrx. The PTT would activate
even if muted.
0.12.0 -- 14 May 2011
-----------------------
* Bugfix in the EchoLink module: Short callsign (<6 chars) was not handled
correctly in the APRS code.
* Added a QSO recorder feature that can record all traffic on the channel.
The QSO recorder can be turned on and off using a DTMF command.
New configuration variables: QSO_RECORDER_DIR and QSO_RECORDER_CMD.
* The voice mail module now store the messages as WAV files. Old messages
will have to be removed or converted into WAV files.
Old filename format: YYYYMMDD_hhmmss_UUU{.subj,.mesg}
New filename format: YYYYMMDD_hhmmss_UUU{_subj,_mesg}.wav
* Voice mail messages are now time limited to a maximum time. Default
is 10 seconds for the subject and two minutes for the message.
* Bugfix: The SQL_TIMEOUT function did not work as expected.
* The repeater_down TCL function now have a "reason" argument that
can be either "IDLE" or "SQL_FLAP_SUP".
* It is now possible to have a "local" subdirectory in the events.d
directory where the TCL files in the "local" directory will override
the TCL files in the events.d directory.
* Added a threshold to the tone detector so that it is less prone to
trigger on silence. This was a problem when using CTCSS squelch
on a radio operated with closed squelch.
* Implemented a signal level transmission mechanism based on multiple
tones, one for each signal level step, in the high audio frequency
spectrum (5.5 - 6.5kHz). This can be used for linking in remote
receivers via RF but still measure the signal strength at the
remote receiver site. To map the signal level to tone frequencies
on the remote receiver side, either RemoteTrx can be used or an
Atmel AVR ATmega8 can be used for a more compact solution. The AVR
microcontroller solution take a signal level voltage and converts
that to one of ten tones which should be overlayed on the link audio.
Note: Tone transmission in RemoteTrx will only work if it has been
compiled in 16kHz mode. This is due to the high tone frequencies used.
* New feature: Tell repeater users that are not identifying to
identify themselvs. The time to wait for an identification, after the
repeater has been activated, is set using the IDENT_NAG_TIMEOUT
configuration variable. A valid identification is considered to be
a transmission longer than the time set by the IDENT_NAG_MIN_TIME
configuration variable. We don't know if it's really an
identification but it's the best we can do.
* New feature: The repeater can be told to activate again if the squelch
openes within a specified time from repeater close. Use the new
configuration variable OPEN_ON_SQL_AFTER_RPT_CLOSE to set this up.
* The TX_CTCSS feature have now been extended so that CTCSS tone
can be transmitted if there is incoming traffic from another
logic core (LOGIC), a module (MODULE) or if an announcement
is being played (ANNOUNCEMENT). Previously there were only two
choices, to send CTCSS tone when the squelch was open
(repeater use) or to always do it.
* Bugfix: In the previous release all sound clips were converted
to WAV files instead of RAW files. When the EchoLink module
announce a conference name it looks for a file called
conf-conf_name.wav (e.g. conf-linux.wav). Previously it looked
for a file with a ".raw" file extension.
* New module, PropagationMonitor. The propagation monitor module
receive emails from vhfdx.net (or gooddx.net) and announce
propagation alerts on the air using voice messages.
* New module, MetarInfo. Get METAR (weather) information from
predefined ICAO locations and announce the information on the
air. Usually airports give them out. Module contributed by
DL1HRC / Adi.
* A hamming window was added to the tone detector and DTMF
decoder to improve out-of-band audio rejection. Patch
from DH1DM / Steve.
* Now possible to issue commands to the core and to other modules even
when another module is active. This is achieved by prefixing the
command with a "*". If for example the EchoLink module is active and
you want to check if there are any voice mails available the command
to issue could look like this: *3001#.
* The "connect by callsign" command changed from "*" to "6*".
* The help module can now accept commands when not active. It will read
back help for the given module ID. For example the command 01# will
play the help message for the parrot module.
* The parrot module can now accept commands when not active. The only
thing it can do is to read back the entered digits. For example the
command 1123# will make the parrot module say "one two three".
* The EchoLink module can now accept commands when not active. The only
command supported at the moment is "2", reading back the local node ID.
Example: 22#
* Now users can check if there are any voice mail messages
available without first logging in. Idea from Martin Burkhardt.
The command to use is <module id><user id> so if the module id for
voice mail is 3 and your user id is 001, the command to check if
there are any voice mails available is 3001#.
* The DTMF repeater module can now accept commands when not active. It
will play back the entered digits. For example the command 4123# will
play the 1, 2 and 3 DTMF digits.
* A macro command may now be specified without a module name. The colon
separator is still required though. If no module name is specified, the
command is sent in to the DTMF handler without activating a module first.
* It now is possible to include a hash mark in a macro command by
specifying 'H' in the command string. The 'H' will be translated to a '#'
by the command parser and not interpreted as "end of command". This can
be of use if you for example want to transmit a DTMF # using the
DTMF repeater module. The macro specification would look something like
this: 10=412345H#. When macro 10 is activated the DTMF sequence 12345#
will be transmitted.
* Now possible to link more than one logic core together. The LOGIC1 and
LOGIC2 configuration variables have been replaced with one configuration
variable called CONNECT_LOGICS.
* New config variable MUTE_TX_ON_RX for a NetUplink in RemoteTrx. This
will stop the transmitter from transmitting if the squelch is open
on the receiver.
* Support for selcall activated functions added. New config variables:
Logic/SEL5_MACRO_RANGE, RepeaterLogic/OPEN_ON_SEL5,
LocalRx/SEL5_TYPE and LocalRx/SEL5_DEC_TYPE. Have a look in the
svxlink.conf (5) manual page for more details.
* New module SelCallEnc. This module is used to send selective calling
sequences out on the frequency upon user request.
* One RemoteTrx application can now be used to run more than one remote
transceiver. Previously two RemoteTrx instances had to be run to
support two transceivers. This required two sound cards to be used.
Now only one sound card can be used to support two transceivers.
Due to this change the configuration have changed a bit. To get everything
right, backup your old remotetrx.conf configuration file and use the
new default configuration file to start over. Manually move configuration
values from your old configuration file to the new file, carefully
reading the updated manual page, remotetrx.conf (5), to get everythin
right.
* Now possible to set a PTT hangtime for the local tx type. This can be good
to have on a link transmitter in combination with a tone squelch. When
the transmitter is ordered to stop transmitting, the tone is immediately
turned off, causing the squelch to close on the other side. Since the
transmitter keeps transmitting for a while, no squelch tail will be heard.
* The DTMF repeater module now wait until all announcements have been played
before retransmitting the digits.
* The EchoLink module can now use the Speex audio codec on connections
between two SvxLink nodes which improves the audio quality a lot.
Patch contributed by Steve / DH1DM.
* Added a fallback repeater mode to the RemoteTrx which can be used
if using it as both RX and TX for a repeater. If the network
connection is lost to the repeater, the RemoteTrx activates a very
basic repeater mode, essentially just connecting the RX to the TX.
Idea and original implementation by Adi / DL1HRC.
* Bugfix: The SQL_TIMEOUT feature did not work for all squelch detector types.
* Configuration variable VOX_LIMIT has been renamed to VOX_THRESH.
* SvxLink system global configuration files are now by default stored in
the /etc/svxlink directory.
* New directory layout for event scripts and sound clips. The main event
scripts are now stored in /usr/share/svxlink/events.d. The sound clip
files are now stored in /usr/share/svxlink/sounds/<langcode>. TCL
modules have been separated from the event handlers and are now stored
in /usr/share/svxlink/modules.d
* New configuration variable DEFAULT_LANG that points out the default
language to use.
* All TCL-modules have been split into two parts, the module logic and
the event handlers. This has been done to make the process of
creating and maintaining translations easier and also to make on the
fly language switching easier.
* The ModuleTcl API for TCL modules changed a bit so external TCL
modules have to be adapted to the new API. There are no big changes.
Just a number of functions that have changed their names. The names
have been changed from my_func_name to myFuncName.
* Bugfix in ModuleEchoLink: SvxLink would crash if no stations were
found when using the random connect feature.
* New squelch detector type: EVDEV. This squelch detector read events
from a /dev/input/eventX device node. This can for example be of use
if you have a USB audio device with some buttons on it. If you're in
luck, it generates events when the buttons are pressed.
* Better error handling for the DTMF command parser. Previously if for
example two modules were setup with the same module id, SvxLink would
just quit with a cryptic error message.
* Now possible to reject and/or accept outgoing EchoLink connections to
specified stations using regular expressions in the same way that incoming
connections can be limited. New configuration variables: REJECT_OUTGOING
and ACCEPT_OUTGOING.
* Changed the name of some configuration variables in the EchoLink module
DROP -> DROP_INCOMING, REJECT -> REJECT_INCOMING and
ACCEPT -> ACCET_INCOMING.
* Bugfix: Playing sound clips in the startup TCL event handler did not work.
0.11.0 -- 26 Apr 2009
-----------------------
* The SvxLink internal sample rate is now configurable by a compile time
define (INTERNAL_SAMPLE_RATE in makefile.cfg).
* The effects volume is now only lowered as long as there are traffic
coming into the logic core. Previously, the volume was lowered even
after, for example, the squelch had closed. Patch contributed by
Steve / DH1DM.
* New DTMF decoder derived from the SpanDSP code. Contribution by
Steve / DH1DM.
* New tone detector implementation. Contribution by Steve / DH1DM.
* Increased 1750Hz tone burst detector bandwidth from 25 to 50Hz.
Steve / DH1DM.
* Steve also contributed a couple of other improvements, bugfixes
and workarounds.
* Bugfix in CW.tcl: The CW code for 'L' was incorrectly mapped to '..-.'.
* Two new command line options added to SvxLink Server and RemoteTrx:
--pidfile and --runasuser.
* The detection bandwidth for CTCSS repeater open have been narrowed
down from 8 Hz to 4 Hz.
* Improved the RemoteTrx protocol: HMAC-SHA1 authentication, security
checks and most important, audio compression. It is not compatible
with the old protocol.
The authentication code also require a new dependency: libgcrypt.
* Added an audio pacer for message playback so that the audio output
fifo will not be filled up when playing messages. If it fills up,
this will cause a delay for other audio.
* Bugfix: The repeater logic hung when using the NO_REPEAT option.
* Added a squelch timeout for receivers so that a faulty receiver cannot
block the system indefinitly. Use the SQL_TIMEOUT configuration variable
to set this up.
* RepeaterLogic: The reason for repeater activation is now given in the
repeater_up event handler function. This make it possible to implement
different behavior depending on how the repeater was activated.
* Patch from DH1DM: Supressing roger beep after periodic id:s in
RepeaterLogic.
* Bugfix: Log lines were not flushed out to the log file immediately since
stdout was block buffered by default. Now it's forced to line buffered
mode instead.
* Now skipping characters we don't know how to spell in the spellWord TCL
function.
* Bugfix: It was not possible to chain two voters together.
* Bugfix: SvxLink would hang if an audio clip was missing.
* APRS and EchoLink location info (link status page) functionality in
ModuleEchoLink added, contributed by DH1DM/Steve and DL1HRC/Adi.
There is a new configuration section, "LocationInfo" for this
and a new config variable LOCATION_INFO in the ModuleEchoLink.conf
configuration file.
* SvxLink can now read WAV files. However, only 8k sampling rate,
mono, 16 bit signed formated files are supported.
* The config file reader did not enforce a specific file extension which
could cause strange effects when using an editor that save backup files
in the same directory as the config files reside. Now all, except the
main config file, must have the extension ".conf".
0.10.1 -- 30 Jul 2008
-----------------------
* Bugfix: Again the NO_REPEAT config variable did not work. It was
simply ignored.
* Bugfix: The "transmit" function was never called in Logic.tcl.
This probably caused the IDENT_ONLY_AFTER_TX feature not to work.
* Bugfix: The squelchOpen function was not called in a RepeaterLogic when
the repeater opened if using OPEN_SQL_FLANK=OPEN.
* Added TCL functions for sending selcall sequences. Code contributed by
Adi / DL1HRC. Have a look at SelCall.tcl for usage instructions.
* New TX type, Multi, added to support multiple transmitters for one logic.
* Now support TCL 8.5.
0.10.0 -- 18 May 2008
-----------------------
* Bugfix: If SHORT_IDENT_INTERVAL != 0 and LONG_IDENT_INTERVAL == 0 we
got a division by zero error.
* Bugfix: The NO_REPEAT config variable did not work as expected. Audio
was not only being cut off from being retransmitted. No modules got
any audio either.
* Internal audio handling rewritten. The new audio pipe infrastructure
is now used everywhere in SvxLink.
* Bugfix in ModuleEchoLink: The DESCRIPTION config variable wasn't
used at all so no info message was sent upon connect.
* Now mixing sound effects with "traffic audio" (received repeater
audio, audio from modules (e.g. EchoLink) or audio from logic
links).
* Added support for the DTMF decoder on S54S / Aleks interface board.
* Lower audio latency.
* Audio is now transported between logic links and modules.
* RepeaterLogic: Identifications are now also sent when the
repeater is up.
* The volume of sound effects and announcements are now lowered
when there are other traffic that should be sent out
(received repeater audio, module audio or audio from
logic links). There are two new configuration variables
to control this behaviour: FX_GAIN_NORMAL and FX_GAIN_LOW.
* New configuration variable for a simplex logic: MUTE_RX_ON_TX.
* Bugfix in ModuleEchoLink: When initiating an outgoing connection it was
possible to deactivate the EchoLink module before the connection was
established. This could especially happen if double detecting #.
* Bugfix in ModuleEchoLink: It was not possible to establish multiple
outgoing connections in one command. In fact, entering multiple
stations in one command would cause a memory leak.
* Implemented remote TX. The new application "remotetrx" now handle
both remote transmitters and receivers. The old application "remoterx"
has been removed.
* Implemented a simple TX uplink for the remotetrx application. This
make it possible to have remote receivers that is linked up to the
repeater site on an RF channel.
* Now possible to use left/right stereo channels as two mono channels.
Which channel to use is chosen by the new configuration variable
AUDIO_CHANNEL that must be set for RX and TX configuration sections.
* Changed the name of RX config variable VOX_START_DELAY to SQL_START_DELAY.
It is now possible to use the squelch start delay for all squelch types.
* Added support for running the sound card in either of 8, 16 or 48 kHz
sampling rate. Even though SvxLink internally still use 8kHz sampling
rate, it improves the audio quality some what. Especially there is a
difference when going from 8 to 16kHz since the filters can look
quite bad at 8kHz. Some audio boards simply work best at 48kHz.
New configuration variable GLOBAL/CARD_SAMPLE_RATE added to set this up.
* Added a signal level based squelch type. Set SQL_DET to SIGLEV to
use the new squelch type. Configuration variables SIGLEV_OPEN_THRESH
and SIGLEV_CLOSE_THRESH will control at which levels the squelch will
open and close. To use this squelch type, the signal level detector
must have been calibrated by setting up SIGLEV_SLOPE and SIGLEV_OFFSET.
Also, since the detector is not perfect you probably need to set
SQL_HANGTIME to a couple of hundred milliseconds. If using a voter,
SQL_DELAY might have to be setup to get reliable signal level readings.
A value of 40 seem to work fine.
* Implemented an "activate module on long command" feature. For example,
this feature can be used to automatically activate the EchoLink module
if the user types in a command longer than, lets say, four digits. This
make it easier for users that are not used to the SvxLink command
structure to establish an EchoLink connection.
New config variable: ACTIVATE_MODULE_ON_LONG_CMD.
* Macros behave a little bit different now. The macro digits are now sent
back into the logic core, digit by digit, as though they were received
from the DTMF decoder. This mean that all macro commands have to be
ended with a number sign to be executed.
* New voter configuration variable BUFFER_LENGTH to set how much audio,
in milliseconds, should be buffered during the voting delay.
Previously, the buffer length was adjusted to compensate for the
voting delay. This is not necessary in cases where only a short
voting delay is used (a couple of hundred milliseconds). It just adds
latency to the audio which is especially noticable on a repeater.
0.9.0 -- 02 Jan 2008
----------------------
* It is now possible to spcify NONE for the PTT_PORT config variable if
no hardware PTT is required.
* Bugfix: It was not possible to turn ID off completely. It would always
ID at 12 AM.
* Improved the DTMF decoder. Now using a third party DTMF decoder from the
spandsp library. This mean that SvxLink now depend on this library to
work so it must be installed.
* Lowered the amplitude of the repeater idle sound.
* Now possible to set parameters for outgoing DTMF digits, typically sent
using the DTMF Repeater module. New config variables in the tx section:
DTMF_TONE_LENGTH, DTMF_TONE_SPACING, DTMF_TONE_AMP.
* Bugfix: Now suppressing first roger beep when opening repeater on squelch up.
* Bugfix: Audio is now not sent to modules and other cores when the repeater
is down.
* Bugfix in ModuleDtmfRepeater: One of the frequencies for DTMF tone sending
was wrong (1366Hz instead of 1336Hz).
* Bugfix in ModuleEchoLink: The config variables DROP, REJECT and ACCEPT
was not properly initialized so that when they were not set in the
config file, SvxLink would behave unpredictably.
* SvxLink can now use GSM encoded sound clips.