diff --git a/apps/fft-multi-decoder_fixed_hackrf.grc b/apps/fft-multi-decoder_fixed_hackrf.grc
index 84d4fad..3ac48ca 100644
--- a/apps/fft-multi-decoder_fixed_hackrf.grc
+++ b/apps/fft-multi-decoder_fixed_hackrf.grc
@@ -3213,7 +3213,7 @@ class blk(gr.sync_block): # other base classes are basic_block, decim_block, in
debug
- False
+ True
_enabled
diff --git a/python/tmc_classes.py b/python/tmc_classes.py
index d666665..ce706a4 100644
--- a/python/tmc_classes.py
+++ b/python/tmc_classes.py
@@ -77,7 +77,10 @@ class lcl:
else:
return False
def get_poffsets(self,LCD):
- return self.poffsets[LCD]
+ if self.poffsets.has_key(LCD):
+ return self.poffsets[LCD]
+ else:
+ return ""
def get_segment(self,LCD):
return self.segments[LCD]
def get_road(self,LCD):
@@ -317,56 +320,68 @@ class tmc_location:
self.loc_dict={}
self.has_koord=False
self.linRef=None
- if self.lcl_obj.lcn_allocated(lcn) and self.lcl_obj.points.has_key(lcn):
- try:
- self.point=self.lcl_obj.get_point(lcn)
-
-
- self.ltype=self.point.CLASS+self.point.TCD
+ self.loctype=None
+ if self.lcl_obj.lcn_allocated(lcn):
+ if self.lcl_obj.points.has_key(lcn):
+ self.loctype="point"
try:
- self.subtype=int(self.point.STCD)
- except ValueError:#should not happen, all rows have int
- self.subtype=0
- print("location subtype %s is invalid in location %i"%(self.point.STCD,lcn))
- if not self.point.RNID==u"":
- self.roadname=self.lcl_obj.get_name(int(self.point.RNID))
- else:
- self.roadname=""
- if not self.point.N1ID==u"":
- self.first_name=self.lcl_obj.get_name(int(self.point.N1ID))
- else:
- self.first_name=""
- if not self.point.N2ID==u"":
- self.second_name=self.lcl_obj.get_name(int(self.point.N2ID))
- else:
- self.second_name=""
+ self.point=self.lcl_obj.get_point(lcn)
+
+
+ self.ltype=self.point.CLASS+self.point.TCD
+ try:
+ self.subtype=int(self.point.STCD)
+ except ValueError:#should not happen, all rows have int
+ self.subtype=0
+ print("location subtype %s is invalid in location %i"%(self.point.STCD,lcn))
+ if not self.point.RNID==u"":
+ self.roadname=self.lcl_obj.get_name(int(self.point.RNID))
+ else:
+ self.roadname=""
+ if not self.point.N1ID==u"":
+ self.first_name=self.lcl_obj.get_name(int(self.point.N1ID))
+ else:
+ self.first_name=""
+ if not self.point.N2ID==u"":
+ self.second_name=self.lcl_obj.get_name(int(self.point.N2ID))
+ else:
+ self.second_name=""
- if not self.point.SEG_LCD==u"":
- self.linRef=tmc_segment(int(self.point.SEG_LCD),tableobj)
- elif not self.point.ROA_LCD==u"":
- self.linRef=tmc_segment(int(self.point.ROA_LCD),tableobj)
- if not self.point.POL_LCD==u"":
- self.reflocs=self.__ref_locs(int(self.point.POL_LCD),self.first_name.encode('utf-8'))
- self.negative_offset=self.lcl_obj.get_poffsets(lcn).NEG_OFF_LCD
- self.positive_offset=self.lcl_obj.get_poffsets(lcn).POS_OFF_LCD
- try:
- #koords stored in WGS84 format with decimal degrees multiplied with 10^5
- self.xkoord=int(self.point.XCOORD)/100000.0
- self.ykoord=int(self.point.YCOORD)/100000.0
- self.koord_str="%f,%f"%(self.ykoord,self.xkoord)
- self.koord_str_google="{lat: %f, lng: %f}"%(self.ykoord,self.xkoord)
- self.google_maps_link="https://www.google.de/maps/place/%f,%f"%(self.ykoord,self.xkoord)
- self.has_koord=True
- except ValueError:
- self.has_koord=False
- self.is_valid=True
- if not self.point.POL_LCD=="":#Europe (lcn==34196) does not have an area reference
- self.aref=tmc_area(int(self.point.POL_LCD),tableobj)
- except KeyError as e:
- print(e)
- print("error making point '%i'"%lcn)
+ if not self.point.SEG_LCD==u"":
+ self.linRef=tmc_segment(int(self.point.SEG_LCD),tableobj)
+ elif not self.point.ROA_LCD==u"":
+ self.linRef=tmc_segment(int(self.point.ROA_LCD),tableobj)
+ if not self.point.POL_LCD==u"":
+ self.reflocs=self.__ref_locs(int(self.point.POL_LCD),self.first_name.encode('utf-8'))
+ self.negative_offset=self.lcl_obj.get_poffsets(lcn).NEG_OFF_LCD
+ self.positive_offset=self.lcl_obj.get_poffsets(lcn).POS_OFF_LCD
+ try:
+ #koords stored in WGS84 format with decimal degrees multiplied with 10^5
+ self.xkoord=int(self.point.XCOORD)/100000.0
+ self.ykoord=int(self.point.YCOORD)/100000.0
+ self.koord_str="%f,%f"%(self.ykoord,self.xkoord)
+ self.koord_str_google="{lat: %f, lng: %f}"%(self.ykoord,self.xkoord)
+ self.google_maps_link="https://www.google.de/maps/place/%f,%f"%(self.ykoord,self.xkoord)
+ self.has_koord=True
+ except ValueError:
+ self.has_koord=False
+ self.is_valid=True
+ if not self.point.POL_LCD=="":#Europe (lcn==34196) does not have an area reference
+ self.aref=tmc_area(int(self.point.POL_LCD),tableobj)
+ except KeyError as e:
+ print(e)
+ print("error making point '%i'"%lcn)
+ elif self.lcl_obj.areas.has_key(lcn) and self.tableobj.debug:
+ print("lcn is area %i"%lcn)
+ elif self.lcl_obj.segments.has_key(lcn) and self.tableobj.debug:
+ print("lcn is segment %i"%lcn)
+ elif self.lcl_obj.roads.has_key(lcn) and self.tableobj.debug:
+ print("lcn is road %i"%lcn)
+ else:
+ print("lcn not found %i"%lcn)
+
elif self.tableobj.log or self.tableobj.debug:
- print("lcn not allocated or not point %i"%lcn)
+ print("lcn not allocated %i"%lcn)
def get_extent_location(self,loc,extent,direction): #direction: 0:pos, 1:neg
if extent==0 or not loc.is_valid:
return loc
diff --git a/python/tmc_parser.py b/python/tmc_parser.py
index 23078c8..31f4a21 100644
--- a/python/tmc_parser.py
+++ b/python/tmc_parser.py
@@ -117,8 +117,8 @@ class tmc_parser(gr.sync_block):
print(e)
pass
self.qtwidget.print_tmc_msg(tmc_msg)
- if self.debug:
- print("new tmc message %s"%tmc_msg)
+ #if self.debug:
+ # print("new tmc message %s"%tmc_msg)
def initialize_data_for_PI(self,PI):
self.unfinished_messages[PI]={}
def handle_msg(self,msg):