Dynamic update of on DX echo Doppler shift correction

Tnx Bob, KA1GT, and Charlie, G3WDG.
This commit is contained in:
Bill Somerville 2020-09-02 21:25:58 +01:00
parent a623ed0baf
commit c5349f8da9
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
2 changed files with 41 additions and 46 deletions

View File

@ -42,7 +42,7 @@ Astro::Astro(QSettings * settings, Configuration const * configuration, QWidget
, m_DopplerMethod {0} , m_DopplerMethod {0}
, m_dop {0} , m_dop {0}
, m_dop00 {0} , m_dop00 {0}
, m_dx_two_way_dop {0} //, m_dx_two_way_dop {0}
{ {
ui_->setupUi (this); ui_->setupUi (this);
setWindowTitle (QApplication::applicationName () + " - " + tr ("Astronomical Data")); setWindowTitle (QApplication::applicationName () + " - " + tr ("Astronomical Data"));
@ -174,7 +174,6 @@ auto Astro::astroUpdate(QDateTime const& t, QString const& mygrid, QString const
correction.rx = m_dop; correction.rx = m_dop;
break; break;
//case 5: // All Doppler correction done here; DX station stays at nominal dial frequency. //case 5: // All Doppler correction done here; DX station stays at nominal dial frequency.
case 3: // Both stations do full correction on Rx and none on Tx case 3: // Both stations do full correction on Rx and none on Tx
//correction.rx = dx_is_self ? m_dop00 : m_dop; //correction.rx = dx_is_self ? m_dop00 : m_dop;
correction.rx = m_dop00; // Now always sets RX to *own* echo freq correction.rx = m_dop00; // Now always sets RX to *own* echo freq
@ -183,7 +182,6 @@ auto Astro::astroUpdate(QDateTime const& t, QString const& mygrid, QString const
// Doppler correction to constant frequency on Moon // Doppler correction to constant frequency on Moon
correction.rx = m_dop00 / 2; correction.rx = m_dop00 / 2;
break; break;
} }
switch (m_DopplerMethod) switch (m_DopplerMethod)
{ {
@ -194,9 +192,8 @@ auto Astro::astroUpdate(QDateTime const& t, QString const& mygrid, QString const
case 3: correction.tx = 0; case 3: correction.tx = 0;
break; break;
case 4: // correction.tx = m_dop - m_dop00; case 4: // correction.tx = m_dop - m_dop00;
correction.tx = (2 * (m_dop - (m_dop00/2))) - m_dop;
correction.tx = m_dx_two_way_dop - m_dop; //qDebug () << "correction.tx:" << correction.tx;
qDebug () << "correction.tx:" << correction.tx;
break; break;
case 5: correction.tx = - m_dop00; case 5: correction.tx = - m_dop00;
break; break;
@ -247,17 +244,15 @@ auto Astro::astroUpdate(QDateTime const& t, QString const& mygrid, QString const
case 4: case 4:
// Doppler correction for OnDxEcho // Doppler correction for OnDxEcho
offset = m_dop - m_dx_two_way_dop; offset = m_dop - (2 * (m_dop - (m_dop00/2)));
break; break;
//case 5: correction.tx = - m_dop00; //case 5: correction.tx = - m_dop00;
case 5: offset = m_dop00;// version for _7 case 5: offset = m_dop00;// version for _7
break; break;
} }
correction.tx = -offset; correction.tx = -offset;
qDebug () << "correction.tx (no tx qsy):" << correction.tx; //qDebug () << "correction.tx (no tx qsy):" << correction.tx;
} }
} }
return correction; return correction;
@ -281,14 +276,14 @@ void Astro::on_rbFullTrack_clicked()
Q_EMIT tracking_update (); Q_EMIT tracking_update ();
} }
void Astro::on_rbOnDxEcho_clicked(bool checked) void Astro::on_rbOnDxEcho_clicked() //on_rbOnDxEcho_clicked(bool checked)
{ {
m_DopplerMethod = 4; m_DopplerMethod = 4;
check_split (); check_split ();
if (checked) { //if (checked) {
m_dx_two_way_dop = 2 * (m_dop - (m_dop00/2)); // m_dx_two_way_dop = 2 * (m_dop - (m_dop00/2));
qDebug () << "Starting Doppler:" << m_dx_two_way_dop; // qDebug () << "Starting Doppler:" << m_dx_two_way_dop;
} //}
Q_EMIT tracking_update (); Q_EMIT tracking_update ();
} }

View File

@ -59,7 +59,7 @@ private slots:
void on_rbFullTrack_clicked(); void on_rbFullTrack_clicked();
void on_rbOwnEcho_clicked(); void on_rbOwnEcho_clicked();
void on_rbNoDoppler_clicked(); void on_rbNoDoppler_clicked();
void on_rbOnDxEcho_clicked(bool); void on_rbOnDxEcho_clicked();
void on_rbCallDx_clicked(); void on_rbCallDx_clicked();
void on_cbDopplerTracking_toggled(bool); void on_cbDopplerTracking_toggled(bool);
@ -75,7 +75,7 @@ private:
qint32 m_DopplerMethod; qint32 m_DopplerMethod;
int m_dop; int m_dop;
int m_dop00; int m_dop00;
int m_dx_two_way_dop; //int m_dx_two_way_dop;
}; };
inline inline