if (f->mode == FREEDV_MODE_1600)
fdmdv_get_demod_stats(f->fdmdv, &f->stats);
#ifndef CORTEX_M4
- if (f->mode == FREEDV_MODE_700)
+ if ((f->mode == FREEDV_MODE_700) || (f->mode == FREEDV_MODE_700B))
cohpsk_get_demod_stats(f->cohpsk, &f->stats);
#endif
if (sync) *sync = f->stats.sync;
struct CODEC2 *freedv_get_codec2 (struct freedv *f){return f->codec2;}
void freedv_get_modem_extended_stats(struct freedv *f, struct MODEM_STATS *stats)
- { memcpy(stats, &f->stats, sizeof(struct MODEM_STATS)); }
+{
+ if (f->mode == FREEDV_MODE_1600)
+ fdmdv_get_demod_stats(f->fdmdv, stats);
+#ifndef CORTEX_M4
+ if ((f->mode == FREEDV_MODE_700) || (f->mode == FREEDV_MODE_700B))
+ cohpsk_get_demod_stats(f->cohpsk, stats);
+#endif
+}
/*-- Functions below this line are private, and not meant for public use --*/
/*---------------------------------------------------------------------------*\
freedv = freedv_open(mode);
assert(freedv != NULL);
- if ( (argc > 3) && (strcmp(argv[4], "--testframes") == 0) ) {
+ if ( (argc > 4) && (strcmp(argv[4], "--testframes") == 0) ) {
freedv_set_test_frames(freedv, 1);
}
freedv_set_snr_squelch_thresh(freedv, -100.0);