commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r7742 - in grc/branches/grc_reloaded: notes src/grc sr


From: jblum
Subject: [Commit-gnuradio] r7742 - in grc/branches/grc_reloaded: notes src/grc src/grc/elements src/grc/gui src/grc/platforms/gnuradio_python src/grc/platforms/gnuradio_python/blocks src/grc/platforms/gnuradio_python/blocks/operators src/grc/platforms/gnuradio_python/blocks/sinks src/grc/platforms/gnuradio_python/blocks/sources
Date: Mon, 18 Feb 2008 21:14:40 -0700 (MST)

Author: jblum
Date: 2008-02-18 21:14:40 -0700 (Mon, 18 Feb 2008)
New Revision: 7742

Added:
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/and.xml
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/not.xml
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/or.xml
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/xor.xml
   grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sinks/
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sinks/null_sink.xml
   grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sources/
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sources/null_source.xml
Modified:
   grc/branches/grc_reloaded/notes/todo.txt
   grc/branches/grc_reloaded/src/grc/Preferences.py
   grc/branches/grc_reloaded/src/grc/__init__.py
   grc/branches/grc_reloaded/src/grc/elements/Block.py
   grc/branches/grc_reloaded/src/grc/elements/Connection.py
   grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py
   grc/branches/grc_reloaded/src/grc/elements/Param.py
   grc/branches/grc_reloaded/src/grc/elements/Platform.py
   grc/branches/grc_reloaded/src/grc/elements/Port.py
   grc/branches/grc_reloaded/src/grc/gui/Dialogs.py
   grc/branches/grc_reloaded/src/grc/gui/SignalBlockParamsDialog.py
   grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Param.py
   grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Platform.py
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
   
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
Log:
better error message reporting in prefs window, added some blocks

Modified: grc/branches/grc_reloaded/notes/todo.txt
===================================================================
--- grc/branches/grc_reloaded/notes/todo.txt    2008-02-19 03:48:02 UTC (rev 
7741)
+++ grc/branches/grc_reloaded/notes/todo.txt    2008-02-19 04:14:40 UTC (rev 
7742)
@@ -16,7 +16,6 @@
 -socket controllers should be intelligent on shrinkage
 -usrp transmit dies in lock/unlock
 -audio dies lock/unlock
--auto scrolling problems
 
 ############   Features to Add:        ####################
 -startup tips

Modified: grc/branches/grc_reloaded/src/grc/Preferences.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/Preferences.py    2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/Preferences.py    2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -20,10 +20,32 @@
 #Holds global preferences
 address@hidden Josh Blum
 
-import time,socket #for tagging saved files
 from Constants import *
 import ParseXML
 import Messages
 import os
 
 
+
+
+#from grc.platforms.gnuradio_python.Platform import Platform
+
+#platform = Platform()
+
+#from grc.gui.elements.Platform import Platform
+
+#platform = Platform(platform)
+
+#flow_graph = platform.get_new_flow_graph()
+
+
+
+
+
+##Preferences: title, notes, params
+PREFERENCES = [
+       ('Test', 'TEST DESC', [
+                       
+               ]
+       ),
+]

Modified: grc/branches/grc_reloaded/src/grc/__init__.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/__init__.py       2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/__init__.py       2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -28,8 +28,6 @@
 
 platform = Platform(platform)
 
-print platform.get_block_keys()
-
 from grc.ActionHandler import ActionHandler
 
 ActionHandler([], platform)

