Installation

gr-satellites is a GNU Radio out-of-tree module, and it should be installed as such. The general steps for installing gr-satellites include making sure that all the dependencies are installed and then building and installing the out-of-tree module.

Dependencies

gr-satellites requires GNU Radio version at least 3.8.

Warning

There are some build dependencies for GNU Radio out-of-tree modules that are not required to run GNU Radio, so some distributions might not install them by default when GNU Radio is installed. The main ones that may cause problems are:

  • swig
  • liborc (in Debian-based distributions liborc-0.4-dev is needed)

Additionally, the following libraries are required:

Note

libfec can be built and installed from its git repository by doing

$ git clone https://github.com/quiet/libfec
$ cd libfec
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig

construct and requests are Python packages and can be installed with pip by doing

$ pip3 install --user --upgrade construct requests

Alternatively, construct and requests can be installed from your distribution’s package manager

Optional dependencies

To use the realtime image decoders, gr-satellites needs feh

Note

feh is best installed through your distribution’s package manager

Downloading

gr-satellites is developed in the daniestevez/gr-satellites Github repository. It is recommended that you download the latest stable release (note that currently v3.0.0 is not stable yet, so the latest stable release is indeed v2.3.2, which is completely different to what is described in this documentation). You can also browse the list of all releases to see older vesions and pre-releases (such as v3.0.0-rc1, which is the release described in this documentation).

Users interested in collaborating with testing or developing gr-satellites can clone the git repository and use the master branch. There is more information about the organization in branches in the README.

Building and installing

gr-satellites can be built and installed using cmake:

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

After running make, you can run the tests by doing make test in the build/ directory.

PYTHONPATH

After installing gr-satellites, it is necessary to ensure that Python is able to locate the gr-satellites Python module. Depending on the configuration of Python and the location where gr-satellites has been installed, it might be necessary to set the PYTHONPATH environment variable.

If Python is not able to locate the gr-satellites module, it will produce an error like this:

ModuleNotFoundError: No module named 'satellites'

Often, gr-satellites is installed into /usr/local/lib/python3/dist-packages/ or a similar directory, in a subdirectory called satellites. Therefore,

$ export PYTHONPATH=/usr/local/lib/python3/dist-packages/

can be used to allow Python to find the gr-satellites module. More information about the PYTHONPATH can be found in Python’s documentation description of the PYTHONPATH.

Downloading sample recordings

The satellite-recordings/ directory is a git submodule that contains many short sample recordings of different satellites that can be used to test the decoders. The submodule can be cloned (downloaded) by running

$ git submodule update --init

inside the gr-satellites/ directory.

Alternatively, it is possible to run

$ git clone --recursive https://github.com/daniestevez/gr-satellites

when cloning the gr-satellites repository to download both gr-satellites and the satellite-recordings submodule.

The satellite-recordings sample recordings can also be downloaded from its own git repository.