Migrate grc blocks from xml to yaml

Convert the blocks using cmdline_converter.py script from
https://gist.githubusercontent.com/haakov/4228ff6a14486641add538483093e86b/raw/c861a840e31182ace2e74f5425e356cb4f8b183a/cmdline_converter.py

Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292
diff --git a/grc/flow_control/CMakeLists.txt b/grc/flow_control/CMakeLists.txt
index 1f98d8f..2876512 100644
--- a/grc/flow_control/CMakeLists.txt
+++ b/grc/flow_control/CMakeLists.txt
@@ -18,12 +18,13 @@
 # Boston, MA 02110-1301, USA.
 
 install(FILES
-    gsm_burst_timeslot_splitter.xml
-    gsm_burst_fnr_filter.xml
-    gsm_burst_timeslot_filter.xml
-    gsm_burst_type_filter.xml
-    gsm_dummy_burst_filter.xml
-    gsm_burst_sdcch_subslot_splitter.xml
-    gsm_burst_sdcch_subslot_filter.xml 
-    gsm_uplink_downlink_splitter.xml DESTINATION share/gnuradio/grc/blocks
+    gsm_burst_timeslot_splitter.block.yml
+    gsm_burst_fnr_filter.block.yml
+    gsm_burst_timeslot_filter.block.yml
+    gsm_burst_type_filter.block.yml
+    gsm_dummy_burst_filter.block.yml
+    gsm_burst_sdcch_subslot_splitter.block.yml
+    gsm_burst_sdcch_subslot_filter.block.yml
+    gsm_uplink_downlink_splitter.block.yml
+    DESTINATION share/gnuradio/grc/blocks
 )
