PDA

View Full Version : question about IS-900 wand


nitao
12-07-2009, 12:32 PM
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?
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.