summaryrefslogtreecommitdiff
path: root/gr-vocoder/grc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-vocoder/grc')
-rw-r--r--gr-vocoder/grc/CMakeLists.txt32
-rw-r--r--gr-vocoder/grc/vocoder_block_tree.xml2
-rw-r--r--gr-vocoder/grc/vocoder_codec2_decode_ps.xml10
-rw-r--r--gr-vocoder/grc/vocoder_codec2_encode_sp.xml10
-rw-r--r--gr-vocoder/grc/vocoder_freedv_rx_ss.xml58
-rw-r--r--gr-vocoder/grc/vocoder_freedv_tx_ss.xml57
6 files changed, 161 insertions, 8 deletions
diff --git a/gr-vocoder/grc/CMakeLists.txt b/gr-vocoder/grc/CMakeLists.txt
index f8cf8231b2..eef52179cb 100644
--- a/gr-vocoder/grc/CMakeLists.txt
+++ b/gr-vocoder/grc/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011 Free Software Foundation, Inc.
+# Copyright 2011,2016 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -21,8 +21,6 @@ install(FILES
vocoder_alaw_decode_bs.xml
vocoder_alaw_encode_sb.xml
vocoder_block_tree.xml
- vocoder_codec2_decode_ps.xml
- vocoder_codec2_encode_sp.xml
vocoder_cvsd_decode_bs.xml
vocoder_cvsd_decode.xml
vocoder_cvsd_encode_sb.xml
@@ -33,10 +31,32 @@ install(FILES
vocoder_g723_24_encode_sb.xml
vocoder_g723_40_decode_bs.xml
vocoder_g723_40_encode_sb.xml
- vocoder_gsm_fr_decode_ps.xml
- vocoder_gsm_fr_encode_sp.xml
vocoder_ulaw_decode_bs.xml
vocoder_ulaw_encode_sb.xml
DESTINATION ${GRC_BLOCKS_DIR}
- COMPONENT "vocoder_python"
)
+
+if(LIBCODEC2_FOUND)
+ install(FILES
+ vocoder_codec2_decode_ps.xml
+ vocoder_codec2_encode_sp.xml
+ DESTINATION ${GRC_BLOCKS_DIR}
+ )
+endif(LIBCODEC2_FOUND)
+
+if(LIBCODEC2_HAS_FREEDV_API)
+ install(FILES
+ vocoder_freedv_rx_ss.xml
+ vocoder_freedv_tx_ss.xml
+ DESTINATION ${GRC_BLOCKS_DIR}
+ COMPONENT "vocoder_python"
+ )
+endif(LIBCODEC2_HAS_FREEDV_API)
+
+if(LIBGSM_FOUND)
+ install(FILES
+ vocoder_gsm_fr_decode_ps.xml
+ vocoder_gsm_fr_encode_sp.xml
+ DESTINATION ${GRC_BLOCKS_DIR}
+ )
+endif(LIBGSM_FOUND)
diff --git a/gr-vocoder/grc/vocoder_block_tree.xml b/gr-vocoder/grc/vocoder_block_tree.xml
index 07d8ba8fd1..e47af4cdd5 100644
--- a/gr-vocoder/grc/vocoder_block_tree.xml
+++ b/gr-vocoder/grc/vocoder_block_tree.xml
@@ -38,6 +38,8 @@
<block>vocoder_cvsd_encode_sb</block>
<block>vocoder_cvsd_decode_bf</block>
<block>vocoder_cvsd_encode_fb</block>
+ <block>vocoder_freedv_tx_ss</block>
+ <block>vocoder_freedv_rx_ss</block>
<block>vocoder_g721_decode_bs</block>
<block>vocoder_g721_encode_sb</block>
<block>vocoder_g723_24_decode_bs</block>
diff --git a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml b/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
index b6e10ef8ba..8448dc83df 100644
--- a/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
+++ b/gr-vocoder/grc/vocoder_codec2_decode_ps.xml
@@ -39,11 +39,19 @@
<name>1200 bps</name>
<key>codec2.MODE_1200</key>
</option>
+ <option>
+ <name>700 bps</name>
+ <key>codec2.MODE_700</key>
+ </option>
+ <option>
+ <name>700B bps</name>
+ <key>codec2.MODE_700B</key>
+ </option>
</param>
<sink>
<name>in</name>
<type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48 }[$mode]</vlen>
+ <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[$mode]</vlen>
</sink>
<source>
<name>out</name>
diff --git a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml b/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
index 6af54fa586..f11ad443c6 100644
--- a/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
+++ b/gr-vocoder/grc/vocoder_codec2_encode_sp.xml
@@ -39,6 +39,14 @@
<name>1200 bps</name>
<key>codec2.MODE_1200</key>
</option>
+ <option>
+ <name>700 bps</name>
+ <key>codec2.MODE_700</key>
+ </option>
+ <option>
+ <name>700B bps</name>
+ <key>codec2.MODE_700B</key>
+ </option>
</param>
<sink>
<name>in</name>
@@ -47,7 +55,7 @@
<source>
<name>out</name>
<type>byte</type>
- <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48 }[$mode]</vlen>
+ <vlen>{ 0: 64, 1: 48, 2: 64, 3: 56, 4: 52, 5: 48, 6: 28, 7: 28 }[$mode]</vlen>
</source>
</block>
diff --git a/gr-vocoder/grc/vocoder_freedv_rx_ss.xml b/gr-vocoder/grc/vocoder_freedv_rx_ss.xml
new file mode 100644
index 0000000000..14e00a0979
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_freedv_rx_ss.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## FreeDV audio modem demodulator
+###################################################
+ -->
+<block>
+ <name>FreeDV demodulator</name>
+ <key>vocoder_freedv_rx_ss</key>
+ <import>from gnuradio import vocoder</import>
+ <import>from gnuradio.vocoder import freedv_api</import>
+ <make>vocoder.freedv_rx_ss($mode,$squelch_thresh)</make>
+ <callback>set_squelch_thresh($squelch_thresh)</callback>
+ <param>
+ <name>Operating Mode</name>
+ <key>mode</key>
+ <value>freedv_api.MODE_1600</value>
+ <type>int</type>
+ <option>
+ <name>1600</name>
+ <key>freedv_api.MODE_1600</key>
+ </option>
+ <option>
+ <name>700</name>
+ <key>freedv_api.MODE_700</key>
+ </option>
+ <option>
+ <name>700B</name>
+ <key>freedv_api.MODE_700B</key>
+ </option>
+ <option>
+ <name>2400A</name>
+ <key>freedv_api.MODE_2400A</key>
+ </option>
+ <option>
+ <name>2400B</name>
+ <key>freedv_api.MODE_2400B</key>
+ </option>
+ <option>
+ <name>800XA</name>
+ <key>freedv_api.MODE_800XA</key>
+ </option>
+ </param>
+ <param>
+ <name>Squelch Threshold</name>
+ <key>squelch_thresh</key>
+ <value>-100.0</value>
+ <type>float</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>short</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>short</type>
+ </source>
+</block>
diff --git a/gr-vocoder/grc/vocoder_freedv_tx_ss.xml b/gr-vocoder/grc/vocoder_freedv_tx_ss.xml
new file mode 100644
index 0000000000..54a49b730f
--- /dev/null
+++ b/gr-vocoder/grc/vocoder_freedv_tx_ss.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## FreeDV audio modem modulator
+###################################################
+ -->
+<block>
+ <name>FreeDV modulator</name>
+ <key>vocoder_freedv_tx_ss</key>
+ <import>from gnuradio import vocoder</import>
+ <import>from gnuradio.vocoder import freedv_api</import>
+ <make>vocoder.freedv_tx_ss($mode,$txt_msg)</make>
+ <param>
+ <name>Operating Mode</name>
+ <key>mode</key>
+ <value>freedv_api.MODE_1600</value>
+ <type>int</type>
+ <option>
+ <name>1600</name>
+ <key>freedv_api.MODE_1600</key>
+ </option>
+ <option>
+ <name>700</name>
+ <key>freedv_api.MODE_700</key>
+ </option>
+ <option>
+ <name>700B</name>
+ <key>freedv_api.MODE_700B</key>
+ </option>
+ <option>
+ <name>2400A</name>
+ <key>freedv_api.MODE_2400A</key>
+ </option>
+ <option>
+ <name>2400B</name>
+ <key>freedv_api.MODE_2400B</key>
+ </option>
+ <option>
+ <name>800XA</name>
+ <key>freedv_api.MODE_800XA</key>
+ </option>
+ </param>
+ <param>
+ <name>Text Message</name>
+ <key>txt_msg</key>
+ <value>'GNU Radio'</value>
+ <type>string</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>short</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>short</type>
+ </source>
+</block>