Difference between revisions of "Adding a new data decoder"

From SatNOGS Wiki
m (category)
(How to create the parser for a new satellite downlink: Fix list numbering)
Line 10: Line 10:
 
#* from db: Export frames of your satellite (how?), then convert them from hex to raw
 
#* from db: Export frames of your satellite (how?), then convert them from hex to raw
 
# Write the Kaitai Struct (.ksy-file)
 
# Write the Kaitai Struct (.ksy-file)
#* Open the [Kaitai WebIDE](https://ide.kaitai.io/)
+
#* Open the [https://ide.kaitai.io/ Kaitai WebIDE]
 
#* Create a new .ksy-format file (press the empty sheet button in the lower left)
 
#* 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)
 
#* Upload the previously fetched raw frames as example data (press the cloud button in the lower left, select all files with raw frames)
Line 16: Line 16:
 
#* Always add the used documentation to the Kaitai struct (how?). If several sources are used, provide these sources when submitting the parser
 
#* 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 parsed output (object tree) for correctness
 
 
# Check the results of your parser
 
# Check the results of your parser
 
#* If another parser exists, cross-check your results with the output it provides.
 
#* 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.)
 
#* 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?)
 
# Submit the created kaitai struct (how?)
  
Resources:
+
=== Resources ===
* http://doc.kaitai.io/user_guide.html
+
- http://doc.kaitai.io/user_guide.html
 
[[Category:Telemetry]]
 
[[Category:Telemetry]]

Revision as of 18:15, 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.

  1. Find and read documentation of the satellite downlink.
  2. 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
  3. 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
  4. 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.)
  5. Submit the created kaitai struct (how?)

Resources

- http://doc.kaitai.io/user_guide.html