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/qa_utils/CMakeLists.txt b/grc/qa_utils/CMakeLists.txt
index 1f57aa1..2ed15a1 100644
--- a/grc/qa_utils/CMakeLists.txt
+++ b/grc/qa_utils/CMakeLists.txt
@@ -18,8 +18,9 @@
 # Boston, MA 02110-1301, USA.
 
 install(FILES
-    gsm_burst_source.xml
-    gsm_burst_sink.xml
-    gsm_message_source.xml
-    gsm_message_sink.xml DESTINATION share/gnuradio/grc/blocks
+    gsm_burst_source.block.xml
+    gsm_burst_sink.block.xml
+    gsm_message_source.block.xml
+    gsm_message_sink.block.xml
+    DESTINATION share/gnuradio/grc/blocks
 )
diff --git a/grc/qa_utils/gsm_burst_sink.block.yml b/grc/qa_utils/gsm_burst_sink.block.yml
new file mode 100644
index 0000000..fdcfa29
--- /dev/null
+++ b/grc/qa_utils/gsm_burst_sink.block.yml
@@ -0,0 +1,14 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_sink
+label: Burst Sink
+
+inputs:
+-   domain: message
+    id: in
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_sink()
+
+file_format: 1
diff --git a/grc/qa_utils/gsm_burst_sink.xml b/grc/qa_utils/gsm_burst_sink.xml
deleted file mode 100644
index 1026993..0000000
--- a/grc/qa_utils/gsm_burst_sink.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Sink</name>
-  <key>gsm_burst_sink</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_sink()</make>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-</block>
diff --git a/grc/qa_utils/gsm_burst_source.block.yml b/grc/qa_utils/gsm_burst_source.block.yml
new file mode 100644
index 0000000..81e56f5
--- /dev/null
+++ b/grc/qa_utils/gsm_burst_source.block.yml
@@ -0,0 +1,30 @@
+# auto-generated by grc.converter
+
+id: gsm_burst_source
+label: Burst Source
+
+parameters:
+-   id: framenumbers
+    label: Frame numbers
+    dtype: int_vector
+    default: '[]'
+    hide: part
+-   id: timeslots
+    label: Timeslots
+    dtype: int_vector
+    default: '[]'
+    hide: part
+-   id: bursts
+    label: Bursts
+    dtype: raw
+    default: '[[],]'
+
+outputs:
+-   domain: message
+    id: out
+
+templates:
+    imports: import grgsm
+    make: grgsm.burst_source(${framenumbers}, ${timeslots}, ${bursts})
+
+file_format: 1
diff --git a/grc/qa_utils/gsm_burst_source.xml b/grc/qa_utils/gsm_burst_source.xml
deleted file mode 100644
index d3da677..0000000
--- a/grc/qa_utils/gsm_burst_source.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Burst Source</name>
-  <key>gsm_burst_source</key>
-  <import>import grgsm</import>
-  <make>grgsm.burst_source($framenumbers, $timeslots, $bursts)</make>
-
-  <param>
-    <name>Frame numbers</name>
-    <key>framenumbers</key>
-    <value>[]</value>
-    <type>int_vector</type>
-    <hide>part</hide>
-  </param>
-
-  <param>
-    <name>Timeslots</name>
-    <key>timeslots</key>
-    <value>[]</value>
-    <type>int_vector</type>
-    <hide>part</hide>
-  </param>
-
-  <param>
-    <name>Bursts</name>
-    <key>bursts</key>
-    <value>[[],]</value>
-    <type>raw</type>
-  </param>
-
-  <source>
-    <name>out</name>
-    <type>message</type>
-  </source>
-</block>
diff --git a/grc/qa_utils/gsm_message_sink.block.yml b/grc/qa_utils/gsm_message_sink.block.yml
new file mode 100644
index 0000000..bde7f52
--- /dev/null
+++ b/grc/qa_utils/gsm_message_sink.block.yml
@@ -0,0 +1,19 @@
+# auto-generated by grc.converter
+
+id: gsm_message_sink
+label: Message Sink
+
+inputs:
+-   domain: message
+    id: in
+
+templates:
+    imports: import grgsm
+    make: grgsm.message_sink()
+
+documentation: |-
+    This block is a message sink for testing purposes.
+
+    The data can be retrieved using function get_messages()
+
+file_format: 1
diff --git a/grc/qa_utils/gsm_message_sink.xml b/grc/qa_utils/gsm_message_sink.xml
deleted file mode 100644
index e0d6ac0..0000000
--- a/grc/qa_utils/gsm_message_sink.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Message Sink</name>
-  <key>gsm_message_sink</key>
-  <import>import grgsm</import>
-  <make>grgsm.message_sink()</make>
-
-  <sink>
-    <name>in</name>
-    <type>message</type>
-  </sink>
-  
-  <doc>
-This block is a message sink for testing purposes.
-
-The data can be retrieved using function get_messages()
-
-  </doc>
-</block>
diff --git a/grc/qa_utils/gsm_message_source.block.yml b/grc/qa_utils/gsm_message_source.block.yml
new file mode 100644
index 0000000..abb1800
--- /dev/null
+++ b/grc/qa_utils/gsm_message_source.block.yml
@@ -0,0 +1,39 @@
+# auto-generated by grc.converter
+
+id: gsm_message_source
+label: Message Source
+
+parameters:
+-   id: messages
+    label: Messages
+    dtype: raw
+    default: '["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0
+        2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b",
+
+        "02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b
+        2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b",
+
+        "02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00
+        00 00 00 00 00 00 00 00 00 00 ff e5 04 00",
+
+        "02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b
+        2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"]'
+    hide: 'true'
+
+outputs:
+-   domain: message
+    id: msgs
+
+templates:
+    imports: import grgsm
+    make: grgsm.message_source(${messages})
+
+documentation: |-
+    This block is a basic message source for testing purposes.
+
+    It takes a list of strings as input, where each string
+    is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header.
+
+    Such strings can be obtained using the message printer with option "Print GSMTap header"
+
+file_format: 1
diff --git a/grc/qa_utils/gsm_message_source.xml b/grc/qa_utils/gsm_message_source.xml
deleted file mode 100644
index ab06f65..0000000
--- a/grc/qa_utils/gsm_message_source.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<block>
-  <name>Message Source</name>
-  <key>gsm_message_source</key>
-  <import>import grgsm</import>
-  <make>grgsm.message_source($messages)</make>
-
-  <param>
-    <name>Messages</name>
-    <key>messages</key>
-    <value>["02 04 01 00 00 00 c9 00 00 1d 3c e5 02 00 01 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b",
-"02 04 01 00 00 00 ca 00 00 1d 3c e9 02 00 02 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b",
-"02 04 01 00 00 00 cb 00 00 1d 3d 0e 01 00 00 00 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00",
-"02 04 01 00 00 00 cb 00 00 1d 3d 12 02 00 00 00 15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b"]</value>
-    <type>raw</type>
-    <hide>true</hide>
-  </param>
-
-  <source>
-    <name>msgs</name>
-    <type>message</type>
-  </source>
-
-  <doc>
-This block is a basic message source for testing purposes.
-
-It takes a list of strings as input, where each string
-is a whitespace-separated list of hexadecimal values representing the data bytes of a message including the gsmtap header.
-
-Such strings can be obtained using the message printer with option "Print GSMTap header"
-  </doc>
-</block>