forked from acerion/cwdaemon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
745 lines (512 loc) · 28.3 KB
/
NEWS
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
cwdaemon 0.13.0 / 2024.08.04
New release. Changes since previous release:
* Bug fixes
* cwdaemon was accepting value 65536 for command line option
"-p"/"--port". This has been now fixed: cwdaemon accepts values only in
range <1024 - 65535> (inclusive).
* Adding a workaround for libcw issue where libcw can't handle correctly
value ((unsigned char) 255) passed to cw_send_character().
The issue was found in libcw 8.0.0 from unixcw 3.6.1. The issue was
fixed in unixcw commit c4fff9622c4e86c798703d637be7cf7e9ab84a06.
Until cwdaemon will start depending on a specific version of libcw that
has this fix included, cwdaemon must be able to work around this
problem.
The workaround is to notice if a string passed to cwdaemon contains the
problematic character, and simply not call cw_send_character() for that
one specific character. Other characters in the string are still passed
to cw_send_character().
This change doesn't affect replies sent by cwdaemon to clients after
processing "caret" requests or "<ESC>h": the replies still contain
verbatim copy of string sent by the client, including the ((unsigned
char) 255) character.
* Fixing GitHub issue https://github.com/acerion/cwdaemon/issues/12:
improper state of tty cwdevice's pins.
* A fix to GitHub issue #12 (mentioned in previous bullet point)
introduces a change/fix to resetting of tty cwdevice's pin functions.
Until now (since v0.11.0) when cwdaemon received "change cwdevice"
Escape request, the assignment of functions (keying/ptt) to tty pins
(DTR, RTS) specified through command line options would be lost during
handling of the Escape request. Handling of the request would reset the
assignment to cwdaemon's defaults, which may be different than assignment
specified through command line options.
A commit that fixes GitHub issue #12 also fixes the problem described
above. Now any changes of cwdevice through "change cwdevice" Escape
request will preserve assignment of functions to tty lines specified
through command line options (if any assignment was made).
* Proper definition of cwdaemon's reply buffer size fixes a problem with
too small buffer. Depending on version of recent code
(post-0.12.0 code currently in development), the incorrect size of the
buffer resulted either in writing one byte beyond the buffer, or in
truncation of reply. Both cases happened only for very long requests,
so it was rather a corner-case.
The problem with size of the buffer was found thanks to fuzzing tests.
* Fixing minor memory leak in code handling re-configuration of tty
cwdevices.
The leak fixed in this release is small but in specific circumstances
could grow. The leak could be triggered by constant changes of cwdevice
through Escape request.
A related memory leak that does not grow over time is still present in
cwdaemon's code. Fixing it requires deeper changes to management of
cwdevice. Since the leak is small and constant, I'm postponing this fix
till next version of cwdaemon. See ticket R0018 in README.dev.org for
more details.
This leak was found by running fuzzing tests. It could have been found
also by using appropriately crafted functional test.
* Fixing not switching of cwdevice when handling of CWDEVICE Escape
request (<ESC>8)
Switching of keying device was not functioning correctly. As a result,
the old device (device used before issuing the request) was used for
keying and ptt.
Tests suite now includes a functionality test that verifies correctness
of handling of the request by cwdaemon.
git commit: 43d150247534e26e1116af3d973b31923c6dbc86
* Fixing problem where switching to different sound system using SOUND
SYSTEM Escape request resulted in no keying on cwdevice's keying pin
Sending SOUND SYSTEM Escape request (<ESC>f) to change sound system
(none/OSS/ALSA/PulseAudio) used by cwdaemon disabled toggling of keying
pin on a cwdevice.
See ticket R0030 in README.dev.org for more info.
git commit: e1598cb736aa169e48df89ed3b3b2ba12fb0f706
A workaround for this problem in versions before a fix is to send RESET
Escape request (<ESC>0). Be aware that the request resets selected
parameters of cwdaemon to their initial state (as they were configured
at startup, perhaps with command line options).
* Fixing resource leak when handling a CWDEVICE Escape request (<ESC>8)
cwdaemon didn't close a file descriptor for old cwdevice while
switching to new cwdevice specified in the request.
git commit: a59f9669c337e0d31ff0d3cea083fb03edd4c65e
* Quality Assurance
* Fixing issues found in C code by current version of clangd LSP server.
* Improving procedures/tools/scripting for using clang-tidy. It's now
easier to invoke clang-tidy on the code base: clang-tidy is invoked
through a script that runs run-clang-tidy. run-clang-tidy requires the
presence of compile_commands.json, which needs to be created by
manually invoking `bear` command.
* .clang-tidy configuration file is now added to root directory of
project. There are a lot of excluded checks in the configuration file,
but the list of exclusions will be decreased in future releases.
The list of exclusions will never become empty because some of checks
won't apply to this project.
* Fixing a bunch of issues found by clang-tidy (in cwdaemon code and in
code implementing unit and functional tests).
* Path to cwdaemon binary used during functional tests can be specified
through an argument to ./configure script:
./configure --enable-functional-tests --with-tests-cwdaemon-path=/home/user/sbin/cwdaemon
This allows running a set of functional tests against any version of
cwdaemon. It's e.g. possible to run the latest set of tests against
some older release of cwdaemon to see how that release behaved.
The ./configure script defines a default path to cwdaemon binary. The
default path is overwritten with the value passed to the script.
* Name of tty cwdevice to be used during functional tests can be
specified through an argument to ./configure script:
./configure --enable-functional-tests --with-tests-tty-cwdevice-name=ttyUSB1
The ./configure script defines some (platform-specific) default name of
the name. The default name is overwritten with the value passed to the
script.
* Adding functional test for corner cases of "-p"/"--port" command line
option.
Existing other functional tests already are indirectly testing the
option by passing it to cwdaemon with various valid values of network
port.
The new, dedicated functional test is testing corner cases where
selected values of network port (valid and invalid) are passed to
cwdaemon through "-p"/"--port" command line option. The test verifies
if cwdaemon starts (or doesn't start) as expected.
The test is located in tests/functional_tests/unattended/option_port/.
* Adding functional test for "caret" request.
The test is only testing basic test cases where only a single "caret"
request is being sent. More complicated scenarios are not being tested
(yet).
The test is located in tests/functional_tests/unattended/request_caret/.
* Adding functional test for CWDEVICE Escape request (<ESC>8)
The test was created to confirm presence of a problem reported by user,
and to confirm a proper handling of the request in fixed code. The bug
is described above in "Bug fixes" section.
The test is located in
tests/functional_tests/unattended/request_esc_cwdevice/.
* Adding functional test for SOUND_SYSTEM Escape request (<ESC>f)
The test was created to confirm presence of a problem reported by user,
and to confirm a proper handling of the request in fixed code. The bug
is described above in "Bug fixes" section.
The test is located in
tests/functional_tests/supervised/request_esc_sound_system/.
* Adding functional test for PORT Escape request (<ESC>9)
This Escape request is obsoleted and doesn't do nothing, but as long as
it is present in code I need to test it.
I have created a supervised test for this feature because I simply
didn't want to test it fully manually over and over again in this
release and in future releases.
The test is located in
tests/functional_tests/supervised/request_esc_port/.
* Unit tests have been added for following existing code:
- cwdaemon_get_long() function
- cwdaemon_option_network_port() function
* Adding "-D_FORTIFY_SOURCE=2" to list of arguments passed to C compiler.
* Adding following flags to CFLAGS:
-Walloc-zero -Warith-conversion -Warray-bounds=2 -Wattributes
-Wcast-align=strict -Wformat-nonliteral -Wformat-overflow=2
-Wformat-security -Wformat-signedness -Wformat-y2k
-Wimplicit-fallthrough=3 -Wimplicit-int -Wincompatible-pointer-types
-Winit-self -Wmain -Wmisleading-indentation -Wmissing-include-dirs
-Wnested-externs -Wold-style-definition -Wpointer-sign
-Wshift-overflow=2 -Wstack-usage=1000000 -Wstrict-aliasing
-Wstrict-overflow=4 -Wstringop-overflow=4 -Wtrampolines -Wundef
-Wuninitialized -Wunused -Wunused-macros -Wunused-parameter
-Wunused-result -Wvla
* Adding most basic support for gcov/lcov to find holes in unit-tested
code. Four relevant commands are:
- ./configure --enable-gcov
- make gcov
- <web browser> tests/unit_tests/coverage/<subdir>/index.html
- make gcov-clean
For now this works only on Debian.
* Removing ./tests/cwtest_esc5.pl functional test. There is no need to
keep the test written in Perl when testing of handling of EXIT Escape
request is now tested by
tests/functional_tests/unattended/request_esc_exit/ test that is more
detailed.
Handling of EXIT request is also indirectly tested by other functional
tests written in C. In each such test the test instance of cwdaemon is
asked to EXIT at the end of test or test case, and proper exiting is
monitored and verified in the tests.
* Removing ./tests/cwtest_escf.pl functional test. There is no need to
keep the test written in Perl when testing of handling of SOUND SYSTEM
Escape request is now tested by
tests/functional_tests/supervised/request_esc_sound_system/ test that is
more detailed (it allows automatic receiving of Morse code on
cwdevice).
* Removing ./tests/cwtest_esc8.pl functional test. There is no need to
keep the test written in Perl when testing of handling of CWDEVICE
Escape request is now tested by
tests/functional_tests/supervised/request_esc_cwdevice/ test that is
more detailed (it allows automatic receiving of Morse code on
cwdevice).
* Adding simple fuzzing test
A simple fuzzing test is sending random requests to cwdaemon's network
socket. The test is located in tests/fuzzing/simple/. The test has
helped uncovering small problems in cwdaemon and one problem in libcw.
* Debugging of libcw
When `-I`/`--libcwflags` option is passed to cwdaemon to enable debugging
of specific functionalities in libcw, the threshold of libcw debug
messages is set to the threshold currently used by cwdaemon.
Until now the threshold set for libcw debug messages may have been
hardcoded to constant value "NONE", which made debugging of libcw
impossible.
* Misc
* Refactored handling of following command line options:
- "-p"/"--port",
- "-I"/"--libcwflags"
- "-y"/"--verbosity"
* Improved documentation of the following command line options:
- "-p"/"--port"
- "-I"/"--libcwflags"
in:
- man page ("man cwdaemon")
- help text ("cwdaemon --help")
* man page now has separate chapters with generic description of network
requests and replies.
* man page now has "Quick start" section that has been added to make
introduction to cwdaemon easier.
* man page now includes information that it's possible to terminate tuning
with ABORT Escape request.
----
cwdaemon 0.12.0 / 2023.05.21
New release. Changes since previous release:
* Making handling of command line options more strict
cwdaemon is more likely to exit when it discovers unrecognized tokens in
command line.
This change is introduced to detect incorrect usage of "-o" command line
option. Each option for keying device should be passed through separate
"-o" option.
Incorrect: "cwdaemon -d /dev/ttyUSB0 -o key=DTR ptt=none"
Correct: "cwdaemon -d /dev/ttyUSB0 -o key=DTR -o ptt=none"
The behaviour of "-o" option itself is not changing. Only the overall
parsing of command line options is changing to catch this incorrect
situation.
* Init system files have been updated with handing of keying device option
The "-o"/"--options" command line option has been introduced in cwdaemon
0.11.0. In this release the init files for cwdaemon (/etc/init.d/cwdaemon
and /etc/default/cwdaemon) are updated to support the new command line
option. The files are located in debian/ directory in cwdaemon repo.
* Fixing memory problems occurring when handling tty device options
- Small, one-time memory allocation was not followed by deallocation.
- According to valgrind, a section of code may have relied on uninitialized
member of allocated struct.
* "cwdaemon -V" now prints information about used libcw library
In addition to printing version of cwdaemon program, the command also
prints version of used libcw library (this is a run-time information, not a
compile-time information).
This change should help me with debugging users' problems: I will be able
to set up an env similar to used by users reporting problems.
* Keying device used by cwdaemon can be now specified by a full path
Till now "-d"/"--cwdevice" command line option accepted only device name
(e.g. "ttyS0"). Starting with this release, the device can be also
specified by a full path to device in /dev/ dir (e.g. "/dev/ttyS0").
The change also impacts "<ESC>8" escaped request.
This change should help avoiding problems with specifying a keying device.
* Adding error messages in code that tries to open a keying device (tty or lp
device)
This change should help with debugging of issues with keying devices in
users' env.
* Format of log messages has been adjusted
- Tags indicating message priority, printed at the beginning of message,
are now "[ERROR]", "[WARN ]", "[INFO ]", "[DEBUG]".
- The messages first show priority tag, and then package name (e.g.
"[ERROR] cwdaemon: some text").
- Consistency of format of messages has been improved.
* Adding Doxygen configuration file
* Adding "make check" command
The command compiles and runs unit tests. The unit tests have been added in
this release to quickly test some functionalities of cwdaemon. The unit
tests don't require any additional infrastructure (e.g. a keying device)
and they don't depend on any additional libraries or programs. This means
that they can be executed anywhere, at any time.
At this moment the unit tests only cover two newly added utility functions.
* Compiling and testing on following platforms:
- Debian GNU/Linux 11.7, x86_64, gcc 10.2.1, libcw 6.6.1 (unixcw 3.5.1-4)
- Alpine Linux 3.17, x86_64, gcc 12.2.1, libcw 7.0.0 (unixcw 3.6.0)
- FreeBSD 13.2-RELEASE, amd64, gcc 12.2.0, libcw 7.0.0 (unixcw 3.6.0)
----
cwdaemon 0.11.0 / 2022.03.26
New release. Changes since previous release:
* Implementing an "-o" option for flexible assignment of keying and ptt lines
to RTS/DTR lines.
GitHub pull request: https://github.com/acerion/cwdaemon/pull/3
* Fixing GitHub issue #6: "cwdaemon stops working after esc 0 (reset) is
issued".
GitHub issue: https://github.com/acerion/cwdaemon/issues/6
* Fixing few minor issues found through static code analysis.
* Minor refactoring of code.
* Compiling and testing on following platforms:
- Debian GNU/Linux 11, x86_64, gcc 10.2.1, libcw 7.0.0 (unixcw 3.6.0)
- Alpine Linux 3.15, x86_64, gcc 10.3.1, libcw 7.0.0 (unixcw 3.6.0)
- Ubuntu 18.04.6 LTS, x86_64, gcc 7.5.0, libcw 7.0.0 (unixcw 3.6.0)
----
cwdaemon 0.10.2 / 2015.10.07
New release. Changes since previous release:
* Copying the repository to github.com. github will be now the new
home of cwdaemon. The address is https://github.com/acerion/cwdaemon
* Testing against libcw 6.5.1 from unixcw 3.5.0.
* Compiling and testing on following platforms:
- Debian GNU/Linux 8 jessie/sid, x86_64, gcc 4.9.2;
- Alpine Linux 3.1, x86_64, gcc 4.8.3, musl 1.1.5;
- FreeBSD 10.0, x86_64, clang 3.3;
* Fixing compilation error found during tests on Alpine Linux.
* Improving test sets (test/ directory).
* Improving examples of interfacing cwdaemon (examples/ directory).
----
cwdaemon 0.10.1 / 2014.04.23
New release. Changes since previous release:
* Fixing bug #1 reported by Pino Zollo ZP4KFX: cwdaemon failed to
properly respond to <ESC>f Escape request. Attempting to change
sound system used by cwdaemon caused the program to completely go
silent and to not to send replies.
* Fixing bug #2 also reported by Pino Zollo ZP4KFX: cwdaemon has been
sending replies too early, sometimes right after starting to play
Morse characters (i.e. not waiting for end of playing the
characters). This problem has been fixed by changes in cwdaemon
source code, as well as by changes in unixcw/libcw source code (this
is why you should use libcw version 6.1.1 from unixcw 3.3.1).
* Fixing bug #3 also reported by Pino Zollo ZP4KFX: description of
escaped request for word mode in man page has been incorrect (wrong
code of request). This has been fixed.
* Fixing bug #4, this one discovered by me: cwdaemon failed to
correctly close network socket at exit. This has been fixed.
Many thanks to Pino Zollo ZP4KFX for reporting bugs in cwdaemon 0.10.0
and taking time to test fixes.
----
cwdaemon 0.10.0 / 2014.01.15
New release. Changes since previous release:
* Empty name of keying device sent with "8" network request shouldn't
cause cwdaemon to crash anymore. Handling of empty/invalid keying
device name has been improved.
* Until now if cwdaemon was called with invalid / unsupported /
non-available sound system, it could start with misconfigured sound
system. Now cwdaemon exits when it cannot open a sound system during
start.
* When cwdaemon receives "switch to sound system X" network request,
and it fails to correctly switch to the sound system, it falls back
to "Null" audio system. The fall back eliminates possibility of
crashing on attempt to use uninitialized sound system.
* Handling of "ptt delay" parameter has changed. Until now when value
sent in network request was negative, the delay has been set to MAX.
Now the negative value sent with network request is ignored. When
the negative value has been passed through command line argument,
cwdaemon exits.
* Debug strings can be now printed to stdout (default, was already
available), stderr, or disc file. Check -f / --debugfile command
line option for more information.
* Verbosity level of debug messages can be controlled with command
line options.
* cwdaemon now accepts --long-options on systems that support this
functionality.
* Help text printed when calling cwdaemon with "-h" command line
argument has been expanded.
* Man page for cwdaemon has been expanded.
This version of cwdaemon has been tested with libcw6.
----
cwdaemon 0.9.7 / 2013.01.11
New release.
The reason for this release is fixing some bugs reported by Thomas Beierlein:
- <ESC>30 request has been setting volume to zero, but it was impossible
to re-set the volume to non-zero value (e.g. with <ESC>3440). This now
has been fixed.
- reply mechanism replying to <ESC>h requests wasn't working correctly.
Behaviour of the reply mechanism has been improved.
A Perl script testing cwdaemon (test/cwtest.pl) has greatly improved in the
process of fixing the second issue.
This version of cwdaemon is intended to be used with libcw5.
This version of cwdaemon has been barely tested by main developer.
----
cwdaemon 0.9.6 / 2012.07.04
New release.
Most of the changes in the release were introduced by Jenö Vágó, HA5SE
The changes include:
- improved behaviour of PTT function,
- completed implementation of basics of handshaking between cwdaemon and
client application; this should allow the client application e.g. to send
message char-by-char;
- fixing some side effects of previously applied patches.
This version of cwdaemon is intended to be used with libcw4.
This version of cwdaemon has been barely tested by main developer.
----
cwdaemon 0.9.5 / 2012.04.09
New upstream release. The release has been made after taking over the project
by Kamil Ignacak <acerion@wp.pl> in January 2012.
This upstream version (0.9.5) is essentially an official upstream release of
Debian package 0.9.4-9, with Debian patches applied. No new features and no
new fixes were added to 0.9.5, compared to 0.9.4-9. Purpose of upstream
release 0.9.5 is to establish a starting point for revived cwdaemon project.
This release HAS NOT been tested.
New project home page: http://cwdaemon.sourceforge.net
Summary of changes in applied Debian patches:
- "Removed bashism from cwsetup.sh script" (by Michael
Meskes <meskes@debian.org>);
- "Minor changes for transition from unixcw to libcw3" (by Kamil Ignacak,
including fixes by Jenö Vágó, HA5SE);
- "Checking for '\n' char that may occur at the end of TCP buffer."
(by Jenö Vágó);
- "Call to cw_wait_for_tone_queue() to prevent too early PTT OFF"
(by Jenö Vágó);
- "Install scripts with INSTALL_SCRIPT to get correct permissions"
(by Kamal Mostafa <kamal@whence.com>);
----
cwdaemon (0.9.4)
* Cwdaemon has been ported to the latest version of unixcw, version 2.3.
First you need to configure and install unixcw, which adds the unixcw
development library and headers to your system. When running cwdaemon's
'configure', unixcw will be automatically included.
See the INSTALL file for unixcw details.
* Aborting (ESC4) has been improved by using select(). Cwdaemon will now
abort even when in the middle of sending a character.
* PTT has been implemented outside the unixcw libraries. This is untested,
footswitch is also untested in this release.
cwdaemon (0.9.3)
* This is a debian-only maintenance release.
cwdaemon (0.9.2)
* Many patches by Jason L. Wright, AI4JW, which brings us OpenBSD support
(you will need OpenBSD-current or the upcoming OpenBSD-3.7) and the
following:
* Better command line parsing and error checking added.
* The 'none' sound device had been added in case you don't want a sidetone.
* Free entry of portnames has been added, together with autodetection of
ports. This should give is support for more platforms.
* Many minor bugfixes.
* A null device has been added, in case you want sidetone, but no keying
(see 'man cwdaemon').
cwdaemon (0.9.1)
* Fixes a possible buffer overflow.
cwdaemon (0.9)
* ESCh will send echo to the program using cwdaemon when CW playing is done,
using the '^' character. Added by Lada, OK1ZIA. This is used by tucnak,
a VHF contest logging program, see http://tucnak.nagano.cz.
* Debian init.d bootscript added by Lada, together with /etc/default/cwdaemon,
which you can use to configure cwdaemon. Set START_CWDAEMON=no in
/etc/default/cwdaemon to disable start at boottime.
* Serial and parallel port now supported on FreeBSD. Parallel port and various
BSD fixes thanks to Diane Bruce, VA3DB.
-- Joop Stakenborg <pg4i@amsat.org> Mon, 3 May 2004 09:25:25 +0200
cwdaemon (0.8)
* Cwdaemon is now integrated with unixcw, see cwlib.c and cwlib.h.
Weighting has been added to unixcw and some special characters needed
by cwdaemon. The choppiness reported in previous versions of cwdaemon is
fixed. And we have soundcard support!
* Better handling of aborting messages.
* Weighting now uses a value of -50 to 50.
* 2 extra command line options: -v for volume and -x for sound device.
* 2 extra escape sequences for controlling cwdaemon: ESCfx for switching the
sound output on the fly and ESCgx for setting the soundcard volume.
* Tune (ESCc) now uses seconds as an argument, e.g. ESCc1 tunes 1 second,
ESCc10 tunes 10 seconds. Maximum tune value is 10 seconds.
* A fix by Lada, OK1ZIA for big endian systems.
* Footswitch support by Wolf, DL2WRJ (pin 15 of the parallel port).
* New morse character '@' has been added.
* Process priority of cwdaemon can be set with the -P flag. You can try this
if you experience timing problems.
-- Joop Stakenborg <pg4i@amsat.org> Mon, 26 Apr 2004 21:27:29 +0200
cwdaemon (0.7)
* Band info output on pins 2, 7, 8, 9 of the parallel port
(pin 2 = lsb, 9 = msb, e.g. 1000 = 160m, 1001 = 10m).
Patch by Rein Couperus, PA0R.
* Corrected the parallel port schematic for PTT switching.
-- Joop Stakenborg <pg4i@amsat.org> Sun, 26 Oct 2003 16:37:51 +0100
cwdaemon (0.6)
* POSIX compliant in/output is now used for the serial and parallel port,
which means that cwdaemon should now run on any hardware that runs linux.
Please read the README for serial/parallel port setup.
* Debian: set architecture to 'any'.
-- Joop Stakenborg <pa3aba@debian.org> Fri, 27 Jun 2003 20:46:20 +0200
cwdaemon (0.5)
* Patch by Ladislav Vaiz, OK1ZIA <ok1zia@nagano.cz>:
* Adds a pin to the lpt port for switching between a soundcard and
microphone, uses ESCb escape code.
* Lada has also split the code into separate files for the serial and
parallel port.
* Buffer overflows were fixed.
* New escape codes: ESC8: device type, ESC9: base port number.
* Work by Rolf, DL2WRJ:
* ESCa: PTT on/off, ESCc: tuning on/off, ESCd: PTT delay.
-- Joop Stakenborg <pa3aba@debian.org> Sun, 11 May 2003 15:48:47 +0200
cwdaemon (0.4)
* Support for /dev/lp1 parallel port added.
* Add weighting. This can be set from the command line (-w switch) or
from an application using ESC7. Values are from -5 to 5. Contributed by
DL2WRJ.
* Speed in/decrease is set at 2 wpm intervals.
* Halfspace delay has been added, which simply adds half of the dash time
to the delay after each sign send. You have to use the '~' for that.
See the README. Contributed by DL2WRJ. Thanks Wolf!
* New serial schematic with port protection and better keying.
* Also build a debian package on alpha.
-- Joop Stakenborg <pa3aba@debian.org> Tue, 8 Apr 2003 20:57:20 +0200
cwdaemon (0.3) unstable; urgency=low
* Support added for serial ports, contributed by Wolf-Ruediger Juergens,
DL2WRJ <WJuergens at t-online.de>. This brings a new command line option:
-d <device>. Device should be one of ttyS0, ttyS1 or lp0.
* New function: errmsg for writing to the syslog or console when not forked.
* Getopt is now used for command line parsing. Some checks added for correct
UDP port values.
* The dot-dash delay has been adjusted, so it sounds a bit better.
-- Joop Stakenborg <pa3aba@debian.org> Sat, 5 Apr 2003 12:41:49 +0200
cwdaemon (0.2.3)
* Fix a bug reported by Wilbert Knol <zl2bsj at zl2tze.ath.cx>, cwdaemon
would 'remember' previous lines, if they are longer than the current one.
* Add some command line arguments (see cwdaemon -h). The default port can
now be changed with '-p', '-n' will cause cwdaemon not to fork and print
debug information to stdout.
* Many cleanups (up till here 0.2.2 test release).
* Fixed a divide by zero which would crash cwdaemon.
* Use nanosleep instead of usleep.
-- Joop Stakenborg <pa3aba@debian.org> Sun, 9 Mar 2003 21:26:24 +0100
cwdaemon (0.2.1)
* Use automake and autoconf.
-- Joop Stakenborg <pa3aba@debian.org> Sat, 18 Jan 2003 14:40:15 +0100
cwdaemon (0.2)
* Initial release for debian.
* Added support for german umlauts, "ringed a" and "n tilde".
* Now installs by default in /usr/sbin.
* Many cosmetic fixes.
-- Joop Stakenborg <pa3aba@debian.org> Sat, 11 Jan 2003 11:03:19 +0100
cwdaemon (0.1)
* First public release by Rein, PA0RCT.
-- Joop Stakenborg <pa3aba@debian.org> Sun, 17 Nov 2002 21:15:11 +0100