Code Monkey home page Code Monkey logo

pothossdr's Introduction

Pothos SDR development environment

The Pothos SDR development environment makes it easy for windows users to start exploring and developing with common SDR hardware and software without the hassle of downloading a building dozens of software packages. This project contains build scripts to create a package of windows binaries. Links to the pre-built binaries will be available from the main wiki page:

Basic instructions

Instructions for downloading, installing, and using the development environment can be found on the getting started tutorial:

About the environment

The Pothos SDR environment includes:

  • The Pothos data-flow software suite and graphical tools
  • SoapySDR and pothos-sdr toolkit for hardware interfacing
  • various vendor drivers for commonly used SDR hardware
  • GNU Radio toolkit for signal processing support

For more details about the software used in the environment and links to the actual source code, checkout this wiki page:

Required packages to install

Visual studio 2019: The free community installer is fine. Install all of the C++ development tools. https://visualstudio.microsoft.com/vs/community/

Python environment: Download the python3.9 x64 installer. Python is used for bindings, generation, downloading tools. https://www.python.org/downloads/

Git: Install msysgit, make sure git is in the command PATH. https://msysgit.github.io/index.old.html

CMake: The build environment is cmake-based, as are most projects built by this environment. https://cmake.org/download/

Optional packages to install

Some projects require pre-build packages from the internet. These packages are optional, but need to be installed manually. The current download URLs are maintained here for reference, and can be used to replicate the complete build environment.

Boost 1.75: UHD and GNURadio projects require Boost development sources. http://sourceforge.net/projects/boost/files/boost-binaries/1.75.0/

CyAPI: Limesuite (LimeSDR) uses the Cypress API for USB bindings. https://www.cypress.com FX3SDKSetup_1.3.4.exe

SDRplayAPIv3: SoapySDRPlay3 and gr-sdrplay3 require the SDRPlayv3 API. https://www.sdrplay.com/downloads/

NSIS: The installer packaging requires NSIS to make the final exe. https://sourceforge.net/projects/nsis/files/NSIS%203/

Building the environment

This repository contains build scripts for creating the Pothos SDR environment on a Windows/MSVC target system.

We don't typically expect users to build the environment, thats why we offer the pre-packaged windows installers. However should someone be interested in building it, all of the build scripts are located in this repository.

The build system obtains most of the software from git, however several dependency libraries are obtained pre-built and installed onto the development machine. Learn more about these dependencies from the InstallPrebuilt.cmake script.

Building the environment with CMake:

mkdir build
cd build
cmake ../ -G "Visual Studio 16 2019" ^
    -DCMAKE_INSTALL_PREFIX=C:/PothosSDR ^
    -DCMAKE_BUILD_TYPE=RelWithDebInfo

#build everything + NSIS packaging
rebuild_all.bat

#--OR-- just build and install to CMAKE_INSTALL_PREFIX
cmake --build . --config RelWithDebInfo
cmake --build . --config RelWithDebInfo --target install

#repositories can be updated with
cmake --build . --config RelWithDebInfo --target update

pothossdr's People

Contributors

bkerler avatar eduardosm avatar guruofquality avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pothossdr's Issues

problem with WX GUI FFT Sink in GNU Radio Companion

I've just installed PothosSDR-2017.06.21-vc14-x64.exe and python-2.7.13.amd64.msi and I have a problem with some of my GRC flow graphs that contain 'WX GUI FFT Sink'. Even with just 'Noise Source' connected to 'WX GUI FFT Sink' I get the following error message:

Executing: C:\Python27\python.exe -u D:\GRC\top_block.py
Traceback (most recent call last):
  File "D:\GRC\top_block.py", line 84, in <module>
    main()
  File "D:\GRC\top_block.py", line 78, in main
    tb = top_block_cls()
  File "D:\GRC\top_block.py", line 58, in __init__
    peak_hold=False,
  File "C:\Program Files\PothosSDR\lib\python2.7\site-packages\gnuradio\wxgui\fftsink_gl.py", line 92, in __init__
    win=win,
  File "C:\Program Files\PothosSDR\lib\python2.7\site-packages\gnuradio\fft\logpwrfft.py", line 65, in __init__
    fft = self._fft_block[0](fft_size, True, fft_window)
  File "C:\Program Files\PothosSDR\lib\python2.7\site-packages\gnuradio\fft\fft_swig.py", line 126, in make
    return _fft_swig.fft_vcc_make(fft_size, forward, window, shift, nthreads)
