summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/spkmodem_recv/spkmodem-recv.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c
index 29832919..58f59294 100644
--- a/util/spkmodem_recv/spkmodem-recv.c
+++ b/util/spkmodem_recv/spkmodem-recv.c
@@ -56,6 +56,7 @@ struct decoder_state {
static const char *argv0;
static void handle_audio(struct decoder_state *st);
+static int valid_signal(struct decoder_state *st);
static void decode_pulse(struct decoder_state *st);
static int set_ascii_bit(struct decoder_state *st);
static void print_char(struct decoder_state *st);
@@ -123,10 +124,7 @@ handle_audio(struct decoder_state *st)
if (st->sample_count > (3 * SAMPLES_PER_FRAME))
reset_char(st);
- if ((st->freq_separator > FREQ_SEP_MIN) &&
- (st->freq_separator < FREQ_SEP_MAX) &&
- (st->freq_data > FREQ_DATA_MIN) &&
- (st->freq_data < FREQ_DATA_MAX)) {
+ if (valid_signal(st)) {
if (set_ascii_bit(st) < 0)
print_char(st);
@@ -141,6 +139,15 @@ handle_audio(struct decoder_state *st)
}
}
+static int
+valid_signal(struct decoder_state *st)
+{
+ return (st->freq_separator > FREQ_SEP_MIN &&
+ st->freq_separator < FREQ_SEP_MAX &&
+ st->freq_data > FREQ_DATA_MIN &&
+ st->freq_data < FREQ_DATA_MAX);
+}
+
static void
decode_pulse(struct decoder_state *st)
{