From beeb91f1daac062b6f977fdf603643c8da23c831 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 2 Jul 2021 15:37:11 +0100 Subject: [PATCH] Add SatelliteTracker to webapirequestmapper to partially fix #948 --- plugins/feature/satellitetracker/readme.md | 10 ++++++++++ sdrbase/webapi/webapirequestmapper.cpp | 6 ++++++ sdrbase/webapi/webapiutils.cpp | 2 ++ 3 files changed, 18 insertions(+) diff --git a/plugins/feature/satellitetracker/readme.md b/plugins/feature/satellitetracker/readme.md index 234b5069d..20f28e48a 100644 --- a/plugins/feature/satellitetracker/readme.md +++ b/plugins/feature/satellitetracker/readme.md @@ -197,3 +197,13 @@ SatNogs satellite database https://db.satnogs.org/ Satellite two-line elements (TLEs) are from Celestrak https://celestrak.com/ Icons are by Freepik from Flaticon https://www.flaticon.com/ + +

API

+ +Full details of the API can be found in the Swagger documentation. Here is a quick example of how to set the satellites to track: + + curl -X PATCH "http://127.0.0.1:8091/sdrangel/featureset/0/feature/0/settings" -d '{"featureType": "SatelliteTracker", "SatelliteTrackerSettings": { "satellites": [ "NOAA 15", "NOAA 19" ] }}' + +And how to set the target: + + curl -X PATCH "http://127.0.0.1:8091/sdrangel/featureset/0/feature/0/settings" -d '{"featureType": "SatelliteTracker", "SatelliteTrackerSettings": { "target": "NOAA 15" }}' diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp index 38a2f131a..af99f9449 100644 --- a/sdrbase/webapi/webapirequestmapper.cpp +++ b/sdrbase/webapi/webapirequestmapper.cpp @@ -4465,6 +4465,11 @@ bool WebAPIRequestMapper::getFeatureSettings( featureSettings->setPerTesterSettings(new SWGSDRangel::SWGPERTesterSettings()); featureSettings->getPerTesterSettings()->fromJsonObject(settingsJsonObject); } + else if (featureSettingsKey == "SatelliteTrackerSettings") + { + featureSettings->setSatelliteTrackerSettings(new SWGSDRangel::SWGSatelliteTrackerSettings()); + featureSettings->getSatelliteTrackerSettings()->fromJsonObject(settingsJsonObject); + } else if (featureSettingsKey == "SimplePTTSettings") { featureSettings->setSimplePttSettings(new SWGSDRangel::SWGSimplePTTSettings()); @@ -4723,6 +4728,7 @@ void WebAPIRequestMapper::resetFeatureSettings(SWGSDRangel::SWGFeatureSettings& featureSettings.setGs232ControllerSettings(nullptr); featureSettings.setMapSettings(nullptr); featureSettings.setPerTesterSettings(nullptr); + featureSettings.setSatelliteTrackerSettings(nullptr); featureSettings.setSimplePttSettings(nullptr); featureSettings.setStarTrackerSettings(nullptr); featureSettings.setRigCtlServerSettings(nullptr); diff --git a/sdrbase/webapi/webapiutils.cpp b/sdrbase/webapi/webapiutils.cpp index bfe6d8c68..5ce7698d3 100644 --- a/sdrbase/webapi/webapiutils.cpp +++ b/sdrbase/webapi/webapiutils.cpp @@ -265,6 +265,7 @@ const QMap WebAPIUtils::m_featureTypeToSettingsKey = { {"GS232Controller", "GS232ControllerSettings"}, {"Map", "MapSettings"}, {"PERTester", "PERTesterSettings"}, + {"SatelliteTracker", "SatelliteTrackerSettings"}, {"SimplePTT", "SimplePTTSettings"}, {"StarTracker", "StarTrackerSettings"}, {"RigCtlServer", "RigCtlServerSettings"} @@ -282,6 +283,7 @@ const QMap WebAPIUtils::m_featureURIToSettingsKey = { {"sdrangel.feature.gs232controller", "GS232ControllerSettings"}, {"sdrangel.feature.map", "MapSettings"}, {"sdrangel.feature.pertester", "PERTesterSettings"}, + {"sdrangel.feature.satellitetracker", "SatelliteTrackerSettings"}, {"sdrangel.feature.simpleptt", "SimplePTTSettings"}, {"sdrangel.feature.startracker", "StarTrackerSettings"}, {"sdrangel.feature.rigctlserver", "RigCtlServerSettings"}