Modified: grc/branches/grc_reloaded/src/grc/elements/Block.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -102,16 +102,18 @@
                """
                for c in self.get_params() + self.get_sinks() + 
self.get_sources():
                        try: assert(c.is_valid())
-                       except AssertionError: self._add_error_message('%s is 
not valid.'%c)
+                       except AssertionError: 
+                               for msg in c.get_error_messages():
+                                       self._add_error_message('%s: %s'%(c, 
msg))
                for check in self._checks:
                        check_res = self.resolve_dependencies(check, 
to_code=True)
                        try: 
                                check_eval = 
self.get_parent().evaluate(check_res)
                                try: assert(check_eval)
-                               except AssertionError: 
self._add_error_message('Check "%s" evaluated to false.'%check_res)
+                               except AssertionError: 
self._add_error_message('Check "%s" failed.'%check_res)
                        except: self._add_error_message('Check "%s" did not 
evaluate.'%check_res)
                                
-       def __str__(self): return 'Block: %s - %s(%s)'%(self.get_id(), 
self.get_name(), self.get_key())
+       def __str__(self): return 'Block - %s - %s(%s)'%(self.get_id(), 
self.get_name(), self.get_key())
        
        def get_id(self): return self.get_param('id').get_value() 
        

Modified: grc/branches/grc_reloaded/src/grc/elements/Connection.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Connection.py    2008-02-19 
03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/Connection.py    2008-02-19 
04:14:40 UTC (rev 7742)
@@ -50,7 +50,7 @@
                self._source = source
                self._sink = sink               
        
-       def __str__(self): return 'Connection: %s -> %s'%(self.get_source(), 
self.get_sink())
+       def __str__(self): return 'Connection (%s -> %s)'%(self.get_source(), 
self.get_sink())
        
        def is_connection(self): return True
        

Modified: grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py     2008-02-19 
03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py     2008-02-19 
04:14:40 UTC (rev 7742)
@@ -39,7 +39,7 @@
                #initialize
                Element.__init__(self, platform)        
                
-       def __str__(self): return 'FlowGraph: "%s"'%self.get_option('name')
+       def __str__(self): return 'FlowGraph - "%s"'%self.get_option('name')
        
        def get_option(self, key):
                """!
@@ -144,7 +144,9 @@
                Export all block and connection data.
                @return a nested data odict
                """
+               import time
                n = odict()
+               n['timestamp'] = time.ctime()
                n['block'] = [block.export_data() for block in 
self.get_blocks()]
                n['connection'] = [connection.export_data() for connection in 
self.get_connections()]
                return {'flow_graph': n}

Modified: grc/branches/grc_reloaded/src/grc/elements/Param.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Param.py 2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/Param.py 2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -42,7 +42,7 @@
                        #store the option
                        self._opts[key] = value
        
-       def __str__(self): return 'Option: %s(%s)'%(self.get_name(), 
self.get_key())
+       def __str__(self): return 'Option %s(%s)'%(self.get_name(), 
self.get_key())
        
        def get_name(self): return self._name
        
@@ -166,7 +166,7 @@
                """
                raise NotImplementedError
        
-       def __str__(self): return 'Param: %s(%s)'%(self.get_name(), 
self.get_key())
+       def __str__(self): return 'Param - %s(%s)'%(self.get_name(), 
self.get_key())
        
        def is_param(self): return True
        

Modified: grc/branches/grc_reloaded/src/grc/elements/Platform.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Platform.py      2008-02-19 
03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/Platform.py      2008-02-19 
04:14:40 UTC (rev 7742)
@@ -68,7 +68,7 @@
                                self._blocks[key] = block
                                self._blocks_n[key] = n
        
-       def __str__(self): return 'Platform: %s(%s)'%(self.get_name(), 
self.get_key())
+       def __str__(self): return 'Platform - %s(%s)'%(self.get_name(), 
self.get_key())
        
        def is_platform(self): return True
        

