From c2fa2dae93c4e6b54e29926c15b5c111f1dad5d0 Mon Sep 17 00:00:00 2001 From: Kamal Mostafa Date: Sat, 3 Nov 2012 13:26:10 -0700 Subject: [PATCH] fsk: fix FSK_DEBUG character decode --- src/fsk.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/fsk.c b/src/fsk.c index 28053b2..a6cc926 100644 --- a/src/fsk.c +++ b/src/fsk.c @@ -492,9 +492,20 @@ fsk_find_frame( fsk_plan *fskp, float *samples, unsigned int frame_nsamples, if ( confidence == 0 ) return 0; - // FIXME? hardcoded chop off framing bits for debug #ifdef FSK_DEBUG - unsigned char bitchar = ( *bits_outp >> 2 ) & 0xFF; + unsigned char bitchar; + // FIXME? hardcoded chop off framing bits for debug + // Hmmm... we have now way to distinguish between: + // 8-bit data with no start/stopbits == 8 bits + // 5-bit with prevstop+start+stop == 8 bits + switch ( expect_n_bits ) { + case 11: bitchar = ( *bits_outp >> 2 ) & 0xFF; + break; + case 8: + default: + bitchar = *bits_outp & 0xFF; + break; + } debug_log("FSK_FRAME bits='"); for ( j=0; j