Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
CWDAEMON(8)		     System Manager's Manual		     CWDAEMON(8)

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 at-
     tempt to guess caller's intentions, it won't try to start with  some  fall-
     back  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 receiv-
     ing 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.  Re-
     quested 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
	    outut is selected, or debug output is silenced by setting debug out-
	    put 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 ar-
	    gument 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  cwdae-
	    mon.

     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 de-
     vices 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  ex-
     actly 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 speci-
     fied 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 er-
     rors 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  argu-
     ments  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  set-
     tled  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 sys-
     tem 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/local/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-on-
     line.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 Ja-
     son L. Wright, AI4JW.

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

ver. 0.10.2			  Morse daemon			     CWDAEMON(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cwdaemon&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help