WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   question about IS-900 wand (https://forum.worldviz.com/showthread.php?t=2430)

nitao 12-07-2009 12:32 PM

question about IS-900 wand
 
Hi,

I am new to Vizard, and our lab is starting using Vizard for a project. I have trouble with getting the IS-900 wand work. I followed the tutorial and wrote a small program. The tracker works, but I cannot retrieve the data from the joystick or buttons on the wand. The script is as follows:

*******************************
import viz

viz.go()

#Add environment
viz.add('gallery.ive')

#Add the intersense plugin
tracker1 = viz.add('intersense.dls')
tracker2 = viz.add('intersense.dls')

# This function will grab the tracker data and update the viewpoint
def UpdateView():

#Get tracker euler rotation
yaw,pitch,roll = tracker2.getEuler()

#Only rotate the yaw of the body orientation
viz.MainView.setEuler([yaw,0,0],viz.BODY_ORI)

#Call UpdateView function every frame
vizact.ontimer(0,UpdateView)

#The current value of the analog joystick of the IS-900 is located at index 8,9.
#Index 8 represents the X-axis of the joystick and ranges between -1 to 1.
#Index 9 represents the Y-axis of the joystick and ranges between -1 to 1.

data = tracker2.getData()
print data[8], data[9]

state = int(tracker2.getData() [7])
if state & 1:
print 'Button 1 is down'


#Rest tracker when 'r' key is pressed
vizact.onkeydown('r',tracker1.reset)
vizact.onkeydown('r',tracker2.reset)
********************************************

tracker1 is the head tracker connected to the station 1, and the wand station 2.

Can anyone tell me what's wrong, either with the code or the hardware setup?

Thanks,
Tao

Jeff 12-09-2009 01:17 PM

If you put the code that gets the button and joystick data into a timer function what kind of values are printed out in the input/output window?
Code:

def showData():

        data = tracker2.getData()
        print data[8], data[9]

        state = int(data[7])
        if state & 1:
                print 'Button 1 is down'
               
vizact.ontimer(0, showData)


nitao 12-14-2009 10:54 AM

Jeff,

Yes I made changes as you suggested and it now works. Looks like a silly mistake I made :-) Thanks very much for your kind help.


All times are GMT -7. The time now is 06:58 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
Copyright 2002-2018 WorldViz LLC