In DXpedition mode, enforce a Fox CQ at least every 5 transmissions.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8559 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2018-03-13 17:32:52 +00:00
parent 16610d4572
commit f05ab39a30
2 changed files with 16 additions and 0 deletions

View File

@ -7570,6 +7570,19 @@ void MainWindow::foxTxSequencer()
if(islot >= m_Nslots) goto Transmit;
}
//One or more Tx slots are still available. See if it's time to call CQ.
if(m_nFoxTxSinceCQ >= 4) {
fm=ui->comboBoxCQ->currentText() + " " + m_config.my_callsign();
if(!fm.contains("/")) {
fm += " " + m_config.my_grid().mid(0,4);
m_fullFoxCallTime=now;
}
islot++;
foxGenWaveform(islot-1,fm);
if(islot >= m_Nslots) goto Transmit;
}
//One or more Tx slots are still available, repeat call to a Hound in the QSOqueue
while (!m_foxQSOqueue.isEmpty()) {
//should limit repeat transmissions here ?
@ -7622,6 +7635,7 @@ Transmit:
QString foxCall=m_config.my_callsign() + " ";
strncpy(&foxcom_.mycall[0], foxCall.toLatin1(),12); //Copy Fox callsign into foxcom_
foxgen_();
m_nFoxTxSinceCQ++;
for(auto a: m_foxQSO.keys()) {
int ncalls=m_foxQSO[a].ncall;
@ -7679,6 +7693,7 @@ void MainWindow::foxGenWaveform(int i,QString fm)
//Generate and accumulate the Tx waveform
fm += " ";
fm=fm.mid(0,40);
if(fm.mid(0,3)=="CQ ") m_nFoxTxSinceCQ=-1;
QString txModeArg;
txModeArg.sprintf("FT8fox %d",i+1);

View File

@ -431,6 +431,7 @@ private:
qint32 m_Nslots=5;
qint32 m_nFoxMsgTimes[5]={0,0,0,0,0};
qint32 m_tAutoOn;
qint32 m_nFoxTxSinceCQ=0;
bool m_btxok; //True if OK to transmit
bool m_diskData;