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

Reply via email to