mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-07-31 13:02:27 -04:00
Compare commits
No commits in common. "1c6b167527a45e74bd9525d5a5754cf2dd1fa266" and "7e6342624c386be2302b2d07890cee1ecf8395fb" have entirely different histories.
1c6b167527
...
7e6342624c
@ -826,7 +826,9 @@ void SatelliteTrackerWorker::enableDoppler(SatWorkerState *satWorkerState)
|
|||||||
if (devSettings->m_doppler.size() > 0)
|
if (devSettings->m_doppler.size() > 0)
|
||||||
{
|
{
|
||||||
requiresDoppler = true;
|
requiresDoppler = true;
|
||||||
satWorkerState->m_doppler.append(0);
|
for (int j = 0; j < devSettings->m_doppler.size(); j++) {
|
||||||
|
satWorkerState->m_doppler.append(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (requiresDoppler)
|
if (requiresDoppler)
|
||||||
@ -834,8 +836,7 @@ void SatelliteTrackerWorker::enableDoppler(SatWorkerState *satWorkerState)
|
|||||||
qDebug() << "SatelliteTrackerWorker::applyDeviceAOSSettings: Enabling doppler for " << satWorkerState->m_name;
|
qDebug() << "SatelliteTrackerWorker::applyDeviceAOSSettings: Enabling doppler for " << satWorkerState->m_name;
|
||||||
satWorkerState->m_dopplerTimer.setInterval(m_settings.m_dopplerPeriod * 1000);
|
satWorkerState->m_dopplerTimer.setInterval(m_settings.m_dopplerPeriod * 1000);
|
||||||
satWorkerState->m_dopplerTimer.start();
|
satWorkerState->m_dopplerTimer.start();
|
||||||
disconnect(satWorkerState->m_connection);
|
connect(&satWorkerState->m_dopplerTimer, &QTimer::timeout, [this, satWorkerState]() {
|
||||||
satWorkerState->m_connection = connect(&satWorkerState->m_dopplerTimer, &QTimer::timeout, [this, satWorkerState]() {
|
|
||||||
doppler(satWorkerState);
|
doppler(satWorkerState);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -847,46 +848,29 @@ void SatelliteTrackerWorker::disableDoppler(SatWorkerState *satWorkerState)
|
|||||||
// Stop Doppler timer, and set interval to 0, so we don't restart it in start()
|
// Stop Doppler timer, and set interval to 0, so we don't restart it in start()
|
||||||
satWorkerState->m_dopplerTimer.stop();
|
satWorkerState->m_dopplerTimer.stop();
|
||||||
satWorkerState->m_dopplerTimer.setInterval(0);
|
satWorkerState->m_dopplerTimer.setInterval(0);
|
||||||
disconnect(satWorkerState->m_connection);
|
|
||||||
// Remove doppler correction from any channel
|
// Remove doppler correction from any channel
|
||||||
if (satWorkerState->m_doppler.size() > 0)
|
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *m_deviceSettingsList = m_settings.m_deviceSettings.value(satWorkerState->m_name);
|
||||||
|
if (m_deviceSettingsList)
|
||||||
{
|
{
|
||||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *m_deviceSettingsList = m_settings.m_deviceSettings.value(satWorkerState->m_name);
|
for (int i = 0; i < m_deviceSettingsList->size(); i++)
|
||||||
if (m_deviceSettingsList)
|
|
||||||
{
|
{
|
||||||
int idx = 0;
|
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
|
||||||
|
if (devSettings->m_doppler.size() > 0)
|
||||||
for (int i = 0; i < m_deviceSettingsList->size(); i++)
|
|
||||||
{
|
{
|
||||||
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
|
for (int j = 0; j < devSettings->m_doppler.size(); j++)
|
||||||
if (devSettings->m_doppler.size() > 0)
|
|
||||||
{
|
{
|
||||||
for (int j = 0; j < devSettings->m_doppler.size(); j++)
|
int offset;
|
||||||
|
if (ChannelWebAPIUtils::getFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
||||||
{
|
{
|
||||||
int offset;
|
// Remove old doppler
|
||||||
if (ChannelWebAPIUtils::getFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
offset += satWorkerState->m_doppler[i];
|
||||||
{
|
if (!ChannelWebAPIUtils::setFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
||||||
// Remove old doppler
|
qDebug() << "SatelliteTrackerWorker::doppler: Failed to set frequency offset";
|
||||||
std::vector<DeviceSet*>& deviceSets = MainCore::instance()->getDeviceSets();
|
|
||||||
ChannelAPI *channel = deviceSets[devSettings->m_deviceSetIndex]->getChannelAt(j);
|
|
||||||
int tx = false;
|
|
||||||
if (channel) {
|
|
||||||
tx = channel->getStreamType() == ChannelAPI::StreamSingleSource; // What if MIMO?
|
|
||||||
}
|
|
||||||
if (tx) {
|
|
||||||
offset -= satWorkerState->m_doppler[idx];
|
|
||||||
} else {
|
|
||||||
offset += satWorkerState->m_doppler[idx];
|
|
||||||
}
|
|
||||||
if (!ChannelWebAPIUtils::setFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
|
||||||
qDebug() << "SatelliteTrackerWorker::disableDoppler: Failed to set frequency offset";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
qDebug() << "SatelliteTrackerWorker::disableDoppler: Failed to get frequency offset";
|
|
||||||
}
|
}
|
||||||
satWorkerState->m_doppler[idx] = 0;
|
else
|
||||||
idx++;
|
qDebug() << "SatelliteTrackerWorker::doppler: Failed to get frequency offset";
|
||||||
}
|
}
|
||||||
|
satWorkerState->m_doppler[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -899,8 +883,6 @@ void SatelliteTrackerWorker::doppler(SatWorkerState *satWorkerState)
|
|||||||
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *m_deviceSettingsList = m_settings.m_deviceSettings.value(satWorkerState->m_name);
|
QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *m_deviceSettingsList = m_settings.m_deviceSettings.value(satWorkerState->m_name);
|
||||||
if (m_deviceSettingsList)
|
if (m_deviceSettingsList)
|
||||||
{
|
{
|
||||||
int idx = 0;
|
|
||||||
|
|
||||||
for (int i = 0; i < m_deviceSettingsList->size(); i++)
|
for (int i = 0; i < m_deviceSettingsList->size(); i++)
|
||||||
{
|
{
|
||||||
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
|
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
|
||||||
@ -933,14 +915,15 @@ void SatelliteTrackerWorker::doppler(SatWorkerState *satWorkerState)
|
|||||||
int initOffset;
|
int initOffset;
|
||||||
if (tx)
|
if (tx)
|
||||||
{
|
{
|
||||||
initOffset = offset - satWorkerState->m_doppler[idx];
|
initOffset = offset - satWorkerState->m_doppler[i];
|
||||||
offset = initOffset + doppler;
|
offset = initOffset + doppler;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
initOffset = offset + satWorkerState->m_doppler[idx];
|
initOffset = offset + satWorkerState->m_doppler[i];
|
||||||
offset = initOffset - doppler;
|
offset = initOffset - doppler;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ChannelWebAPIUtils::setFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
if (!ChannelWebAPIUtils::setFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
|
||||||
qDebug() << "SatelliteTrackerWorker::doppler: Failed to set frequency offset";
|
qDebug() << "SatelliteTrackerWorker::doppler: Failed to set frequency offset";
|
||||||
}
|
}
|
||||||
@ -948,12 +931,10 @@ void SatelliteTrackerWorker::doppler(SatWorkerState *satWorkerState)
|
|||||||
qDebug() << "SatelliteTrackerWorker::doppler: Failed to get frequency offset";
|
qDebug() << "SatelliteTrackerWorker::doppler: Failed to get frequency offset";
|
||||||
}
|
}
|
||||||
|
|
||||||
satWorkerState->m_doppler[idx] = doppler;
|
satWorkerState->m_doppler[i] = doppler;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
qDebug() << "SatelliteTrackerWorker::doppler: couldn't get centre frequency for device at " << devSettings->m_deviceSetIndex;
|
qDebug() << "SatelliteTrackerWorker::doppler: couldn't get centre frequency for device at " << devSettings->m_deviceSetIndex;
|
||||||
|
|
||||||
idx++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,6 @@ protected:
|
|||||||
QList<int> m_doppler; // How much doppler we've applied to a channel
|
QList<int> m_doppler; // How much doppler we've applied to a channel
|
||||||
SatelliteState m_satState;
|
SatelliteState m_satState;
|
||||||
bool m_hasSignalledAOS; // For pass specified by m_aos and m_los
|
bool m_hasSignalledAOS; // For pass specified by m_aos and m_los
|
||||||
QMetaObject::Connection m_connection;
|
|
||||||
|
|
||||||
friend SatelliteTrackerWorker;
|
friend SatelliteTrackerWorker;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user