From 9187dd60a74240955801a7357e29097058e3b56c Mon Sep 17 00:00:00 2001 From: Kamal Mostafa Date: Sat, 1 Sep 2012 13:34:50 -0700 Subject: [PATCH] minimodem: --rx same (NOAA SAME protocol) --- src/minimodem.1.in | 24 +++++++++++++++++------- src/minimodem.c | 11 +++++++++++ 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/minimodem.1.in b/src/minimodem.1.in index b23a565..6cfdaab 100644 --- a/src/minimodem.1.in +++ b/src/minimodem.1.in @@ -129,22 +129,27 @@ Run and report internal performance tests (all other flags are ignored). print program version .SH {baudmode} The required \fI{baudmode}\fR parameter may be any floating-point value to -specify a baud rate, or the string "rtty". +specify a baud rate, or either of the strings "rtty" or "same". The \fI{baudmode}\fR also implies certain other parameter defaults depending on the rate, including standard (or at least reasonable) default mark and space tone frequencies. .TP +.B {any floating point value N} +: Bell-syle N bps \-\-ascii +.TP .B 1200 - : Bell202 1200 bps \-\-ascii +: Bell202 1200 bps \-\-ascii .TP .B 300 - : Bell103 300 bps \-\-ascii +: Bell103 300 bps \-\-ascii .TP .B rtty - : RTTY 45.45 bps \-\-baudot \-\-stopbits 1.5 +: RTTY 45.45 bps \-\-baudot \-\-stopbits 1.5 .TP -.B {any floating point value N} - : Bell-like N bps \-\-ascii +.B same +: SAME 520.83 bps \-\-startbits 0 \-\-stopbits 0 \-\-sync-byte 0xAB +.br + NOAA Specific Area Message Encoding (SAME) protocol .SH EXAMPLES .TP .B minimodem --tx 100 @@ -153,9 +158,14 @@ Transmit 100 baud tones from one computer ... .B minimodem --rx 100 and receive 100 baud tones on another nearby computer. .TP -.B minimodem --rx --auto-carrier rtty +.B minimodem --rx -a rtty Decode amateur radio RTTY signals (listen near 14.085 MHz). .TP +.B minimodem --rx same +Decode NOAA SAME protocol emergency alert transmissions, e.g. +.br +http://en.wikipedia.org/wiki/Specific_Area_Message_Encoding +.TP .B minimodem --tx 0.5 Experiment with very low baud rates (works in noisy conditions). .TP diff --git a/src/minimodem.c b/src/minimodem.c index 2a8ed87..4b3e17e 100644 --- a/src/minimodem.c +++ b/src/minimodem.c @@ -563,6 +563,17 @@ main( int argc, char*argv[] ) bfsk_n_data_bits = 5; if ( bfsk_nstopbits < 0 ) bfsk_nstopbits = 1.5; + } else if ( strncasecmp(modem_mode, "same",5)==0 ) { + // http://www.nws.noaa.gov/nwr/nwrsame.htm + bfsk_data_rate = 520.0 + 5/6.0; + bfsk_n_data_bits = 8; + bfsk_nstartbits = 0; + bfsk_nstopbits = 0; + bfsk_sync_on_data = 1; + bfsk_sync_byte = 0xAB; + bfsk_mark_f = 2083.0 + 1/3.0; + bfsk_space_f = 1562.5; + band_width = bfsk_data_rate; } else { bfsk_data_rate = atof(modem_mode); if ( bfsk_n_data_bits == 0 )