Page 3 of 3

Re: Zeiss headtracker input/trackIR output?

Posted: Mon Sep 16, 2013 3:45 pm
by CyberVillain
Would really liek to know why its not workign but that game has no demo :/

Re: Zeiss headtracker input/trackIR output?

Posted: Tue Apr 11, 2017 12:49 pm
by rail3r
hello guys,

I'm wondering if you are still out there and can help me with freePIE and the headtracker.

I've managed to read the ZEISS headtrackers data with freePIE and send it through vJOY to opentrack, that runs accela filter and does trackIR/freetrack output so far.
I still see some drift effects in games, but I don't know whether it is due to the games performance drops or the way I'm using the tracker yet.

what I've noticed is, that freePIE only gets the raw data, but not the quaternion data, is there a reason for that?
I'm asking because as far as I can understand this stuff the quaternion data would be with less drift.

I've also tried to get the ZEISS SDK, but they didn't answer my requests...

Re: Zeiss headtracker input/trackIR output?

Posted: Sat Dec 21, 2019 1:35 am
by Veteran66
Hi all

I use the Zeiss Headtracker in DCS World, not like as TrackIR i use simple Headtracker Axis.
It work good in DCS World.

Now i look for Key to adjust
centerYaw = -230 # this make centerYaw to 0
centerPitch = 0
centerRoll = 0
so i can adjust my sight in Game
and a way to center my axis
this not work:
if (keyboard.getPressed(Key.Y)):
centerYaw = yaw
centerPitch = pitch
centerRoll = roll


Code: Select all

def update():
   global yaw
   yaw = math.degrees(cinemizer.yaw) * ratio
   global pitch
   pitch = math.degrees(cinemizer.pitch) * ratio
   global roll
   roll = math.degrees(cinemizer.roll) * ratio
   
if starting:
   maxAngle = math.radians(180)
   axisRange = math.radians(360)
   ratio = axisRange / maxAngle
   centerYaw = -230
   centerPitch = 0
   centerRoll = 0   
   yaw = 0
   pitch = 0
   roll = 0
   cinemizer.update += update  

vJoy[0].x  = math.degrees(yaw - centerYaw) 
vJoy[0].y =  math.degrees(pitch - centerPitch) 
vJoy[0].z =  math.degrees(roll - centerRoll)

diagnostics.watch(vJoy[0].x)
diagnostics.watch(vJoy[0].y)
diagnostics.watch(vJoy[0].z)
diagnostics.watch(cinemizer.yaw)
diagnostics.watch(cinemizer.pitch)
diagnostics.watch(cinemizer.roll)
diagnostics.watch(ratio)
diagnostics.watch(yaw)
diagnostics.watch(pitch)
diagnostics.watch(roll)
diagnostics.watch(centerYaw)
diagnostics.watch(centerPitch)
diagnostics.watch(centerRoll)

if (keyboard.getPressed(Key.Y)):
 centerYaw = yaw
 centerPitch = pitch
 centerRoll = roll