From 83c0935e4199b5d8ae926a3e21f076b3e004aaad Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 25 May 2018 22:39:38 +0200 Subject: [PATCH] Airspy input: implemeted WEB API (2) --- sdrbase/webapi/webapirequestmapper.cpp | 15 +++++++++++++++ swagger/sdrangel/examples/rx_test.py | 14 +++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp index 0007b5669..2fb880e6f 100644 --- a/sdrbase/webapi/webapirequestmapper.cpp +++ b/sdrbase/webapi/webapirequestmapper.cpp @@ -1681,6 +1681,21 @@ bool WebAPIRequestMapper::validateDeviceSettings( return false; } } + else if ((*deviceHwType == "Airspy") && (deviceSettings.getTx() == 0)) + { + if (jsonObject.contains("airspySettings") && jsonObject["airspySettings"].isObject()) + { + QJsonObject airspySettingsJsonObject = jsonObject["airspySettings"].toObject(); + deviceSettingsKeys = airspySettingsJsonObject.keys(); + deviceSettings.setAirspySettings(new SWGSDRangel::SWGAirspySettings()); + deviceSettings.getAirspySettings()->fromJsonObject(airspySettingsJsonObject); + return true; + } + else + { + return false; + } + } else if ((*deviceHwType == "AirspyHF") && (deviceSettings.getTx() == 0)) { if (jsonObject.contains("airspyHFSettings") && jsonObject["airspyHFSettings"].isObject()) diff --git a/swagger/sdrangel/examples/rx_test.py b/swagger/sdrangel/examples/rx_test.py index c22ffd263..fe854f05a 100644 --- a/swagger/sdrangel/examples/rx_test.py +++ b/swagger/sdrangel/examples/rx_test.py @@ -97,7 +97,19 @@ def setupDevice(deviceset_url, options): if settings is None: exit(-1) - if options.device_hwid == "AirspyHF": + if options.device_hwid == "Airspy": + settings["airspySettings"]["centerFrequency"] = options.device_freq*1000 + settings["airspySettings"]["devSampleRateIndex"] = 1 + settings['airspySettings']['log2Decim'] = options.log2_decim + settings['airspySettings']['fcPos'] = options.fc_pos + settings['airspySettings']['dcBlock'] = options.fc_pos == 2 + settings['airspySettings']['iqImbalance'] = options.fc_pos == 2 + settings['airspySettings']['lnaGain'] = 14 + settings['airspySettings']['mixerGain'] = 15 + settings['airspySettings']['vgaGain'] = 4 + settings['airspySettings']['lnaAGC'] = 1 + settings['airspySettings']['mixerAGC'] = 1 + elif options.device_hwid == "AirspyHF": if options.device_freq > 30000: settings["airspyHFSettings"]["bandIndex"] = 1 else: