aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-15 08:16:17 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-15 08:16:17 +0200
commit89440117c1c7d36b3bfb948296b40e899c9c2196 (patch)
tree5235e24e1ad569b369e5607da1eafbcbfcfc3fdf /src
parent20b6f5e1cb9e0c9fd71b124e1735472058f25b50 (diff)
downloadglutte-o-matic-89440117c1c7d36b3bfb948296b40e899c9c2196.tar.gz
glutte-o-matic-89440117c1c7d36b3bfb948296b40e899c9c2196.tar.bz2
glutte-o-matic-89440117c1c7d36b3bfb948296b40e899c9c2196.zip
Modify handling of cw_done
Diffstat (limited to 'src')
-rw-r--r--src/common/src/Core/main.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/common/src/Core/main.c b/src/common/src/Core/main.c
index 6e79078..417c7af 100644
--- a/src/common/src/Core/main.c
+++ b/src/common/src/Core/main.c
@@ -516,16 +516,18 @@ static void exercise_fsm(void __attribute__ ((unused))*pvParameters)
}
last_tm_trigger_button = tm_trigger_button;
- int cw_done = !cw_psk31_busy();
- if (last_cw_done != cw_done) {
+ const int cw_psk31_done = !cw_psk31_busy();
+ const int cw_done = cw_psk31_done || only_zero_in_audio_buffer;
- // On fait le switch du cw_done vers 1 QUE si les buffers audio ont été flushés
- if (!cw_done || only_zero_in_audio_buffer) {
- usart_debug("In CW done %d\r\n", cw_done);
- last_cw_done = cw_done;
+ // Set the done flag to 1 only once, when cw_done switches from 0 to 1
+ if (last_cw_done != cw_done) {
+ usart_debug("In cw_done change %d %d\r\n", cw_done, only_zero_in_audio_buffer);
+ if (cw_done) {
fsm_input.cw_psk31_done = cw_done;
}
+
+ last_cw_done = cw_done;
}
else {
fsm_input.cw_psk31_done = 0;