Browse Source

Merge branch 'dev' of ssh://git.csrichter.com:2222/~/git/gr-multirds into dev

dev
Clemens Richter 9 years ago
parent
commit
00e3c12755
  1. 2
      apps/fft-multi-decoder_fixed_hackrf.grc
  2. 4
      apps/read_sync_decim.grc
  3. 15
      python/tmc_classes.py
  4. 7
      python/tmc_parser.py

2
apps/fft-multi-decoder_fixed_hackrf.grc

@ -1217,7 +1217,7 @@
</param>
<param>
<key>gui_hint</key>
<value></value>
<value>tabs@0</value>
</param>
<param>
<key>_rotation</key>

4
apps/read_sync_decim.grc

@ -344,7 +344,7 @@
</param>
<param>
<key>file</key>
<value>/tmp/cr/sync_decim_out_11221</value>
<value>/user/wire2/richter/abgabe/crash-examples/tmc decoder crash/sync_decim_out_11221</value>
</param>
<param>
<key>_coordinate</key>
@ -777,7 +777,7 @@ class blk(gr.sync_block): # other base classes are basic_block, decim_block, in
</param>
<param>
<key>writeDB</key>
<value>True</value>
<value>False</value>
</param>
</block>
<block>

15
python/tmc_classes.py

@ -613,9 +613,7 @@ class tmc_dict:
return False
return True
def add(self,message):
self.list_lock.acquire()
self.message_list.append(message)
self.list_lock.release()
print_message=True
self.dict_lock.acquire()
try:
lcn=message.location.lcn
@ -625,19 +623,26 @@ 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)
print_message=False#dont print repeats
else:#(over)write message
self.messages[lcn][updateClass]=message
#print("added message: "+str(message))
if print_message:
self.list_lock.acquire()
self.message_list.append(message)
self.list_lock.release()
except AttributeError:
print("ERROR, not adding: "+str(message))
finally:
self.dict_lock.release()
return print_message
def getLogString(self,showInvalid,filters):
self.list_lock.acquire()
retStr=""
@ -790,7 +795,7 @@ class tmc_message:
def log_string(self):
retstr=""
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:
print e
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)
self.is_single=(tmc_F==1)
self.is_multi=(tmc_F==0)
#check LTN
try:
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.data_arr=BitArray()
self.mgm_list=[]
#self.length=0# attribute error is catched and signals incomplete mgm
self.location=tmc_location(tmc_z,tableobj)
#self.event=int(tmc_y&0x7ff) #Y10-Y0
self.event=tmc_event(int(tmc_y&0x7ff),self.tableobj) #Y10-Y0

7
python/tmc_parser.py

@ -176,17 +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)
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)
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 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)
@ -202,6 +204,7 @@ class tmc_parser(gr.sync_block):
if tmc_msg.is_complete:
self.print_tmc_msg(tmc_msg)#print message
self.dataLock.acquire(1)#wait for print before delete
print_dbg("deleted finished (multi-group) message")
del self.unfinished_messages[PI][tmc_msg.ci]#delete finished message
self.dataLock.release(1)
else:

Loading…
Cancel
Save