|
|
|
@ -613,9 +613,7 @@ class tmc_dict: |
|
|
|
return False |
|
|
|
return False |
|
|
|
return True |
|
|
|
return True |
|
|
|
def add(self,message): |
|
|
|
def add(self,message): |
|
|
|
self.list_lock.acquire() |
|
|
|
print_message=True |
|
|
|
self.message_list.append(message) |
|
|
|
|
|
|
|
self.list_lock.release() |
|
|
|
|
|
|
|
self.dict_lock.acquire() |
|
|
|
self.dict_lock.acquire() |
|
|
|
try: |
|
|
|
try: |
|
|
|
lcn=message.location.lcn |
|
|
|
lcn=message.location.lcn |
|
|
|
@ -625,19 +623,26 @@ class tmc_dict: |
|
|
|
if message.event.is_cancellation: |
|
|
|
if message.event.is_cancellation: |
|
|
|
try: |
|
|
|
try: |
|
|
|
self.messages[lcn][updateClass].cancellation_time=message.getTime()#cancellation_time = rx time of cancellation message |
|
|
|
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 |
|
|
|
except KeyError:#no message to cancel |
|
|
|
message.event.name="no message to cancel" |
|
|
|
message.event.name="no message to cancel" |
|
|
|
self.messages[lcn][updateClass]=message |
|
|
|
self.messages[lcn][updateClass]=message |
|
|
|
else: |
|
|
|
else: |
|
|
|
if self.messages[lcn].has_key(updateClass) and self.messages[lcn][updateClass].tmc_hash ==message.tmc_hash:#if same message -> add confirmation |
|
|
|
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) |
|
|
|
self.messages[lcn][updateClass].add_confirmation(message) |
|
|
|
|
|
|
|
print_message=False#dont print repeats |
|
|
|
else:#(over)write message |
|
|
|
else:#(over)write message |
|
|
|
self.messages[lcn][updateClass]=message |
|
|
|
self.messages[lcn][updateClass]=message |
|
|
|
#print("added message: "+str(message)) |
|
|
|
#print("added message: "+str(message)) |
|
|
|
|
|
|
|
if print_message: |
|
|
|
|
|
|
|
self.list_lock.acquire() |
|
|
|
|
|
|
|
self.message_list.append(message) |
|
|
|
|
|
|
|
self.list_lock.release() |
|
|
|
except AttributeError: |
|
|
|
except AttributeError: |
|
|
|
print("ERROR, not adding: "+str(message)) |
|
|
|
print("ERROR, not adding: "+str(message)) |
|
|
|
finally: |
|
|
|
finally: |
|
|
|
self.dict_lock.release() |
|
|
|
self.dict_lock.release() |
|
|
|
|
|
|
|
return print_message |
|
|
|
def getLogString(self,showInvalid,filters): |
|
|
|
def getLogString(self,showInvalid,filters): |
|
|
|
self.list_lock.acquire() |
|
|
|
self.list_lock.acquire() |
|
|
|
retStr="" |
|
|
|
retStr="" |
|
|
|
@ -790,7 +795,7 @@ class tmc_message: |
|
|
|
def log_string(self): |
|
|
|
def log_string(self): |
|
|
|
retstr="" |
|
|
|
retstr="" |
|
|
|
try: |
|
|
|
try: |
|
|
|
retstr=str(self.event.updateClass)+": "+self.getTime()+": "+self.location_text()+": "+self.events_string()+"; "+self.info_str()+"; "+self.psn |
|
|
|
retstr=str(self.event.updateClass)+": "+self.getTime()+": "+self.location_text()+": "+self.events_string()+"; "+self.info_str()+"; "+str(list(self.psns))+"x%i"%self.confirmations |
|
|
|
except UnicodeDecodeError as e: |
|
|
|
except UnicodeDecodeError as e: |
|
|
|
print e |
|
|
|
print e |
|
|
|
code.interact(local=locals()) |
|
|
|
code.interact(local=locals()) |
|
|
|
@ -885,6 +890,7 @@ class tmc_message: |
|
|
|
tmc_F=int((tmc_x>>3)&0x1) #identifies the message as a Single Group (F = 1) or Multi Group (F = 0) |
|
|
|
tmc_F=int((tmc_x>>3)&0x1) #identifies the message as a Single Group (F = 1) or Multi Group (F = 0) |
|
|
|
self.is_single=(tmc_F==1) |
|
|
|
self.is_single=(tmc_F==1) |
|
|
|
self.is_multi=(tmc_F==0) |
|
|
|
self.is_multi=(tmc_F==0) |
|
|
|
|
|
|
|
|
|
|
|
#check LTN |
|
|
|
#check LTN |
|
|
|
try: |
|
|
|
try: |
|
|
|
msg_ltn=ltn#tableobj.RDS_data[PI]["AID_list"][52550]["LTN"] |
|
|
|
msg_ltn=ltn#tableobj.RDS_data[PI]["AID_list"][52550]["LTN"] |
|
|
|
@ -913,6 +919,7 @@ class tmc_message: |
|
|
|
self.ci=int(tmc_x&0x7) #continuity index |
|
|
|
self.ci=int(tmc_x&0x7) #continuity index |
|
|
|
self.data_arr=BitArray() |
|
|
|
self.data_arr=BitArray() |
|
|
|
self.mgm_list=[] |
|
|
|
self.mgm_list=[] |
|
|
|
|
|
|
|
#self.length=0# attribute error is catched and signals incomplete mgm |
|
|
|
self.location=tmc_location(tmc_z,tableobj) |
|
|
|
self.location=tmc_location(tmc_z,tableobj) |
|
|
|
#self.event=int(tmc_y&0x7ff) #Y10-Y0 |
|
|
|
#self.event=int(tmc_y&0x7ff) #Y10-Y0 |
|
|
|
self.event=tmc_event(int(tmc_y&0x7ff),self.tableobj) #Y10-Y0 |
|
|
|
self.event=tmc_event(int(tmc_y&0x7ff),self.tableobj) #Y10-Y0 |
|
|
|
|