Updates to GUI for different QRA66 sequence lengths and submodes.

This commit is contained in:
Joe Taylor 2020-08-08 14:37:01 -04:00
parent e4fad77fa5
commit d683cb6b8e

View File

@ -1367,7 +1367,11 @@ void MainWindow::fixStop()
m_hsymStop=179; m_hsymStop=179;
if(m_config.decode_at_52s()) m_hsymStop=186; if(m_config.decode_at_52s()) m_hsymStop=186;
} else if (m_mode=="QRA66"){ } else if (m_mode=="QRA66"){
m_hsymStop=49; m_hsymStop=48;
if(m_TRperiod==30) m_hsymStop=96;
if(m_TRperiod==60) m_hsymStop=196;
if(m_TRperiod==120) m_hsymStop=401;
if(m_TRperiod==300) m_hsymStop=1027;
} else if (m_mode=="FreqCal"){ } else if (m_mode=="FreqCal"){
m_hsymStop=((int(m_TRperiod/0.288))/8)*8; m_hsymStop=((int(m_TRperiod/0.288))/8)*8;
} else if (m_mode=="FT8") { } else if (m_mode=="FT8") {
@ -3684,7 +3688,13 @@ void MainWindow::guiUpdate()
if(m_modeTx=="JT9") txDuration=1.0 + 85.0*m_nsps/12000.0; // JT9 if(m_modeTx=="JT9") txDuration=1.0 + 85.0*m_nsps/12000.0; // JT9
if(m_modeTx=="JT65") txDuration=1.0 + 126*4096/11025.0; // JT65 if(m_modeTx=="JT65") txDuration=1.0 + 126*4096/11025.0; // JT65
if(m_modeTx=="QRA64") txDuration=1.0 + 84*6912/12000.0; // QRA64 if(m_modeTx=="QRA64") txDuration=1.0 + 84*6912/12000.0; // QRA64
if(m_modeTx=="QRA66") txDuration=0.5 + 85*1920/12000.0; // QRA66 if(m_modeTx=="QRA66") { // QRA66
if(m_TRperiod==15) txDuration=0.5 + 85*1800/12000.0;
if(m_TRperiod==30) txDuration=0.5 + 85*3600/12000.0;
if(m_TRperiod==60) txDuration=1.0 + 85*7680/12000.0;
if(m_TRperiod==120) txDuration=1.0 + 85*16000/12000.0;
if(m_TRperiod==300) txDuration=1.0 + 85*41472/12000.0;
}
if(m_modeTx=="WSPR") txDuration=2.0 + 162*8192/12000.0; // WSPR if(m_modeTx=="WSPR") txDuration=2.0 + 162*8192/12000.0; // WSPR
if(m_modeTx=="FST4" or m_mode=="FST4W") { //FST4, FST4W if(m_modeTx=="FST4" or m_mode=="FST4W") { //FST4, FST4W
if(m_TRperiod==15) txDuration=1.0 + 160*720/12000.0; if(m_TRperiod==15) txDuration=1.0 + 160*720/12000.0;
@ -4248,7 +4258,7 @@ void MainWindow::guiUpdate()
//Once per second: //Once per second:
if(nsec != m_sec0) { if(nsec != m_sec0) {
// qDebug() << "AAA" << nsec; // qDebug() << "onesec" << m_hsymStop << m_TRperiod;
m_currentBand=m_config.bands()->find(m_freqNominal); m_currentBand=m_config.bands()->find(m_freqNominal);
if( SpecOp::HOUND == m_config.special_op_id() ) { if( SpecOp::HOUND == m_config.special_op_id() ) {
qint32 tHound=QDateTime::currentMSecsSinceEpoch()/1000 - m_tAutoOn; qint32 tHound=QDateTime::currentMSecsSinceEpoch()/1000 - m_tAutoOn;
@ -6423,7 +6433,8 @@ void MainWindow::on_actionQRA66_triggered()
switch_mode (Modes::QRA64); switch_mode (Modes::QRA64);
setup_status_bar (false); setup_status_bar (false);
m_hsymStop=49; m_hsymStop=49;
m_TRperiod=15.0; ui->sbTR->values ({15, 30, 60, 120, 300});
on_sbTR_valueChanged (ui->sbTR->value());
m_wideGraph->setMode(m_mode); m_wideGraph->setMode(m_mode);
m_wideGraph->setModeTx(m_modeTx); m_wideGraph->setModeTx(m_modeTx);
m_wideGraph->setPeriod(m_TRperiod,6912); m_wideGraph->setPeriod(m_TRperiod,6912);
@ -7391,9 +7402,15 @@ void MainWindow::transmit (double snr)
} }
if (m_modeTx == "QRA66") { if (m_modeTx == "QRA66") {
toneSpacing=12000.0/1800.0; int nsps=1800;
if(m_TRperiod==30) nsps=3600;
if(m_TRperiod==60) nsps=7680;
if(m_TRperiod==120) nsps=16000;
if(m_TRperiod==300) nsps=41472;
int mode66=pow(2.0,double(m_nSubMode));
toneSpacing=mode66*12000.0/nsps;
Q_EMIT sendMessage (m_mode, NUM_QRA66_SYMBOLS, Q_EMIT sendMessage (m_mode, NUM_QRA66_SYMBOLS,
1800.0, ui->TxFreqSpinBox->value () - m_XIT, double(nsps), ui->TxFreqSpinBox->value () - m_XIT,
toneSpacing, m_soundOutput, m_config.audio_output_channel (), toneSpacing, m_soundOutput, m_config.audio_output_channel (),
true, false, snr, m_TRperiod); true, false, snr, m_TRperiod);
} }
@ -7651,23 +7668,17 @@ void::MainWindow::VHF_features_enabled(bool b)
void MainWindow::on_sbTR_valueChanged(int value) void MainWindow::on_sbTR_valueChanged(int value)
{ {
// if(!m_bFastMode and n>m_nSubMode) m_MinW=m_nSubMode; // if(!m_bFastMode and n>m_nSubMode) m_MinW=m_nSubMode;
if(m_bFastMode or m_mode=="FreqCal" or m_mode=="FST4" or m_mode=="FST4W") { if(m_bFastMode or m_mode=="FreqCal" or m_mode=="FST4" or m_mode=="FST4W" or m_mode=="QRA66") {
m_TRperiod = value; m_TRperiod = value;
if (m_mode == "FST4" || m_mode == "FST4W") if (m_mode == "FST4" or m_mode == "FST4W" or m_mode=="QRA66") {
{ if (m_TRperiod < 60) {
if (m_TRperiod < 60)
{
ui->decodedTextLabel->setText(" UTC dB DT Freq " + tr ("Message")); ui->decodedTextLabel->setText(" UTC dB DT Freq " + tr ("Message"));
if (m_mode != "FST4W") if (m_mode != "FST4W") {
{
ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message")); ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message"));
} }
} } else {
else
{
ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message")); ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
if (m_mode != "FST4W") if (m_mode != "FST4W") {
{
ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message")); ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
} }
} }