summaryrefslogtreecommitdiff
path: root/code
diff options
context:
space:
mode:
authormanojgudi2014-03-15 20:31:21 +0530
committermanojgudi2014-03-15 20:31:21 +0530
commit56dfdfd2885446138edd210c42e0ef70d07d1dc2 (patch)
tree73b2f0108d6ae1090de726c2c686cc1eb4a4cc78 /code
parentcb95976e9c184470effcd64b2b84b6475742c5e4 (diff)
downloadsandhi-docs-56dfdfd2885446138edd210c42e0ef70d07d1dc2.tar.gz
sandhi-docs-56dfdfd2885446138edd210c42e0ef70d07d1dc2.tar.bz2
sandhi-docs-56dfdfd2885446138edd210c42e0ef70d07d1dc2.zip
added sample my_block code
Diffstat (limited to 'code')
-rw-r--r--code/.grc_gnuradio/my_block.py30
-rw-r--r--code/.grc_gnuradio/my_block.xml82
-rw-r--r--code/README1
3 files changed, 113 insertions, 0 deletions
diff --git a/code/.grc_gnuradio/my_block.py b/code/.grc_gnuradio/my_block.py
new file mode 100644
index 0000000..2c3dffc
--- /dev/null
+++ b/code/.grc_gnuradio/my_block.py
@@ -0,0 +1,30 @@
+import gras
+import numpy
+
+class MyBlock(gras.Block):
+
+ def __init__(self):
+ gras.Block.__init__(self,
+ name="my_block",
+ in_sig=[numpy.float32, numpy.float32], # input and output are 32bit numpy float datatype
+ out_sig=[numpy.float32])
+
+
+ def set_parameters(self, value):
+ self.value = value
+
+ # Here's where you define the function of block | This function runs for each input value
+ def work(self, input_items, output_items):
+
+ # output_items is a double array | first index corresponds to output port which starts from 0
+ # since we have only one output, first index is 0
+ # the item has to be an array even if it is a single integer
+ output_items[0][:1] = input_items[0][:1] + self.value
+
+ print "Output Value", output_items[0][:1]
+ print "Hello World"
+
+ # These lines report to GNU Radio how many items were consumed and produced
+ self.consume(0, 1) # Consume one item from input port 0
+ self.produce(0, 1) # Produce one item from output port 0
+
diff --git a/code/.grc_gnuradio/my_block.xml b/code/.grc_gnuradio/my_block.xml
new file mode 100644
index 0000000..36326ca
--- /dev/null
+++ b/code/.grc_gnuradio/my_block.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Add Block:
+## all types, 1 output, 2 to inf inputs
+###################################################
+ -->
+<block>
+ <name>my_block</name>
+ <key>my_block_key</key>
+ <category>My Block</category>
+
+<!-- This section is Cheetah Script
+-->
+ <import>import my_block</import>
+ <make>my_block.MyBlock()
+self.$(id).set_parameters($value)
+ </make>
+ <param>
+ <name>IO Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option><name>F32_F32</name><key>f32_f32</key></option>
+ <option><name>S32_S32</name><key>s32_s32</key></option>
+ <option><name>S16_S16</name><key>s16_s16</key></option>
+ <option><name>S8_S8</name><key>s8_s8</key></option>
+ </param>
+ <param>
+ <name>Num Inputs</name>
+ <key>num_inputs</key>
+ <value>2</value>
+ <type>int</type>
+ </param>
+
+ <param>
+ <name>Vec Length</name>
+ <key>vlen</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+
+ <!-- My Block parameter, this value is used to sum with input; and pass that as output of my block
+ -->
+ <param>
+ <name>Value</name>
+ <key>value</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+
+ <!--
+ Check if number of inputs are greater than 0, and if vector length
+ is greater than 0.
+ -->
+ <check>$num_inputs &gt; 0</check>
+ <check>$vlen &gt; 0</check>
+
+ <!--
+ Input of the block
+ -->
+ <sink>
+ <name>in</name>
+ <type>$(str($type).split('_')[0])</type>
+ <vlen>$vlen</vlen>
+ <nports>$num_inputs</nports>
+ </sink>
+
+ <!--
+ Output of the block
+ -->
+ <source>
+ <name>out</name>
+ <type>$(str($type).split('_')[1])</type>
+ <vlen>$vlen</vlen>
+ </source>
+ <doc>
+ Your Documentation Goes Here
+
+ This block outputs sum of value and input and prints "Hello World" onto the terminal
+ output = input + value
+ </doc>
+</block>
diff --git a/code/README b/code/README
new file mode 100644
index 0000000..f6225a8
--- /dev/null
+++ b/code/README
@@ -0,0 +1 @@
+This folder contains a hidden folder .grc_gnuradio/ which has sample code.