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

FreeBSD Manual Pages

  
 
  

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	(deci-
       mal  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 de-
       fault values for	these arguments/requests, and ranges of	accepted  val-
       ues.

       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 mes-
       sage and	exit. Rejection	of bad values and exiting will	happen	before
       attempting to fork.

       When  handling  escaped	requests, cwdaemon usually does	not accept in-
       valid, 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  outut 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  cw-
	      daemon.

       Increase	verbosity of debug output

	      Command line argument: -i

	      Escaped request: N/A

	      The  argument can	be repeated up to four times (-iiii) to	gradu-
	      ally  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 fork-
	      ing).  Value of <output> can be also "stderr"  (when  not	 fork-
	      ing).   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 val-
	      ues, unless the defaults were overridden with command line argu-
	      ments - 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 se-
	      lected 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) de-
       pending 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 argu-
       ments: -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 --de-
       bugfile	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,	cwdae-
       mon 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  mes-
       sages  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  de-
       pend 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 re-
       sult  in	 cwdaemon  working without any sound system, and it may	poten-
       tially 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-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>.

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.0>

home | help