Ejemplo n.º 1
0
 def __hex__(self):
     return "%(title)s00%(type)s%(altitude)s0000%(latitude)s%(longitude)s" % {
         'latitude'  : Utilities.swap(hex(self.latitude)),
         'longitude' : Utilities.swap(hex(self.longitude)),
         'altitude'  : Utilities.swap(Utilities.dec2hex(self.altitude,4)),
         'type'      : Utilities.dec2hex(self.type,2),
         'title'     : Utilities.chr2hex(self.title.ljust(6)[:6])
     }
Ejemplo n.º 2
0
 def setWaypoints(self, waypoints):                               
     waypointsConverted = ''.join([hex(waypoint) for waypoint in waypoints])
     numberOfWaypoints = Utilities.swap(Utilities.dec2hex(len(waypoints), 8))
     payload =  Utilities.dec2hex(5 + (20 * len(waypoints)), 4)
     checksum = Utilities.checkersum("%s76%s%s" % (str(payload), str(numberOfWaypoints), waypointsConverted))
     
     response = self._querySerial('setWaypoints', **{'payload':payload, 'numberOfWaypoints':numberOfWaypoints, 'waypoints': waypointsConverted, 'checksum':checksum})
     
     if response[:6] == '760004':
         waypointsUpdated = int(Utilities.swap(response[6:10]), 16)
         self.logger.debug('waypoints updated: %i' % waypointsUpdated)
         return waypointsUpdated
     else:
         self.logger.error('error uploading waypoints')
         return False