SatNOGS GNU Radio Out-Of-Tree Module

LongHairedHacker 96fd9bcad8 Merge branch 'sstv-decoder' 2 months ago
apps 274f5027d4 Fixed missing FM decoding stage 2 months ago
cmake ab022f1058 Include GrVersion.cmake module so the git version can be extracted 10 months ago
docs de05c3f1c4 Several minor improvements 1 year ago
examples 8424f5930d Remove obsolete examples 1 year ago
grc 12b4ef63ba Splitting images works 2 months ago
include c0740f1f61 First version that renders images 2 months ago
lib 12b4ef63ba Splitting images works 2 months ago
libfec f33f46edb9 Add libfec as external project 1 year ago
python 27394340e3 Update hw_settings.py to add support for USRP1 2 months ago
swig 71be84ac85 Added module 2 months ago
.gitignore 5d4884cf0d Add a generic clear text message sink. 3 years ago
.gitlab-ci.yml 4bcd9c8aaa Start the implementation of a generic frame synchronizer 10 months ago
CMakeLists.txt 5291e18032 Bump up version to 1.5.1 8 months ago
CONTRIBUTORS.md 05c82193ca Add contributors list and update versioning scheme 2 months ago
LICENSE eea04cf2aa Update and rename LICENSE.md to LICENSE 3 years ago
MANIFEST.md 08002b27cc Create the README and the OOT module structure. 3 years ago
README.md b08ade0dc7 Update README.md 2 months ago

README.md

gr-satnogs: SatNOGS GNU Radio Out-Of-Tree Module

gr-satnogs is an out-of-tree GNU Radio module that provides all the necessary tools for decoding signals from various scientific and academic sattelites.

Install

Requirements

  • GNU Radio ( > 3.7.7 )
  • CMake ( > 3.1)
  • G++ (with C++11 support)
  • VOLK
  • libogg
  • libvorbis
  • libpng
  • libpng++
  • git
  • swig

Optional

  • gr-osmocom (for using the flowgraphs with real SDR hardware)
  • libfec (it will automatically installed if not present)

Debian / Ubuntu

apt install -y build-essential cmake gnuradio g++    \
               python-mako python-six libogg-dev     \
               libvorbis-dev libpng-dev libpng++-dev \
               swig
cd /tmp
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ..
make -j $(nproc --all)
sudo make install

Installation from source

  1. git clone https://gitlab.com/librespacefoundation/satnogs/gr-satnogs.git
  2. cd gr-satnogs
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make -j $(nproc --all)
  7. sudo make install

If this is the first time you are building the gr-satnogs module run sudo ldconfig

Advanced

By default, the SatNOGS module will use the default installation prefix. This highly depends on the Linux distribution. You can use the CMAKE_INSTALL_PREFIX variable to alter the default installation path. E.g:

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Also, by default the build system enables a set of blocks used for debugging during the development. The enable/disable switch is controled through the INCLUDE_DEBUG_BLOCKS boolean variable. If for example, you want to disable the debugging blocks, the CMake command would be:

cmake -DINCLUDE_DEBUG_BLOCKS=OFF ..

Another common control option is the library sugffix of the Linux distribution. There are distributions like Fedora, openSUSE, e.t.c that the their 64-bit version use the lib64 folder to store the 64-bit versions of their dynamic libraries. On the other hand, distributions like Ubuntu do the exact opposite. They use lib directory for the libraries of the native architecture and place the 32-bit versions on the lib32 directory. In any case the correct library directory suffix can be specified with the LIB_SUFFIX variable. For example:

cmake -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX=/usr -DINCLUDE_DEBUG_BLOCKS=OFF ..

will install the libraries at the /usr/lib64 directory.

Website

For more indormation about SatNOGS please visit our site.

Release Policy

The gr-satnogs OOT module uses the major.api-compatibility.minor versioning scheme. is used by the satnogs-client, so the release and versioning policy is based on how the satnogs client is affected by the changes on the gr-satnogs software.

  • Minor changes, bug fixes or improvements that do not affect in anyway the satnogs-client advance the minor version.
  • The api-compatibility indicates changes that require modifications on satnogs-client but do not brake the backwards compatibility (e.g a new satallite decoder). In other words, the satnogs-client should continue to operate normally without any modifications. Changes on satnogs-client should be performed only to integrate the new features.
  • major version advances when the changes break backwards compatibility with the satnogs-client.

For every release change a tag with the corresponding version is created. Releases can be retrieved by the tags page.

License

© 2016,2017,2018 Libre Space Foundation.

Licensed under the GPLv3.