import os import math import socket import sys import time import ctypes import vectors import bisect import datetime import copy import nmpc nmpc.init(implementation="c") from nmpc import _cnmpc, state def socket_readlines(socket): buf = socket.recv(4096) done = False while 1: if "\n" in buf: (line, buf) = buf.split("\n", 1) yield line + "\n" else: break def values_to_dict(fields, values): out = {} for i, field in enumerate(fields): if field not in out: out[field] = values[i]
import math import socket import sys import time import ctypes import nmpc nmpc.init() from nmpc import _cnmpc, state import pygame pygame.init() pygame.joystick.init() print pygame.joystick.get_count() joystick = pygame.joystick.Joystick(0) joystick.init() sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('127.0.0.1', 51000)) sock.sendall("sub sim/operation/override/override_planepath\n") sock.sendall("set sim/operation/override/override_planepath [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]\n") sock.sendall("sub sim/flightmodel/position/psi\n") # yaw sock.sendall("sub sim/flightmodel/position/theta\n") # pitch sock.sendall("sub sim/flightmodel/position/phi\n") # roll sock.sendall("sub sim/flightmodel/position/local_x\n") sock.sendall("sub sim/flightmodel/position/local_y\n") sock.sendall("sub sim/flightmodel/position/local_z\n") sock.sendall("extplane-set update_interval 0.02\n") sock.recv(1024)
import os import math import socket import sys import time import ctypes import vectors import bisect import nmpc nmpc.init() from nmpc import _cnmpc, state def values_to_dict(fields, values): out = {} for i, field in enumerate(fields): if field not in out: out[field] = values[i] return out def convert_metric(fields, values): metric_values = [] for field, value in zip(fields, values): unit = field.rpartition(",")[2].strip("_") if unit == "ktas": metric_values.append(float(value) * 1.852 / 3.6) elif unit == "ftmsl": metric_values.append(float(value) * 0.3048) elif unit == "lb":