gr-satnogs/README.md

104 lines
3.7 KiB
Markdown
Raw Normal View History

# 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
2018-01-03 00:34:32 +01:00
* libogg
* libvorbis
2017-10-09 15:16:32 +02:00
* libpng
2018-01-03 00:34:32 +01:00
* libpng++
* git
2019-06-05 13:36:58 +02:00
* 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 \
2019-06-05 13:36:58 +02:00
libvorbis-dev libpng-dev libpng++-dev \
swig
cd /tmp
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ..
2019-06-05 13:36:58 +02:00
make -j $(nproc --all)
sudo make install
```
2018-12-01 23:51:46 +01:00
### Installation from source
2017-10-07 04:52:57 +02:00
1. `git clone https://gitlab.com/librespacefoundation/satnogs/gr-satnogs.git`
2. `cd gr-satnogs`
3. `mkdir build`
4. `cd build`
5. `cmake ..`
2019-06-05 13:37:54 +02:00
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.
2018-01-03 00:34:32 +01:00
E.g:
`cmake -DCMAKE_INSTALL_PREFIX=/usr ..`
Also, by default the build system enables a set of blocks used for debugging
2018-01-03 00:34:32 +01:00
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](https://satnogs.org/).
## Release Policy
The `gr-satnogs` OOT module uses the `major.api-compatibility.minor`
versioning scheme.
is used by the [satnogs-client](https://gitlab.com/librespacefoundation/satnogs/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](https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/tags) page.
## License
© 2016,2017,2018 [Libre Space Foundation](http://librespacefoundation.org).
2018-01-03 00:34:32 +01:00
Licensed under the [GPLv3](LICENSE).