RuntimeError: The segment is already unlocked.

If I replace 'WX GUI FFT Sink' with 'WX GUI Scope Sink', the flow graph works.

Provide minimal SoapySDR installer for Windows (preferably also 32-bit version)

From @xmikos on March 22, 2017 15:24

Right now the only option for Windows users to get SoapySDR libraries (and basic SoapySDRUtil executable) is PothosSDR installer bundle, which is rather large (more than 500MB after installation), contains many applications (e.g. GNU Radio, GQRX, CubicSDR, Pothos GUI, Zadig, etc.) and is only available for 64-bit Windows.

It would be great if you could provide minimal installer containing only SoapySDR, SoapySDR device drivers (all drivers and theirs required libraries are only about 20MB together), Python SoapySDR bindings and SoapySDRUtil executable. And it would be even better if you could also provide installer for 32-bit Windows.

Alternatively SoapySDR Python bindings could be separated and provided on PyPI which is standard for Python packages nowadays (even large bindings like PyQt5 are now available in PyPI).

Copied from original issue: pothosware/SoapySDR#122

Pothos GUI page size is fixed?

Hi,

I am testing out Pothos GUI 0.5.1 PothosSDR-2017.11.26-vc14-x64 on a computer with a 4K display, and while everything appears to display OK, the page size seems very limited -- I only have enough room to place maybe 6 or so blocks. There seems to be an invisible barrier that prevents me from attempting to drag blocks out of this small area.

I cannot find any settings (documented or otherwise) to enlarge this usable area. Any pointers?

By the way, very nice work on this new GUI! Impressive.

Regards, Devin

Qt widget development

In order to allow users to develop qt apps against the environment, we need to investigate the ABI compatibility across Qt versions, select a version of Qt to build against that will be easiest for user's to download and install.

  • The dev environment ships qt runtime dlls
  • Users must download Qt development package
  • Available versions for development packages vs MSVC versions

Updating SoapySDR to 0.7

I built my Windows system with "PothosSDR-2018.04.26-vc14-x64.exe " which installed support for the 0.6 Lib version. How do I update this install to support 0.7?

Thank you,

Jack

Build for MSVC 2017

  • Possibly blocking dependencies, have to see what Qt has available
    • Find qt5 development installers for MSVC 2017
    • Find boost development installers for MSVC 2017
  • Some cmake build strings and that should do it
  • Close when installers for this release are available

Module search trys to open files that are not shared libraries

Noticed that Soapy is pretty indiscriminate (under OSX 10.10) and verbose about trying to open anything under {INSTALL_ROOT}/lib:

macbook-cmh:build ianb$ SoapySDRUtil --probe="driver=uhd"
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Probe device driver=uhd
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/CMakeMacroLibtoolFile.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/CMakeParseArgumentsCopy.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/FindALSA.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/FindCppUnit.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/FindFFTW3f.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/FindGit.cmake"
Error: EnvironmentError: OSError: dlopen failed to load "/Users/ianb/lib/cmake/gnuradio/FindGSL.cmake"

bladeRF fails to build with missing pthread.h

