<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arneir77</id>
	<title>SatNOGS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Arneir77"/>
	<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/Special:Contributions/Arneir77"/>
	<updated>2026-05-10T15:34:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Adding_a_new_data_decoder&amp;diff=3845</id>
		<title>Adding a new data decoder</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Adding_a_new_data_decoder&amp;diff=3845"/>
		<updated>2022-08-15T17:59:34Z</updated>

		<summary type="html">&lt;p&gt;Arneir77: update link to satblog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This is one of the last steps on your way to add support for a satellite in SatNOGS and visualize it in the SatNOGS [[Dashboard]]. For the previous steps have a look at [[Satellite Mission Guide]] and [[Satellite operator manual]] (those two pages will probably be merged in the future).&lt;br /&gt;
&lt;br /&gt;
==How to create the parser for a new satellite downlink==&lt;br /&gt;
&lt;br /&gt;
For satellite downlinks where SatNOGS provides demodulated data, but no decoder exists yet.&lt;br /&gt;
&lt;br /&gt;
#Find and read documentation of the satellite downlink.&lt;br /&gt;
#Extract raw frames either from satnogs-network or satnogs-db.&lt;br /&gt;
#*from network: Open good observations whith demodulated data,&lt;br /&gt;
#*:then open the observation via the API,&lt;br /&gt;
#*:copy the link to the payloads and download them (e.g. via wget)&lt;br /&gt;
#*from db: Export frames of your satellite (how?), then convert them from hex to raw&lt;br /&gt;
#Write the Kaitai Struct (.ksy-file)&lt;br /&gt;
#*Open the [https://ide.kaitai.io/ Kaitai WebIDE]&lt;br /&gt;
#*Create a new .ksy-format file (press the empty sheet button in the lower left)&lt;br /&gt;
#*Upload the previously fetched raw frames as example data (press the cloud button in the lower left, select all files with raw frames)&lt;br /&gt;
#*Write the kaitai struct following the guide [https://community.libre.space/t/starting-with-satnogs-decoders/3145 &amp;quot;Starting with satnogs-decoders&amp;quot;] (TODO: Move this guide into this wiki) Use existing parsers from the [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders] repository for reference.&lt;br /&gt;
#*The &amp;quot;doc:&amp;quot; section which defines all fields in front of the satnogs decoder kaitai structs can be ignored for now.  They are ignored by kaitai, satnogs-specific and will be auto-generated in a later step.&lt;br /&gt;
#*Add a link to all the documentation of the satellite downlink which was used to write the kaitai struct (this can be done with a doc key)&lt;br /&gt;
#Check the results of your parser&lt;br /&gt;
#*If another parser exists, cross-check your results with the output it provides.&lt;br /&gt;
#*Sometimes there are examples frames or examples recordings provided. Use them for verification (if the data is well-known.)&lt;br /&gt;
#Generate the fields definition using the [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders/blob/master/contrib/generate_field_docstring.py generate-field-docstring.py script] (TODO: Add detailed documentation here and in the README)&lt;br /&gt;
#Fork the [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders] repository and add your decoder as described in the [https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders/tree/master#adding-a-new-decoder README]&lt;br /&gt;
#Create a commit with your new kaitai struct, push it to your fork and submit a Merge Request to satnogs-decoders&lt;br /&gt;
#Done.&lt;br /&gt;
&lt;br /&gt;
Next step: [https://wiki.satnogs.org/Telemetry_Dashboards Add a dashboard to visualize the new data]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://doc.kaitai.io/user_guide.html Kaitai Struct User Guide]&lt;br /&gt;
*[https://ide.kaitai.io/ Kaitai WebIDE]&lt;br /&gt;
*[https://gitlab.com/librespacefoundation/satnogs/satnogs-decoders satnogs-decoders] repository&lt;br /&gt;
*[[Decode Telemetry and Packets]]&lt;br /&gt;
*[https://www.satblog.info/ Satellite specific telemetry decoders] (German)&lt;br /&gt;
&lt;br /&gt;
[[Category:Develop]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:RF Modes]]&lt;/div&gt;</summary>
		<author><name>Arneir77</name></author>
		
	</entry>
</feed>