HardenedBSD/usr.bin/morse/morse.6
Warner Losh bdcbfde31e usr.bin: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
2023-11-26 22:23:30 -07:00

211 lines
5.3 KiB
Groff

.\" Copyright (c) 2000 Alexey Zelkin. All rights reserved.
.\" Copyright (c) 1988, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd April 16, 2023
.Dt MORSE 6
.Os
.Sh NAME
.Nm morse
.Nd reformat input as morse code
.Sh SYNOPSIS
.Nm
.Op Fl elrps
.Op Fl d Ar device
.Op Fl w Ar speed
.Op Fl c Ar speed
.Op Fl f Ar frequency
.Op Ar string ...
.Sh DESCRIPTION
The
.Nm
command reads the given input and reformats it in the form of morse code.
Acceptable input are command line arguments or the standard input.
.Pp
Available options:
.Bl -tag -width indent
.It Fl l
The
.Fl l
option produces output suitable for
.Xr led 4
devices.
.It Fl s
The
.Fl s
option produces dots and dashes rather than words.
.It Fl p
Send morse the real way.
This only works if your system has
.Xr speaker 4
support.
.It Fl w Ar speed
Set the sending speed in words per minute.
If not specified, the default
speed of 20 WPM is used.
.It Fl c Ar speed
Farnsworth support.
Set the spacing between characters in words per minute.
This is independent of the speed
that the individual characters are sent.
If not specified, defaults to the effective value of the
.Fl w
option.
.It Fl f Ar frequency
Set the sidetone frequency to something other than the default 600 Hz.
.It Fl d Ar device
Similar to
.Fl p ,
but use the RTS line of
.Ar device
(which must be a TTY device)
in order to emit the morse code.
.It Fl e
Echo each character before it is sent, used together with either
.Fl p
or
.Fl d .
.It Fl r
Decode morse output consisting of dots and dashes (as generated by using
the
.Fl s
option).
.El
.Pp
The
.Fl w , c
and
.Fl f
flags only work in conjunction with either the
.Fl p
or the
.Fl d
flag.
.Pp
Not all prosigns have corresponding characters.
Use
.Ql #
for
.Em AS ,
.Ql &
for
.Em SK ,
.Ql *
for
.Em VE
and
.Ql %
for
.Em BK .
The more common prosigns are
.Ql =
for
.Em BT ,
.Ql \&(
for
.Em KN
and
.Ql +
for
.Em AR .
.Pp
Using the
.Fl d
flag,
it is possible to key an external device, like a sidetone generator with
a headset for training purposes, or even your ham radio transceiver.
For
the latter, simply connect an NPN transistor to the serial port
.Ar device ,
emitter connected to ground, base connected through a resistor
(few kiloohms) to RTS, collector to the key line of your transceiver
(assuming the transceiver has a positive key supply voltage and is keyed
by grounding the key input line).
A capacitor (some nanofarads) between
base and ground is advisable to keep stray RF away,
and to suppress the
minor glitch that is generated during program startup.
.Sh ENVIRONMENT
Your
.Ev LC_CTYPE
locale codeset determines how
characters with the high-order bit set
are interpreted.
.Pp
.Bl -tag -width ".Li ISO8859-15" -compact
.It Li ISO8859-1
.It Li ISO8859-15
Interpret characters with the high-order bit set as Western European characters.
.Pp
.It Li KOI8-R
Interpret characters with the high-order bit set as Cyrillic characters.
.Pp
.It Li ISO8859-7
Interpret characters with the high-order bit set as Greek characters.
.El
.Sh FILES
.Bl -tag -width ".Pa /dev/speaker" -compact
.It Pa /dev/speaker
.Xr speaker 4
device file
.El
.Sh SEE ALSO
.Xr speaker 4
.Rs
.%I ITU-T Recommendation F.1
.%R "Operational provisions for the international public telegram service"
.%O Division B, I. Morse code
.Re
.Rs
.%I ITU-R M.1677-1
.%R International Morse code
.%D 2009
.%U https://www.itu.int/rec/R-REC-M.1677-1-200910-I/
.Re
.Sh HISTORY
Sound support for
.Nm
added by
.An Lyndon Nerenberg (VE6BBM) Aq Mt lyndon@orthanc.ca .
.Pp
Ability to key an external device added by
.An J\(:org Wunsch
(DL8DTL).
.Pp
Farnsworth support for
.Nm
added by
.An Stephen Cravey (N5UUU) .
.Sh BUGS
Only understands a few European characters
(German and French),
no Asian characters,
and no continental landline code.
.Pp
Sends a bit slower than it should due to system overhead.
Some people would call this a feature.