skyformat99 / sodaradio Goto Github PK
View Code? Open in Web Editor NEWThis project forked from kb1vc/sodaradio
License: Other
This project forked from kb1vc/sodaradio
License: Other
SoDa -- A Software Defined Radio for the Ettus Research USRP SoDaRadio is a multi-mode VHF/UHF/Microwave radio transciever that runs on Linux. It has been tested on several Ettus USRP models including the N200/WBX, N210/WBX, N210/SBX, N200/UBX, and the B210. PREREQUISITES ---- SoDaRadio now uses the CMake build system. You will need a version of cmake that is newer than 3.0. SoDaRadio is built on the Ettus libuhd library, the FFTW library, ALSA linux sound support, and the wxWidgets toolset. Boost version 1.33 or later -- current builds are against boost 1.60 wxWidgets -- current build is against version 2.8 -- version 3.x is a train wreck. libuhd -- builds against version 003.010.001 fftw3 -- builds against version 3.4.4 libasound There may be information on building SoDaRadio for your particular system. Take a look at the SoDaRadio wiki at https://sourceforge.net/p/sodaradio/wiki/Building%20SoDa%20Radio/ ---- INSTALL Quick Start (X.X.X is the version that you just downloaded, e.g. SoDaRadio-X.X.X.tar.gz might be SoDaRadio-4.0.0.tar.gz...) # unpack SoDaRadio-X.X.X.tar.gz tar xzvf SoDaRadio-X.X.X.tar.gz cd SoDaRadio-X.X.X mkdir build cd build cmake ../ make make install ---- HOWTO To start the radio, connect your Ettus USRP N2xx to the host computer. (I'm assuming that your USRP has a WBX module.) Connect an antenna to the TX/RX port. Then execute SoDaRadio (If you haven't installed SoDaRadio, but have built it, you can start SoDaRadio from the build directory like this: gui/SoDaRadio --server=src/SoDaRadio ) It should come up tuned to something like 162.55 or nearby. Poke buttons. Try things. Don't hit the "TX" button unless you have something connected and the necessary license to operate in that band. ---- Version 4.1.1 Fixed a typo in CWGenerator that caused the letter 'y' to get sent incorrectly. (!) How did that get by for so long? Version 4.1.0 Added TX Audio config pulldown in GUI a) This allows selection of either the microphone input or a NOISE source (uniform random numbers in the range -0.5 to 0.5 -- looks pretty flat b) Added a button to enable/disable TX audio channel filtering (the filter has a passband from 150 to 2300 Hz) for USB/LSB/NBFM/WBFM/AM c) Leaving the TX Audio config dialog turns the noise source off, and connects the TX audio to the MIC input. Added TX_AUDIO_FILT_ENA command (turns on/off the transmit audio filter) to the BaseBandTX module. Added TX_AUDIO_IN command (set 0 selects MIC, 1 selects NOISE) to the BaseBandTX module. This has been tested by looking at the resulting spectrum on a B200 panadapter display. Without the audio filter, the transmitted USB/SSB bandwidth is about 20kHz (about 1/2 the 48kHz sample rate for the TX audio channel). With the audio filter, the bandwidth is a little more than 2kHz on USB/SSB. Version 4.0.1 * Migration to cmake * Improvements to daughter card detection for LFTX/LFRX and other non WBX/UBX daughter cards. * New RX Antenna selection button (look in lower right corner) * Fix for screwed up band configuration menu reported by an Ubuntu 14.04 user -- likely a problem for all builds against wxWidgets 3.0... * Beginning of refactoring to support digital modems. Version 3.6 * Addition of arduino sketches for hardware to do TR and bandswitching. * Added "serverargs" command line switch to gui -- argument is passed through to the SoDaServer program. * Added "audio" switch to gui -- select the audio device for ALSA. * Added hardware schematic and layout files (eagle) for a B2xx TR switch module * Added hardware schematic and layout files (eagle) for a serial controlled TR and bandswitch that talks to the N200 through the GPS serial port. * Fixed audio gain problem where the original (up to 3.5) slider control would go from silent to ear-splitting in the first 1/4 of the range. * Added B200 and N200 TR switch control modules -- called by USRPCtrl * Added -intN and -fracN (force integer-N or fractional-N synthesis in the front-end) to the SoDaServer command line switches. * Changed tuning scheme in USRPCtrl to better avoid reference multiple spurs. * Cleaned up some of the sloppier code in USRPCtrl. * Started refactoring the front-end tuner code... not in use yet. * Fixed some problems in USRPCtrl that would likely crash on USRPs that have no front-end local oscillators (LFRX/LFTX/BASICRX/BASICTX). This code is as yet untested on such modules.... Version 3.5 Extensive work to implement B200 TR control via J400. This code also contains the new (initial) TR control for the N200 series, where TR commands and band switching information can be sent through the GPS serial port to an arduino sketch that wiggles external relays for PTT, and other uses. WBX gpio TR switching is supported as well, and will be active on any WBX unit. The code MAY have trouble with N200 widgets that have installed a GPS. It should not, however. Please report any problems. The B200 and B210 TR control requires a special FPGA binary image. Contact [email protected] for a pointer to the binary image. Version 3.4 Fixed a bug in the way the GUI started up. Original code used fork/execv which confused GTK and wxWidgets and other components. Switched to the "official" wxExecute scheme. Fixed a bug in the build process where configure did not find the boost libraries on Ubuntu 14.x systems. Version 3.3 Fixed a problem with the antenna selection. TX/RX can only be used for the RX stream if there is no extant tx_streamer. See the USRPusers list Thu Oct 23 20:32:53 EDT 2014 Now the antenna choice in the band configuration dialog actually works. Version 3.2 Fixed a problem with startup failing because of a thread safety issue in wx. Added FM modulation, courtesy of changes submitted by Aaron Yankey Antwi. Minor changes to ensure build compatibility with wx widgets version 3.x <and> version 2.8... Modified (improved, I hope) behavior from waterfall plots and periodogram plots. MB2 click on the plot window to bring up the settings dialog. You can now change the speed of the waterfall update, and average over 1 to 40 or so spectrum samples. Added markers to waterfall plot showing passband of RX chain. (more or less). Added the Debug base class to improve debug trace reporting. Worked on problem with waterfall going "out of range" as the tuning changed. Added "Track Frequency" button for the waterfall/periodogram Note that using WX version 3.0 fixes the problem with saving logs or the config file to a directory that starts with '.'. Tested on B210, N200/WBX, Ubuntu, wx2.8.12 and wx3.0.1 --------------- Version 3.1 fixed an unitialized variable that caused intermittent failure with units that were not B200 or B210. URSPCtl would throw an exception complaining about the unavailability of a second transmit channel. Note that there is STILL a problem with any of the File->Save... dialog boxes under Fedora... working on this. --------------- Version 3.0 See the blog entry for the B210 10GHz transverter. Major changes to USRP server and GUI to support a minimal cost 10GHz rig using the B210 and an external mixer. Other changes for debugging (added Debug class and debugMsg). Fixed a load configuration bug. -------------- Version 2.2 Minor updates to fix problems with unitialized data in the USRPCtrl object. Also fixed thread scheduling warning -- the program now works for users that don't have RTPRIO privs. Thanks to an alert user for these reports. Note that some UBUNTU users have found that they must set the UBUNTU_MENUPROXY to something in order to get pulldowns to display. UBUNTU is getting a little annoying. I do this (Ubuntu 12.04.4 LTS) with export UBUNTU_MENUPROXY=libappmenu.so Others running Ubuntu 14.04 do this: export UBUNTU_MENUPROXY=0 -------------- Version 2.1 This package builds two programs: SoDaServer -- a multithreaded program that implements a software defined multimode VHF/UHF transciever. SoDaRadio -- a GUI that offers a user interface to the controls for SoDaServer There are several improvements over versions 1.1 and 1.2. Chief among these is a "band select" scheme that allows the user to define band segments, and transverter settings. Before running this version, you should remove the file ~/.SoDaRadio/SoDa.soda_cfg as it is no longer compatible with version 2.0. I really ought to fix that. PROBLEMS? If you have problems building, post a note in the forum at https://sourceforge.net/p/sodaradio/discussion/general/ If you find a bug, post a ticket at https://sourceforge.net/p/sodaradio/tickets/ If it works, post a note in the discussion forum. 73 -- es gl. --------------------------------------- Installing on Ubuntu 16.04 (From a raw Ubuntu installation) sudo apt install git sudo apt install curl sudo apt install libgtk-3-dev libgtk2.0-dev sudo apt install python-mako python-requests sudo apt install libgps-dev libudev-dev cd ~ mkdir SoDa cd SoDa mkdir wxbuild cd wxbuild wget https://github.com/wxWidgets/wxWidgets/releases/download/v2.8.12/wxGTK-2.8.12.tar.gz tar wxGTK-2.8.12.tar.gz cd wxGTK-2.8.12 mkdir buildit cd buildit ../configure make 2>&1 | tee make.log sudo make install cd ~/SoDa sudo apt install cmake libusb-1.0-0-dev libboost-all-dev python-cheetah doxygen libasound2-dev libfftw3-dev git clone git://github.com/EttusResearch/uhd.git cd uhd.git git tag # Now pick one of the latest releases.. When I wrote this it was git checkout release_003_010_001_001 cd host mkdir build cd build cmake ../ make 2>&1 | tee make.log sudo make install sudo ldconfig sudo /usr/local/lib/uhd/utils/uhd_images_downloader.py cd ../../../ sudo cp uhd/host/utils/uhd-usrp.rules /etc/udev/rules.d/10-usrp.rules git clone https://git.code.sf.net/p/sodaradio/SoDaRadio SoDaRadio cd SoDaRadio mkdir build cd build cmake ../ make 2>&1 | tee make.log sudo make install ------------------ Now you can run SoDaRadio SoDaRadio
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.