Browse Source

update to python3

set python version to 3
fix mixed tab/space indentation
gr-3.8
Clemens Richter 4 years ago
parent
commit
5a6f638b07
  1. 2
      python/decoder_compare.py
  2. 2
      python/qa_rds_parser_table_qt.py
  3. 2
      python/qa_tmc_parser.py
  4. 2
      python/rds_parser_table_qt.py
  5. 154
      python/rds_table_qt.py
  6. 2
      python/station_search.py
  7. 50
      python/stream_selector.py
  8. 2
      python/tmc_classes.py
  9. 2
      python/tmc_parser.py
  10. 2
      python/variable_setter.py
  11. 80
      python/vector_cutter.py

2
python/decoder_compare.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

2
python/qa_rds_parser_table_qt.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

2
python/qa_tmc_parser.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

2
python/rds_parser_table_qt.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016 <+YOU OR YOUR COMPANY+>.

154
python/rds_table_qt.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016 <+YOU OR YOUR COMPANY+>.
@ -31,27 +31,27 @@ from PyQt4.QtCore import QObject, pyqtSignal
class rds_table_qt_Signals(QObject):
DataUpdateEvent = QtCore.pyqtSignal(dict)
def __init__(self, parent=None):
super(QtCore.QObject, self).__init__()
super(QtCore.QObject, self).__init__()
class rds_table_qt(gr.sync_block):
"""
docstring for block qtguitest
"""
def __init__(self,signals,nPorts):
#QObject.__init__()
#QObject.__init__()
gr.sync_block.__init__(self,
name="RDS Table",
in_sig=None,
out_sig=None)
for i in range(0,nPorts):
self.message_port_register_in(pmt.intern('in%d'%i))
self.set_msg_handler(pmt.intern('in%d'%i), functools.partial(self.handle_msg, port=i))
#self.message_port_register_in(pmt.intern('in1'))
#self.message_port_register_in(pmt.intern('in2'))
#self.set_msg_handler(pmt.intern('in1'), functools.partial(self.handle_msg, port=1))
#self.set_msg_handler(pmt.intern('in2'), functools.partial(self.handle_msg, port=2))
#code.interact(local=locals())
self.signals=signals
for i in range(0,nPorts):
self.message_port_register_in(pmt.intern('in%d'%i))
self.set_msg_handler(pmt.intern('in%d'%i), functools.partial(self.handle_msg, port=i))
#self.message_port_register_in(pmt.intern('in1'))
#self.message_port_register_in(pmt.intern('in2'))
#self.set_msg_handler(pmt.intern('in1'), functools.partial(self.handle_msg, port=1))
#self.set_msg_handler(pmt.intern('in2'), functools.partial(self.handle_msg, port=2))
#code.interact(local=locals())
self.signals=signals
#/* type 0 = PI
#* type 1 = PS
#* type 2 = PTY
@ -61,39 +61,39 @@ class rds_table_qt(gr.sync_block):
#* type 6 = Alternative Frequencies
#* type 7 = decode errors int (out of 50), 51 == no_sync */
def handle_msg(self, msg, port):
t = pmt.to_long(pmt.tuple_ref(msg, 0))
m = pmt.symbol_to_string(pmt.tuple_ref(msg, 1))
#code.interact(local=locals())
if(t==0):
self.signals.DataUpdateEvent.emit({'col':0,'row':port,'string':m})
#self.PI=m
#self.stations[str(port)+"PI"]=m
elif(t==1):
self.signals.DataUpdateEvent.emit({'col':2,'row':port,'string':m})
#self.PS=m
#self.stations[str(port)+"PS"]=m
elif(t==4):
self.signals.DataUpdateEvent.emit({'col':5,'row':port,'string':m})
#self.RT=m
#self.stations[str(port)+"RT"]=m
elif(t==6):#alt freq
#print("################alt freqs##################")
#freqspmt=pmt.tuple_ref(msg, 1)
#print(m)
#pp.pprint(pmt.to_python(freqspmt)
self.signals.DataUpdateEvent.emit({'col':3,'row':port,'string':m})
elif(t==5):#time
self.signals.DataUpdateEvent.emit({'col':4,'row':port,'string':m})
t = pmt.to_long(pmt.tuple_ref(msg, 0))
m = pmt.symbol_to_string(pmt.tuple_ref(msg, 1))
#code.interact(local=locals())
if(t==0):
self.signals.DataUpdateEvent.emit({'col':0,'row':port,'string':m})
#self.PI=m
#self.stations[str(port)+"PI"]=m
elif(t==1):
self.signals.DataUpdateEvent.emit({'col':2,'row':port,'string':m})
#self.PS=m
#self.stations[str(port)+"PS"]=m
elif(t==4):
self.signals.DataUpdateEvent.emit({'col':5,'row':port,'string':m})
#self.RT=m
#self.stations[str(port)+"RT"]=m
elif(t==6):#alt freq
#print("################alt freqs##################")
#freqspmt=pmt.tuple_ref(msg, 1)
#print(m)
#pp.pprint(pmt.to_python(freqspmt)
self.signals.DataUpdateEvent.emit({'col':3,'row':port,'string':m})
elif(t==5):#time
self.signals.DataUpdateEvent.emit({'col':4,'row':port,'string':m})
#def handle_msg(self, msg):
# self.signals.DataUpdateEvent.emit({'string':pmt.to_python(msg)})
# print(msg)
# self.signals.DataUpdateEvent.emit({'string':pmt.to_python(msg)})
# print(msg)
class rds_table_qt_Widget(QtGui.QWidget):
def __init__(self, signals,label):
print("gui initializing")
self.signals = signals
self.signals.DataUpdateEvent.connect(self.display_data)
print("gui initializing")
self.signals = signals
self.signals.DataUpdateEvent.connect(self.display_data)
""" Creates the QT Range widget """
QtGui.QWidget.__init__(self)
layout = Qt.QVBoxLayout()
@ -108,7 +108,7 @@ class rds_table_qt_Widget(QtGui.QWidget):
#Data
self.data = {'ID':range(1,6),
'freq':['','','',''],
'freq':['','','',''],
'name':['','','',''],
'AF':['','','',''],
'time':['','','',''],
@ -120,15 +120,15 @@ class rds_table_qt_Widget(QtGui.QWidget):
#for n, key in enumerate(sorted(self.data.keys())):
horHeaders.append(key)
for m, item in enumerate(self.data[key]):
if type(item)==int:#convert ints to strings
newitem = QtGui.QTableWidgetItem(str(item))
else:
if type(item)==int:#convert ints to strings
newitem = QtGui.QTableWidgetItem(str(item))
else:
newitem = QtGui.QTableWidgetItem(item)
self.table.setItem(m, n, newitem)
for i in range(0,4):
button=QtGui.QPushButton("play")
self.table.setCellWidget(i,self.table.columnCount()-1,button)
button.clicked.connect(self.onCLick)
button=QtGui.QPushButton("play")
self.table.setCellWidget(i,self.table.columnCount()-1,button)
button.clicked.connect(self.onCLick)
#Add Header
self.table.setHorizontalHeaderLabels(horHeaders)
@ -138,40 +138,40 @@ class rds_table_qt_Widget(QtGui.QWidget):
layout.addWidget(self.button)
def display_data(self, event):
#pp.pprint(event)
if type(event)==dict:
if type(event['row']) == int and type(event['col']) == int:
item=self.table.item(event['row'],event['col'])
if event['col']==0 and event['string']!=item.text(): #clear data if PI changed
for col in range(1,self.table.columnCount()-1):
self.table.item(event['row'],col).setText('')
if item.text()==event['string']:
item.setTextColor(QtCore.Qt.black)
else:
item.setTextColor(QtCore.Qt.green)
item.setText(event['string'])
item.setFont(QtGui.QFont("Courier New"))
#print("table updated")
self.table.resizeColumnsToContents()
else:
self.table.currentItem().setText(event['string'])
#pp.pprint(event)
if type(event)==dict:
if type(event['row']) == int and type(event['col']) == int:
item=self.table.item(event['row'],event['col'])
if event['col']==0 and event['string']!=item.text(): #clear data if PI changed
for col in range(1,self.table.columnCount()-1):
self.table.item(event['row'],col).setText('')
if item.text()==event['string']:
item.setTextColor(QtCore.Qt.black)
else:
item.setTextColor(QtCore.Qt.green)
item.setText(event['string'])
item.setFont(QtGui.QFont("Courier New"))
#print("table updated")
self.table.resizeColumnsToContents()
else:
self.table.currentItem().setText(event['string'])
def reset_color(self):
for i in range(0,self.table.rowCount()):
for j in range(0,self.table.columnCount()):
item = self.table.item(i,j)
#code.interact(local=locals())
#print(item.type())
if item != '':
try:
item.setTextColor(QtCore.Qt.black)
except:
pass
for j in range(0,self.table.columnCount()):
item = self.table.item(i,j)
#code.interact(local=locals())
#print(item.type())
if item != '':
try:
item.setTextColor(QtCore.Qt.black)
except:
pass
#for item in self.table.items():
#item.setTextColor(QtCore.Qt.black)
#item.setTextColor(QtCore.Qt.black)
def onCLick(self):
print("button clicked")
self.reset_color()
#pp.pprint(event)
print("button clicked")
self.reset_color()
#pp.pprint(event)
if __name__ == "__main__":
from PyQt4 import Qt
import sys

2
python/station_search.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2016 <+YOU OR YOUR COMPANY+>.

50
python/stream_selector.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.
@ -46,28 +46,28 @@ class stream_selector(gr.sync_block):
in_sig=[np.float32,np.float32],
out_sig=None
)
#self.repeat_time=repeat_time
self.repeat_time=1
moving_avg_len=50
self.message_port_register_out(pmt.intern('rds_out'))
self.message_port_register_in(pmt.intern('rds_arg'))
self.set_msg_handler(pmt.intern('rds_arg'), functools.partial(self.handle_msg, port="arg"))
self.message_port_register_in(pmt.intern('rds_re'))
self.set_msg_handler(pmt.intern('rds_re'), functools.partial(self.handle_msg, port="re"))
#self.repeat_time=repeat_time
self.repeat_time=1
moving_avg_len=50
self.message_port_register_out(pmt.intern('rds_out'))
self.message_port_register_in(pmt.intern('rds_arg'))
self.set_msg_handler(pmt.intern('rds_arg'), functools.partial(self.handle_msg, port="arg"))
self.message_port_register_in(pmt.intern('rds_re'))
self.set_msg_handler(pmt.intern('rds_re'), functools.partial(self.handle_msg, port="re"))
#self.port_of_recent_messages=RingBuffer(10)#change to more fitting ringbuffer for ints
self.port_of_recent_messages=0#re as default
self.real_abs=RingBuffer(moving_avg_len)
self.arg_diff_abs=RingBuffer(moving_avg_len)
self.msg_time=time.time()
#self.port_of_recent_messages=RingBuffer(10)#change to more fitting ringbuffer for ints
self.port_of_recent_messages=0#re as default
self.real_abs=RingBuffer(moving_avg_len)
self.arg_diff_abs=RingBuffer(moving_avg_len)
self.msg_time=time.time()
def handle_msg(self,msg,port):
msg_py=pmt.to_python(msg)
if port=="re":
#self.port_of_recent_messages.extend(np.array([0],dtype='f'))
self.port_of_recent_messages=(self.port_of_recent_messages*19+0)/20
#self.port_of_recent_messages.extend(np.array([0],dtype='f'))
self.port_of_recent_messages=(self.port_of_recent_messages*19+0)/20
if port=="arg":
self.port_of_recent_messages=(self.port_of_recent_messages*19+100)/20
#self.port_of_recent_messages.extend(np.array([100],dtype='f'))
self.port_of_recent_messages=(self.port_of_recent_messages*19+100)/20
#self.port_of_recent_messages.extend(np.array([100],dtype='f'))
#print(np.average(self.port_of_recent_messages.get()))
print(self.port_of_recent_messages)
print("msg: %s, port:%s"%(msg_py,port))
@ -77,11 +77,11 @@ class stream_selector(gr.sync_block):
self.arg_diff_abs.extend(np.absolute(input_items[1]))
if(time.time()-self.msg_time > self.repeat_time):
self.msg_time=time.time()
#print("real: ")
##print(real_abs)
#print(np.average(self.real_abs.get()))
#print("arg: ")
##print(arg_diff_abs)
#print(np.average(self.arg_diff_abs.get()))
self.msg_time=time.time()
#print("real: ")
##print(real_abs)
#print(np.average(self.real_abs.get()))
#print("arg: ")
##print(arg_diff_abs)
#print(np.average(self.arg_diff_abs.get()))
return len(input_items[0])

