[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r5806 - in grc/branches/jblum_work: examples notes src
From: |
jblum |
Subject: |
[Commit-gnuradio] r5806 - in grc/branches/jblum_work: examples notes src src/SignalBlockDefs |
Date: |
Thu, 21 Jun 2007 00:18:40 -0600 (MDT) |
Author: jblum
Date: 2007-06-21 00:18:40 -0600 (Thu, 21 Jun 2007)
New Revision: 5806
Added:
grc/branches/jblum_work/src/SignalBlockDefs/Custom.py
Modified:
grc/branches/jblum_work/examples/packet_mod_demod.grc.xml
grc/branches/jblum_work/notes/notes.txt
grc/branches/jblum_work/src/ActionHandler.py
grc/branches/jblum_work/src/Messages.py
grc/branches/jblum_work/src/SignalBlockDefs/Modulators.py
grc/branches/jblum_work/src/SignalBlockDefs/Packet.py
grc/branches/jblum_work/src/SignalBlockDefs/SignalBlockTree.py
Log:
removed throttle from packet mod/demod, created custom block defs
Modified: grc/branches/jblum_work/examples/packet_mod_demod.grc.xml
===================================================================
--- grc/branches/jblum_work/examples/packet_mod_demod.grc.xml 2007-06-21
00:48:03 UTC (rev 5805)
+++ grc/branches/jblum_work/examples/packet_mod_demod.grc.xml 2007-06-21
06:18:40 UTC (rev 5806)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<flow_graph>
- <timestamp>1182223827.52</timestamp>
+ <timestamp>1182405771.77</timestamp>
<hostname>tiggle</hostname>
<version>0.70 alpha</version>
<valid>True</valid>
@@ -9,7 +9,7 @@
<vars>
<var>
<key>samp_rate</key>
- <value>200e3</value>
+ <value>100e3</value>
<min/>
<max/>
<step/>
@@ -38,42 +38,36 @@
</vars>
<signal_blocks>
<signal_block>
- <tag>About</tag>
- <id>About0</id>
- <x_coordinate>20</x_coordinate>
- <y_coordinate>20</y_coordinate>
+ <tag>Note</tag>
+ <id>Note0</id>
+ <x_coordinate>408</x_coordinate>
+ <y_coordinate>270</y_coordinate>
<rotation>0</rotation>
<params>
- <param>Packet Mod/Demod</param>
- <param>Josh Blum</param>
+ <param>A demonstration of the packet framework.</param>
</params>
</signal_block>
<signal_block>
- <tag>PSK Demodulator</tag>
- <id>PSK Demodulator0</id>
- <x_coordinate>774</x_coordinate>
- <y_coordinate>119</y_coordinate>
- <rotation>270</rotation>
+ <tag>Packet Demodulator</tag>
+ <id>Packet Demodulator0</id>
+ <x_coordinate>535</x_coordinate>
+ <y_coordinate>427</y_coordinate>
+ <rotation>180</rotation>
<params>
- <param>0</param>
- <param>2</param>
- <param>0.35</param>
- <param>0.03</param>
- <param>0.05</param>
- <param>0.005</param>
- <param>0.05</param>
- <param>0</param>
+ <param>1</param>
+ <param/>
+ <param>-1</param>
</params>
</signal_block>
<signal_block>
<tag>Scope Sink</tag>
<id>Scope Sink0</id>
- <x_coordinate>276</x_coordinate>
- <y_coordinate>405</y_coordinate>
+ <x_coordinate>219</x_coordinate>
+ <y_coordinate>402</y_coordinate>
<rotation>180</rotation>
<params>
<param>1</param>
- <param>Scope</param>
+ <param>Output</param>
<param>$samp_rate</param>
<param>1</param>
<param>0</param>
@@ -81,20 +75,10 @@
</params>
</signal_block>
<signal_block>
- <tag>Note</tag>
- <id>Note0</id>
- <x_coordinate>347</x_coordinate>
- <y_coordinate>264</y_coordinate>
- <rotation>0</rotation>
- <params>
- <param>A demonstration of the packet framework.</param>
- </params>
- </signal_block>
- <signal_block>
<tag>Signal Source</tag>
<id>Signal Source0</id>
- <x_coordinate>47</x_coordinate>
- <y_coordinate>350</y_coordinate>
+ <x_coordinate>26</x_coordinate>
+ <y_coordinate>354</y_coordinate>
<rotation>90</rotation>
<params>
<param>1</param>
@@ -106,79 +90,127 @@
</params>
</signal_block>
<signal_block>
- <tag>Packet Demodulator</tag>
- <id>Packet Demodulator0</id>
- <x_coordinate>637</x_coordinate>
- <y_coordinate>422</y_coordinate>
- <rotation>180</rotation>
+ <tag>Scope Sink</tag>
+ <id>Scope Sink1</id>
+ <x_coordinate>125</x_coordinate>
+ <y_coordinate>178</y_coordinate>
+ <rotation>0</rotation>
<params>
<param>1</param>
+ <param>Input</param>
<param>$samp_rate</param>
- <param/>
- <param>-1</param>
+ <param>1</param>
+ <param>0</param>
+ <param>0.001</param>
</params>
</signal_block>
<signal_block>
- <tag>PSK Modulator</tag>
- <id>PSK Modulator0</id>
- <x_coordinate>546</x_coordinate>
- <y_coordinate>30</y_coordinate>
+ <tag>Packet Modulator</tag>
+ <id>Packet Modulator0</id>
+ <x_coordinate>129</x_coordinate>
+ <y_coordinate>19</y_coordinate>
<rotation>0</rotation>
<params>
+ <param>1</param>
<param>0</param>
<param>2</param>
- <param>0.35</param>
+ <param>512</param>
+ <param/>
<param>0</param>
+ <param>1</param>
</params>
</signal_block>
<signal_block>
- <tag>Packet Modulator</tag>
- <id>Packet Modulator0</id>
- <x_coordinate>263</x_coordinate>
- <y_coordinate>55</y_coordinate>
+ <tag>GMSK Modulator</tag>
+ <id>GMSK Modulator0</id>
+ <x_coordinate>399</x_coordinate>
+ <y_coordinate>36</y_coordinate>
<rotation>0</rotation>
<params>
- <param>1</param>
- <param>1</param>
- <param>$samp_rate</param>
<param>2</param>
- <param>256</param>
- <param/>
+ <param>0.35</param>
+ </params>
+ </signal_block>
+ <signal_block>
+ <tag>About</tag>
+ <id>About0</id>
+ <x_coordinate>480</x_coordinate>
+ <y_coordinate>176</y_coordinate>
+ <rotation>0</rotation>
+ <params>
+ <param>Packet Mod/Demod</param>
+ <param>Josh Blum</param>
+ </params>
+ </signal_block>
+ <signal_block>
+ <tag>GMSK Demodulator</tag>
+ <id>GMSK Demodulator0</id>
+ <x_coordinate>871</x_coordinate>
+ <y_coordinate>189</y_coordinate>
+ <rotation>270</rotation>
+ <params>
+ <param>2</param>
+ <param>0.05</param>
+ <param>0.5</param>
+ <param>0.005</param>
<param>0</param>
+ </params>
+ </signal_block>
+ <signal_block>
+ <tag>Throttle</tag>
+ <id>Throttle0</id>
+ <x_coordinate>703</x_coordinate>
+ <y_coordinate>36</y_coordinate>
+ <rotation>0</rotation>
+ <params>
+ <param>0</param>
+ <param>$samp_rate*25</param>
<param>1</param>
</params>
</signal_block>
</signal_blocks>
<connections>
<connection>
+ <input_signal_block_id>Scope Sink1</input_signal_block_id>
+ <input_socket_index>0</input_socket_index>
+ <output_signal_block_id>Signal Source0</output_signal_block_id>
+ <output_socket_index>0</output_socket_index>
+ </connection>
+ <connection>
<input_signal_block_id>Scope Sink0</input_signal_block_id>
<input_socket_index>0</input_socket_index>
<output_signal_block_id>Packet Demodulator0</output_signal_block_id>
<output_socket_index>0</output_socket_index>
</connection>
<connection>
- <input_signal_block_id>Packet Demodulator0</input_signal_block_id>
+ <input_signal_block_id>Packet Modulator0</input_signal_block_id>
<input_socket_index>0</input_socket_index>
- <output_signal_block_id>PSK Demodulator0</output_signal_block_id>
+ <output_signal_block_id>Signal Source0</output_signal_block_id>
<output_socket_index>0</output_socket_index>
</connection>
<connection>
- <input_signal_block_id>PSK Demodulator0</input_signal_block_id>
+ <input_signal_block_id>GMSK Modulator0</input_signal_block_id>
<input_socket_index>0</input_socket_index>
- <output_signal_block_id>PSK Modulator0</output_signal_block_id>
+ <output_signal_block_id>Packet Modulator0</output_signal_block_id>
<output_socket_index>0</output_socket_index>
</connection>
<connection>
- <input_signal_block_id>PSK Modulator0</input_signal_block_id>
+ <input_signal_block_id>Packet Demodulator0</input_signal_block_id>
<input_socket_index>0</input_socket_index>
- <output_signal_block_id>Packet Modulator0</output_signal_block_id>
+ <output_signal_block_id>GMSK Demodulator0</output_signal_block_id>
<output_socket_index>0</output_socket_index>
</connection>
<connection>
- <input_signal_block_id>Packet Modulator0</input_signal_block_id>
+ <input_signal_block_id>Throttle0</input_signal_block_id>
<input_socket_index>0</input_socket_index>
- <output_signal_block_id>Signal Source0</output_signal_block_id>
+ <output_signal_block_id>GMSK Modulator0</output_signal_block_id>
<output_socket_index>0</output_socket_index>
</connection>
+ <connection>
+ <input_signal_block_id>GMSK Demodulator0</input_signal_block_id>
+ <input_socket_index>0</input_socket_index>
+ <output_signal_block_id>Throttle0</output_signal_block_id>
+ <output_socket_index>0</output_socket_index>
+ </connection>
</connections>
</flow_graph>
Modified: grc/branches/jblum_work/notes/notes.txt
===================================================================
--- grc/branches/jblum_work/notes/notes.txt 2007-06-21 00:48:03 UTC (rev
5805)
+++ grc/branches/jblum_work/notes/notes.txt 2007-06-21 06:18:40 UTC (rev
5806)
@@ -7,11 +7,12 @@
############ Known Problems: ####################
-in vars window, stop_editing doesnt work
+-fg.stop() doesnt kill running threads
-file save, ask for overwrite even when appending file extension
-blocks need to fix themselves when they go out of bounds, like in a resize
-socket controllers should be intelligent on shrinkage
-the nested data variables should indicate that they are nested data ->
variable_data
--rearanging variables doesnt have a handler
+-rearanging variables in the gui doesnt have a handler
############ Features to Add: ####################
-save settings after close (working directory)
@@ -43,4 +44,8 @@
############ Get GTK Stock IDs: ####################
gtk.stock_list_ids()
+
+############ connect packet mod to demod: ####################
+gr.packed_to_unpacked_bb(self.bits_per_symbol(), gr.GR_MSB_FIRST)
+gr.unpack_k_bits_bb(self.bits_per_symbol())
\ No newline at end of file
Modified: grc/branches/jblum_work/src/ActionHandler.py
===================================================================
--- grc/branches/jblum_work/src/ActionHandler.py 2007-06-21 00:48:03 UTC
(rev 5805)
+++ grc/branches/jblum_work/src/ActionHandler.py 2007-06-21 06:18:40 UTC
(rev 5806)
@@ -388,7 +388,7 @@
self.flow_graph_file_path =
self.action_handler.flow_graph_file_path
get_action_from_name(FLOW_GRAPH_EXEC).set_sensitive(False)
get_action_from_name(FLOW_GRAPH_STOP).set_sensitive(True)
- Messages.send_start_run(self.flow_graph_file_path)
+ Messages.send_start_exec(self.flow_graph_file_path)
self.start()
def run(self):
@@ -398,7 +398,7 @@
try:
report = open(self.report_file, 'r')
# read all the lines of the report file into a
list #
- Messages.send_end_run(report.readlines())
+ Messages.send_end_exec(report.readlines())
report.close()
os.remove(self.report_file)
except IOError: print "could not read report file:
%s"%self.report_file
Modified: grc/branches/jblum_work/src/Messages.py
===================================================================
--- grc/branches/jblum_work/src/Messages.py 2007-06-21 00:48:03 UTC (rev
5805)
+++ grc/branches/jblum_work/src/Messages.py 2007-06-21 06:18:40 UTC (rev
5806)
@@ -62,13 +62,13 @@
send('Parser Error: %s\n'%error)
send(">>> Failue\n")
-################# methods for running flow graphs
########################################
-def send_start_run(file_path):
+################# methods for executing flow graphs
########################################
+def send_start_exec(file_path):
send("""\
------------------
Running Flow Graph ------------------\n""")
- send('Trying to run: "%s"'%file_path + '\n')
+ send('Trying to execute: "%s"'%file_path + '\n')
-def send_end_run(verbose):
+def send_end_exec(verbose):
if verbose:
send(">>> Verbose: \n")
for verb in verbose: send(verb)
Added: grc/branches/jblum_work/src/SignalBlockDefs/Custom.py
===================================================================
--- grc/branches/jblum_work/src/SignalBlockDefs/Custom.py
(rev 0)
+++ grc/branches/jblum_work/src/SignalBlockDefs/Custom.py 2007-06-21
06:18:40 UTC (rev 5806)
@@ -0,0 +1,37 @@
+"""
+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
+"""
address@hidden SignalBlockDefs.Custom
+#Create your own custom blocks.
address@hidden You!
+
+from DataTypes import *
+from SignalBlockConstants import *
+from gnuradio import gr,blks
+
+##add custom blocks to this list and they will appear in the signal block tree
under the "Custom" category
+CUSTOM_BLOCKS = [
+#('custom block 1', CustomBlockDef1),
+#('custom block 2', CustomBlockDef2),
+]
+
+###########################################################################
+#Read "creating_a_signal_block_def.txt" in the notes directory,
+#and add your own signal block definitions below:
+###########################################################################
+
Modified: grc/branches/jblum_work/src/SignalBlockDefs/Modulators.py
===================================================================
--- grc/branches/jblum_work/src/SignalBlockDefs/Modulators.py 2007-06-21
00:48:03 UTC (rev 5805)
+++ grc/branches/jblum_work/src/SignalBlockDefs/Modulators.py 2007-06-21
06:18:40 UTC (rev 5806)
@@ -165,7 +165,7 @@
('DQPSK', blks.dqpsk_mod),
('D8PSK', blks.d8psk_mod),
]), type=True)
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Excess BW', Float(0.35))
sb.add_param('Use Gray Code', Bool(true='Yes', false='No',
default=True))
return sb, lambda fg, type, *args: type.parse()(fg, *map(lambda a:
a.parse(), args))
@@ -179,7 +179,7 @@
('DQPSK', blks.dqpsk_demod),
('D8PSK', blks.d8psk_demod),
]), type=True)
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Excess BW', Float(0.35))
sb.add_param('Costas Alpha', Float(0.03))
sb.add_param('Gain Mu', Float(0.05))
@@ -197,7 +197,7 @@
fcn = blks.gmsk_mod
sb.add_input_socket('in', Byte())
sb.add_output_socket('out', Complex())
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Filter BW', Float(0.35))
return sb, lambda fg, *args: fcn(fg, *map(lambda a: a.parse(), args))
@@ -206,7 +206,7 @@
fcn = blks.gmsk_demod
sb.add_input_socket('in', Complex())
sb.add_output_socket('out', Byte())
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Gain Mu', Float(0.05))
sb.add_param('Mu', Float(0.5, min=0, max=1))
sb.add_param('Omega Relative Limit', Float(0.005))
@@ -227,7 +227,7 @@
('QAM 64', blks.qam64_mod),
('QAM 256', blks.qam256_mod),
]), type=True)
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Excess BW', Float(0.35))
sb.add_param('Use Gray Code', Bool(true='Yes', false='No',
default=True))
return sb, lambda fg, type, *args: type.parse()(fg, *map(lambda a:
a.parse(), args))
@@ -241,7 +241,7 @@
('QAM 64', blks.qam64_demod),
('QAM 256', blks.qam256_demod),
]), type=True)
- sb.add_param('Samples/Symbol', Int(2, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Excess BW', Float(0.35))
sb.add_param('Costas Alpha', Float(0.03))
sb.add_param('Gain Mu', Float(0.05))
Modified: grc/branches/jblum_work/src/SignalBlockDefs/Packet.py
===================================================================
--- grc/branches/jblum_work/src/SignalBlockDefs/Packet.py 2007-06-21
00:48:03 UTC (rev 5805)
+++ grc/branches/jblum_work/src/SignalBlockDefs/Packet.py 2007-06-21
06:18:40 UTC (rev 5806)
@@ -23,7 +23,7 @@
import gnuradio.gr.gr_threading as threading
from DataTypes import *
from gnuradio import gr,blks,packet_utils
-from SignalBlockConstants import
all_choices,default_samp_rate,DEFAULT_QUEUE_LIMIT
+from SignalBlockConstants import all_choices,DEFAULT_QUEUE_LIMIT
MAX_ACCESS_CODE_LENGTH = 64
MAX_PACKET_LENGTH = len(packet_utils.random_mask_tuple)#4096
@@ -67,17 +67,16 @@
class PacketModHelper(gr.hier_block):
"""Forward data from the gr data stream to the mod packet."""
- def __init__(self, fg, item_size, packet_length, samp_rate,
samples_per_symbol, bits_per_symbol, access_code, pad_for_usrp,
use_whitener_offset):
+ def __init__(self, fg, item_size, packet_length, samples_per_symbol,
bits_per_symbol, access_code, pad_for_usrp, use_whitener_offset):
"""!
PacketModHelper constructor.
@param fg the flow graph
@param item_size the size in bytes of the input data stream
@param packet_length the length in bytes of the packets
- @param samp_rate the sample rate for the throttle
@param *args the arguments for blks.mod_pkts
"""
#dummy modulator with access functions
- modulator = gr.throttle(Byte().get_num_bytes(), samp_rate)
+ modulator = gr.skiphead(Byte().get_num_bytes(), 0)
modulator.samples_per_symbol = lambda: samples_per_symbol
modulator.bits_per_symbol = lambda: bits_per_symbol
#create the packet modulator (handles the output data stream)
@@ -99,12 +98,11 @@
class PacketDemodHelper(gr.hier_block):
"""Forward data from demod packet to the gr data stream."""
- def __init__(self, fg, item_size, samp_rate, access_code, threshold):
+ def __init__(self, fg, item_size, access_code, threshold):
"""!
PacketDemodHelper constructor.
@param fg the flow graph
@param item_size the size in bytes of the output data stream
- @param samp_rate the sample rate for the throttle
@param *args the arguments for blks.demod_pkts
@param msgq_limit the queue limit for the message source
"""
@@ -113,8 +111,8 @@
msgq = msg_source.msgq()
def callback(ok, payload):
if ok: msgq.insert_tail(gr.message_from_string(payload,
0, item_size, len(payload)/item_size))
- #dummy demodulator + throimport gnuradio.gr.gr_threading as
threadingttle
- demodulator = gr.throttle(Byte().get_num_bytes(), samp_rate)
+ #dummy demodulator
+ demodulator = gr.skiphead(Byte().get_num_bytes(), 0)
#create the packet demodulator (handles the input data stream)
packet_demod = blks.demod_pkts(
fg=fg,
@@ -145,8 +143,7 @@
('QAM 64', blks.qam64_mod),
('QAM 256', blks.qam256_mod),
]))
- sb.add_param('Sampling Rate', Float(default_samp_rate))
- sb.add_param('Samples/Symbol', Int(DEFAULT_QUEUE_LIMIT, min=1))
+ sb.add_param('Samples/Symbol', Int(2, min=2))
sb.add_param('Packet Length', Int(DEFAULT_PACKET_LENGTH, min=1,
max=MAX_PACKET_LENGTH))
sb.add_param('Access Code', String('', max=MAX_ACCESS_CODE_LENGTH))
sb.add_param('Pad for USRP', Bool(true='Yes', false='No', default=True))
@@ -164,17 +161,18 @@
Pad for USRP: If true, packets are padded such that they end up a multiple of
128 samples.
Use whitener offset: If true, start of whitener XOR string is incremented each
packet.
----
-The packet modulator has a throttle automatically attatched to it at runtime
to save the CPU.
'''%(MAX_PACKET_LENGTH, MAX_ACCESS_CODE_LENGTH))
- def make(fg, type, mod_type, samp_rate, samples_per_symbol,
packet_length, access_code, pad_for_usrp, use_whitener_offset):
+ def make(fg, type, mod_type, samples_per_symbol, packet_length,
access_code, pad_for_usrp, use_whitener_offset):
access_code = access_code.parse()
if access_code == '': access_code = None #access code
should be None if blank
+ item_size = type.parse().get_num_bytes()
+ packet_length = packet_length.parse()
+ if packet_length%item_size != 0: #verify that packet
length is a multiple of the stream size
+ raise ValueError('The packet length: "%d" is not a
mutiple of the stream size: "%d".'%(packet_length, item_size))
return PacketModHelper(
fg=fg,
- item_size=type.parse().get_num_bytes(),
- packet_length=packet_length.parse(),
- samp_rate=samp_rate.parse(),
+ item_size=item_size,
+ packet_length=packet_length,
samples_per_symbol=samples_per_symbol.parse(),
bits_per_symbol=mod_type.parse().bits_per_symbol(),
access_code=access_code,
@@ -189,7 +187,6 @@
sb.add_output_socket('out', Variable(type)) #packet output
sb.add_input_socket('in', Byte())
sb.add_param('Type', type, False, type=True)
- sb.add_param('Sampling Rate', Float(default_samp_rate))
sb.add_param('Access Code', String('', max=MAX_ACCESS_CODE_LENGTH))
sb.add_param('Threshold', Int(-1))
sb.set_docs('''\
@@ -200,16 +197,13 @@
Threshold: detect access_code with up to threshold bits wrong.
Queue limit: maximum number of messages in message queue.
----
-The packet demodulator has a throttle automatically attatched to it at runtime
to save the CPU.
'''%MAX_ACCESS_CODE_LENGTH)
- def make(fg, type, samp_rate, access_code, threshold):
+ def make(fg, type, access_code, threshold):
access_code = access_code.parse()
if access_code == '': access_code = None #access code
should be None if blank
return PacketDemodHelper(
fg=fg,
item_size=type.parse().get_num_bytes(),
- samp_rate=samp_rate.parse(),
access_code=access_code,
threshold=threshold.parse(),
) #build packet demodulator
Modified: grc/branches/jblum_work/src/SignalBlockDefs/SignalBlockTree.py
===================================================================
--- grc/branches/jblum_work/src/SignalBlockDefs/SignalBlockTree.py
2007-06-21 00:48:03 UTC (rev 5805)
+++ grc/branches/jblum_work/src/SignalBlockDefs/SignalBlockTree.py
2007-06-21 06:18:40 UTC (rev 5806)
@@ -33,6 +33,7 @@
import Coders
import Trellis
import Packet
+import Custom
##A categorized list of all signal blocks
SB_TREE = [
@@ -184,6 +185,7 @@
('About', Misc.About),
('Note', Misc.Note),
]),
+ ('Custom', Custom.CUSTOM_BLOCKS),
]
def get_signal_block(parent=None, coor=(0,0), rot=0, lookup_tag='', id='',
signal_block_constructor=SignalBlock):
@@ -224,7 +226,7 @@
cats_to_remove = list()
for category,tags in SB_TREE:
if len(tags) == 0:
- print 'Removing category "%s", it was emptied...'%category
+ print 'Removing empty category "%s"...'%category
cats_to_remove.append((category,tags))
for cat in cats_to_remove: SB_TREE.remove(cat)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r5806 - in grc/branches/jblum_work: examples notes src src/SignalBlockDefs,
jblum <=