Browse Source

added off-switch for mutex-debug

dev
Clemens Richter 9 years ago
parent
commit
bf7d2f4ad7
  1. 46
      python/tmc_parser.py

46
python/tmc_parser.py

@ -253,60 +253,58 @@ class tmc_parser(gr.sync_block):
print("symbol not decoded: "+"?%02X?"%ord(char)+"in string:"+return_string)
pass
return return_string
def print_dbg(message,end="\n"):
dbg=False
if dbg:
print(message,end=end)
class tmc_parser_Widget(QtGui.QWidget):
def print_tmc_msg(self,tmc_msg):
print("print:",end="")
self.logMutex.acquire(1)
print("got mutex,",end="")
print_dbg("print:got mutex,",end="")
sb=self.logOutput.verticalScrollBar()
print(".",end="")
print_dbg(".",end="")
oldmax=sb.maximum()
print(".",end="")
print_dbg(".",end="")
auto_scroll= abs(oldmax-sb.value())<60#auto_scroll if scrollbar was at max
print(".",end="")
#print("%i %i %r"%(sb.maximum(),sb.value(),auto_scroll))
print_dbg(".",end="")
ef=unicode(self.event_filter.text().toUtf8(), encoding="UTF-8").lower()
lf=unicode(self.location_filter.text().toUtf8(), encoding="UTF-8").lower()
filters=[{"type":"location", "str":lf},{"type":"event", "str":ef}]
if tmc_dict.matchFilter(tmc_msg,filters):
print("a",end="")
print_dbg("a",end="")
self.logOutput.append(Qt.QString.fromUtf8(tmc_msg.log_string()))
print("a",end="")
print_dbg("a",end="")
self.logOutput.append(Qt.QString.fromUtf8(tmc_msg.multi_str()))
print("a",end="")
#print("new message")
print_dbg("a",end="")
if auto_scroll:
#sb=self.logOutput.verticalScrollBar() #disabled 2017-04-28 might be cause of double free
new_max=sb.maximum()
print("s",end="")
print_dbg("s",end="")
sb.setValue(new_max)
print("s",end="")
print("\tdone")
# code.interact(local=locals())
#print("scrolling %i %i %r"%(oldmax,new_max,sb.value()))
#code.interact(local=locals())
print_dbg("s",end="")
self.logMutex.release(1)
print_dbg("\tdone")
def filterChanged(self):
print("filterChanged:",end="")
self.logMutex.acquire(1)
print("got mutex,",end="")
print_dbg("filterChanged:got mutex,",end="")
ef=""
lf=""
try:
ef=unicode(self.event_filter.text().toUtf8(), encoding="UTF-8").lower()
lf=unicode(self.location_filter.text().toUtf8(), encoding="UTF-8").lower()
except Exception as e:
print(e)
print("error getting filter strings")
print_dbg(e)
print_dbg("error getting filter strings")
code.interact(local=locals())
print("read filters,",end="")
print_dbg("read filters,",end="")
self.logOutput.clear()
print("cleared,",end="")
print_dbg("cleared,",end="")
filters=[{"type":"location", "str":lf},{"type":"event", "str":ef}]
self.logOutput.append(Qt.QString.fromUtf8(self.parser.tmc_messages.getLogString(filters)))
print("appended,",end="")
print_dbg("appended,",end="")
self.logMutex.release(1)
print("done")
print_dbg("done")
def __init__(self, parser,maxheight):
QtGui.QWidget.__init__(self)
layout = Qt.QVBoxLayout()

Loading…
Cancel
Save