Browse Source

added under/over-line to indicate mode of sync-decim

updated main function and code.interact such that the gui works, if the block is called by itself (for testing the gui)
dev
Clemens Richter 9 years ago
parent
commit
70b917f7f8
  1. 4
      lib/sync_decim_impl.cc
  2. BIN
      python/core
  3. 45
      python/rds_parser_table_qt.py

4
lib/sync_decim_impl.cc

@ -115,13 +115,13 @@ namespace gr {
if(mode==COPY){
out[i]=in[DECIM*i];
}
else if(mode==SKIP){
else if(mode==SKIP){//merges with left value
if(i==0){
out[i]=last_input-in[DECIM*i];}
else{
out[i]=in[DECIM*i-1]-in[DECIM*i];}
}
else if(mode==NOSKIP){
else if(mode==NOSKIP){//merges with right value
out[i]=in[DECIM*i]-in[DECIM*i+1];
}
//lout<<std::fixed << std::setprecision(3)<<out[i]<<".";

BIN
python/core

Binary file not shown.

45
python/rds_parser_table_qt.py

@ -197,12 +197,21 @@ class rds_parser_table_qt(gr.sync_block):#START
freq=self.decoder_frequencies[num]
pilot_SNR=self.decoders[num]['pilot_SNR']
decim_mode=self.decoders[num]['decim_mode']
if decim_mode==0:#copy
underline=""
#underline="text-decoration-line: underline;text-decoration-style: wavy;text-decoration-color: red;"
elif decim_mode==1:#skip (merges with left value)
underline="text-decoration:overline"
elif decim_mode==2:#noskip (merges with right value)
underline="text-decoration:underline"
else:
underline=""
if self.decoders[num]['synced']:
message_string+="<span style='color:green'>&emsp; %i:%0.1fM (%i dB, %i)</span>"% (num,freq/1e6,pilot_SNR,decim_mode)
message_string+="<span style='color:green;%s'>&emsp; %i:%0.1fM (%i dB)</span>"% (underline,num,freq/1e6,pilot_SNR)
#print("'color:green'>%i:%0.1fM</span>"% (num,freq/1e6))
else:#elif self.decoders[num]['synced']==False:
#print("'color:red'>%i:%0.1fM</span>"% (num,freq/1e6))
message_string+="<span style='color:red'>&emsp; %i:%0.1fM (%i dB, %i)</span>"% (num,freq/1e6,pilot_SNR,decim_mode)
message_string+="<span style='color:red;%s'>&emsp; %i:%0.1fM (%i dB)</span>"% (underline,num,freq/1e6,pilot_SNR)
message_string+="<br>tuned frequency:%0.1fM"%(self.tuning_frequency/1e6)
self.signals.DataUpdateEvent.emit({'decoder_frequencies':message_string})
#print(message_string)
@ -1095,8 +1104,7 @@ class rds_parser_table_qt_Widget(QtGui.QWidget):
self.freq_label.setWordWrap(True)
self.freq_label.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Ignored))#expand in horizontal direction and only wrap if window too small
#self.freq_label.setTextFormat(QtCore.Qt.RichText)
#self.freq_label.setTextFormat(QtCore.Qt.PlainText)
self.freq_label.setTextFormat(QtCore.Qt.RichText)#instead of AutoText
self.count_label=QtGui.QLabel("count:")
self.count_label.setAlignment(QtCore.Qt.AlignRight)
label_layout.addWidget(self.freq_label)
@ -1315,20 +1323,33 @@ class rds_parser_table_qt_Widget(QtGui.QWidget):
view.setWindowTitle(self.tableobj.RDS_data[PI]["PSN"])
view.exec_()
def onCLick(self):
from thread import start_new_thread
print("button clicked")
code.interact(local=locals())
#code.interact(local=locals())
start_new_thread(self.interact,())
def interact(self):
code.interact(local=dict(globals(), **locals()))
if __name__ == "__main__":
from PyQt4 import Qt
import sys
app = Qt.QApplication(sys.argv)
mainobj= rds_parser_table_qt_Signals()
#mainobj=None
widget = rds_parser_table_qt_Widget(mainobj,"TestLabel")
from thread import start_new_thread
class dummy:
def __init__(self):
self.colorder=['ID','freq','name','buttons','PTY','AF',
'time','text','quality','pilot_SNR','RT+']
self.nPorts=4
qapp = Qt.QApplication(sys.argv)
signals= rds_parser_table_qt_Signals()
mainobj=dummy()
widget = rds_parser_table_qt_Widget(signals,"TestLabel",mainobj)
widget.show()
widget.setWindowTitle("Test Qt gui")
widget.setGeometry(200,200,600,300)
sys.exit(app.exec_())
def quitting():
print("quitting")
sys.exit()
qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
qapp.exec_()
#sys.exit(app.exec_())
widget = None

Loading…
Cancel
Save