From 8bfbfad5dd32ccda546423fd4db0e57b48ae5dbb Mon Sep 17 00:00:00 2001 From: Kamal Mostafa Date: Wed, 22 Jun 2011 16:10:31 -0700 Subject: [PATCH] minimodem.1 man page --- src/Makefile.am | 2 + src/Makefile.in | 104 ++++++++++++++++++++++++++++++++++++++++------ src/minimodem.1 | 108 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 202 insertions(+), 12 deletions(-) create mode 100644 src/minimodem.1 diff --git a/src/Makefile.am b/src/Makefile.am index 73052ad..f0aa8f0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,6 +14,8 @@ INCLUDES = $(DEPS_CFLAGS) bin_PROGRAMS = minimodem +dist_man_MANS = minimodem.1 + EXTRA_DIST = self-test testcases/* # run-test TESTS = testcases/test.* diff --git a/src/Makefile.in b/src/Makefile.in index 448c6ed..2d98239 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -43,7 +43,8 @@ PRE_UNINSTALL = : POST_UNINSTALL = : bin_PROGRAMS = minimodem$(EXEEXT) subdir = src -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -52,7 +53,7 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" PROGRAMS = $(bin_PROGRAMS) am__objects_1 = baudot.$(OBJEXT) am__objects_2 = fsk.$(OBJEXT) @@ -73,6 +74,30 @@ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(minimodem_SOURCES) DIST_SOURCES = $(minimodem_SOURCES) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(dist_man_MANS) ETAGS = etags CTAGS = ctags am__tty_colors = \ @@ -168,6 +193,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = -Wall # -Werror INCLUDES = $(DEPS_CFLAGS) +dist_man_MANS = minimodem.1 EXTRA_DIST = self-test testcases/* # run-test TESTS = testcases/test.* SIMPLEAUDIO_SRC = \ @@ -284,6 +310,44 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -430,6 +494,19 @@ check-TESTS: $(TESTS) else :; fi distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -462,9 +539,9 @@ distdir: $(DISTFILES) check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am -all-am: Makefile $(PROGRAMS) +all-am: Makefile $(PROGRAMS) $(MANS) installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -514,7 +591,7 @@ info: info-am info-am: -install-data-am: +install-data-am: install-man install-dvi: install-dvi-am @@ -530,7 +607,7 @@ install-info: install-info-am install-info-am: -install-man: +install-man: install-man1 install-pdf: install-pdf-am @@ -559,7 +636,9 @@ ps: ps-am ps-am: -uninstall-am: uninstall-binPROGRAMS +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 .MAKE: check-am install-am install-strip @@ -570,11 +649,12 @@ uninstall-am: uninstall-binPROGRAMS install-binPROGRAMS install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-man uninstall-man1 # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/src/minimodem.1 b/src/minimodem.1 new file mode 100644 index 0000000..cfd33e4 --- /dev/null +++ b/src/minimodem.1 @@ -0,0 +1,108 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH MINIMODEM 1 "June 22, 2011" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +minimodem \- software audio Bell-type or RTTY FSK modem +.SH SYNOPSIS +.B minimodem --tx +.RI [ options ] +.I {baudmode} +.br +.B minimodem --rx +.RI [ options ] +.I {baudmode} +.SH DESCRIPTION +.B minimodem +is a command-line program which generates (or decodes) audio modem tones, +emulating an old Bell-type or radio-teletype FSK modem. +The tones are played to (or recorded from) the default system audio device +or a file. +.PP +.B minimodem +can be used to transfer data between nearby computers using an audio +cable (or just via sound waves), or between remote computers using radio, +telephone, or another audio communications medium. +.SH "TX/RX MODE" +.TP +.B \-t, \-\-tx, \-\-transmit, \-\-write +transmit mode: generate audio tones +.TP +.B \-r, \-\-rx, \-\-receive, \-\-read +receive mode: decode audio tones +.SH OPTIONS +.TP +.B \-8, \-\-ascii +ASCII 8\-N\-1 +.TP +.B \-5, \-\-baudot +Baudot 5\-N\-1.5 +.TP +.B \-f, \-\-file {filename.flac} +encode or decode a FLAC audio file +.TP +.B \-b, \-\-bandwidth {rx_bandwidth} +.TP +.B \-M, \-\-mark {mark_freq} +.TP +.B \-S, \-\-space {space_freq} +.TP +.B \-T, \-\-txstopbits {m.n} +.SH {baudmode} +The required \fI{baudmode}\fR parameter may be any floating-point value to +specify a baud rate, or the string "rtty". +The \fI{baudmode}\fR also implies certain other parameter defaults +depending on the rate. +.TP +.B 1200 + : Bell202 1200 bps \-\-ascii +.TP +.B 300 + : Bell103 300 bps \-\-ascii (auto-rx-carrier) +.TP +.B N>=100 + : Bellxxx N bps \-\-ascii +.TP +.B N<100 + : RTTY N bps \-\-baudot +.TP +.B rtty + : RTTY 45.45 bps \-\-baudot +.SH EXAMPLES +.TP +.B minimodem --tx 100 +Transmit 100 baud tones from one computer ... +.TP +.B minimodem --rx 100 +and receive 100 baud tones on another nearby computer. +.TP +.B minimodem --rx rtty +Decode amateur radio RTTY signals (listen near 14.085 MHz). +.SH NOTES +.B minimodem does not decode AX.25 framed packets. +.PP +.B minimodem +does not support modem control ("AT") commands, nor does it produce +DTMF telephone dialing tones. +.SH AUTHOR +.B minimodem +was written by Kamal Mostafa . +.SH COPYRIGHT +Copyright \(co 2011 by Kamal Mostafa . +License GPLv3+: GNU GPL version 3 or later . +.br +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law.