Image and Telemetry decoder for some amateurs satellites (geoscan, sputnix platforms...)
First, download, setup and run soundmodem
https://r4uab.ru/settings-soundmodem/
To start decoding, run SatsDecoder, select protocol tab and press "Connect" button. Play FM demodulated signal and wait for result.
Out Dir
Directory to store result images and telemetryServer
Hostname or IP-address of soundmodemPort
Port of soundmodem (see in File -> Devices -> AGWPE Server Port)Merge mode
When enabled, all new images data will store to one fileNew Image
Force a new image
Ctrl-Q
QuitF1
Show About window, check if newer version available
The following protocols are currently supported:
GEOSCAN
- Geoscan platformUSP
- Unified SPUTNIX protocolAX.25
CSP
- Cubesat Space ProtocolD-Star ONE
- D-Star ONE ProtocolCitGardens-02
- CIT Gardens-02 projectGreenCube
- GreenCubeLedsat
- LEDSATLucky-7
- Lucky-7 Satellite protocolRoseyCubeSat
SharjahSat
Sonate-2
- Sonate-2 protocolWTCSimba
- WildTrackCube-SIMBARAW
- Any raw data
Various data source types are available in the Conn
combobox:
AGWPE Client
- to connect to soundmodemsHEX values
- per-line decoding of data transmitted as a HEX stringTCP Client
- TCP socket as clientTCP Server
- TCP socket as server- ATTENTION!!! For TCP types, the data provider ensures that the header is sent before the main data:
Byte order: Network (big-endian)
struct header { uint32_t len; // data length }
- ATTENTION!!! For TCP types, the data provider ensures that the header is sent before the main data:
KISS files
- read KISS-files
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
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
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
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.