diff --git a/python/tmc_classes.py b/python/tmc_classes.py index 1b1ef11..ce95280 100644 --- a/python/tmc_classes.py +++ b/python/tmc_classes.py @@ -613,7 +613,7 @@ class tmc_dict: return False return True def add(self,message): - message_is_repeat=False + print_message=True self.dict_lock.acquire() try: lcn=message.location.lcn @@ -623,17 +623,18 @@ class tmc_dict: if message.event.is_cancellation: try: self.messages[lcn][updateClass].cancellation_time=message.getTime()#cancellation_time = rx time of cancellation message + print_message=False#dont print cancellation messages except KeyError:#no message to cancel message.event.name="no message to cancel" self.messages[lcn][updateClass]=message else: if self.messages[lcn].has_key(updateClass) and self.messages[lcn][updateClass].tmc_hash ==message.tmc_hash:#if same message -> add confirmation self.messages[lcn][updateClass].add_confirmation(message) - message_is_repeat=True + print_message=False#dont print repeats else:#(over)write message self.messages[lcn][updateClass]=message #print("added message: "+str(message)) - if not message_is_repeat: + if print_message: self.list_lock.acquire() self.message_list.append(message) self.list_lock.release() @@ -641,7 +642,7 @@ class tmc_dict: print("ERROR, not adding: "+str(message)) finally: self.dict_lock.release() - return message_is_repeat + return print_message def getLogString(self,showInvalid,filters): self.list_lock.acquire() retStr="" diff --git a/python/tmc_parser.py b/python/tmc_parser.py index da90022..c934e39 100644 --- a/python/tmc_parser.py +++ b/python/tmc_parser.py @@ -176,18 +176,19 @@ class tmc_parser(gr.sync_block): if tmc_F==1:#single group tmc_msg=tmc_message(PI,psn,ltn,tmc_x,tmc_y,tmc_z,datetime_received,self) self.dataLock.acquire(1) - self.tmc_messages.add(tmc_msg) + print_message=self.tmc_messages.add(tmc_msg) self.dataLock.release(1) - self.print_tmc_msg(tmc_msg) + if print_message:#ignore duplicates + self.print_tmc_msg(tmc_msg) elif tmc_F==0 and Y15==1:#1st group of multigroup ci=int(tmc_x&0x7) tmc_msg=tmc_message(PI,psn,ltn,tmc_x,tmc_y,tmc_z,datetime_received,self) self.dataLock.acquire(1) - message_is_repeat=self.tmc_messages.add(tmc_msg) + print_message=self.tmc_messages.add(tmc_msg) self.dataLock.release(1) #if self.RDS_data[PI]["internals"]["unfinished_TMC"].has_key(ci): #print("overwriting parital message") - if not message_is_repeat:#save unfinished message only once (dont overwrite collected additional groups) + if print_message:#save unfinished message only once (dont overwrite collected additional groups) self.unfinished_messages[PI][ci]={"msg":tmc_msg,"time":time.time()} else: ci=int(tmc_x&0x7)