[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r7757 - in grc/branches/grc_reloaded: data src/grc src
From: |
jblum |
Subject: |
[Commit-gnuradio] r7757 - in grc/branches/grc_reloaded: data src/grc src/grc/elements src/grc/gui src/grc/gui/elements src/grc/platforms/gnuradio_python src/grc/platforms/gnuradio_python/blocks src/grc/platforms/gnuradio_python/blocks/operators src/grc/platforms/gnuradio_python/data |
Date: |
Wed, 20 Feb 2008 17:35:05 -0700 (MST) |
Author: jblum
Date: 2008-02-20 17:35:05 -0700 (Wed, 20 Feb 2008)
New Revision: 7757
Added:
grc/branches/grc_reloaded/data/block_tree.dtd
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/block_tree.xml
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/default_flow_graph.grc.xml
Removed:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/default_flow_graph.grc.xml
Modified:
grc/branches/grc_reloaded/src/grc/Preferences.py
grc/branches/grc_reloaded/src/grc/Utils.py
grc/branches/grc_reloaded/src/grc/elements/Block.py
grc/branches/grc_reloaded/src/grc/elements/FlowGraph.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/SignalBlockSelectionWindow.py
grc/branches/grc_reloaded/src/grc/gui/elements/Block.py
grc/branches/grc_reloaded/src/grc/gui/elements/Colors.py
grc/branches/grc_reloaded/src/grc/gui/elements/Connection.py
grc/branches/grc_reloaded/src/grc/gui/elements/Element.py
grc/branches/grc_reloaded/src/grc/gui/elements/FlowGraph.py
grc/branches/grc_reloaded/src/grc/gui/elements/Param.py
grc/branches/grc_reloaded/src/grc/gui/elements/Port.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/block.dtd
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
Log:
created block tree, removed some todos
Added: grc/branches/grc_reloaded/data/block_tree.dtd
===================================================================
--- grc/branches/grc_reloaded/data/block_tree.dtd
(rev 0)
+++ grc/branches/grc_reloaded/data/block_tree.dtd 2008-02-21 00:35:05 UTC
(rev 7757)
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+Copyright 2008 Free Software Foundation, Inc.
+This file is part of GNU Radio
+
+GNU Radio Companion is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+GNU Radio Companion is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+-->
+<!--
+ block_tree.dtd
+ Josh Blum
+ The document type definition for a block tree category listing.
+ -->
+<!ELEMENT block_tree (cat*)>
+<!ELEMENT cat (name, block*)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT block (#PCDATA)>
Modified: grc/branches/grc_reloaded/src/grc/Preferences.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/Preferences.py 2008-02-20 21:48:32 UTC
(rev 7756)
+++ grc/branches/grc_reloaded/src/grc/Preferences.py 2008-02-21 00:35:05 UTC
(rev 7757)
@@ -72,7 +72,7 @@
"""
try:
n =
ParseXML.from_xml(ParseXML.from_file(PREFERENCES_FILE_PATH))
- block.import_data(n['block'])
+ block.import_data(n['preferences'])
#set window size
try:
size = window_size_param.evaluate()
@@ -88,7 +88,7 @@
if window:
size = str(window.get_size())
window_size_param.set_value(size)
- try: ParseXML.to_file(ParseXML.to_xml({'block': block.export_data()}),
PREFERENCES_FILE_PATH)
+ try: ParseXML.to_file(ParseXML.to_xml({'preferences':
block.export_data()}), PREFERENCES_FILE_PATH)
except IOError: Messages.send_fail_save_preferences()
###########################################################################
Modified: grc/branches/grc_reloaded/src/grc/Utils.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/Utils.py 2008-02-20 21:48:32 UTC (rev
7756)
+++ grc/branches/grc_reloaded/src/grc/Utils.py 2008-02-21 00:35:05 UTC (rev
7757)
@@ -58,6 +58,3 @@
if type(obj) == type(list()): return obj
return [obj]
-def is_key(key):
- return len(key) and all(map(lambda k: k.isalnum() or k in ['_'], key))
-
Modified: grc/branches/grc_reloaded/src/grc/elements/Block.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-20 21:48:32 UTC
(rev 7756)
+++ grc/branches/grc_reloaded/src/grc/elements/Block.py 2008-02-21 00:35:05 UTC
(rev 7757)
@@ -191,11 +191,13 @@
Any param keys that do not exist will be ignored.
@param n the nested data odict
"""
- #TODO error msg if key, value not exist
params_n = Utils.listify(n, 'param')
for param_n in params_n:
- key = param_n['key']
- value = param_n['value']
- if key in self.get_param_keys():
- self.get_param(key).set_value(value)
+ #key and value must exist in the n data
+ if 'key' in param_n.keys() and 'value' in
param_n.keys():
+ key = param_n['key']
+ value = param_n['value']
+ #the key must exist in this block's params
+ if key in self.get_param_keys():
+ self.get_param(key).set_value(value)
self.validate()
Modified: grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/elements/FlowGraph.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -26,6 +26,8 @@
from grc.elements.Block import Block
from grc.elements.Connection import Connection
+from grc import Messages
+
class FlowGraph(Element):
def __init__(self, platform):
@@ -162,8 +164,11 @@
"""
#remove previous elements
self._elements = list()
- #TODO error checking
- fg_n = n['flow_graph']
+ #the flow graph tag must exists, or use blank data
+ if 'flow_graph' in n.keys(): fg_n = n['flow_graph']
+ else:
+ Messages.send_error_load('Flow graph data not found,
loading blank flow graph.')
+ fg_n = {}
blocks_n = Utils.listify(fg_n, 'block')
connections_n = Utils.listify(fg_n, 'connection')
#create option block
@@ -174,31 +179,41 @@
key = block_n['key']
if key == 'options': block = self._options_block
else: block = self.get_new_block(key)
- block.import_data(block_n)
+ #only load the block when the block key was valid
+ if block: block.import_data(block_n)
+ else: Messages.send_error_load('Block key "%s" not
found in %s'%(key, self.get_parent()))
#build the connections
for connection_n in connections_n:
+ #test that the data tags exist
try:
+ assert('source_block_id' in connection_n.keys())
+ assert('sink_block_id' in connection_n.keys())
+ assert('source_key' in connection_n.keys())
+ assert('sink_key' in connection_n.keys())
+ except AssertionError: continue
+ #try to make the connection
+ try:
#get the block ids
source_block_id =
connection_n['source_block_id']
sink_block_id = connection_n['sink_block_id']
+ #get the port keys
+ source_key = connection_n['source_key']
+ sink_key = connection_n['sink_key']
#verify the blocks
block_ids = map(lambda b: b.get_id(),
self.get_blocks())
assert(source_block_id in block_ids)
assert(sink_block_id in block_ids)
#get the blocks
source_block = self.get_block(source_block_id)
- sink_block = self.get_block(sink_block_id)
- #get the port keys
- source_key = connection_n['source_key']
- sink_key = connection_n['sink_key']
+ sink_block = self.get_block(sink_block_id)
#verify the ports
assert(source_key in
source_block.get_source_keys())
assert(sink_key in sink_block.get_sink_keys())
#get the ports
source = source_block.get_source(source_key)
- sink = sink_block.get_sink(sink_key)
+ sink = sink_block.get_sink(sink_key)
#build the connection
self.connect(source, sink)
- except AssertionError: pass #TODO messages print problem
+ except AssertionError:
Messages.send_error_load('Connection between %s(%s) and %s(%s) could not be
made.'%(source_block_id, source_key, sink_block_id, sink_key))
self.validate()
Modified: grc/branches/grc_reloaded/src/grc/elements/Platform.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Platform.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/elements/Platform.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -74,7 +74,13 @@
def get_new_flow_graph(self): return self.FlowGraph(self)
- def get_block_tree(self): return self._block_tree
+ def get_block_tree(self):
+ f = self._block_tree
+ try: ParseXML.validate_dtd(f)
+ except ParseXML.ValidationError, e:
self._exit_with_error('Block tree "%s" failed: \n\t%s'%(f, e))
+ x = ParseXML.from_file(f)
+ n = ParseXML.from_xml(x)['block_tree']
+ return n
def get_default_flow_graph(self): return self._default_flow_graph
Modified: grc/branches/grc_reloaded/src/grc/elements/Port.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/elements/Port.py 2008-02-20 21:48:32 UTC
(rev 7756)
+++ grc/branches/grc_reloaded/src/grc/elements/Port.py 2008-02-21 00:35:05 UTC
(rev 7757)
@@ -95,7 +95,6 @@
"""!
Is this port full of connections?
Generally a sink can handle one connection and a source can
handle many.
- Some sinks can be optionally connected. TODO: optional
connections
@return true if the port is full
"""
if self.is_source(): return False
Modified: grc/branches/grc_reloaded/src/grc/gui/SignalBlockSelectionWindow.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/SignalBlockSelectionWindow.py
2008-02-20 21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/SignalBlockSelectionWindow.py
2008-02-21 00:35:05 UTC (rev 7757)
@@ -20,8 +20,7 @@
#The signal block selection window gives the user a tree selection to choose a
signal block.
address@hidden Josh Blum
-#TODO protect against empty categories, make recursive, protect against name
that DNE
-
+from grc import Utils
from grc.Constants import *
import pygtk
pygtk.require('2.0')
@@ -70,11 +69,19 @@
#map names to keys
self.names = dict()
#add blocks and categories
- for category, keys in platform.get_block_tree():
+ for category_n in Utils.listify(platform.get_block_tree(),
'cat'):
iter = self.treestore.insert_before(None, None)
- self.treestore.set_value(iter, 0, category)
- for key in keys:
+ self.treestore.set_value(iter, 0, category_n['name'])
+ for key in Utils.listify(category_n, 'block'):
+ if key not in platform.get_block_keys():
+ print 'Block with key "%s" cannot be
found in %s -> ignoring...'%(key, platform)
+ continue
name = platform.get_block(key).get_name()
+ if name in self.names.keys():
+ print '%s has more than one block with
name "%s".'%(platform, name)
+ print 'Although block names do not have
to be unique, this gui requires that that are.'
+ print 'Please rename the block to avoid
problems.'
+ continue
self.names[name] = key
new_iter = self.treestore.insert_before(iter,
None)
self.treestore.set_value(new_iter, 0, name)
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Block.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Block.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Block.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Elements.GraphicalSignalBlock
address@hidden grc.gui.elements.Block
#The graphical signal block.
address@hidden Josh Blum
@@ -162,41 +162,6 @@
window.draw_image(gc, self.vertical_label, 0, 0,
X+(self.H-self.label_height)/2, Y+LABEL_PADDING_WIDTH, -1, -1)
map(lambda p: p.draw(window), self.get_sources() +
self.get_sinks())
- def modify_type_controller(self, direction):
- """!
- If a type controller was set, increment/decrement its index by
1, use a % to stay in bounds.
- @param direction +1 or -1
- """
- #TODO find this automatic style
- if self.type_controller != None and
self.type_controller.get_type() == Enum().get_type():
- num_choices =
len(self.type_controller.get_cnames_list())
- index = int(self.type_controller.get_data())
-
self.type_controller.set_data((index+direction+num_choices)%num_choices)
- self.get_parent().update()
- return True
- return False
-
- def modify_port_controller(self, direction):
- """!
- If a port controller was set, increment/decrement its data type
by 1, DO NOT go out of bounds.
- If there is a controller on input and outputs, show preference
to the output controller.
- @param direction +1 or -1
- @return true if operation was done, false if operation could
not be completed.
- """
- #TODO find this automatic style
- # Get the port controller, if there is an input and output
controller, use output #
- port_controller = None
- if self.input_ports_controller != None: port_controller =
self.input_ports_controller
- elif self.output_ports_controller != None: port_controller =
self.output_ports_controller
- if port_controller != None and port_controller.is_valid() and
port_controller.get_type() == Int().get_type():
- old_data = port_controller.get_data()
- port_controller.set_data(port_controller.parse() +
direction)
- if port_controller.is_valid(): #modification was
successful
- self.get_parent().update()
- return True
- else: port_controller.set_data(old_data)
#restore previous value
- return False
-
def what_is_selected(self, coor):
"""!
Get the element that is selected.
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Colors.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Colors.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Colors.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Colors
address@hidden grc.gui.elements.Colors
#Global Colors for the gui
address@hidden Josh Blum
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Connection.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Connection.py
2008-02-20 21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Connection.py
2008-02-21 00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Elements.GraphicalConnection
address@hidden grc.gui.elements.Connection
#The graphical connection for input/output ports.
address@hidden Josh Blum
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Element.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Element.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Element.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Elements.GraphicalElement
address@hidden grc.gui.elements.Element
#Base class for graphical elements such as:
#signal blocks, input sockets, output sockets and connections.
address@hidden Josh Blum
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/FlowGraph.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/FlowGraph.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/FlowGraph.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Graphics.FlowGraph
address@hidden grc.gui.elements.FlowGraph
#A flow graph structure for storing signal blocks and their connections.
address@hidden Josh Blum
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Param.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Param.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Param.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Elements.GraphicalParam
address@hidden grc.gui.elements.Param
#GTK objects for handling input and the signal block parameter class.
address@hidden Josh Blum
@@ -147,9 +147,11 @@
if self.is_enum(): value = self.get_option_keys()[int(value)]
self.set_value(value)
#set the markup on the label, red for errors in corresponding
data type.
- name = self.get_name()
- #TODO needs a markup is there is a callback
- #if self.variable: name = '<span
underline="low">%s</span>'%name #alter format if the param is variable
+ name = Utils.xml_encode(self.get_name())
+ #special markups if param is involved in a callback
+ if hasattr(self.get_parent(), 'get_callbacks') and \
+ filter(lambda c: self.get_key() in c,
self.get_parent().get_callbacks()):
+ name = '<span underline="low">%s</span>'%name
if not self.is_valid():
self.input.set_markup('<span
foreground="red"><b>%s</b></span>'%name)
tip = '- ' + '\n- '.join(self.get_error_messages())
Modified: grc/branches/grc_reloaded/src/grc/gui/elements/Port.py
===================================================================
--- grc/branches/grc_reloaded/src/grc/gui/elements/Port.py 2008-02-20
21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/gui/elements/Port.py 2008-02-21
00:35:05 UTC (rev 7757)
@@ -16,7 +16,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
"""
address@hidden Elements.GraphicalSocket
address@hidden grc.gui.elements.Port
#The graphical input/output sockets of the signal block.
address@hidden Josh Blum
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-20 21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Param.py
2008-02-21 00:35:05 UTC (rev 7757)
@@ -20,8 +20,6 @@
#Flow graph block parameters.
address@hidden Josh Blum
-#TODO call eval on set value to handle listify and stringify flags
-
from grc.elements.Param import Param as _Param
import os
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-20 21:48:32 UTC (rev 7756)
+++ grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/Platform.py
2008-02-21 00:35:05 UTC (rev 7757)
@@ -30,34 +30,9 @@
PATH = os.path.dirname(__file__)
-BLOCK_TREE = [
- ('Sources', [
- 'null_source',
- ]
- ),
- ('Sinks', [
- 'null_sink',
- ]
- ),
- ('Operators',[
- 'add',
- 'add_const',
- 'not',
- 'and',
- 'or',
- 'xor',
- ]
- ),
- ('Variables',[
- 'variable',
- 'variable_drop_down',
- 'variable_button',
- 'variable_slider',
- ]
- ),
-]
+BLOCK_TREE = PATH + '/data/block_tree.xml'
-DEFAULT_FLOW_GRAPH = PATH + '/default_flow_graph.grc.xml'
+DEFAULT_FLOW_GRAPH = PATH + '/data/default_flow_graph.grc.xml'
class Platform(_Platform):
Modified:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
2008-02-20 21:48:32 UTC (rev 7756)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/block.dtd
2008-02-21 00:35:05 UTC (rev 7757)
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
-Copyright 2007 Free Software Foundation, Inc.
+Copyright 2008 Free Software Foundation, Inc.
This file is part of GNU Radio
GNU Radio Companion is free software; you can redistribute it and/or
@@ -20,7 +20,7 @@
<!--
gnuradio_python.blocks.dtd
Josh Blum
- The document type definitions for block definitions.
+ The document type definition for blocks.
-->
<!--
Top level element.
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-20 21:48:32 UTC (rev 7756)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/blocks/operators/add_const.xml
2008-02-21 00:35:05 UTC (rev 7757)
@@ -13,7 +13,7 @@
<fcn>$type:fcn($const)</fcn>
<callback>set_k($const)</callback>
<param>
- <name>Constant*</name>
+ <name>Constant</name>
<key>const</key>
<value>0</value>
<type>$type:const_type</type>
Added:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/block_tree.xml
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/block_tree.xml
(rev 0)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/block_tree.xml
2008-02-21 00:35:05 UTC (rev 7757)
@@ -0,0 +1,202 @@
+<?xml version="1.0"?>
+<!DOCTYPE block_tree SYSTEM "../../../../../data/block_tree.dtd">
+<!--
+###################################################
+##Block Tree for platform gnuradio python.
+###################################################
+ -->
+<block_tree>
+ <cat>
+ <name>Sources</name>
+ <block>signal_source</block>
+ <block>noise_source</block>
+ <block>vector_source</block>
+ <block>random_source</block>
+ <block>null_source</block>
+ <block>file_source</block>
+ <block>udp_source</block>
+ <block>audio_source</block>
+ <block>wave_source</block>
+ <block>usrp_source</block>
+ <block>usrp_dual_source</block>
+ </cat>
+ <cat>
+ <name>Sinks</name>
+ <block>null_sink</block>
+ <block>file_sink</block>
+ <block>udp_sink</block>
+ <block>audio_sink</block>
+ <block>wave_sink</block>
+ <block>usrp_sink</block>
+ <block>usrp_dual_sink</block>
+ </cat>
+ <cat>
+ <name>Graphical Sinks</name>
+ <block>number_sink</block>
+ <block>scope_sink</block>
+ <block>fft_sink</block>
+ <block>constellation_sink</block>
+ <block>waterfall_sink</block>
+ </cat>
+ <cat>
+ <name>Operators</name>
+ <block>add</block>
+ <block>subtract</block>
+ <block>multiply</block>
+ <block>divide</block>
+ <block>nlog10</block>
+
+ <block>add_const</block>
+ <block>multiply_const</block>
+
+ <block>not</block>
+ <block>and</block>
+ <block>or</block>
+ <block>xor</block>
+ </cat>
+ <cat>
+ <name>Type Conversions</name>
+ <block>complex_components</block>
+ <block>complex_conjugate</block>
+
+ <block>complex_to_float</block>
+ <block>float_to_complex</block>
+
+ <block>float_to_short</block>
+ <block>short_to_float</block>
+
+ <block>float_to_char</block>
+ <block>char_to_float</block>
+
+ <block>float_to_uchar</block>
+ <block>uchar_to_float</block>
+
+ <block>complex_to_ishort</block>
+ <block>ishort_to_complex</block>
+ </cat>
+ <cat>
+ <name>Stream Conversions</name>
+ <block>interleave</block>
+ <block>deinterleave</block>
+
+ <block>streams_to_stream</block>
+ <block>stream_to_streams</block>
+
+ <block>streams_to_vector</block>
+ <block>vector_to_streams</block>
+
+ <block>stream_to_vector</block>
+ <block>vector_to_stream</block>
+ </cat>
+ <cat>
+ <name>Misc Conversions</name>
+ <block>unpacked_to_packed</block>
+ <block>packed_to_unpacked</block>
+ <block>unpack_kbits</block>
+ <block>binary_slicer</block>
+ <block>chunks_to_symbols</block>
+ <block>map</block>
+ </cat>
+ <cat>
+ <name>Generic Filters</name>
+ <block>fir_filter</block>
+ <block>fft_filter</block>
+ <block>freq_xlating_fir_filter</block>
+ <block>rational_resampler</block>
+ <block>iir_filter</block>
+ <block>filter_delay</block>
+ <block>channel_model</block>
+ </cat>
+ <cat>
+ <name>Filters</name>
+ <block>low_pass_filter</block>
+ <block>high_pass_filter</block>
+ <block>band_pass_filter</block>
+ <block>band_reject_filter</block>
+ <block>window</block>
+ <block>root_raised_cosine</block>
+ <block>single_pole_iir_filter</block>
+ <block>hilbert</block>
+ <block>goertzel</block>
+ <block>power_squelch</block>
+ <block>downsample</block>
+ <block>upsample</block>
+ <block>fractional_resampler</block>
+ <block>fractional_interpolator</block>
+ <block>agc</block>
+ <block>agc2</block>
+ <block>rms</block>
+ <block>feed_forward_agc</block>
+ <block>cma_filter</block>
+ <block>clock_recovery</block>
+ <block>fft</block>
+ <block>ifft</block>
+ </cat>
+ <cat>
+ <name>Modulators</name>
+ <block>frequency_modulator</block>
+ <block>phase_modulator</block>
+ <block>quadrature_demodulator</block>
+ <block>costas_loop</block>
+ <block>vco</block>
+ <block>pll</block>
+
+ <block>wfm_receive</block>
+ <block>wft_transmit</block>
+
+ <block>nbfm_receive</block>
+ <block>nbfm_transmit</block>
+
+ <block>am_demodulator</block>
+ <block>fm_demodulator</block>
+
+ <block>psk_modulator</block>
+ <block>psk demodulator</block>
+
+ <block>gmsk_modulator</block>
+ <block>gmsk_demodulator</block>
+
+ <block>qam_modulator</block>
+ <block>qam_demodulator</block>
+
+ <block>packet_modulator</block>
+ <block>packet_demodulator</block>
+ </cat>
+ <cat>
+ <name>Coders</name>
+ <block>constellation_decoder</block>
+ <block>differential_encoder</block>
+ <block>differential_decoder</block>
+ <block>differential_phasor</block>
+ <block>correlate_access_code</block>
+ </cat>
+ <cat>
+ <name>Trellis</name>
+ <block>trellis_encoder</block>
+ <block>metrics</block>
+ <block>viterbi_decoder</block>
+ <block>viterbi_decoder_metric</block>
+ <block>bcjr</block>
+ <block>bcjr_metric</block>
+ <block>interleaver</block>
+ <block>deinterleaver</block>
+ </cat>
+ <cat>
+ <name>Variables</name>
+ <block>variable</block>
+ <block>variable_drop_down</block>
+ <block>variable_button</block>
+ <block>variable_slider</block>
+ </cat>
+ <cat>
+ <name>Misc</name>
+ <block>throttle</block>
+ <block>valve</block>
+ <block>selector</block>
+ <block>head</block>
+ <block>skip_head</block>
+ <block>input_terminator</block>
+ <block>copy</block>
+ <block>tun_tap</block>
+ </cat>
+</block_tree>
Copied:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/default_flow_graph.grc.xml
(from rev 7754,
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/default_flow_graph.grc.xml)
===================================================================
---
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/default_flow_graph.grc.xml
(rev 0)
+++
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/data/default_flow_graph.grc.xml
2008-02-21 00:35:05 UTC (rev 7757)
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Default Flow Graph:
+## include an options block and a variable for sample rate
+###################################################
+ -->
+<flow_graph>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>options</value>
+ </param>
+ <param>
+ <key>position</key>
+ <value>{'x': 20, 'y': 20, 'rot': 0}</value>
+ </param>
+ </block>
+ <block>
+ <key>variable</key>
+ <param>
+ <key>id</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>32e3</value>
+ </param>
+ <param>
+ <key>position</key>
+ <value>{'x': 20, 'y': 150, 'rot': 0}</value>
+ </param>
+ </block>
+</flow_graph>
Deleted:
grc/branches/grc_reloaded/src/grc/platforms/gnuradio_python/default_flow_graph.grc.xml
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r7757 - in grc/branches/grc_reloaded: data src/grc src/grc/elements src/grc/gui src/grc/gui/elements src/grc/platforms/gnuradio_python src/grc/platforms/gnuradio_python/blocks src/grc/platforms/gnuradio_python/blocks/operators src/grc/platforms/gnuradio_python/data,
jblum <=