summaryrefslogtreecommitdiff
path: root/tomorrowtheground.py
blob: 2ffdf7e769bc93d861f73980f7cdba925691c2d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/python
#UDP listener

from latLng import *
from layers import *
from xml2obj import *

doc=xml2obj(open("ttg01.xml"))
gpslayers=[]
for i in doc.gps.index:
	#should catch invalid xml
	g=indexlayer(i.file,i.ll1,i.ll2)
	for t in i.trigger:
		g.triggers.append(trigger(int(t.id),t.command,t.param))
	gpslayers.append(g)
		
import socket

GUI_IP="127.0.0.1"
GUI_PORT=5400
insock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM ) 
insock.bind( (GUI_IP,GUI_PORT) )
insock.settimeout(0.01)
PD_IP="127.0.0.1"
PD_PORT=5401
outsock = socket.socket( socket.AF_INET,socket.SOCK_DGRAM )

pos=latLng()
posChanged=False

while True:
	data=""
	try:
		data, addr = insock.recvfrom(128)
		pos.parse(data)
		posChanged=True
	except:
		nothing=None
	if posChanged:
		print "received message:", data
		for layer in gpslayers:
			r=layer.checkcoord(pos)
			if layer.checkcoord!=None:
				outsock.sendto( r, (PD_IP, PD_PORT) )