bladeRF fails to build, saying that it cannot find pthread.h. The file can be found in C:\PothosSDR-dev\PothosSDR\build\Source\Pthreads, but the compiler invocation does not seem to include /I"C:\PothosSDR-dev\PothosSDR\build\Source\Pthreads".
I'm following the build instructions in the readme and everything else seems to build fine.

 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\CL.exe /c /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\include" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\l
  ibbladeRF\src" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\..\fpga_common\include" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\..\firmware_common" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\common\
  include" /I"C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\common\include" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\common\include\windows" /I"C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF_te
  st\test_config_file\..\common\include" /Zi /nologo /W3 /WX /O2 /Ob1 /D WIN32 /D _WINDOWS /D NDEBUG /D LOG_INCLUDE_FILE_INFO /D _CRT_SECURE_NO_WARNINGS /D "LIBBLADERF_SEARCH_PREFIX=\"C:/PothosSDR\"" /D LOGGING_ENABLED=1 /D "CMAKE_INTDI
  R=\"RelWithDebInfo\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"libbladeRF_test_config_file.dir\RelWithDebInfo\\" /Fd"libbladeRF_test_config_file.dir\RelWithDebInfo\vc140.pdb" /Gd /TC /errorReport:queue
   "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF_test\test_config_file\src\main.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF_test\common\src\test_common.c" "C:\PothosSDR-dev\
  PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\bladerf_priv.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\config.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libb
  ladeRF\src\dc_cal_table.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\file_ops.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\flash.c" "C:\PothosSDR-dev\PothosSDR\
  build\Source\bladeRF\host\libraries\libbladeRF\src\flash_fields.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\fpga.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\s
  i5338.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\tuning.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\version_compat.c" "C:\PothosSDR-dev\PothosSDR\build\Sourc
  e\bladeRF\host\libraries\libbladeRF\src\xb.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\common\src\conversions.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\common\src\log.c" "C:\PothosSDR-dev\PothosSDR\build\So
  urce\bladeRF\host\common\src\parse.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\fpga_common\src\band_select.c" "C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\fpga_common\src\lms.c"
    main.c
C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    test_common.c
C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\common\include\windows\clock_gettime.h(28): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librari
es\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    bladerf_priv.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    config.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    dc_cal_table.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    file_ops.c
    flash.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    flash_fields.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    fpga.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    si5338.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    tuning.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    version_compat.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    xb.c
c:\pothossdr-dev\pothossdr\build\source\bladerf\host\libraries\libbladerf\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    conversions.c
    log.c
    parse.c
    band_select.c
C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]
    lms.c
C:\PothosSDR-dev\PothosSDR\build\Source\bladeRF\host\libraries\libbladeRF\src\bladerf_priv.h(35): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory [C:\PothosSDR-dev\PothosSDR\build\Build\bladeRF\librar
ies\libbladeRF_test\test_config_file\libbladeRF_test_config_file.vcxproj] [C:\PothosSDR-dev\PothosSDR\build\bladeRF.vcxproj]

Bundled GNURadio + GrOsmoSDR

I have some problems with GNU Radio:

  • when I run it it complains about some theme: C:\Program Files (x86)\gnuradio\bin>python gnuradio-companion.py
    gnuradio-companion.py:117: GtkWarning: Could not find the icon 'gnuradio-grc'. T
    he 'hicolor' theme
    was not found either, perhaps you need to install it.
    You can get a copy from:
    http://icon-theme.freedesktop.org/releases
    gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0))

Win32; Microsoft Visual C++ version 12.0; Boost_105900; UHD_003.009.001-0-gf7a15
853

<<< Welcome to GNU Radio Companion 3.7.8.1 >>>

but it works

then when I want to run simple flowgraph to test hackrf TX function I get this error: FATAL: Failed to open HackRF device (-1000) HACKRF_ERROR_LIBUSB and if I get this to load and TX Light on HackRF is on my program greeze and Python crash

actualy Python crash even if I run something that has gr-wxgui in it

and here is how flowgraph looks like:
gnuradio

PS: How to install paches like this one: https://github.com/pothosware/PothosSDR/blob/master/patches/volk_cpuid_count_for_msvc.diff and this one: https://github.com/pothosware/PothosSDR/blob/master/patches/gnuradio_fix_filter_truncation.diff ?

Thanks for Anwsering and Best Regards

build environment for win32

Looking to create 32-bit version of the environment to go along with the current 64-bit environment.

  • download various pre-built 32-bit depedencies
  • abstract build environment to select 32-bit dlls
  • testing, etc...

Better build system

The build system for this development environment is just a very large batch script that installs dependencies, clone repositories, and configures and builds the software packages. This is great until something crashes a long the way as the script isn't very fault tolerant. What's cool is that CMake has this External Project module that creates build targets for other projects. You can enter git repos and build commands, and dependencies on other projects. In essence, I can make a CMake project to build other CMake projects that handles faults better and can build based on dependency ordering.

build pthreads for vc14, vc12

Currently the precompiled pthreads pulls in vc10 runtime. And it has a possible MSVC2015 ABI timespec issue: Nuand/bladeRF#447 So we are either going to compile it once for each VC manually, or somehow add it to the build.

Issue with 2018.03.12 release