Modified: grc/branches/grc_reloaded/src/grc/elements/Port.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Port.py  2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/elements/Port.py  2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -51,11 +51,15 @@
                The port must be non-empty and type must a possible type.
                """
                try: assert(not self.is_empty())
-               except AssertionError: self._add_error_message('Port "%s" is 
empty.'%self)
+               except AssertionError: self._add_error_message('is empty.')
                try: assert(self.get_type() in self.TYPES)
                except AssertionError: self._add_error_message('Type "%s" is 
not a possible type.'%type)                
        
-       def __str__(self): return 'Port: %s(%s)'%(self.get_name(), 
self.get_key())
+       def __str__(self): 
+               if self.is_source():
+                       return 'Source - %s(%s)'%(self.get_name(), 
self.get_key())
+               if self.is_sink():
+                       return 'Sink - %s(%s)'%(self.get_name(), self.get_key())
        
        def is_port(self): return True
        

Modified: grc/branches/grc_reloaded/src/grc/gui/Dialogs.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/Dialogs.py    2008-02-19 03:48:02 UTC 
(rev 7741)
+++ grc/branches/grc_reloaded/src/grc/gui/Dialogs.py    2008-02-19 04:14:40 UTC 
(rev 7742)
@@ -20,13 +20,11 @@
 #Misc dialogs.
 address@hidden Josh Blum
 
-#import Colors
 import pygtk
 pygtk.require('2.0')
 import gtk
-#from DataTypes import *
 from grc.Constants import *
-#import Preferences
+from grc import Preferences
 
 class TextDisplay(gtk.TextView):
        """A non editable gtk text view."""
@@ -55,10 +53,10 @@
                self.set_title("Preferences")   
                self.set_size_request(MIN_DIALOG_WIDTH, MIN_DIALOG_HEIGHT)
                notebook = gtk.Notebook()
-               for title,notes,params in Preferences.PREFS_LIST:               
        
+               for title,notes,params in Preferences.PREFERENCES:              
        
                        if title:                               
                                vbox = gtk.VBox()
-                               vbox.pack_start(gtk.Label(), False)     #blank 
label for spacing
+                               vbox.pack_start(gtk.Label(''), False) #blank 
label for spacing
                                for param, key in params: 
vbox.pack_start(param.get_input_object(), False)              
                                if notes: vbox.pack_start(TextDisplay(notes), 
False, padding=5)
                                notebook.append_page(vbox, gtk.Label(title))    
        

Modified: grc/branches/grc_reloaded/src/grc/gui/SignalBlockParamsDialog.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/SignalBlockParamsDialog.py    
2008-02-19 03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/gui/SignalBlockParamsDialog.py    
2008-02-19 04:14:40 UTC (rev 7742)
@@ -61,21 +61,37 @@
                scrolled_window.add_with_viewport(vbox)
                self.vbox.pack_start(scrolled_window, True)
                self.original_data = list()
+               #Error Messages for the block
+               self._error_messages_box = err_box = gtk.VBox()
+               self._error_messages_text_display = TextDisplay('')
+               err_box.pack_start(gtk.Label(''), False, False, 7) #spacing
+               err_box.pack_start(get_title_label('Error Messages'), False)
+               err_box.pack_start(self._error_messages_text_display, False)    
        
                #Add all the parameters
                for param in filter(lambda p: p.get_key() not in ('position',), 
self.block.get_params()): 
                        self.original_data.append(param.get_value())
                        
vbox.pack_start(param.get_input_object(self._handle_changed), False)    
+               vbox.pack_start(err_box, False)
                #Done adding parameters                                         
        
                if self.block.get_doc():
-                       #Create some additional spacing
-                       vbox.pack_start(gtk.Label(''), False, False, 7)
-                       #Add the title label            
+                       vbox.pack_start(gtk.Label(''), False, False, 7) #spacing
                        vbox.pack_start(get_title_label('Documentation'), False)
                        #Create the text box to display notes about the block
                        
vbox.pack_start(TextDisplay(self.block.get_doc().strip('\n')), False)
                self.connect('key_press_event', self._handle_key_press)
                self.show_all()
+               self._update_error_messages()
                
+       def _update_error_messages(self):
+               """
+               Update the error messages in the error messages box.
+               Hide the box if there are no errors.
+               """                     
+               if self.block.is_valid(): self._error_messages_box.hide()
+               else: self._error_messages_box.show()
+               messages = '\n'.join(self.block.get_error_messages())
+               self._error_messages_text_display.set_text(messages)
+               
        def _handle_key_press(self, widget, event):
                """!
                Handle key presses from the keyboard.
@@ -93,6 +109,8 @@
                the variable param will need an external update.
                @param param the graphical parameter that initiated the 
