FreeCalypso > hg > sipout-test-utils
view test-fsk/modem_rx.c @ 6:ba66d297fe57
test-fsk: first attempt at modem Rx
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 04 Mar 2024 23:21:07 -0800 |
parents | |
children | 6d832abad660 |
line wrap: on
line source
/* * In this module we implement modem Rx handling, revolving around * FSK demodulation via SpanDSP. */ #include <sys/types.h> #include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <spandsp.h> #include "../include/pstn_defs.h" extern int fsk_mode_rx; static fsk_rx_state_t *fsk_rx_state; static void byte_rx_func(user_data, byte) void *user_data; int byte; { if (byte < 0) { printf("Modem state change: %s\n", signal_status_to_str(byte)); return; } printf("Rx byte: 0x%02X\n", byte); } void init_modem_rx() { fsk_rx_state = fsk_rx_init(NULL, &preset_fsk_specs[fsk_mode_rx], FSK_FRAME_MODE_FRAMED, byte_rx_func, NULL); if (!fsk_rx_state) { fprintf(stderr, "error: fsk_rx_init() failed!\n"); exit(1); } } void process_rx_frame(samples) int16_t *samples; { fsk_rx(fsk_rx_state, samples, FRAME_20MS); }