2016-01-07 20:24:51 +01:00
# 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
2017-02-07 12:46:06 +01:00
* GNU Radio ( > 3.7.7 )
2016-10-26 19:36:07 +02:00
* CMake ( > 3.1)
* G++ (with C++11 support)
* VOLK
2018-01-03 00:34:32 +01:00
* libogg
2017-03-23 02:22:08 +01:00
* libvorbis
2017-10-09 15:16:32 +02:00
* libpng
2018-01-03 00:34:32 +01:00
* libpng++
2016-10-26 19:36:07 +02:00
* git
2017-03-23 02:22:08 +01:00
**Optional**
2016-10-26 19:36:07 +02:00
* gr-osmocom (for using the flowgraphs with real SDR hardware)
* libnova (for building the debug blocks)
2018-01-31 21:53:45 +01:00
* libfec (it will automatically installed if not present)
2016-01-07 20:24:51 +01:00
2018-11-30 17:32:10 +01:00
#### Debian / Ubuntu
```
apt install -y build-essential cmake gnuradio g++ \
python-mako python-six libogg-dev \
libvorbis-dev libpng-dev libpng++-dev
cd /tmp
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ..
make -j 8
sudo make install
```
2016-01-07 20:24:51 +01:00
### Installation
2017-10-07 04:52:57 +02:00
1. `git clone https://gitlab.com/librespacefoundation/satnogs/gr-satnogs.git`
2016-01-07 20:24:51 +01:00
2. `cd gr-satnogs`
3. `mkdir build`
2018-11-30 12:11:43 +01:00
4. `cd build`
5. `cmake ..`
6. `make`
7. `sudo make install`
2016-01-07 20:24:51 +01:00
If this is the first time you are building the gr-satnogs module run
`sudo ldconfig`
2016-10-12 01:45:21 +02:00
#### 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:
2016-10-12 01:45:21 +02:00
`cmake -DCMAKE_INSTALL_PREFIX=/usr ..`
2016-10-26 19:36:07 +02:00
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
2016-10-26 19:36:07 +02:00
`INCLUDE_DEBUG_BLOCKS` boolean variable. If for example, you want to disable the
2016-10-12 01:45:21 +02:00
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.
2016-01-07 20:24:51 +01:00
## Website
For more indormation about SatNOGS please visit our [site ](https://satnogs.org/ ).
2018-07-18 12:39:00 +02:00
## Release Policy
2018-11-30 12:11:43 +01:00
The `gr-satnogs` OOT module uses the `major.api-compatibility.minor`
versioning scheme.
2018-07-18 12:39:00 +02:00
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.
2018-11-30 12:11:43 +01:00
Releases can be retrieved by the [tags ](https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/tags ) page.
2018-07-18 12:39:00 +02:00
2016-01-07 20:24:51 +01:00
## License
2018-01-05 15:42:51 +01:00
© 2016,2017,2018 [Libre Space Foundation ](http://librespacefoundation.org ).
2016-01-07 20:24:51 +01:00
2018-01-03 00:34:32 +01:00
Licensed under the [GPLv3 ](LICENSE ).