diff --git a/grc/flow_control/gsm_burst_fnr_filter.block.yml b/grc/flow_control/gsm_burst_fnr_filter.block.yml
new file mode 100644
index 0000000..8dc9adc
--- /dev/null
+++ b/grc/flow_control/gsm_burst_fnr_filter.block.yml
@@ -0,0 +1,33 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_fnr_filter
+label: Burst Framenumber Filter
+
+parameters:
+-   id: mode
+    label: Mode
+    dtype: enum
+    options: [grgsm.FILTER_LESS_OR_EQUAL, grgsm.FILTER_GREATER_OR_EQUAL]
+    option_labels: [Less or equal, Greater or equal]
+-   id: fnr
+    label: Framenumber
+    dtype: int
+    default: '1500123'
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_fnr_filter(${mode}, ${fnr})
+
+documentation: |-
+    Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded.
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_fnr_filter.xml b/grc/flow_control/gsm_burst_fnr_filter.xml
deleted file mode 100644
index 7b27583..0000000
--- a/grc/flow_control/gsm_burst_fnr_filter.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Framenumber Filter</name>
-  <key>gsm_burst_fnr_filter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_fnr_filter($mode, $fnr)</make>
-
-  <param>
-    <name>Mode</name>
-    <key>mode</key>
-    <type>enum</type>
-    <option>
-      <name>Less or equal</name>
-      <key>grgsm.FILTER_LESS_OR_EQUAL</key>
-    </option>
-    <option>
-      <name>Greater or equal</name>
-      <key>grgsm.FILTER_GREATER_OR_EQUAL</key>
-    </option>
-  </param>
-  <param>
-    <name>Framenumber</name>
-    <key>fnr</key>
-    <value>1500123</value>
-    <type>int</type>
-  </param>
-  
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-Burst framenumber filter forwards only blocks with a framenumber satisfying the configured mode, i.e. if mode is "Less or equal", then only bursts with a smaller or equal framenumber are forwarded.
-  </doc>
-</block>
diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml
new file mode 100644
index 0000000..66039f6
--- /dev/null
+++ b/grc/flow_control/gsm_burst_sdcch_subslot_filter.block.yml
@@ -0,0 +1,34 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_sdcch_subslot_filter
+label: Burst SDCCH Subslot Filter
+
+parameters:
+-   id: mode
+    label: Mode
+    dtype: enum
+    options: [grgsm.SS_FILTER_SDCCH8, grgsm.SS_FILTER_SDCCH4]
+    option_labels: [SDCCH/8, SDCCH/4]
+-   id: subslot
+    label: Subslot
+    dtype: int
+    default: '0'
+    hide: none
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_sdcch_subslot_filter(${mode}, ${subslot})
+
+documentation: |-
+    This block forwards only bursts in the subslot given by the parameter
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml
deleted file mode 100644
index ddfcb3b..0000000
--- a/grc/flow_control/gsm_burst_sdcch_subslot_filter.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst SDCCH Subslot Filter</name>
-  <key>gsm_burst_sdcch_subslot_filter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_sdcch_subslot_filter($mode, $subslot)</make>
-   
-  <param>
-    <name>Mode</name>
-    <key>mode</key>
-    <type>enum</type>
-    <option>
-      <name>SDCCH/8</name>
-      <key>grgsm.SS_FILTER_SDCCH8</key>
-    </option>
-    <option>
-      <name>SDCCH/4</name>
-      <key>grgsm.SS_FILTER_SDCCH4</key>
-    </option>
-  </param>
-
-  <param>
-    <name>Subslot</name>
-    <key>subslot</key>
-    <value>0</value>
-    <type>int</type>
-    <hide>none</hide>
-  </param>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-This block forwards only bursts in the subslot given by the parameter
-  </doc>
-</block>
\ No newline at end of file
diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml
new file mode 100644
index 0000000..a409dd2
--- /dev/null
+++ b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.block.yml
@@ -0,0 +1,39 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_sdcch_subslot_splitter
+label: Burst SDCCH Subslot Splitter
+
+parameters:
+-   id: ports
+    label: Mode
+    dtype: enum
+    options: ['8', '4']
+    option_labels: [SDCCH/8, SDCCH/4]
+    hide: part
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    multiplicity: ${ ports }
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: |-
+        grgsm.burst_sdcch_subslot_splitter(
+        % if int(ports)==4:
+        grgsm.SPLITTER_SDCCH4
+        % else:
+        grgsm.SPLITTER_SDCCH8
+        % endif
+          )
+
+documentation: |-
+    Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong.
+    This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on.
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml b/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml
deleted file mode 100644
index 62415e7..0000000
--- a/grc/flow_control/gsm_burst_sdcch_subslot_splitter.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst SDCCH Subslot Splitter</name>
-  <key>gsm_burst_sdcch_subslot_splitter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_sdcch_subslot_splitter(
-#if int($ports())==4 #
-grgsm.SPLITTER_SDCCH4
-#else
-grgsm.SPLITTER_SDCCH8
-#end if
-  )</make>
-   
-  <param>
-    <name>Mode</name>
-    <key>ports</key>
-    <type>enum</type>
-    <option>
-      <name>SDCCH/8</name>
-      <key>8</key>
-    </option>
-    <option>
-      <name>SDCCH/4</name>
-      <key>4</key>
-    </option>
-  </param>
-    
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <nports>$ports</nports>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-Burst SDCCH subslot splitter distributes bursts to eight different output ports depending on the subslots to which the bursts belong.
-This means subslot 0 bursts are sent to port out0, subslot 1 bursts on port out1, and so on.
-  </doc>
-</block>
\ No newline at end of file
diff --git a/grc/flow_control/gsm_burst_timeslot_filter.block.yml b/grc/flow_control/gsm_burst_timeslot_filter.block.yml
new file mode 100644
index 0000000..afc0c2b
--- /dev/null
+++ b/grc/flow_control/gsm_burst_timeslot_filter.block.yml
@@ -0,0 +1,29 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_timeslot_filter
+label: Burst Timeslot Filter
+
+parameters:
+-   id: timeslot
+    label: Timeslot
+    dtype: int
+    default: '0'
+    hide: none
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_timeslot_filter(${timeslot})
+
+documentation: |-
+    This block forwards only bursts in the timeslot given by the parameter
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_timeslot_filter.xml b/grc/flow_control/gsm_burst_timeslot_filter.xml
deleted file mode 100644
index b900375..0000000
--- a/grc/flow_control/gsm_burst_timeslot_filter.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Timeslot Filter</name>
-  <key>gsm_burst_timeslot_filter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_timeslot_filter($timeslot)</make>
-
-  <param>
-    <name>Timeslot</name>
-    <key>timeslot</key>
-    <value>0</value>
-    <type>int</type>
-    <hide>none</hide>
-  </param>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-This block forwards only bursts in the timeslot given by the parameter
-  </doc>
-</block>
diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.block.yml b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml
new file mode 100644
index 0000000..2d8faee
--- /dev/null
+++ b/grc/flow_control/gsm_burst_timeslot_splitter.block.yml
@@ -0,0 +1,24 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_timeslot_splitter
+label: Burst Timeslot Splitter
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    multiplicity: '8'
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_timeslot_splitter()
+
+documentation: "Burst timeslot splitter distributes bursts to eight different output\
+    \ ports depending on the timeslots of the bursts. \nThis means timeslot 0 bursts\
+    \ are sent to port out0, timeslot 1 bursts on port out1, and so on."
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_timeslot_splitter.xml b/grc/flow_control/gsm_burst_timeslot_splitter.xml
deleted file mode 100644
index 4f6159e..0000000
--- a/grc/flow_control/gsm_burst_timeslot_splitter.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Timeslot Splitter</name>
-  <key>gsm_burst_timeslot_splitter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_timeslot_splitter()</make>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <nports>8</nports>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-Burst timeslot splitter distributes bursts to eight different output ports depending on the timeslots of the bursts. 
-This means timeslot 0 bursts are sent to port out0, timeslot 1 bursts on port out1, and so on.
-  </doc>
-</block>
diff --git a/grc/flow_control/gsm_burst_type_filter.block.yml b/grc/flow_control/gsm_burst_type_filter.block.yml
new file mode 100644
index 0000000..21222ae
--- /dev/null
+++ b/grc/flow_control/gsm_burst_type_filter.block.yml
@@ -0,0 +1,31 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_type_filter
+label: Burst Type Filter
+
+parameters:
+-   id: selected_burst_types
+    label: Selected burst types
+    dtype: int_vector
+    default: '[0,1,2,3,4,5,6,7]'
+
+inputs:
+-   domain: message
+    id: bursts_in
+    optional: true
+
+outputs:
+-   domain: message
+    id: bursts_out
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_type_filter(${selected_burst_types})
+
+documentation: |-
+    This block filters bursts based on their type.
+
+    For more information on burst types, see GSM 05.02.
+
+file_format: 1
diff --git a/grc/flow_control/gsm_burst_type_filter.xml b/grc/flow_control/gsm_burst_type_filter.xml
deleted file mode 100644
index d7d86f4..0000000
--- a/grc/flow_control/gsm_burst_type_filter.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Type Filter</name>
-  <key>gsm_burst_type_filter</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_type_filter($selected_burst_types)</make>
-
-  <param>
-    <name>Selected burst types</name>
-    <key>selected_burst_types</key>
-    <value>[0,1,2,3,4,5,6,7]</value>
-    <type>int_vector</type>
-  </param>
-
-  <sink>
-    <name>bursts_in</name>
-    <type>message</type>
-    <optional>1</optional>
-  </sink>
-
-  <source>
-    <name>bursts_out</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-This block filters bursts based on their type.
-
-For more information on burst types, see GSM 05.02.
-  </doc>
-</block>
diff --git a/grc/flow_control/gsm_dummy_burst_filter.block.yml b/grc/flow_control/gsm_dummy_burst_filter.block.yml
new file mode 100644
index 0000000..f0f690c
--- /dev/null
+++ b/grc/flow_control/gsm_dummy_burst_filter.block.yml
@@ -0,0 +1,22 @@
+# auto-generated by grc.converter
+
+id: gsm_dummy_burst_filter
+label: Dummy Burst Filter
+
+inputs:
+-   domain: message
+    id: in
+
+outputs:
+-   domain: message
+    id: out
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.dummy_burst_filter()
+
+documentation: "This block filters dummy bursts. \n\nFor more information on dummy\
+    \ bursts, see GSM 05.02."
+
+file_format: 1
diff --git a/grc/flow_control/gsm_dummy_burst_filter.xml b/grc/flow_control/gsm_dummy_burst_filter.xml
deleted file mode 100644
index 126e4fe..0000000
--- a/grc/flow_control/gsm_dummy_burst_filter.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Dummy Burst Filter</name>
-  <key>gsm_dummy_burst_filter</key>
-  <import>import grgsm</import>
-  <make>grgsm.dummy_burst_filter()</make>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>
-
-  <doc>
-This block filters dummy bursts. 
-
-For more information on dummy bursts, see GSM 05.02.
-  </doc>
-</block>
diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.block.yml b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml
new file mode 100644
index 0000000..12d141d
--- /dev/null
+++ b/grc/flow_control/gsm_uplink_downlink_splitter.block.yml
@@ -0,0 +1,23 @@
+# auto-generated by grc.converter
+
+id: gsm_uplink_downlink_splitter
+label: Up/Down-link splitter
+
+inputs:
+-   domain: message
+    id: in
+    optional: true
+
+outputs:
+-   domain: message
+    id: downlink
+    optional: true
+-   domain: message
+    id: uplink
+    optional: true
+
+templates:
+    imports: import grgsm
+    make: grgsm.uplink_downlink_splitter()
+
+file_format: 1
diff --git a/grc/flow_control/gsm_uplink_downlink_splitter.xml b/grc/flow_control/gsm_uplink_downlink_splitter.xml
deleted file mode 100644
index 5c0c932..0000000
--- a/grc/flow_control/gsm_uplink_downlink_splitter.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Up/Down-link splitter</name>
-  <key>gsm_uplink_downlink_splitter</key>
-  <import>import grgsm</import>
-  <make>grgsm.uplink_downlink_splitter()</make>
-  <sink>
-    <name>in</name>
-    <type>message</type>
-    <optional>1</optional>
-  </sink>
-  <source>
-    <name>downlink</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>  
-  <source>
-    <name>uplink</name>
-    <type>message</type>
-    <optional>1</optional>
-  </source>  
-</block>