commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r5516 - in grc/branches/jblum_work: data notes src


From: jblum
Subject: [Commit-gnuradio] r5516 - in grc/branches/jblum_work: data notes src
Date: Tue, 22 May 2007 16:46:19 -0600 (MDT)

Author: jblum
Date: 2007-05-22 16:46:18 -0600 (Tue, 22 May 2007)
New Revision: 5516

Added:
   grc/branches/jblum_work/data/flow_graph.grc.dtd
Modified:
   grc/branches/jblum_work/notes/notes.txt
   grc/branches/jblum_work/src/Variables.py
Log:
created xml dtd for grc's file format, and updated notes.txt

Added: grc/branches/jblum_work/data/flow_graph.grc.dtd
===================================================================
--- grc/branches/jblum_work/data/flow_graph.grc.dtd                             
(rev 0)
+++ grc/branches/jblum_work/data/flow_graph.grc.dtd     2007-05-22 22:46:18 UTC 
(rev 5516)
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!-- 
+Copyright 2007 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 
+-->
+<!--
+       flow_graph.grc.dtd 
+       Josh Blum
+       The document type definitions for grc flow graphs.
+-->
+<!DOCTYPE flow_graph [
+       <!-- The flow graph contains:
+               identifying information: time stamp, host name, version, 
+               a validity check, graphical parameters: window with and height,
+               variables, signal blocks, and connections. Restrictions:
+               Both window width and height must be included or not at all.
+               If connections are included, there must be signal blocks.    -->
+       <!ELEMENT flow_graph    (timestamp?, hostname?, version?, valid?, 
(window_width, window_height)?, vars?, (signal_blocks, connections?)?)>
+               <!ELEMENT timestamp (#PCDATA)>  <!-- The time stamp for the 
modification date. (optional) -->
+               <!ELEMENT hostname (#PCDATA)>   <!-- The hostname of the 
computer. (optional) -->
+               <!ELEMENT version (#PCDATA)>    <!-- The program and program 
version.  (optional) -->
+               <!ELEMENT valid (#PCDATA)>      <!-- Did this flow graph pass 
the validation checks (True/False)? (optional) -->
+               <!ELEMENT window_width (#PCDATA)>       <!-- The width of the 
graphical flow graph in pixels. (optional) -->
+               <!ELEMENT window_height (#PCDATA)>      <!-- The height of the 
graphical flow graph in pixels. (optional) -->
+               <!-- This flow graph may have an optional vars tag (list of 
variables).
+                       The vars tag may have any number of var tags inside of 
it. 
+                       Each var tag must have a key and a value or
+                       a key, value, min, max, and step. -->
+               <!ELEMENT vars (var*)>  <!-- Flow graph variables. (optional) 
-->
+                       <!ELEMENT var (key, value, (min, max, step)?)>  <!-- A 
flow graph variable. (0 or more) -->
+                               <!ELEMENT key (#PCDATA)>        <!-- The 
identifier for this variable. -->
+                               <!ELEMENT value (#PCDATA)>      <!-- The value 
for this variable. -->
+                               <!ELEMENT min (#PCDATA)>        <!-- The 
minimum value for a ranged-variable. -->
+                               <!ELEMENT max (#PCDATA)>        <!-- The 
maximum value for a ranged-variable. -->
+                               <!ELEMENT step (#PCDATA)>       <!-- The 
step-size for a ranged-variable. -->
+               <!-- This flow graph may have an optional signal_blocks tag 
(list of signal blocks).
+                       The signal_blocks tag may have any number of 
signal_block tags inside of it. 
+                       Each signal block has a few graphical parameters 
(optional) and a list of parameters. 
+                       Restrictions: all graphical parameters must be included 
or none at all. -->
+               <!ELEMENT signal_blocks (signal_block*)>        <!-- Signal 
blocks. (optional) -->
+                       <!ELEMENT signal_block (tag, id, (x_coordinate, 
y_coordinate, rotation)?, params)>      <!-- A signal block. (0 or more) -->
+                               <!ELEMENT tag (#PCDATA)>        <!-- The 
identifier for this type of signal block. -->
+                               <!ELEMENT id (#PCDATA)> <!-- The unique 
identification for this signal block. -->
+                               <!ELEMENT x_coordinate (#PCDATA)>       <!-- 
The x coordinate for the graphical signal block. (optional) -->
+                               <!ELEMENT y_coordinate (#PCDATA)>       <!-- 
The y coordinate for the graphical signal block. (optional) -->
+                               <!ELEMENT rotation (#PCDATA)>   <!-- The 
rotation for the graphical signal block. (optional) -->
+                               <!ELEMENT params (param*)>      <!-- The list 
of parameters. (tag required) -->
+                                       <!ELEMENT param (#PCDATA)>      <!-- A 
parameter. (0 or more) -->
+               <!-- This flow graph may have an optional connections tag (list 
of connections).
+                       The connections tag may have any number of connection 
tags inside of it. 
+                       Each connection has an input and output signal block 
identified by the unique id,
+                       and an input and output socket index for the 
connections to each signal block. -->
+               <!ELEMENT connections (connection*)>    <!-- Connections. 
(optional) -->
+                       <!ELEMENT connection (input_signal_block_id, 
input_socket_index, output_signal_block_id, output_socket_index)>  <!-- A 
connection. (0 or more) -->
+                               <!ELEMENT input_signal_block_id (#PCDATA)>      
<!-- The input signal block id. -->
+                               <!ELEMENT input_socket_index (#PCDATA)> <!-- 
The input signal block socket index. -->
+                               <!ELEMENT output_signal_block_id (#PCDATA)>     
<!-- The output signal block id. -->
+                               <!ELEMENT output_socket_index (#PCDATA)>        
<!-- The output signal block socket index. -->
+]>

Modified: grc/branches/jblum_work/notes/notes.txt
===================================================================
--- grc/branches/jblum_work/notes/notes.txt     2007-05-22 17:56:59 UTC (rev 
5515)
+++ grc/branches/jblum_work/notes/notes.txt     2007-05-22 22:46:18 UTC (rev 
5516)
@@ -3,7 +3,6 @@
 -usrp dual and quad souce 
 -blks blocks, add filesave for message reports
 -combine add/mult with add/mult vector
--vector sink with a thread that reads and writes to a variable
 
 ############   Known Problems: ####################
 -in vars window, stop_editing doesnt work
@@ -15,7 +14,10 @@
 -save settings after close (working directory)
 -create sub-flow graphs to be used in larger flow graphs
 -math expressions, pi, e, sin, cos, tan, log, ln
--stdin/out communication protocal
+-stdin/out communication protocal (non graphical)
+-make grc.xml parsers to match the dtd
+-include dtd in saved flow graphs
+-create dtd for preferences
 
 ############   wxPython Features:      ####################
 -dump wx running graph to png?

Modified: grc/branches/jblum_work/src/Variables.py
===================================================================
--- grc/branches/jblum_work/src/Variables.py    2007-05-22 17:56:59 UTC (rev 
5515)
+++ grc/branches/jblum_work/src/Variables.py    2007-05-22 22:46:18 UTC (rev 
5516)
@@ -45,6 +45,8 @@
        All parameters must be strings! '''
        #       if step is None, make it a blank string, for backwards 
compadibility    #
        if step == None: step = ''
+       #       if min, max, and step are all None, make them blank strings #
+       if step == max == min == None: step = min = max = ''
        #       make sure that all parameters are strings #
        for var in (key, value, min, max, step):
                if type(var) != type(str()): raise TypeError('"%s" var is not 
of type string'%var)





reply via email to

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