I installed my LimeSDR PCIe on a new PC and installed the latest build PothosSDR-2018.03.12-vc14-x64.exe . In GQRX I can listen at 40MS/s, but anything higher gives me tons of noise, the spectrum becomes all yellow.

In my own C++ program using SoapySDR, I often have errors while receiving on one channel (readStream returns -1), and when I try to use 2 channels, I get usually 3 warnings Channel alignment failed and then I can't receive anything.

After updating the drivers, BIOS and all, I uninstalled Pothos and installed the previous build PothosSDR-2018.02.05-vc14-x64.exe , like on the previous PC, and everything went back to working normally.

GNURadio Companion execute failed

OS version : windows 10
install version : PothosSDR-2017.08.31-vc14-x64
ErrorMessage:
Failed to open registry key
HKLM\SOFTWARE\Python\PythonCore\2.7InstallPath
Is Python2.7 installed?

I am counfuse.
I already installed python2.7 and add "C:\python" to my SYSPATH

Bundled GNURadio + GrOsmoSDR (PortAudio version)

Hi I've installed pothos again and I've set C:\Program Files (x86)\gnuradio\etc\gnuradio\conf.d\gr-audio.conf and changed from auto to portaudio:

[code]

This file contains system wide configuration data for GNU Radio.

You may override any setting on a per-user basis by editing

~/.gnuradio/config.conf

specify which audio module to load, or use "auto" to have the system

select one. Valid choices depend on your OS and which modules

you've installed, but typically include:

auto, alsa, oss, portaudio, jack, osx, windows

[audio]

audio_module = portaudio
[/code]

but it still wan't to use Audio source arch: windows but I know I've setted the right config?
see here:
gnuradioportaudio

PS: I have some problems with UDP Source/sink it always trows this error:
udp

Thanks for Anwsering and Best Regards

SDRPlay help

Hi, Trying to get the SDRPlay working, i've followed the steps but when I use the soapysdrutil I get

Make device driver=miri
Win32; Microsoft Visual C++ version 12.0; Boost_105900; UHD_003.009.001-0-gf7a15853

Using device #0: Mirics MSi2500 default (e.g. VTX3D card)
usb_open error -12
Error making device: Failed to open mirisdr device.

Does not install in different directory

Hi. Windows 10 64 bit trying to install.
Get an error "can not write to file" C:\Program Files\PothosSDR\bin\SoapySDR.dll"

Can ignore, after which more files fail.
Did the same installation as administrator with the same error(s).

Tried to install in different folder, C:\benno\pothossdr but then installation completes but starting the software gives errors about missing files in C:\Program Files\PothosSDR but that is right because that is not where I installed it.

Any help?

Thanks,
Ben

Bundled GNURadio + GrOsmoSDR OTA Projects Wish List

Hi Here I am prepairing a wishlist of some project that you could include into GNURadio portion of Pothos SDR:

  1. GR-RDS: https://github.com/bastibl/gr-rds
    • The most official and updated one
    • PRIORITY: HIGH
  2. GR-DRM: https://github.com/kit-cel/gr-drm
    • most official and updated
    • PRIORITY: LOW
    • PS: I don't know how would you get FAAD2 and FAAC working?? and there are some hier_blocks flowgraphs that you nust open after compiling (linux) so I don't know how would this behave on windows
  3. GR-DVBT/S/S2:

