<block>gr_frequency_modulator_fc</block>
<block>gr_phase_modulator_fc</block>
<block>gr_quadrature_demod_cf</block>
+ <block>gr_cpfsk_bc</block>
<block>gr_diff_phasor_cc</block>
<block>gr_constellation_decoder_cb</block>
gr_constellation_decoder_cb.xml \
gr_correlate_access_code_bb.xml \
gr_costas_loop_cc.xml \
+ gr_cpfsk_bc.xml \
gr_dd_mpsk_sync_cc.xml \
gr_decode_ccsds_27_fb.xml \
gr_deinterleave.xml \
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>Excess BW</name>
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>Excess BW</name>
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>Gain Mu</name>
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>BT</name>
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>Excess BW</name>
<name>Samples/Symbol</name>
<key>samples_per_symbol</key>
<value>2</value>
- <type>real</type>
+ <type>int</type>
</param>
<param>
<name>Excess BW</name>
--- /dev/null
+<?xml version="1.0"?>
+<!--
+###################################################
+##CPFSK
+###################################################
+ -->
+<block>
+ <name>CPFSK</name>
+ <key>gr_cpfsk_bc</key>
+ <import>from gnuradio import gr</import>
+ <make>cpfsk_bc($k, $amplitude, $samples_per_symbol)</make>
+ <callback>set_amplitude($amplitude)</callback>
+ <param>
+ <name>K</name>
+ <key>k</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Amplitude</name>
+ <key>amplitude</key>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Samples/Symbol</name>
+ <key>samples_per_symbol</key>
+ <value>2</value>
+ <type>int</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>byte</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>complex</type>
+ </source>
+</block>
<option>
<name>WX GUI</name>
<key>wx_gui</key>
+ <opt>hide_category:all</opt>
</option>
<option>
<name>No GUI</name>
<key>no_gui</key>
+ <opt>hide_category:all</opt>
</option>
<option>
<name>Hier Block</name>
<key>hb</key>
+ <opt>hide_category:</opt>
</option>
</param>
<param>
<key>category</key>
<value>Custom</value>
<type>string</type>
+ <hide>$generate_options.hide_category</hide>
</param>
<check>len($window_size) == 2</check>
<check>300 <= $(window_size)[0] <= 2048</check>
DOXYGEN_BRIEFDESC_BLKS2_XPATH = '/doxygen/compounddef/sectiondef[@kind="public-func"]/memberdef/briefdescription'
DOXYGEN_DETAILDESC_BLKS2_XPATH = '/doxygen/compounddef/sectiondef[@kind="public-func"]/memberdef/detaileddescription'
-def extract_txt(xml):
+def extract_txt(xml, parent_text=None):
"""!
Recursivly pull the text out of an xml tree.
@param xml the xml tree
+ @param parent_text the text of the parent element
@return a string
"""
text = xml.text or ''
- if not len(xml): return text
- return ''.join([text] + map(extract_txt, xml))
+ tail = parent_text and xml.tail or ''
+ return text + ''.join(
+ map(lambda x: extract_txt(x, text), xml)
+ ) + tail
def is_match(key, file):
"""!