View Single Post
  #1  
Old 06-22-2009, 04:22 AM
Saz Saz is offline
Member
 
Join Date: Nov 2008
Posts: 36
changing the gain of a joystick during a program

Hi,

I want to change the gain of the joystick by altering the scalar constant (in this case MOVE_SPEED)- so effectively the speed will alter - at a certain point in my program (22secs in). Here's what I have so far:
Code:
def UpdateJoystick1():
    #Get the joystick position
    x,y,z = joy.getPosition()
    
    #Move the viewpoint forward/backward based on y-axis value
    if abs(y) > 0.0001: #Make sure value is above a certain threshold
        viz.MainView.move(0,0,-y*MOVE_SPEED,viz.BODY_ORI)
    #Move the viewpoint left/right based on x-axis value
    if abs(x) > 0.001: #Make sure value is above a certain threshold
        viz.MainView.move(x*0.1,0,0,viz.BODY_ORI)
    #Turn the viewpoint left/right based on twist value
    #if abs(twist) > 0.001: #Make sure value is above a certain threshold
    #    viz.MainView.rotate(0,1,0,twist,viz.BODY_ORI,viz.RELATIVE_WORLD)


#UpdateJoystick every frame
vizact.ontimer(0,UpdateJoystick1)


def UpdateJoystick2():
    #Get the joystick position
    x,y,z = joy.getPosition()
    
    #Move the viewpoint forward/backward based on y-axis value
    if abs(y) > 0.0001: #Make sure value is above a certain threshold
        viz.MainView.move(0,0,-y*MOVE_SPEED2,viz.BODY_ORI)
    #Move the viewpoint left/right based on x-axis value
    if abs(x) > 0.001: #Make sure value is above a certain threshold
        viz.MainView.move(x*0.1,0,0,viz.BODY_ORI)
    #Turn the viewpoint left/right based on twist value
    #if abs(twist) > 0.001: #Make sure value is above a certain threshold
    #    viz.MainView.rotate(0,1,0,twist,viz.BODY_ORI,viz.RELATIVE_WORLD)


#UpdateJoystick every frame
vizact.ontimer2(22,0,UpdateJoystick2)
but it doesn't seem to make a difference at all - is it because it just comes on at the 22 sec point and then reverts back to the original joystick code? Would I need to insert starttimer and killtimer statements to initiate the two sections?
Any help - as usual - will be greatly appreciated!
Reply With Quote