Skip to content

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

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENSE-GPL
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

baskiton/SatsDecoder

Repository files navigation

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.