PS: What do theese do?: https://github.com/guruofquality/grextras
PPS: DO you think you could get GNURadio (https://gnuradio.org/redmine/projects/gnuradio/repository/revisions/master/show/gr-zeromq) to work with ZeroMQ: http://zeromq.org/
Thanks and Best Regards

Wishlist: add GR-DRM to build

  1. GR-DRM: https://github.com/kit-cel/gr-drm
    • most official and updated
    • PRIORITY: LOW
    • PS: I don't know how would you get FAAD2 and FAAC working?? and there are some hier_blocks flowgraphs that you nust open after compiling (linux) so I don't know how would this behave on windows
  • Original issue: #15

requires VC14 x86 runtime?

I got a report that the x86 runtime was needed with the installer. Something was either built wrong, or a prebuilt pulled this in. This doesn’t seem right, so this is an open issue to investigate.

include graphiz/dot in environment

The dot tool is used to render the topology for debug purposes. We should find a way to ship dot.exe and minimal dependencies with it so it can be used w/ the GUI.

installers for msvc 2015

When boost and qt development environments are available, provided installers built with msvc 2015. Right now MSVC 2015 is in RC, so it might be some time.

Include Inspectrum

Many Linux and macOS users use baudline for analyzing SDR recordings, however its source re-distribution policy is restrictive. Inspectrum is an alternative and also uses cmake for its build environment. It requires:

  • fftw - (already in PothosSDR)
  • liquid-dsp (already in PothosSDR)
  • qt5 (already in PothosSDR)
  • mman-win32

Please consider adding Inspectrum so users can easily view SDR dumps.

PATH too long

I've had success in using this PowerShell script to pack the PATH environment variable, in order to support more directories, and thought I would share it.

clear
write-host "Reading..."
write-host

$fso = New-Object -ComObject "Scripting.FileSystemObject"
$shortpaths = @();
$originalPaths = [environment]::GetEnvironmentVariable("path", "Machine").Split(";")

foreach ($path in $originalPaths) {
$fpath = [System.IO.Path]::GetFullPath("$path");
$fspath = $fso.GetFolder("$fpath").ShortPath;
$foundIdx = $shortpaths.IndexOf($fspath);
if ($foundIdx -gt -1) { continue; }
write-host $fpath --> $fspath;
$shortpaths += $fspath;
}
write-host
write-host "Packing..."
write-host
$env:Path = $($shortpaths -join ";");
write-host $env:Path
write-host
write-host "Done."
write-host

Create installer to replace zip file

Currently, the development environment is just a zip file that must be unpacked in a specific directory (C:/PothosSDR). To move the environment to another location would require setting the environment variables of various software packages so they can locate various plugins and resources. With an installer, the user can select the destination, and all of the environment variables including the PATH can be set automatically. Start menu short cuts as well!

Package SoapySDR + Drivers only install

Do this in the same build so we can just repackage the same build into multiple installers

  • python modules
  • registry edits
  • devel files
  • runtime library
  • soapysdr modules
  • various sdr drivers

set start-in to PothosSDR/bin for menu shortcuts

This should prioritize the DLLs from the installer (need to confirm this) and avoid the need for setting the PATH for start menu items. Command line still needs a proper path set or changing CWD to PothosSDR/bin presumably.

  • Closing this when the new installers are up
  • Update the docs about setting the path (only for command line)

Wishlist: add hacktv to build

This is not realy GR whishlist but as you have good linux to windows porting skils I was wondering if you could maybe give this a try
HackTV is a nice Analog TV Transmitter that supports PAL, NTSC, SECAM (in the future) it also has Videocrypt support (have to find a Videocrypt decoder somewhere to test it)
https://github.com/fsphil/hacktv
for now it only supports generating to file or directly to HackRF

I tried to compile this on linux for windows with MinGW: fsphil/hacktv#4 but failed, then tried this again on mysys2 but failed again on the exact same error (not sure why it would compile fine on linux but complain when doing it for windows

hackrf.c:232:12: error: conflicting types for '_close'
[mitja@localhost hacktv]$ make
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c hacktv.c -o hacktv.o
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c video.c -o video.o
video.c: In function 'vid_next_line':
video.c:1046:30: warning: 'lut_b' may be used uninitialized in this function [-Wmaybe-uninitialized]
    s->output[x * 2] += (lut_b[x] * s->burst_level) >> 16;
                              ^
video.c:972:8: warning: 'seq' may be used uninitialized in this function [-Wmaybe-uninitialized]
  if(seq[0] == 'v') w = s->vsync_short_width;
     ~~~^~~
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c videocrypt.c -o videocrypt.o
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c nicam728.c -o nicam728.o
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c test.c -o test.o
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c ffmpeg.c -o ffmpeg.o
ffmpeg.c: In function '_av_ffmpeg_read_video':
ffmpeg.c:142:3: warning: 'avcodec_decode_video2' is deprecated [-Wdeprecated-declarations]
   avcodec_decode_video2(av->video_codec_ctx, av->frame, &i, &packet);
   ^~~~~~~~~~~~~~~~~~~~~
In file included from ffmpeg.c:18:0:
includes/libavcodec/avcodec.h:4971:5: note: declared here
 int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
     ^~~~~~~~~~~~~~~~~~~~~
ffmpeg.c: In function '_av_ffmpeg_read_audio':
ffmpeg.c:190:3: warning: 'avcodec_decode_audio4' is deprecated [-Wdeprecated-declarations]
   avcodec_decode_audio4(av->audio_codec_ctx, av->frame, &i, &packet);
   ^~~~~~~~~~~~~~~~~~~~~
In file included from ffmpeg.c:18:0:
includes/libavcodec/avcodec.h:4922:5: note: declared here
 int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
     ^~~~~~~~~~~~~~~~~~~~~
ffmpeg.c:205:10: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
    frame = av->frame_s16[0];
          ^
ffmpeg.c: In function 'av_ffmpeg_open':
ffmpeg.c:275:3: warning: 'codec' is deprecated [-Wdeprecated-declarations]
   if(av->video_stream == NULL && av->format_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
   ^~
In file included from ffmpeg.c:19:0:
includes/libavformat/avformat.h:893:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
ffmpeg.c:280:3: warning: 'codec' is deprecated [-Wdeprecated-declarations]
   if(av->audio_stream == NULL && av->format_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO)
   ^~
In file included from ffmpeg.c:19:0:
includes/libavformat/avformat.h:893:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
ffmpeg.c:295:2: warning: 'codec' is deprecated [-Wdeprecated-declarations]
  av->video_codec_ctx = av->video_stream->codec;
  ^~
In file included from ffmpeg.c:19:0:
includes/libavformat/avformat.h:893:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
ffmpeg.c:325:2: warning: 'avpicture_get_size' is deprecated [-Wdeprecated-declarations]
  len = avpicture_get_size(AV_PIX_FMT_RGB32, s->active_width, s->conf.active_lines);
  ^~~
In file included from ffmpeg.c:18:0:
includes/libavcodec/avcodec.h:5631:5: note: declared here
 int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
     ^~~~~~~~~~~~~~~~~~
ffmpeg.c:336:2: warning: 'avpicture_fill' is deprecated [-Wdeprecated-declarations]
  avpicture_fill((AVPicture *) av->frame_rgb, buffer, AV_PIX_FMT_RGB32, s->active_width, s->conf.active_lines);
  ^~~~~~~~~~~~~~
In file included from ffmpeg.c:18:0:
includes/libavcodec/avcodec.h:5616:5: note: declared here
 int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
     ^~~~~~~~~~~~~~
ffmpeg.c:357:3: warning: 'codec' is deprecated [-Wdeprecated-declarations]
   av->audio_codec_ctx = av->audio_stream->codec;
   ^~
In file included from ffmpeg.c:19:0:
includes/libavformat/avformat.h:893:21: note: declared here
     AVCodecContext *codec;
                     ^~~~~
x86_64-w64-mingw32-gcc -g -Wall -pthread -O3 `mingw64-pkg-config --cflags libavcodec libavformat libswscale libswresample libavutil` `mingw64-pkg-config --cflags libhackrf` -c hackrf.c -o hackrf.o
hackrf.c:207:12: error: conflicting types for '_write'
 static int _write(void *private, int16_t *iq_data, size_t samples)
            ^~~~~~
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/unistd.h:10:0,
                 from hackrf.c:23:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/io.h:225:23: note: previous declaration of '_write' was here
   _CRTIMP int __cdecl _write(int _FileHandle,const void *_Buf,unsigned int _MaxCharCount);
                       ^~~~~~
hackrf.c:232:12: error: conflicting types for '_close'
 static int _close(void *private)
            ^~~~~~
In file included from /usr/x86_64-w64-mingw32/sys-root/mingw/include/unistd.h:10:0,
                 from hackrf.c:23:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/io.h:192:23: note: previous declaration of '_close' was here
   _CRTIMP int __cdecl _close(int _FileHandle);
                       ^~~~~~
make: *** [Makefile:20: hackrf.o] Error 1

You think you could post some script or instructions on how do you add an OOT module to GNuRadio (you could use this one: https://github.com/lscardoso/gr-ntsc-rc as an example) on Windows because it would be great if it would be as easy as running make on linux, I am not sure if PothosSDR even comes with required file to be able to do this? (would love to try this on msys2 if possible)

Installer should add to the python path

Modify the registry to include paths for the python2.7 and 3.4 modules. Note, some projects require modifications to prefix for the different python versions.

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.