def Update(self): positioning.select_module(positioning.default_module()) positioning.set_requestors([{"type":"service", "format":"application", "data":"GpsLocProvider"}]) # open log file if(self.logmode): self.FILE = open(self.logpath, "w+") self.FILE.write("LOGFILE START:\r") self.FILE.write("GPS Modules detected:\r") self.FILE.write(str(positioning.modules())) self.FILE.write("Using default: " + str(positioning.default_module()) + "\r") global keep_scanning while keep_scanning: # get current location, compare to old current location newLoc = self.getCurrentLocation() if newLoc['lat'] != newLoc['lat']: # if we got a "NaN" response from positioning, this will abort and try again continue # if no(or little) change, don't do anything #latDif = math.fabs(newLoc["lat"] - self.current_location["lat"]) #lngDif = math.fabs(newLoc["lng"] - self.current_location["lng"]) # if latDif < 0.0001 or lngDif < .001: # print "Haven't moved far enough. Cancelling update." #self.current_location = newLoc #self.nearbyLock.signal() self.addPOIs(self.get_nearby_locations(self.current_location["lat"], self.current_location["lng"])) self.actives = self.get_active_list() if len(self.actives) != 0: self.newActives = 1 else: self.newActives = 0 # for poi in actives: # self.GUI.location_cache.appendLocation(poi) # self.GUI.notifyOfNewLocation(poi["name"]) # print "Update in :" + str(time.clock() - initialTime) + " ms." if self.logmode: self.FILE.flush() e32.ao_yield() e32.ao_sleep(5) if self.logmode: self.FILE.write("Total GPS scans performed: " + str(self.total_scans) + "\r") self.FILE.write("Avg time per scan: " + str(self.total_scan_time / self.total_scans) + "\r") self.FILE.close() print "Update thread done."
def __initgps(self): try: import positioning as gps gps.select_module(gps.default_module()) gps.set_requestors([{"type":"service","format":"application","data":"gps_app"}]) gps.position(course=1,satellites=0,callback=self.__gps_cb, interval=5000000,partial=0)#intervall at 5 seconds atm e32.ao_sleep(3) except ImportError: self.gps_result="Error"
def StartGPS(): positioning.select_module(positioning.default_module()) positioning.set_requestors([{ "type":"service", "format":"application", "data":"test_app" }]) positioning.position(course=1,satellites=1, callback=S60DataProvider.CallBack, interval=S60DataProvider.interval, partial=1)
def StartGps(self): Log("ngps", "NativeGps::StartGps()") import positioning positioning.select_module(positioning.default_module()) positioning.set_requestors([{ "type": "service", "format": "application", "data": "tracker-py" }]) positioning.position(course=1, satellites=1, callback=self.CallBack, interval=500000, partial=1)
def getCoordinates(): positioning.select_module(positioning.default_module()) positioning.set_requestors([{ 'type': 'service', 'format': 'application', 'data': 'position' }]) try: sys.stdout.write('Retrieving GPS co-ordinates ...\n') data = positioning.position(course=1, satellites=1) except: sys.stdout.write('Could not retrieve GPS co-ordinates\n\n\n') sys.exit(-1) else: sys.stdout.write('GPS co-ordinates retrieved\n') return (data['position']['latitude'], data['position']['longitude'])
def gps_init(): #This function will start the updating of global variable (dictionary) 'gps_data' every 0.2 sec. #0.2 sec comes form 'interval = 200000' set according to your needs #This function uses callback funtion gps global gps_data #First this fills the gps_data with 0.0 so that there is something before the first gps update gps_data = { 'satellites': {'horizontal_dop': 0.0, 'used_satellites': 0, 'vertical_dop': 0.0, 'time': 0.0,'satellites': 0, 'time_dop':0.0}, 'position': {'latitude': 0.0, 'altitude': 0.0, 'vertical_accuracy': 0.0, 'longitude': 0.0, 'horizontal_accuracy': 0.0}, 'course': {'speed': 0.0, 'heading': 0.0, 'heading_accuracy': 0.0, 'speed_accuracy': 0.0} } try: positioning.select_module(positioning.default_module()) positioning.set_requestors([{"type":"service","format":"application","data":"gps_app"}]) positioning.position(course=1,satellites=1,callback=gps, interval=200000,partial=0) e32.ao_sleep(3) except: appuifw.note(u'Problem with GPS','error')
def open(self, id=None): self.id = id if id == None: id = positioning.default_module() self.id = id self.info = positioning.module_info(self.id) self.name = PositioningProvider.name + " using " + self.info["name"] # HACK ALERT: undocumented, but otherwise bluetooth stays open! if e32.pys60_version < '1.4.5': positioning._positioner=positioning._pos_serv.positioner(self.id) else: positioning.select_module(self.id) positioning.set_requestors([{"type":"service", "format":"application", "data":"test_app"}]) positioning.position(course=True, satellites=True, callback=self.__callback, interval=int(self.interval*1.0E6), partial=True) self.ok = True
def __init__(self, moduleID=positioning.default_module()): self.callbacks = [] positioning.select_module(moduleID) positioning.set_requestors([{"type":"service", \ "format":"application", \ "data":"test_app"}])
import positioning,appuifw,time,e32 positioning.select_module(positioning.default_module()) positioning.set_requestors([{"type":"service", "format":"application", "data":"test_app"}]) def getmyposition(): print 'Reading GPS. Wait...' result = positioning.position() print 'all gps data: ', result coordinates=result["position"] mylatitude = coordinates["latitude"] mylongitude = coordinates["longitude"] browserApp ='BrowserNG.exe' url = 'http://www.marinetraffic.com/ais/m/mob_map.aspx?&zoom=12¢erx='+str(mylongitude)+'¢ery='+str(mylatitude) e32.start_exe(browserApp, ' "4 %s"' %url, 1) appuifw.app.set_exit() getmyposition()
# See the License for the specific language governing permissions and # limitations under the License. # import positioning # SYMBIAN_UID = 0xE1000121 # information about available positioning modules print "***available modules***" print positioning.modules() print "" # id of the default positioning module print "***default module***" print positioning.default_module() print "" # detailed information about the default positioning module print "***detailed module info***" print positioning.module_info(positioning.default_module()) print "" # set requestors. # at least one requestor must be set before requesting the position. # the last requestor must always be service requestor # (whether or not there are other requestors). positioning.set_requestors([{ "type": "service", "format": "application", "data": "test_app"
def test_default_module(self): self.failUnlessEqual(positioning.default_module(), gps_data['default_module'], "Default module not set properly")
def test_select_module(self): positioning.select_module(270526858) # Check whether selecting a module changes the default module too. self.failUnlessEqual(positioning.default_module(), gps_data['default_module'], "Default module not set properly")
def get_default_module(): print "\n\n***default module***" t.add(u"\n\n***default module***") module_id = positioning.default_module() print 'positioning.default_module():', module_id t.add( unicode( "\n\npositioning.default_module(): " + str(module_id) ) )
log_dir = "e:\\data\\wlan" if not os.path.exists(log_dir): os.makedirs(log_dir) logfile = os.path.join(log_dir, 'fpp_RawData_CMRI_'+date+'.csv') fout = open(logfile, 'a') media = "e:\\videos\\noti.mid" try: snd = aud.Sound.open(media) #print 'Sound ready!' except: print 'Oops! NOT available: %s!' % media print print 'IMEI:%s\nUserAgent:%s' % (imei, uagent) mod = pos.default_module() # A-GPS as first time fixer pos.select_module(mod) modinfo = pos.module_info(mod) print '%s:%s,QoD:%s' % (modinfo['name'],modinfo['id'],modinfo['status']['data_quality']) try: # set_requestors() must follows select_module() pos.set_requestors([{"type":"service","format":"application","data":"test_app"}]) gpsdict = pos.position(satellites=True) except: print 'Oops! GPS failed!' pos.stop_position() sys.exit(1) mod -= 2 pos.select_module(mod) # Built-in GPS
log_dir = "e:\\data\\wlan" if not os.path.exists(log_dir): os.makedirs(log_dir) logfile = os.path.join(log_dir, 'fpp_RawData_CMRI_' + date + '.csv') fout = open(logfile, 'a') media = "e:\\videos\\noti.mid" try: snd = aud.Sound.open(media) #print 'Sound ready!' except: print 'Oops! NOT available: %s!' % media print print 'IMEI:%s\nUserAgent:%s' % (imei, uagent) mod = pos.default_module() # A-GPS as first time fixer pos.select_module(mod) modinfo = pos.module_info(mod) print '%s:%s,QoD:%s' % (modinfo['name'], modinfo['id'], modinfo['status']['data_quality']) try: # set_requestors() must follows select_module() pos.set_requestors([{ "type": "service", "format": "application", "data": "test_app" }]) gpsdict = pos.position(satellites=True) except: print 'Oops! GPS failed!' pos.stop_position()
def __init__(self, cb, module_id): self.cb = cb self.active = False self.module_id = (module_id or positioning.default_module()) self.use_module(self.module_id)
def __init__(self, moduleID = positioning.default_module()): self.callbacks = [] positioning.select_module(moduleID) positioning.set_requestors([{"type":"service", \ "format":"application", \ "data":"test_app"}])
import positioning import time import httplib, urllib print "Init Program" print "" print "Default Module:" print positioning.default_module() print "" positioning.select_module(positioning.default_module()) print "Detailed Module Info:" print "" print positioning.module_info(positioning.default_module()) print "GPS Data:" print "" positioning.set_requestors([{"type":"service","format":"application","data":"test_app"}]) while 1: data = positioning.position(course=1,satellites=1) la,lo = data['position']['latitude'],data['position']['longitude'] gps_coords = urllib.urlencode({'device': 'N6730C', 'lat':str(la),'lng':str(lo)}) headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"} conn = httplib.HTTPConnection("mobile-real-map.appspot.com:80") conn.request("POST", "/up", gps_coords, headers) response = conn.getresponse() data = response.read() conn.close() print "here is %s \n"%str(la) time.sleep(30)
def get_default_module(): print "\n\n***default module***" t.add(u"\n\n***default module***") module_id = positioning.default_module() print 'positioning.default_module():', module_id t.add(unicode("\n\npositioning.default_module(): " + str(module_id)))