Skip to content

opensatelliteproject/libsathelper

Repository files navigation

Build Status MIT License

libSatHelper

Helper library for decoding Satellite Signals.

Features

  • Viterbi27 Decode / Encode (wrapper from libcorrect)
  • CCSDS ReedSolomon Decode (wrapper from libcorrect)
  • ReedSolomon [De]Interleaver
  • Correlator for Sync Word
  • Packet Phase Ambiguity Fixer (For 0, 90, 180, 270 degrees and IQ Inversion)
  • Working on Windows

How to build (Linux / MacOSX)

If you don't want to worry about installing libcorrect and running all steps manually, just make sure you have your OS development tools (gcc / clang) and run:

make libcorrect
sudo make libcorrect-install
make
sudo make install

This should install both libSatHelper and libcorrect.

How to build (Windows)

TODO: Now we use libcorrect instead libfec.

OLD:

For windows it should be compiled using Microsoft Visual C++ compiler (it should work with mingw, but not tested). First you need to compile the modified [libfec](https://github.com/racerxdl/libfec) that can compile in mingw32 and generate the msvc libraries (everything described on libfec's readme). After that create a folder named `winfec` and copy the `fec.h`, `libfec.lib`, `libfec.exp`. Then you shoud be able to compile `libSatHelper.dll` in Visual Studio. The Solution was made in Visual Studio 2015

GO Wrappers

Now libSatHelper has golang wrappers. It's currently under test with SatHelperApp but so far it seens to be working pretty well. By default you can use it as a normal Go Library by running

go get github.com/opensatelliteproject/libsathelper

Just make sure you have libSatHelper installed in your OS (your Go app will be linked to it).

One thing to notice for devs, I included the SWIG generated SatHelper_wrap.cxx and SatHelper.go, these are automatically generated by swig, you can update them (in case you want to change) by running:

make updatego