1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 13:47:01 -04:00

Map updates:

Allow selection of which device to tune to frequency.
Support tuning of multiple frequencies per map item.
Update maplibre to maplibregl.
This commit is contained in:
srcejon
2023-12-05 12:30:25 +00:00
parent 78068fd5f2
commit 070f8077b2
9 changed files with 206 additions and 75 deletions
+22 -12
View File
@@ -516,8 +516,8 @@ QHash<int, QByteArray> ObjectMapModel::roleNames() const
roles[bubbleColourRole] = "bubbleColour";
roles[selectedRole] = "selected";
roles[targetRole] = "target";
roles[frequencyRole] = "frequency";
roles[frequencyStringRole] = "frequencyString";
roles[frequenciesRole] = "frequencies";
roles[frequencyStringsRole] = "frequencyStrings";
roles[predictedGroundTrack1Role] = "predictedGroundTrack1";
roles[predictedGroundTrack2Role] = "predictedGroundTrack2";
roles[groundTrack1Role] = "groundTrack1";
@@ -675,10 +675,10 @@ QVariant ObjectMapModel::data(const QModelIndex &index, int role) const
return QVariant::fromValue(m_selected[row]);
case targetRole:
return QVariant::fromValue(m_target == row);
case frequencyRole:
return QVariant::fromValue(mapItem->m_frequency);
case frequencyStringRole:
return QVariant::fromValue(mapItem->m_frequencyString);
case frequenciesRole:
return QVariant::fromValue(mapItem->m_frequencies);
case frequencyStringsRole:
return QVariant::fromValue(mapItem->m_frequencyStrings);
case predictedGroundTrack1Role:
{
if ( (m_displayAllGroundTracks || (m_displaySelectedGroundTracks && m_selected[row]))
@@ -780,12 +780,6 @@ void ObjectMapModel::setDisplayAllGroundTracks(bool displayGroundTracks)
allUpdated();
}
void ObjectMapModel::setFrequency(double frequency)
{
// Set as centre frequency
ChannelWebAPIUtils::setCenterFrequency(0, frequency);
}
void ObjectMapModel::track3D(int index)
{
if (index < m_items.count())
@@ -795,6 +789,22 @@ void ObjectMapModel::track3D(int index)
}
}
QStringList ObjectMapModel::getDeviceSets() const
{
return MainCore::instance()->getDeviceSetIds(true, true, false); // FIXME: MIMO currently disabled, as we can't get channel stream indexes
}
void ObjectMapModel::setFrequency(qint64 frequency, const QString& deviceSetId)
{
unsigned int deviceSetIndex;
if (MainCore::getDeviceSetIndexFromId(deviceSetId, deviceSetIndex))
{
// Set as centre frequency
ChannelWebAPIUtils::setCenterFrequency(deviceSetIndex, frequency);
}
}
void ObjectMapModel::splitTracks(ObjectMapItem *item)
{
if (item->m_takenTrackCoords.size() > 1)