bionic (8) cwdaemon.8.gz

Provided by: cwdaemon_0.10.2-2_amd64 bug

NAME

       cwdaemon - morse daemon for the serial or parallel port

SYNOPSIS

       cwdaemon [options]

DESCRIPTION

       Cwdaemon  is  a  small daemon which uses the pc parallel or serial port and a simple transistor switch to
       output morse code to a transmitter from a text message sent to it via udp port 6789.

OPTIONS

       cwdaemon can be configured either through command line arguments on  start  of  the  daemon,  or  through
       requests  (escaped  requests)  sent over network. Each escaped request starts with ASCII Escape character
       (decimal 27, hex 1B). The Escape character is represented in the list below  by  "<ESC>"  string.  Notice
       that there are no space characters between parts of escaped requests.

       Some of the arguments and requests require passing a value (e.g. Morse speed [wpm], tone (frequency) [Hz]
       etc.). Call "cwdaemon -h" to see default values for these  arguments/requests,  and  ranges  of  accepted
       values.

       When handling command line arguments, cwdaemon does not accept invalid, malformed, or out-of-range values
       passed through command line. It won't attempt to guess caller's intentions, it won't try  to  start  with
       some  fallback  value  of the argument. Instead it will just print a debug message and exit. Rejection of
       bad values and exiting will happen before attempting to fork.

       When handling escaped requests, cwdaemon usually does not accept invalid, malformed or out-of-range vales
       either.  But  instead  of exiting upon receiving request with such value, it simply prints debug message,
       ignores the request containing such value, and waits for next request. One exception to the rule  is  PTT
       delay:  requested  delay values that are too large will be clipped to maximal allowed value and then will
       be used by cwdaemon. Requested negative or malformed values of PTT delay will be ignored.

       Print help text to stdout and exit

              Command line argument: -h, --help

              Escaped request: N/A

       Print version information to stdout and exit

              Command line argument: -V, --version

              Escaped request: N/A

       Set hardware keying device

              Command line argument: -d, --cwdevice <device>

              Escaped request: <ESC>8<device>

              See chapter "DEVICES" below for more information.

       Don't fork daemon, run in foreground

              Command line argument: -n, --nofork

              Escaped request: N/A

              Debug information will be printed to stdout (unless different debug output is selected,  or  debug
              output is silenced by setting debug output verbosity).

       Set network UDP port

              Command line argument: -p, --port <port number>

              Escaped request: <ESC>9<port number>

              This escaped request is obsolete and has no effect. Command line argument works as expected.

       Set process priority (niceness)

              Command line argument: -P, --priority <priority>

              Escaped request: N/A

       Set Morse speed [wpm]

              Command line argument: -s, --wpm <speed>

              Escaped request: <ESC>2<speed>

       Set PTT delay [ms] (TOD, Turn On Delay)

              Command line argument: -t, --pttdelay <delay>

              Escaped request: <ESC>d<delay>

       Turn PTT keying on/off

              Command line argument: N/A

              Escaped request: <ESC>a<{0|1}>

              0 - PTT off, 1 - PTT on

       Set sound system (sound backend)

              Command line argument: -x, --system <system>

              Escaped request: <ESC>f<system>

              See chapter "SOUND SYSTEM" below for more information.

       Set sound volume for soundcard [%]

              Command line argument: -v, --volume <volume>

              Escaped request: <ESC>g<volume>

       Set Morse weighting

              Command line argument: -w, --weighting <weighting>

              Escaped request: <ESC>7<weighting>

       Set tone (frequency) of sound [Hz]

              Command line argument: -T, --tone <tone>

              Escaped request: <ESC>3<tone>

              Notice that sending escaped request with value '0' silences cwdaemon.

       Increase verbosity of debug output

              Command line argument: -i

              Escaped request: N/A

              The  argument  can  be  repeated  up  to  four  times (-iiii) to gradually increase the verbosity.
              Alternatively you can use -y/--verbosity option.

       Set verbosity threshold for debug strings

              Command line argument: -y, --verbosity <threshold>

              Escaped request: N/A

              Alternatively you can use -i option.

              See chapter "DEBUGGING" below for more information.

       Set numeric value of libcw debug flags

              Command line argument: -I, --libcwflags <flags>

              Escaped request: N/A

       Set debug output

              Command line argument: -f, --debugfile <output>

              Escaped request: N/A

              Print debug information to <output> instead of stdout.  Value of <output> can be explicitly stated
              as  "stdout"  (when  not  forking).   Value  of  <output> can be also "stderr" (when not forking).
              Special value of <output> being "syslog" is reserved for future use. For now it will  be  rejected
              as invalid.  Passing path to disc file as value of <output> works in both situations: when forking
              and when not forking.

       Reset some of cwdaemon parameters

              Command line argument: N/A

              Escaped request: <ESC>0

              The request resets program's parameters to cwdaemon  default  values,  unless  the  defaults  were
              overridden with command line arguments - then the values passed in command line are used.

       Abort currently sent message

              Command line argument: N/A

              Escaped request: <ESC>4

       Exit (close) daemon

              Command line argument: N/A

              Escaped request: <ESC>5

       Set word mode

              Command line argument: N/A

              Escaped request: <ESC>6

       Set SSB way

              Command line argument: N/A

              Escaped request: <ESC>b<{0|1}

              0 - microphone, 1 - soundcard

       Tune for a number of seconds

              Command line argument: N/A

              Escaped request: <ESC>c<seconds>

              Tune  for <seconds> seconds. The tuning is performed by both selected sound system, and by current
              hardware keying device.

       Set band switch output

              Command line argument: N/A

              Escaped request: <ESC>e<value>

              This argument sets band switch output on parport bits 9 (MSB), 8, 7, 2 (LSB).