callback                
                """
+               self._update_error_messages()
+               #update dependent params
                if param.is_enum():
                        for other_param in param.get_parent().get_params():
                                if param.get_key() in other_param._type: 
other_param.update()

Modified: grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Param.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Param.py        
2008-02-19 03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Param.py        
2008-02-19 04:14:40 UTC (rev 7742)
@@ -144,7 +144,7 @@
                        except: 
                                self._add_error_message('ID "%s" must be 
alpha-numeric or underscored, and begin with a letter.'%v)
                                raise Exception                 
-                       params = self.get_all_params('var_key')
+                       params = self.get_all_params('id')
                        keys = [param.get_value() for param in params]
                        try: assert(len(keys) == len(set(keys)))
                        except:

Modified: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Platform.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Platform.py     
2008-02-19 03:48:02 UTC (rev 7741)
+++ grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Platform.py     
2008-02-19 04:14:40 UTC (rev 7742)
@@ -32,16 +32,20 @@
 
 BLOCK_TREE = [
        ('Sources', [
-       
+                       'null_source',
                ]
        ),
        ('Sinks', [
-       
+                       'null_sink',
                ]
        ),
        ('Operators',[
                        'add',
                        'add_const',
+                       'not',
+                       'and',
+                       'or',
+                       'xor',
                ]
        ),
        ('Variables',[

Modified: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
        2008-02-19 03:48:02 UTC (rev 7741)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add.xml
        2008-02-19 04:14:40 UTC (rev 7742)
@@ -10,7 +10,7 @@
        <name>Add</name>
        <key>add</key>
        <dep>from gnuradio import gr</dep>
-       <fcn>$type:fcn($vec_len)</fcn>
+       <fcn>$type:fcn($vlen)</fcn>
        <param>
                <name>Num Inputs</name>
                <key>num_inputs</key>
@@ -18,12 +18,6 @@
                <type>int</type>                
        </param>
        <param>
-               <name>Vec Length</name>
-               <key>vec_len</key>
-               <value>1</value>
-               <type>int</type>                
-       </param>
-       <param>
                <name>IO Type</name>
                <key>type</key>
                <type>enum</type>
@@ -52,17 +46,23 @@
                        <opt>fcn:gr.add_vss</opt>                               
                
                </option>
        </param>
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>                
+       </param>
        <check>$num_inputs >= 2</check>
-       <check>$vec_len >= 1</check>
+       <check>$vlen >= 1</check>
        <sink>
                <name>in</name>
                <type>$type:type</type>
-               <vlen>$vec_len</vlen>
+               <vlen>$vlen</vlen>
                <nports>$num_inputs</nports>
        </sink> 
        <source>
                <name>out</name>
                <type>$type:type</type>
-               <vlen>$vec_len</vlen>
+               <vlen>$vlen</vlen>
        </source>               
 </block>

Modified: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
  2008-02-19 03:48:02 UTC (rev 7741)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
  2008-02-19 04:14:40 UTC (rev 7742)
@@ -19,12 +19,6 @@
                <type>$type:const_type</type>
        </param>
        <param>
-               <name>Vec Length</name>
-               <key>vec_len</key>
-               <value>1</value>
-               <type>int</type>
-       </param>
-       <param>
                <name>IO Type</name>
                <key>type</key>
                <type>enum</type>
@@ -57,6 +51,12 @@
                        <opt>fcn:gr.add_const_vss</opt>                         
                
                </option>
        </param>        
+       <param>
+               <name>Vec Length</name>
+               <key>vec_len</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
        <check>len($const) == $vec_len</check>
        <check>$vec_len >= 1</check>
        <sink>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/and.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/and.xml
                                (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/and.xml
        2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Logical And Block
+###################################################
+ -->
+<block>
+       <name>And</name>
+       <key>and</key>
+       <dep>from gnuradio import gr</dep>
+       <fcn>$type:fcn()</fcn>  
+       <param>
+               <name>IO Type</name>
+               <key>type</key>
+               <type>enum</type>               
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>fcn:gr.and_ii</opt>                                
                
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>type:short</opt>
+                       <opt>fcn:gr.and_ss</opt>                                
                
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>fcn:gr.and_bb</opt>                                
                
+               </option>
+       </param>        
+       <sink>
+               <name>in</name>
+               <type>$type:type</type>
+       </sink> 
+       <source>
+               <name>out</name>
+               <type>$type:type</type>
+       </source>               
+</block>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/not.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/not.xml
                                (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/not.xml
        2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Logical Not Block
+###################################################
+ -->
+<block>
+       <name>Not</name>
+       <key>not</key>
+       <dep>from gnuradio import gr</dep>
+       <fcn>$type:fcn()</fcn>  
+       <param>
+               <name>IO Type</name>
+               <key>type</key>
+               <type>enum</type>               
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>fcn:gr.not_ii</opt>                                
                
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>type:short</opt>
+                       <opt>fcn:gr.not_ss</opt>                                
                
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>fcn:gr.not_bb</opt>                                
                
+               </option>
+       </param>        
+       <sink>
+               <name>in</name>
+               <type>$type:type</type>
+       </sink> 
+       <source>
+               <name>out</name>
+               <type>$type:type</type>
+       </source>               
+</block>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/or.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/or.xml
                         (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/or.xml
 2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Logical Or Block
+###################################################
+ -->
+<block>
+       <name>Or</name>
+       <key>or</key>
+       <dep>from gnuradio import gr</dep>
+       <fcn>$type:fcn()</fcn>  
+       <param>
+               <name>IO Type</name>
+               <key>type</key>
+               <type>enum</type>               
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>fcn:gr.or_ii</opt>                                 
        
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>type:short</opt>
+                       <opt>fcn:gr.or_ss</opt>                                 
        
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>fcn:gr.or_bb</opt>                                 
        
+               </option>
+       </param>        
+       <sink>
+               <name>in</name>
+               <type>$type:type</type>
+       </sink> 
+       <source>
+               <name>out</name>
+               <type>$type:type</type>
+       </source>               
+</block>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/xor.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/xor.xml
                                (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/xor.xml
        2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Logical Xxor Block
+###################################################
+ -->
+<block>
+       <name>Xor</name>
+       <key>xor</key>
+       <dep>from gnuradio impxort gr</dep>
+       <fcn>$type:fcn()</fcn>  
+       <param>
+               <name>IO Type</name>
+               <key>type</key>
+               <type>enum</type>               
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>fcn:gr.xor_ii</opt>                                
                
+               </option>
+               <option>
+                       <name>Shxort</name>
+                       <key>shxort</key>
+                       <opt>type:shxort</opt>
+                       <opt>fcn:gr.xor_ss</opt>                                
                
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>fcn:gr.xor_bb</opt>                                
                
+               </option>
+       </param>        
+       <sink>
+               <name>in</name>
+               <type>$type:type</type>
+       </sink> 
+       <source>
+               <name>out</name>
+               <type>$type:type</type>
+       </source>               
+</block>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sinks/null_sink.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sinks/null_sink.xml
                              (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sinks/null_sink.xml
      2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Null Sink
+###################################################
+ -->
+<block>
+       <name>Null Sink</name>
+       <key>null_sink</key>
+       <dep>from gnuradio import gr</dep>
+       <fcn>gr.null_sink($type:size*$vlen)</fcn>
+       <param>
+               <name>Input Type</name>
+               <key>type</key>
+               <type>enum</type>
+               <option>
+                       <name>Complex</name>
+                       <key>complex</key>
+                       <opt>type:complex</opt>
+                       <opt>size:gr.sizeof_gr_complex</opt>                    
                
+               </option>
+               <option>
+                       <name>Float</name>
+                       <key>float</key>
+                       <opt>type:float</opt>
+                       <opt>size:gr.sizeof_float</opt>                 
+               </option>
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>size:gr.sizeof_int</opt>                           
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>type:short</opt>
+                       <opt>size:gr.sizeof_short</opt>                         
        
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>size:gr.sizeof_char</opt>                          
                
+               </option>
+       </param>        
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>                
+       </param>
+       <check>$vlen >= 1</check>
+       <sink>
+               <name>in</name>
+               <type>$type:type</type>
+               <vlen>$vlen</vlen>
+       </sink>
+       <doc>
+The null sink consumes a stream and does nothing.
+       </doc>
+</block>

Added: 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sources/null_source.xml
===================================================================
--- 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sources/null_source.xml
                          (rev 0)
+++ 
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/sources/null_source.xml
  2008-02-19 04:14:40 UTC (rev 7742)
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!DOCTYPE block SYSTEM "../block.dtd">
+<!-- 
+###################################################
+##Null Source
+###################################################
+ -->
+<block>
+       <name>Null Source</name>
+       <key>null_source</key>
+       <dep>from gnuradio import gr</dep>
+       <fcn>gr.null_source($type:size*$vlen)</fcn>
+       <param>
+               <name>Output Type</name>
+               <key>type</key>
+               <type>enum</type>
+               <option>
+                       <name>Complex</name>
+                       <key>complex</key>
+                       <opt>type:complex</opt>
+                       <opt>size:gr.sizeof_gr_complex</opt>                    
                
+               </option>
+               <option>
+                       <name>Float</name>
+                       <key>float</key>
+                       <opt>type:float</opt>
+                       <opt>size:gr.sizeof_float</opt>                 
+               </option>
+               <option>
+                       <name>Int</name>
+                       <key>int</key>
+                       <opt>type:int</opt>
+                       <opt>size:gr.sizeof_int</opt>                           
+               </option>
+               <option>
+                       <name>Short</name>
+                       <key>short</key>
+                       <opt>type:short</opt>
+                       <opt>size:gr.sizeof_short</opt>                         
        
+               </option>
+               <option>
+                       <name>Byte</name>
+                       <key>byte</key>
+                       <opt>type:byte</opt>
+                       <opt>size:gr.sizeof_char</opt>                          
                
+               </option>
+       </param>        
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>                
+       </param>
+       <check>$vlen >= 1</check>
+       <source>
+               <name>out</name>
+               <type>$type:type</type>
+               <vlen>$vlen</vlen>
+       </source>
+       <doc>
+The null source outputs a stream of all zeros.
+       </doc>
+</block>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]