Hello community, here is the log from the commit of package soapy-airspy for openSUSE:Factory checked in at 2018-12-14 20:54:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/soapy-airspy (Old) and /work/SRC/openSUSE:Factory/.soapy-airspy.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "soapy-airspy" Fri Dec 14 20:54:31 2018 rev:3 rq:657887 version:0.1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/soapy-airspy/soapy-airspy.changes 2018-11-12 09:45:06.088857221 +0100 +++ /work/SRC/openSUSE:Factory/.soapy-airspy.new.28833/soapy-airspy.changes 2018-12-14 20:56:57.208758836 +0100 @@ -1,0 +2,9 @@ +Thu Dec 13 12:06:48 UTC 2018 - Wojciech Kazubski <w...@ire.pw.edu.pl> + +- Update to version 0.1.2 + * Fixed fullScale value for getNativeStreamFormat() call + * Apply optional arguments to settings on setting key match + * Added optional stream bitpacking with "bitpack" setting + + +------------------------------------------------------------------- Old: ---- soapy-airspy-0.1.1.tar.gz New: ---- soapy-airspy-0.1.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ soapy-airspy.spec ++++++ --- /var/tmp/diff_new_pack.ixw69s/_old 2018-12-14 20:56:58.012757837 +0100 +++ /var/tmp/diff_new_pack.ixw69s/_new 2018-12-14 20:56:58.012757837 +0100 @@ -19,7 +19,7 @@ %define soapy_modver 0.7 %define soapy_modname soapysdr%{soapy_modver}-module-airspy Name: soapy-airspy -Version: 0.1.1 +Version: 0.1.2 Release: 0 Summary: SoapySDR Airspy module License: MIT ++++++ soapy-airspy-0.1.1.tar.gz -> soapy-airspy-0.1.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/Changelog.txt new/SoapyAirspy-soapy-airspy-0.1.2/Changelog.txt --- old/SoapyAirspy-soapy-airspy-0.1.1/Changelog.txt 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/Changelog.txt 2018-12-08 04:15:51.000000000 +0100 @@ -1,3 +1,10 @@ +Release 0.1.2 (2018-12-07) +========================== + +- Fixed fullScale value for getNativeStreamFormat() call +- Apply optional arguments to settings on setting key match +- Added optional stream bitpacking with "bitpack" setting + Release 0.1.1 (2017-04-29) ========================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/README.md new/SoapyAirspy-soapy-airspy-0.1.2/README.md --- old/SoapyAirspy-soapy-airspy-0.1.1/README.md 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/README.md 2018-12-08 04:15:51.000000000 +0100 @@ -1,10 +1,10 @@ # Soapy SDR plugin for Airspy -##Dependencies +## Dependencies * SoapySDR - https://github.com/pothosware/SoapySDR/wiki * libairspy - https://github.com/airspy/host/wiki -##Documentation +## Documentation * https://github.com/pothosware/SoapyAirspy/wiki diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/Settings.cpp new/SoapyAirspy-soapy-airspy-0.1.2/Settings.cpp --- old/SoapyAirspy-soapy-airspy-0.1.1/Settings.cpp 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/Settings.cpp 2018-12-08 04:15:51.000000000 +0100 @@ -1,6 +1,6 @@ /* * The MIT License (MIT) - * + * * Copyright (c) 2015 Charles J. Cliffe * Permission is hereby granted, free of charge, to any person obtaining a copy @@ -35,17 +35,18 @@ agcMode = false; rfBias = false; + bitPack = false; bufferedElems = 0; resetBuffer = false; - + streamActive = false; sampleRateChanged.store(false); - + dev = nullptr; - + lnaGain = mixerGain = vgaGain = 0; - + if (args.count("device_id") != 0) { try { @@ -53,18 +54,18 @@ } catch (const std::invalid_argument &) { throw std::runtime_error("device_id invalid."); } - + std::vector<struct airspy_device *> allDevs; - + int status; for (int i = 0, iMax = deviceId; i <= iMax; i++) { struct airspy_device *searchDev = nullptr; status = airspy_open(&searchDev); - + if (status != AIRSPY_SUCCESS) { continue; } - + allDevs.push_back(searchDev); } @@ -79,19 +80,26 @@ } dev = allDevs[deviceId]; - + for (std::vector< struct airspy_device * >::iterator i = allDevs.begin(); i != allDevs.end(); i++) { if (*i != dev) { airspy_close(*i); } } - + SoapySDR_logf(SOAPY_SDR_DEBUG, "Found Airspy device using 'device_id' = %d", deviceId); } - + if (deviceId == -1) { throw std::runtime_error("device_id missing."); } + + //apply arguments to settings when they match + for (const auto &info : this->getSettingInfo()) + { + const auto it = args.find(info.key); + if (it != args.end()) this->writeSetting(it->first, it->second); + } } SoapyAirspy::~SoapyAirspy(void) @@ -189,10 +197,10 @@ void SoapyAirspy::setGainMode(const int direction, const size_t channel, const bool automatic) { agcMode = automatic; - + airspy_set_lna_agc(dev, agcMode?1:0); airspy_set_mixer_agc(dev, agcMode?1:0); - + SoapySDR_logf(SOAPY_SDR_DEBUG, "Setting AGC: %s", automatic ? "Automatic" : "Manual"); } @@ -250,8 +258,8 @@ if (name == "LNA" || name == "MIX" || name == "VGA") { return SoapySDR::Range(0, 15); } - - return SoapySDR::Range(0, 15); + + return SoapySDR::Range(0, 15); } /******************************************************************* @@ -342,7 +350,7 @@ std::vector<uint32_t> samplerates; samplerates.resize(numRates); - + airspy_get_samplerates(dev, samplerates.data(), numRates); for (auto i: samplerates) { @@ -376,7 +384,7 @@ SoapySDR::ArgInfoList SoapyAirspy::getSettingInfo(void) const { SoapySDR::ArgInfoList setArgs; - + // Bias-T SoapySDR::ArgInfo biasOffsetArg; biasOffsetArg.key = "biastee"; @@ -384,9 +392,19 @@ biasOffsetArg.name = "Bias tee"; biasOffsetArg.description = "Enable the 4.5v DC Bias tee to power SpyVerter / LNA / etc. via antenna connection."; biasOffsetArg.type = SoapySDR::ArgInfo::BOOL; - + setArgs.push_back(biasOffsetArg); - + + // bitpack + SoapySDR::ArgInfo bitPackingArg; + bitPackingArg.key = "bitpack"; + bitPackingArg.value = "false"; + bitPackingArg.name = "Bit Pack"; + bitPackingArg.description = "Enable packing 4 12-bit samples into 3 16-bit words for 25% less USB trafic."; + bitPackingArg.type = SoapySDR::ArgInfo::BOOL; + + setArgs.push_back(bitPackingArg); + return setArgs; } @@ -394,9 +412,18 @@ { if (key == "biastee") { bool enable = (value == "true"); + rfBias = enable; airspy_set_rf_bias(dev, enable); } + + if (key == "bitpack") { + bool enable = (value == "true"); + bitPack = enable; + + airspy_set_packing(dev, enable); + } + } std::string SoapyAirspy::readSetting(const std::string &key) const @@ -404,7 +431,10 @@ if (key == "biastee") { return rfBias?"true":"false"; } - + if (key == "bitpack") { + return bitPack?"true":"false"; + } + // SoapySDR_logf(SOAPY_SDR_WARNING, "Unknown setting '%s'", key.c_str()); return ""; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/SoapyAirspy.hpp new/SoapyAirspy-soapy-airspy-0.1.2/SoapyAirspy.hpp --- old/SoapyAirspy-soapy-airspy-0.1.1/SoapyAirspy.hpp 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/SoapyAirspy.hpp 2018-12-08 04:15:51.000000000 +0100 @@ -213,7 +213,7 @@ uint32_t sampleRate, centerFrequency; unsigned int bufferLength; size_t numBuffers; - bool agcMode, streamActive, rfBias; + bool agcMode, streamActive, rfBias, bitPack; std::atomic_bool sampleRateChanged; int bytesPerSample; uint8_t lnaGain, mixerGain, vgaGain; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/Streaming.cpp new/SoapyAirspy-soapy-airspy-0.1.2/Streaming.cpp --- old/SoapyAirspy-soapy-airspy-0.1.1/Streaming.cpp 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/Streaming.cpp 2018-12-08 04:15:51.000000000 +0100 @@ -41,7 +41,7 @@ } std::string SoapyAirspy::getNativeStreamFormat(const int direction, const size_t channel, double &fullScale) const { - fullScale = 65536; + fullScale = 32767; return SOAPY_SDR_CS16; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/debian/changelog new/SoapyAirspy-soapy-airspy-0.1.2/debian/changelog --- old/SoapyAirspy-soapy-airspy-0.1.1/debian/changelog 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/debian/changelog 2018-12-08 04:15:51.000000000 +0100 @@ -1,3 +1,9 @@ +soapyairspy (0.1.2-1) unstable; urgency=low + + * Release 0.1.2 (2018-12-07) + + -- Josh Blum <j...@pothosware.com> Fri, 07 Dec 2018 21:15:25 -0000 + soapyairspy (0.1.1-1) unstable; urgency=low * Release 0.1.1 (2017-04-29) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/debian/control new/SoapyAirspy-soapy-airspy-0.1.2/debian/control --- old/SoapyAirspy-soapy-airspy-0.1.1/debian/control 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/debian/control 2018-12-08 04:15:51.000000000 +0100 @@ -8,12 +8,12 @@ cmake, libsoapysdr-dev, libairspy-dev -Standards-Version: 3.9.8 +Standards-Version: 4.1.4 Homepage: https://github.com/pothosware/SoapyAirspy/wiki Vcs-Git: https://github.com/pothosware/SoapyAirspy.git Vcs-Browser: https://github.com/pothosware/SoapyAirspy -Package: soapysdr0.6-module-airspy +Package: soapysdr0.7-module-airspy Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends} @@ -22,7 +22,7 @@ Package: soapysdr-module-airspy Architecture: all -Depends: soapysdr0.6-module-airspy, ${misc:Depends} +Depends: soapysdr0.7-module-airspy, ${misc:Depends} Description: Airspy device support for SoapySDR (default version) The Soapy Airspy project provides a SoapySDR hardware support module. . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/debian/soapysdr0.6-module-airspy.install new/SoapyAirspy-soapy-airspy-0.1.2/debian/soapysdr0.6-module-airspy.install --- old/SoapyAirspy-soapy-airspy-0.1.1/debian/soapysdr0.6-module-airspy.install 2017-04-30 00:03:01.000000000 +0200 +++ new/SoapyAirspy-soapy-airspy-0.1.2/debian/soapysdr0.6-module-airspy.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -usr/lib/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SoapyAirspy-soapy-airspy-0.1.1/debian/soapysdr0.7-module-airspy.install new/SoapyAirspy-soapy-airspy-0.1.2/debian/soapysdr0.7-module-airspy.install --- old/SoapyAirspy-soapy-airspy-0.1.1/debian/soapysdr0.7-module-airspy.install 1970-01-01 01:00:00.000000000 +0100 +++ new/SoapyAirspy-soapy-airspy-0.1.2/debian/soapysdr0.7-module-airspy.install 2018-12-08 04:15:51.000000000 +0100 @@ -0,0 +1 @@ +usr/lib/*