summaryrefslogtreecommitdiff
path: root/util/spkmodem_recv
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-06-05 00:45:05 +0100
committerLeah Rowe <leah@libreboot.org>2023-06-05 00:46:41 +0100
commit118bb19ff84b013954b3032e93c7fb0fc926b15e (patch)
treee51e1d0057d0ab5b798476e3a4606fbc7985dc8f /util/spkmodem_recv
parentaf36cc7f93e797c73192e1cfd55b27d508aa87fa (diff)
util/spkmodem-recv: simplify stdout flush logic
when spkmodem-recv doesn't receive anything (via stdout) after a few frames, it's assumed that the console is dead and the buffered output is flushed this logic is assumed superfluous when -u is set Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'util/spkmodem_recv')
-rw-r--r--util/spkmodem_recv/spkmodem-recv.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/util/spkmodem_recv/spkmodem-recv.c b/util/spkmodem_recv/spkmodem-recv.c
index 903d6830..d43c27d9 100644
--- a/util/spkmodem_recv/spkmodem-recv.c
+++ b/util/spkmodem_recv/spkmodem-recv.c
@@ -20,11 +20,10 @@
#define THRESHOLD 500
#define DEBUG 0
-#define FLUSH_TIMEOUT 1
#define ERR() (errno = errno ? errno : ECANCELED)
signed short frame[2 * SAMPLES_PER_FRAME], pulse[2 * SAMPLES_PER_FRAME];
-int freq_data, freq_separator, sample_count, ascii_bit = 7;
+int flush, freq_data, freq_separator, sample_count, ascii_bit = 7;
char ascii = 0;
void handle_audio(void);
@@ -56,15 +55,12 @@ main(int argc, char *argv[])
void
handle_audio(void)
{
- static int flush_count = 0;
- if (sample_count > (3 * SAMPLES_PER_FRAME)) {
+ if ((flush = (sample_count > (3 * SAMPLES_PER_FRAME)))) {
ascii_bit = 7;
ascii = sample_count = 0;
- ++flush_count;
- }
- if (flush_count == FLUSH_TIMEOUT) /* TODO: reset flush count? */
if (fflush(stdout) == EOF)
err(ERR(), NULL);
+ }
if ((freq_separator <= FREQ_SEP_MIN) || (freq_separator >= FREQ_SEP_MAX)
|| (freq_data <= FREQ_DATA_MIN) || (freq_data >= FREQ_DATA_MAX)) {
fetch_sample();
@@ -73,7 +69,7 @@ handle_audio(void)
if (!set_ascii_bit())
print_char();
- sample_count = flush_count = 0;
+ sample_count = flush = 0;
for (int sample = 0; sample < SAMPLES_PER_FRAME; sample++)
fetch_sample();
}