2
python/tmc_classes.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

2
python/tmc_parser.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

2
python/variable_setter.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.

80
python/vector_cutter.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright 2017 <+YOU OR YOUR COMPANY+>.
@ -28,65 +28,65 @@ class vector_cutter(gr.sync_block):
docstring for block vector_cutter
"""
def __init__(self, insize=2048,outsize=1024,cutpoint=512,pad_out=False,zero_len=0):
if pad_out:
gr.sync_block.__init__(self,
if pad_out:
gr.sync_block.__init__(self,
name="vector_cutter",
in_sig=[(np.complex64,insize)],
out_sig=[(np.complex64,outsize),(np.complex64,insize)])
else:
gr.sync_block.__init__(self,
else:
gr.sync_block.__init__(self,
name="vector_cutter",
in_sig=[(np.complex64,insize)],
out_sig=[(np.complex64,outsize)])
self.cutpoint=0
self.set_cutpoint(cutpoint)
self.insize=insize
self.outsize=outsize
#print(pad_out)
self.pad_out=pad_out
self.zero_len=zero_len
self.mask=np.concatenate((np.zeros(zero_len),np.ones(outsize-zero_len*2),np.zeros(zero_len)))
self.cutpoint=0
self.set_cutpoint(cutpoint)
self.insize=insize
self.outsize=outsize
#print(pad_out)
self.pad_out=pad_out
self.zero_len=zero_len
self.mask=np.concatenate((np.zeros(zero_len),np.ones(outsize-zero_len*2),np.zeros(zero_len)))
def set_zero_len(self,zero_len=None):
if zero_len is not None:
if isinstance(zero_len, float) or isinstance(zero_len, int):
self.zero_len=zero_len
else:
self.zero_len = int(zero_len)
self.mask=np.concatenate((np.zeros(self.zero_len),np.ones(self.outsize-self.zero_len*2),np.zeros(self.zero_len)))
if isinstance(zero_len, float) or isinstance(zero_len, int):
self.zero_len=zero_len
else:
self.zero_len = int(zero_len)
self.mask=np.concatenate((np.zeros(self.zero_len),np.ones(self.outsize-self.zero_len*2),np.zeros(self.zero_len)))
def set_cutpoint(self, cutpoint=None):
#print("cutpoint set to %i"%cutpoint)
if cutpoint is not None and cutpoint>=0:
self.cutpoint = int(cutpoint)
#if isinstance(cutpoint, float) or isinstance(cutpoint, int):
#self.cutpoint=cutpoint
#else:
#self.cutpoint = int(cutpoint)
#if isinstance(cutpoint, float) or isinstance(cutpoint, int):
#self.cutpoint=cutpoint
#else:
#self.cutpoint = int(cutpoint)
def work(self, input_items, output_items):
in0 = input_items[0]
out = output_items[0]
if self.pad_out:
out_padded = output_items[1]
out_padded = output_items[1]
# <+signal processing here+>
#out[:] = in0[512:1536]
cutpoint=self.cutpoint
attenuation=1e-2#40db (power)
for i,in_vec in enumerate(in0):
if 0<=cutpoint<self.insize-self.outsize:
out_cut=in_vec[cutpoint:cutpoint+self.outsize]
if self.pad_out:
out_padded[i]=in_vec*np.concatenate((attenuation*np.ones(cutpoint),np.ones(self.outsize),attenuation*np.ones(self.insize-self.outsize-cutpoint)))
elif cutpoint <=self.insize:
out_cut=np.append(in_vec[cutpoint:self.insize],in_vec[0:self.outsize-self.insize+cutpoint])
if self.pad_out:
out_padded[i]=in_vec*np.concatenate((np.ones(cutpoint+self.outsize-self.insize),attenuation*np.ones(self.insize-self.outsize),np.ones(self.insize-cutpoint)))
else:
out_cut=in_vec[0:self.outsize]#dummy values
#out[i]=np.append(out_cut[self.outsize/2:self.outsize],out_cut[0:self.outsize/2])
if self.zero_len==0:
out[i]=out_cut
else:
out[i]=out_cut*self.mask
#out = in0[512:1536]
for i,in_vec in enumerate(in0):
if 0<=cutpoint<self.insize-self.outsize:
out_cut=in_vec[cutpoint:cutpoint+self.outsize]
if self.pad_out:
out_padded[i]=in_vec*np.concatenate((attenuation*np.ones(cutpoint),np.ones(self.outsize),attenuation*np.ones(self.insize-self.outsize-cutpoint)))
elif cutpoint <=self.insize:
out_cut=np.append(in_vec[cutpoint:self.insize],in_vec[0:self.outsize-self.insize+cutpoint])
if self.pad_out:
out_padded[i]=in_vec*np.concatenate((np.ones(cutpoint+self.outsize-self.insize),attenuation*np.ones(self.insize-self.outsize),np.ones(self.insize-cutpoint)))
else:
out_cut=in_vec[0:self.outsize]#dummy values
#out[i]=np.append(out_cut[self.outsize/2:self.outsize],out_cut[0:self.outsize/2])
if self.zero_len==0:
out[i]=out_cut
else:
out[i]=out_cut*self.mask
#out = in0[512:1536]
#code.interact(local=locals())
#out[0] = in0[0][512:1536]
#out[1] = in0[1][512:1536]

Loading…
Cancel
Save