util/spkmodem_recv: Move logic out of main
Main should only be a skeletal structure. Actual logic should always be handled externally. Signed-off-by: Leah Rowe <leah@libreboot.org>fsdg20230625
parent
3d55429443
commit
179323819b
|
@ -27,56 +27,62 @@ int amplitude = 0;
|
||||||
int lp = 0;
|
int lp = 0;
|
||||||
|
|
||||||
void read_sample(void);
|
void read_sample(void);
|
||||||
|
void print_chars(void);
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int ascii_bit = 7;
|
|
||||||
char ascii = 0;
|
|
||||||
int i;
|
|
||||||
int llp = 0;
|
|
||||||
|
|
||||||
(void)argc; (void)argv;
|
(void)argc; (void)argv;
|
||||||
|
|
||||||
while (!feof(stdin)) {
|
while (!feof(stdin))
|
||||||
if (lp > 3 * SAMPLES_PER_FRAME) {
|
print_chars();
|
||||||
ascii_bit = 7;
|
|
||||||
ascii = 0;
|
|
||||||
lp = 0;
|
|
||||||
llp++;
|
|
||||||
}
|
|
||||||
if (llp == FLUSH_TIMEOUT)
|
|
||||||
fflush(stdout);
|
|
||||||
|
|
||||||
if (f2 <= FREQ_SEP_MIN || f2 >= FREQ_SEP_MAX
|
|
||||||
|| f1 <= FREQ_DATA_MIN || f1 >= FREQ_DATA_MAX) {
|
|
||||||
read_sample();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
#if DEBUG
|
|
||||||
printf ("%d %d %d @%d\n", f1, f2, FREQ_DATA_THRESHOLD,
|
|
||||||
ftell(stdin) - sizeof(frame));
|
|
||||||
#endif
|
|
||||||
if (f1 < FREQ_DATA_THRESHOLD)
|
|
||||||
ascii |= (1 << ascii_bit);
|
|
||||||
ascii_bit--;
|
|
||||||
if (ascii_bit < 0) {
|
|
||||||
#if DEBUG
|
|
||||||
printf("<%c, %x>", ascii, ascii);
|
|
||||||
#else
|
|
||||||
printf("%c", ascii);
|
|
||||||
#endif
|
|
||||||
ascii_bit = 7;
|
|
||||||
ascii = 0;
|
|
||||||
}
|
|
||||||
lp = 0;
|
|
||||||
llp = 0;
|
|
||||||
for (i = 0; i < SAMPLES_PER_FRAME; i++)
|
|
||||||
read_sample();
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
print_chars(void)
|
||||||
|
{
|
||||||
|
static int ascii_bit = 7;
|
||||||
|
static char ascii = 0;
|
||||||
|
static int llp = 0;
|
||||||
|
|
||||||
|
if (lp > 3 * SAMPLES_PER_FRAME) {
|
||||||
|
ascii_bit = 7;
|
||||||
|
ascii = 0;
|
||||||
|
lp = 0;
|
||||||
|
llp++;
|
||||||
|
}
|
||||||
|
if (llp == FLUSH_TIMEOUT)
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
if (f2 <= FREQ_SEP_MIN || f2 >= FREQ_SEP_MAX
|
||||||
|
|| f1 <= FREQ_DATA_MIN || f1 >= FREQ_DATA_MAX) {
|
||||||
|
read_sample();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
printf ("%d %d %d @%d\n", f1, f2, FREQ_DATA_THRESHOLD,
|
||||||
|
ftell(stdin) - sizeof(frame));
|
||||||
|
#endif
|
||||||
|
if (f1 < FREQ_DATA_THRESHOLD)
|
||||||
|
ascii |= (1 << ascii_bit);
|
||||||
|
ascii_bit--;
|
||||||
|
if (ascii_bit < 0) {
|
||||||
|
#if DEBUG
|
||||||
|
printf("<%c, %x>", ascii, ascii);
|
||||||
|
#else
|
||||||
|
printf("%c", ascii);
|
||||||
|
#endif
|
||||||
|
ascii_bit = 7;
|
||||||
|
ascii = 0;
|
||||||
|
}
|
||||||
|
lp = 0;
|
||||||
|
llp = 0;
|
||||||
|
for (int i = 0; i < SAMPLES_PER_FRAME; i++)
|
||||||
|
read_sample();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
read_sample(void)
|
read_sample(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue