Ticket #129: aiding-data-validity.diff

File aiding-data-validity.diff, 1.8 KB (added by fso@…, 4 years ago)

only sending aiding data when valid dictionaries are present

  • framework/subsystems/ogpsd/om.py

    diff --git a/framework/subsystems/ogpsd/om.py b/framework/subsystems/ogpsd/om.py
    index 2d0a4f7..e0e59d8 100644
    a b class GTA02Device( UBXDevice ): 
    9595        tacc = 120000 # in ms (2 minutes) 
    9696 
    9797        # Feed GPS with position and time 
    98         self.send("AID-INI", 48, {"X" : pos["x"] , "Y" : pos["y"] , "Z" : pos["z"], "POSACC" : pacc, \ 
    99                                   "TM_CFG" : 0 , "WN" : wn , "TOW" : tow , "TOW_NS" : 0 , "TACC_MS" : tacc , "TACC_NS" : 0 , \ 
    100                                   "CLKD" : 0 , "CLKDACC" : 0 , "FLAGS" : 0x3 }) 
     98        if pos: 
     99            self.send("AID-INI", 48, {"X" : pos["x"] , "Y" : pos["y"] , "Z" : pos["z"], "POSACC" : pacc, \ 
     100                      "TM_CFG" : 0 , "WN" : wn , "TOW" : tow , "TOW_NS" : 0 , "TACC_MS" : tacc , "TACC_NS" : 0 , \ 
     101                      "CLKD" : 0 , "CLKDACC" : 0 , "FLAGS" : 0x3 }) 
    101102 
    102103        # Feed gps with almanac 
    103         for k, a in self.aidingData["almanac"].iteritems(): 
    104             logger.debug("Loaded almanac for SV %d" % a["SVID"]) 
    105             self.send("AID-ALM", 40, a); 
     104        if self.aidingData["almanac"]: 
     105            for k, a in self.aidingData["almanac"].iteritems(): 
     106                logger.debug("Loaded almanac for SV %d" % a["SVID"]) 
     107                self.send("AID-ALM", 40, a); 
    106108 
    107109        # Feed gps with ephemeris 
    108         for k, a in self.aidingData["ephemeris"].iteritems(): 
    109             logger.debug("Loaded ephemeris for SV %d" % a["SVID"]) 
    110             self.send("AID-EPH", 104, a); 
     110        if self.aidingData["ephemeris"]: 
     111            for k, a in self.aidingData["ephemeris"].iteritems(): 
     112                logger.debug("Loaded ephemeris for SV %d" % a["SVID"]) 
     113                self.send("AID-EPH", 104, a); 
    111114 
    112115    def handle_AID_ALM( self, data ): 
    113116        data = data[0]