DEVICES

       Any serial device that supports getting and setting the modem control  lines  can  be  used.   On  Linux,
       ttyS0,  ttyS1,  etc.  will  work.   On FreeBSD these devices are known as ttyd0, ttyd1, etc.  On OpenBSD,
       these same devices are known as tty00, tty01, etc., but may vary with platform.

       For parallel ports on Linux try parport0 (default) or parport1, and on  FreeBSD,  ppi0  (default),  ppi1,
       etc.  OpenBSD does not support parallel port operation, and defaults to 'tty00'.

       For completeness, a dummy 'null' device is provided.  This device does exactly nothing (no rig keying, no
       ssb keying, etc.).

SOUND SYSTEM

       ´sound system´ should be one of following:

       ´c´ - console buzzer (PC speaker) - default system,

       ´o´ - OSS,

       ´a´ - ALSA,

       ´p´ - PulseAudio,

       ´n´ - none - no audio,

       ´s´ - soundcard - autoselect from OSS/ALSA/PulseAudio.

DEBUGGING

       cwdaemon can print debug strings. Each debug  string  in  cwdaemon  has  specified  verbosity  (verbosity
       level), and can be printed (or not) depending on current verbosity threshold specified for cwdaemon.  The
       verbosity level value for each string can be changed in future versions  of  cwdaemon.  Don't  depend  on
       current setup.

       The  verbosity  threshold can be specified through command line arguments: -i, -y, or --verbosity. -y and
       --verbosity accept "threshold" value (single character) as specified below:

       ´n´ - none

       ´e´ - errors

       ´w´ - warnings (default)

       ´i´ - information

       ´d´ - details

       By default the threshold is set to "warnings" - cwdaemon will print all errors and warnings. Changing the
       threshold to "information" will make the cwdaemon print errors, warnings, and information.

       Debug  strings  can be printed to stdout, stderr, or disc file. Printing to stdout or stderr is available
       only if cwdaemon has not forked.  Printing to disc file is available regardless of whether  cwdaemon  has
       forked  or  not.   You  can  specify intended debug output using -f or --debugfile command line argument.
       Values "stdout" and "stderr" passed to cwdaemon with these  arguments  are  recognized  as  special  file
       names.  "syslog"  value is also treated as special value, but is not supported at the moment. Every other
       value will be treated as path to disc file.  "stdout" is a default debug output for non-forked  cwdaemon.
       You don't have to specify this explicitly through command line arguments, but you can.

       Regardless  of  values passed through -f or --debugfile arguments, cwdaemon opens a syslog file and (when
       forked) prints some (few) messages to the syslog. There is no way to override this at the  moment.  Which
       messages  are  always  printed to syslog, and which can be printed to other file, is settled for now, but
       may be changed in the future. Don't depend too much on current setup.

BUGS

       When an escaped request "f" (change sound system) is sent asking for switching to sound  system  that  is
       generally  supported  by  libcw, but not available on given machine, cwdaemon will not recognize that the
       sound system is not available. It will close current audio system, and will attempt to  open  unavailable
       audio  system.  That  fails,  and cwdaemon falls back to Null audio system. If the falling back fails, it
       will result in cwdaemon working without any sound system, and it may potentially crash the daemon on next
       attempt to play audio.

SEE ALSO

       The  provided  README  in  /usr/share/cwdaemon  for  a description of the circuitry, usage and testing of
       cwdaemon.

AUTHOR

       Cwdaemon was written by Joop Stakenborg <pg4i at amsat.org>, Rein Couperus  <pa0r  at  amsat.org>,  Wolf-
       Ruediger  Juergens,  DL2WRJ  <WJuergens  at t-online.de> and Ladislav Vaiz, OK1ZIA <ok1zia at nagano.cz>.
       Cwlib is taken and adapted from the unixcw package, version 2.2 by Simon Baldwin, G0FRD.  FreeBSD support
       mostly done by Diane Bruce, VA3DB.  OpenBSD support by Jason L. Wright, AI4JW.

       Since 2012 the main developer is Kamil Ignacak <acerion@wp.pl>.