Initial commit
parent
50803aef9a
commit
bfedc6bdc3
@ -0,0 +1,114 @@
|
||||
# This Python file uses the following encoding: utf-8
|
||||
from time import sleep
|
||||
from math import degrees
|
||||
import sys
|
||||
import pyuipc
|
||||
|
||||
P3Dv4 = 12
|
||||
XPL11 = 0
|
||||
VERSIONS = [P3Dv4, XPL11]
|
||||
|
||||
def open_file():
|
||||
try:
|
||||
fh = open("bar.html", "w")
|
||||
except:
|
||||
print("Cannot open file for writing!")
|
||||
else:
|
||||
return fh
|
||||
|
||||
def write_data(file, hdg, alt, fpm, gs, gf, aoa):
|
||||
data = ""
|
||||
data += "<!doctype html><html lang=\"en\"><head>"
|
||||
data += "<meta http-equiv=\"refresh\" content=\"3\" />"
|
||||
data += "<meta charset=\"utf-8\">"
|
||||
data += "<link rel=\"stylesheet\" href=\"prox-style.css\">"
|
||||
data += "</head>"
|
||||
data += "<body><div class=\"flexbox\">"
|
||||
data += "<div class=\"block heading\">" + str(hdg) + "</div>"
|
||||
data += "<div class=\"block altitude\">" + str(alt) + "</div>"
|
||||
data += "<div class=\"block vs\">" + str(fpm) + "</div>"
|
||||
data += "<div class=\"block speed\">" + str(gs) + "</div>"
|
||||
data += "<div class=\"block aoa\">" + str(aoa) + "</div>"
|
||||
data += "<div class=\"block gf\">" + str(gf) + "</div>"
|
||||
data += "</body></html>"
|
||||
try:
|
||||
file.write(data)
|
||||
file.close()
|
||||
except:
|
||||
print("Error writing to file!")
|
||||
file.close()
|
||||
|
||||
|
||||
while True:
|
||||
try:
|
||||
pyuipc.open(XPL11)
|
||||
while True:
|
||||
try:
|
||||
l = list()
|
||||
t0 = (0x0580, 'u') # heading
|
||||
t1 = (0x0570, 'l') # alt
|
||||
t2 = (0x02b4, 'd') # ground speed
|
||||
t3 = (0x02a0, 'h') # magvar
|
||||
t4 = (0x1140, 'f') # G-force
|
||||
t5 = (0x030c, 'd') # vspeed at touchdown
|
||||
t6 = (0x2ed0, 'f') # AOA
|
||||
l = [t0, t1, t2, t3, t4, t5, t6]
|
||||
res = pyuipc.read(l)
|
||||
|
||||
hdg = res[0]*360/(65535*65535)
|
||||
magvar = int(res[3] * 360 / 65536)
|
||||
mag = hdg - magvar
|
||||
if mag < 0:
|
||||
mag = 360 + mag
|
||||
if mag == 0:
|
||||
mag = 360
|
||||
mag = str(mag)
|
||||
if len(mag) == 1:
|
||||
mag = "00" + mag
|
||||
elif len(mag) == 2:
|
||||
mag = "0" + mag
|
||||
|
||||
alt = int(res[1]*3.28084/(65536*65536))
|
||||
|
||||
gs = res[2]*3600/65536/1852
|
||||
|
||||
gf = str(res[4])
|
||||
if len(gf) > 3:
|
||||
if gf[0] == "-":
|
||||
gf = gf[0:5]
|
||||
else:
|
||||
gf = gf[0:4]
|
||||
|
||||
tdvspeed = int(res[5]*60*3.28084/256)
|
||||
|
||||
aoa = str(degrees(res[6]))
|
||||
if aoa[0] == "-":
|
||||
aoa = aoa[0:5]
|
||||
else:
|
||||
aoa = aoa[0:4]
|
||||
|
||||
print("Hdg: " + str(mag))
|
||||
print("Alt: " + str(alt) + " ft")
|
||||
print("Gs: " + str(gs) + " kts")
|
||||
print("G-force: " + str(gf))
|
||||
print("T/D VSpeed: " + str(tdvspeed))
|
||||
print("AOA: " + str(aoa))
|
||||
print("---")
|
||||
fh = open_file()
|
||||
write_data(fh, mag, alt, tdvspeed, gs, gf, aoa)
|
||||
sleep(2)
|
||||
except:
|
||||
print("Error")
|
||||
print(sys.exc_info()[0])
|
||||
try:
|
||||
pyuipc.close()
|
||||
except:
|
||||
pass
|
||||
break
|
||||
except pyuipc.FSUIPCException as e:
|
||||
print("Exception")
|
||||
print(str(e.errorCode) + " " + e.errorString)
|
||||
sleep(10)
|
||||
except:
|
||||
print("Probably incorrect FSUIPC version or simulator is not started. Timeout 10 sec.")
|
||||
sleep(10)
|
Loading…
Reference in New Issue