A few notes: the CLIP/ERR LED is completely software. They only
connect to the CPU.
It's a CLIP indicator during transmit, and an ERR indicator during receive.
I think the code probably needs more. Currently the RX LED code in
sm1000.main is:
led_rt(freedv_get_sync(f));
led_err(freedv_get_total_bit_errors(f));
The get_sync is true during either the SYNC or TRIAL mode.
The error LED, or bit error counter is active during SYNC or TRIAL but
not SEARCH.
maybe something like this:
if (freedv_get_sync(f)) {
led_rt(1);
led_err(freedv_get_total_bit_errors(f);
}
That way the error light is disabled during SEARCH for sync by not
even checking the count.
In freedv_api.c we probably need an adjustment to freedv_comprx()
function around line 2463. That is, never send undemodulated audio
during a digital mode. Change it to:
if (valid <= 0) { /* SEARCH or SQUELCH */
/* squelch */
for (i = 0; i < nout; i++)
speech_out[i] = 0;
}
else { /* SYNC || TRIAL */
}
Just a quick pass through the code.
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2