aboutsummaryrefslogtreecommitdiffstats
path: root/src/cnetz/dsp.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2016-10-07 08:00:34 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2016-10-07 08:00:34 +0200
commit8ef966aa21f58c867a9dd8b60108e489c1dc2f8f (patch)
tree7cc25967b80e837198f898cb618bd356cd3f9f38 /src/cnetz/dsp.c
parenteac595bd173da32917046615132d1029ff01091b (diff)
C-Netz: Reset FSK decoder when switching channel mode
This prevents corrupt frames, as well as clear pending frames that were received during the old mode, but may not be received during the new mode.
Diffstat (limited to 'src/cnetz/dsp.c')
-rw-r--r--src/cnetz/dsp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cnetz/dsp.c b/src/cnetz/dsp.c
index d9c92ca..5cea636 100644
--- a/src/cnetz/dsp.c
+++ b/src/cnetz/dsp.c
@@ -855,6 +855,8 @@ void cnetz_set_dsp_mode(cnetz_t *cnetz, enum dsp_mode mode)
{
PDEBUG_CHAN(DDSP, DEBUG_DEBUG, "DSP mode %d -> %d\n", cnetz->dsp_mode, mode);
cnetz->dsp_mode = mode;
+ /* we must get rid of partly received frame */
+ fsk_demod_reset(&cnetz->fsk_demod);
}
void cnetz_set_sched_dsp_mode(cnetz_t *cnetz, enum dsp_mode mode, int frames_ahead)