Go to the documentation of this file.00001 __author__ = 'tom1231'
00002 import struct
00003 from BAL.Header.RiCHeader import RiCHeader
00004
00005 LAT_PLACE = 10
00006 LNG_PLACE = 14
00007 METERS_PLACE = 18
00008 HDOP_PLACE = 20
00009 SAT_PLACE = 22
00010 FIX_PLACE = 23
00011
00012
00013 class GPSPublishResponse(RiCHeader):
00014
00015 def __init__(self):
00016 RiCHeader.__init__(self)
00017 self._lat = 0.0
00018 self._lng = 0.0
00019 self._meters = 0.0
00020 self._HDOP = 0
00021 self._satellites = 0
00022 self._fix = 0
00023
00024 def getLat(self): return self._lat
00025
00026 def getLng(self): return self._lng
00027
00028 def getMeters(self): return self._meters
00029
00030 def getHDOP(self): return self._HDOP
00031
00032 def getSatellites(self): return self._satellites
00033
00034 def getFix(self): return self._fix
00035
00036 def buildRequest(self, data):
00037 RiCHeader.buildRequest(self, data)
00038 bytes = bytearray()
00039 while self.index < LAT_PLACE:
00040 bytes.append(data[self.index])
00041 self.index += 1
00042 self._lat = struct.unpack('<f', bytes)[0]
00043 bytes = bytearray()
00044 while self.index < LNG_PLACE:
00045 bytes.append(data[self.index])
00046 self.index += 1
00047 self._lng = struct.unpack('<f', bytes)[0]
00048 bytes = bytearray()
00049 while self.index < METERS_PLACE:
00050 bytes.append(data[self.index])
00051 self.index += 1
00052 self._meters = struct.unpack('<f', bytes)[0]
00053 bytes = bytearray()
00054 while self.index < HDOP_PLACE:
00055 bytes.append(data[self.index])
00056 self.index += 1
00057 self._HDOP = struct.unpack('<h', bytes)[0]
00058 bytes = bytearray()
00059 while self.index < SAT_PLACE:
00060 bytes.append(data[self.index])
00061 self.index += 1
00062 self._satellites = struct.unpack('<h', bytes)[0]
00063 bytes = bytearray()
00064 while self.index < FIX_PLACE:
00065 bytes.append(data[self.index])
00066 self.index += 1
00067 self._fix = struct.unpack('<b', bytes)[0]
00068
00069
00070