[X] resync issue
[X] equalise power on 700 and 1600
[X] research real and complex PAPR
- [ ] Squelch control on 1600 mode will not open up squelch to 0 (appears to be around 2 dB)
- [ ] waterfall and spectrum in analog mode
+ [X] waterfall and spectrum in analog mode
+ [X] The waterfall in analog mode appears to quit working sometimes?
+ [ ] Squelch control on 1600 mode will not open up squelch to 0 (appears to be around 2 dB)
[ ] On TX, intermittently PTT will cause signal to be heard in speakers. Toggle PTT or
Stop/Start toggle and then starts working.
[ ] There is a .dll missing otherwise FreeDV will not excite. We tested it on xp, win7, 8, 8.1 and 10.
Needs ilbusb0.dll the 32bit one on all releases.
- [ ] The waterfall in analog mode appears to quit working sometimes?
[ ] I am not sure the "checksum" is still working when enabled (1600 mode)
[ ] FreeDV 700 improvements
void MainFrame::OnCmdSliderScroll(wxScrollEvent& event)
{
char sqsnr[15];
- g_SquelchLevel = (float)m_sliderSQ->GetValue()/2.0;
+ g_SquelchLevel = (float)m_sliderSQ->GetValue()/2.0;
sprintf(sqsnr, "%4.1f", g_SquelchLevel); // 0.5 dB steps
wxString sqsnr_string(sqsnr);
m_textSQ->SetLabel(sqsnr_string);
resample_for_plot(g_plotDemodInFifo, in8k_short, n8k, samplerate);
+ // send latest squelch level to FreeDV API, as it handles squelch internally
+
+ if (g_SquelchActive)
+ g_pfreedv->snr_squelch_thresh = g_SquelchLevel;
+ else
+ g_pfreedv->snr_squelch_thresh = -100.0;
+
// Get some audio to send to headphones/speaker. If in analog
// mode we pass thru the "from radio" audio to the
// headphones/speaker.
per_frame_rx_processing(cbData->rxoutfifo, cbData->rxinfifo);
memset(out8k_short, 0, sizeof(short)*N8);
fifo_read(cbData->rxoutfifo, out8k_short, N8);
- }
+ }
// Optional Spk Out EQ Filtering, need mutex as filter can change at run time
}
g_mutexProtectingCallbackData.Unlock();
- // note squelch automatically disabled in analog mode
-
- if (g_SquelchActive && (g_SquelchLevel > g_snr) && !g_analog) {
- //printf("g_SquelchLevel: %f g_snr: %f\n", g_SquelchLevel, g_snr);
- memset(out8k_short, 0, sizeof(short)*N8);
- }
-
resample_for_plot(g_plotSpeechOutFifo, out8k_short, N8, FS);
g_mutexProtectingCallbackData.Lock();
nin = freedv_nin(g_pfreedv);
g_State = g_pfreedv->sync;
+ //fprintf(g_logfile, "g_State: %d g_stats.sync: %d snr: %f \n", g_State, g_stats.sync, f->snr);
// compute rx spectrum