Giter Site home page Giter Site logo

baskiton / satsdecoder Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 5.0 459 KB

Image and Telemetry decoder for some amateurs satellites (geoscan, sputnix platforms...)

License: GNU General Public License v3.0

Python 99.95% Shell 0.05%
amateur amateur-satellites satellite-images satellite-telemetry

satsdecoder's Introduction

Satellites decoder


Image and Telemetry decoder for some amateurs satellites (geoscan, sputnix platforms...)

First, download, setup and run soundmodem
https://r4uab.ru/settings-soundmodem/

  • geoscan: 1
  • usp: 1, 2
  • lucky-7: 1
  • other: 1

To start decoding, run SatsDecoder, select protocol tab and press "Connect" button. Play FM demodulated signal and wait for result.

Options

  • Out Dir Directory to store result images and telemetry
  • Server Hostname or IP-address of soundmodem
  • Port Port of soundmodem (see in File -> Devices -> AGWPE Server Port)
  • Merge mode When enabled, all new images data will store to one file
  • New Image Force a new image

Hotkeys

  • Ctrl-Q Quit
  • F1 Show About window, check if newer version available

Protocols

The following protocols are currently supported:

Data Sources

Various data source types are available in the Conn combobox:

  • AGWPE Client - to connect to soundmodems
  • HEX values - per-line decoding of data transmitted as a HEX string
  • TCP Client - TCP socket as client
  • TCP Server - TCP socket as server
    • ATTENTION!!! For TCP types, the data provider ensures that the header is sent before the main data:
      struct header {  
          uint32_t len;  // data length
      }
      Byte order: Network (big-endian)
  • KISS files - read KISS-files

Run from source

Required at least Python 3.7
I recommend to use a virtual environment

Install required packages:

pip install -r requirements.txt

To run:

python -m SatsDecoder

Build from source

Required at least Python 3.7
I recommend to use a virtual environment

  • Pyinstaller

    pip install -r requirements.txt
    pip install pyinstaller
    pyinstaller -y decoder.spec
    
  • Nuitka

    pip install -r requirements.txt
    pip install nuitka
    python -m nuitka python -m nuitka --python-flag=-m --onefile --standalone \
        --assume-yes-for-downloads --output-dir=dist --script-name=SatsDecoder \
        --enable-plugins=tk-inter --windows-icon-from-ico=res/icon.png \
        --include-data-dir=res=res --noinclude-data-files=res/*.txt
    

The result build can be found in the dist folder

Licensing

SatsDecoder is licensed under GPL-3.0-or-later. It contains third-party code licensed as GPL-3.0-or-later, but the majority of the codebase is licensed as MIT

Contributing

Contributions to SatsDecoder must be licensed as MIT.
The "main" branch is the release branch.
New branches must be created from "dev".
All PRs must be into "dev".
Python code must be compliant or close to the PEP-8.

satsdecoder's People

Contributors

baskiton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

satsdecoder's Issues

Code copied from gr-satellites

Hello, opening an issue, since I wasn't able to find @baskiton's email address.

I have just noticed that SatsDecoder copies some code from gr-satellites. The copyright statement has been removed from the copied code, and SatsDecoder is licensed under the MIT license, while gr-satellites is licensed as GPL-3.0-or-later. This is against gr-satellites' license terms. The usual way to remedy this would be to preserve the copyright statements in the code copied from gr-satellites and to license the combination of this code and other code in SatsDecoder as GPL-3.0-or-later (the original work in SatsDecoder can remain under the MIT license), although I would be happy to discuss potential alternatives.

The code in question is https://github.com/baskiton/SatsDecoder/blob/main/SatsDecoder/systems/common.py, which is an almost verbatim copy of all the code in https://github.com/daniestevez/gr-satellites/blob/main/python/telemetry/ax25.py and some of the code in https://github.com/daniestevez/gr-satellites/blob/main/python/adapters.py, plus a function ax25_get_sender_callsign() which is not part of gr-satellites.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.