Git Product home page Git Product logo

soapyspyserver's Introduction

soapyspyserver's People

Contributors

ncorgan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

vehery

soapyspyserver's Issues

For async reads, replace current thread-safe queue with fixed-size container

The thread-safe buffer currently being used has a std::queue under the hood, which will allocate memory to allow more elements to be added. Potentially, if the caller activates a stream but doesn't read, this queue could continue to allocate memory until it runs out. This is unlikely to happen, but it's a simple failure mode to address.

It should be replaced with a container that has a fixed-size container that tracks an overflow. See: https://github.com/pothosware/SoapyHackRF/blob/master/HackRF_Streaming.cpp#L44

getNativeStreamFormat returns invalid format

It appears getNativeStreamFormat is not implemented so the default of CS16 is returned which then fails if you setup a stream using that value.

Other than that it seems to work well.

Unable to change center frequency w/ GQRX

While doing a quick test on 22.04 w/ Soapy8 and latest GQRX, I added the SoapySpyServer. Running Airspy's SpyServer on the local host with either the RTLSDR or Airspy R2 I can connect to the SpyServer with GQRX using a blank entry for sample rate and a argument string of soapy=0,driver=spyserver,host=0.0.0.0,port=5555

However, after connecting the FFT and Waterfall is locked on the center freq around about 90 something MHz. I am unable to change the center freq and doing so just changes the GQRX GUI frequency range, not the actual spy server freq. I can raise/lowser gain and demod with great results on FM.

I can then disconnect from the spy server and load up SDR++ and actually use it to change the freq. Is it expected that from GQRX or other Soapy front ends that the user can change the frequency when it's not locked from doing so in the spy server config?

MinGW build issue

SoapySDR supports MinGW, but attempting to add jobs here to support it results in an immediate exit. I don't believe the SDR++ networking code I brought in was tested with MinGW, so something could be screwy in the Windows-specific initialization code under MinGW.

Reliable build output from "Test module registration" job:

Run $Env:PATH += ";$Env:INSTALL_PREFIX\bin"
  $Env:PATH += ";$Env:INSTALL_PREFIX\bin"
  SoapySDRUtil --check=spyserver
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    INSTALL_PREFIX: C:\Program Files\SoapySDR
Error: Process completed with exit code 1.

findSpyServerClient is inconsistent with SoapySpyServerClient

findSpyServerClient is inconsistent with SoapySpyServerClient

I had to add -

   result["host"] = args.at("host");
   result["port"] = args.at("port");

to the SoapySDR::Kwargs in findSpyServerClient because SoapySpyServerClient expected to find them in the SoapySDR::Kwargs created by findSpyServerClient.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.