<?xml version="1.0"?>
<block>
	<name>UPSAT FSK Frame Encoder</name>
	<key>satnogs_upsat_fsk_frame_encoder</key>
	<import>import satnogs</import>
	<make>satnogs.upsat_fsk_frame_encoder($preamble, $sync_word, $append_crc, $whitening, $manchester, $msb_first, $ax_25, $src_addr, $src_ssid, $dest_addr, $dest_ssid, $settling_samples)</make>

	<param>
		<name>Frame Preamble</name>
		<key>preamble</key>
		<type>raw</type>
	</param>

	<param>
		<name>Synchronization Word</name>
		<key>sync_word</key>
		<type>raw</type>
	</param>
	
	<param>
		<name>Append CRC</name>
		<key>append_crc</key>
		<type>enum</type>
		<option>
			<name>Yes</name>
			<key>True</key>
		</option>
		<option>
			<name>No</name>
			<key>False</key>
		</option>
	</param>

	<param>
		<name>Whitening</name>
		<key>whitening</key>
		<type>enum</type>
		<option>
			<name>No</name>
			<key>False</key>
		</option>
		<option>
			<name>Yes</name>
			<key>True</key>
		</option>
	</param>

	<param>
		<name>Use Manchester Coding</name>
		<key>manchester</key>
		<type>enum</type>
		<option>
			<name>No</name>
			<key>False</key>
		</option>
		<option>
			<name>Yes</name>
			<key>True</key>
		</option>
	</param>
	
	<param>
		<name>Send MS bit first</name>
		<key>msb_first</key>
		<type>enum</type>
		<option>
			<name>Yes</name>
			<key>True</key>
		</option>
		<option>
			<name>No</name>
			<key>False</key>
		</option>
	</param>
	
	<param>
		<name>Use AX.25 encapsulation</name>
		<key>ax_25</key>
		<type>enum</type>
		<option>
			<name>No</name>
			<key>False</key>
		</option>
		<option>
			<name>Yes</name>
			<key>True</key>
		</option>
	</param>
	
	<param>
		<name>Destination Callsign</name>
		<key>dest_addr</key>
		<type>string</type>
	</param>

	<param>
		<name>Destination SSID</name>
		<key>dest_ssid</key>
		<type>int</type>
	</param>

	<param>
		<name>Source Callsign</name>
		<key>src_addr</key>
		<type>string</type>
	</param>

	<param>
		<name>Source SSID</name>
		<key>src_ssid</key>
		<type>int</type>
	</param>
	
	<param>
		<name>Number of zero settling samples</name>
		<key>settling_samples</key>
		<value>64</value>
		<type>int</type>
	</param>

	<sink>
		<name>pdu</name>
		<type>message</type>
	</sink>

	<source>
		<name>out</name>
		<type>float</type>
	</source>
</block>
