Code: Select all
def update():
y = trackIR.y
if keyboard.getKeyDown(Key.C):
y = 200
trackIR.y = y
else: y = trackIR.y
diagnostics.watch(y)
if starting:
global y
y = 0
trackIR.update += update
Code: Select all
def update():
y = trackIR.y
if keyboard.getKeyDown(Key.C):
y = 200
trackIR.y = y
else: y = trackIR.y
diagnostics.watch(y)
if starting:
global y
y = 0
trackIR.update += update
Thank you, it seems exactly the case. I've done some digging here and found a working way that assumes a chain TrackIR → GlovePIE → Python → Opentrack → Warthunder. But how can I do it with FreePIE, to send data from it directly to Opentrack?Jabberwock wrote: ↑Fri Mar 05, 2021 6:09 am Most likely TrackIR can be accessed by only one program at a time.
Code: Select all
import socket
import struct
def update():
yaw = trackIR.yaw
pitch = trackIR.pitch
roll = trackIR.roll
x = trackIR.x
y = trackIR.y
z = trackIR.z
if keyboard.getKeyDown(Key.C): y = 200
else: y = trackIR.y
opentrack_UDPsender.sendto(struct.pack("dddddd", x, y, z, yaw, pitch, roll), ("localhost", 4242))
#SendOsc('localhost', 6666, "/glovepie/pithon", yaw, pitch, roll, x, y, z)
diagnostics.watch(yaw)
diagnostics.watch(pitch)
diagnostics.watch(roll)
diagnostics.watch(x)
diagnostics.watch(y)
diagnostics.watch(z)
if starting:
global yaw, pitch, roll, x, y, z
x , y , z , yaw , pitch , roll = 0,0,0,0,0,0
opentrack_UDPsender = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
trackIR.update += update