Difference between revisions of "Adding a new data decoder"
From SatNOGS Wiki
(Add resource links) (Tag: Visual edit) |
m (→Resources) (Tag: Visual edit) |
||
Line 22: | Line 22: | ||
==== Resources ==== | ==== Resources ==== | ||
− | * [http://doc.kaitai.io/user_guide.html Kaitai User Guide] | + | * [http://doc.kaitai.io/user_guide.html Kaitai Struct User Guide] |
* [https://ide.kaitai.io/ Kaitai WebIDE] | * [https://ide.kaitai.io/ Kaitai WebIDE] | ||
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders] repository | * [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders] repository | ||
[[Category:Telemetry]] | [[Category:Telemetry]] |
Revision as of 18:18, 14 April 2019
How to create the parser for a new satellite downlink
For satellite downlinks where SatNOGS provides demodulated data, but no decoder exists yet.
- Find and read documentation of the satellite downlink.
- Extract raw frames either from satnogs-network or satnogs-db.
- from network: Open good observations whith demodulated data,
- then open the observation via the API,
- copy the link to the payloads and download them (e.g. via wget)
- from db: Export frames of your satellite (how?), then convert them from hex to raw
- from network: Open good observations whith demodulated data,
- Write the Kaitai Struct (.ksy-file)
- Open the Kaitai WebIDE
- Create a new .ksy-format file (press the empty sheet button in the lower left)
- Upload the previously fetched raw frames as example data (press the cloud button in the lower left, select all files with raw frames)
- Write the kaitai struct. Use already existing parsers for reference.
- Always add the used documentation to the Kaitai struct (how?). If several sources are used, provide these sources when submitting the parser
- Check the parsed output (object tree) for correctness
- Check the results of your parser
- If another parser exists, cross-check your results with the output it provides.
- Sometimes there are examples frames or examples recordings provided. Use them for verification (if the data is well-known.)
- Submit the created kaitai struct (how?)