Zeiss headtracker input/trackIR output?

Official forum for open source FreePIE discussion and development.
CyberVillain
Petrif-Eyed
Posts: 2166
Joined: Mon Jun 22, 2009 8:36 am
Location: Stockholm, Sweden

Re: Zeiss headtracker input/trackIR output?

Post by CyberVillain »

Would really liek to know why its not workign but that game has no demo :/
rail3r
One Eyed Hopeful
Posts: 1
Joined: Tue Apr 11, 2017 12:37 pm
Location: Germany

Re: Zeiss headtracker input/trackIR output?

Post 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...
Veteran66
One Eyed Hopeful
Posts: 15
Joined: Fri Dec 20, 2019 2:27 am

Re: Zeiss headtracker input/trackIR output?

Post 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
Post Reply

Return to “FreePIE”