Joystick Receiving Example

from asmagic import JoystickDataSubscriber

def main():
    ip = "192.168.31.234"  # Replace with your iPhone's IP
    sub = JoystickDataSubscriber(ip)
    
    try:
        while True:
            data = sub.get()
            if data:
                print(f"{data.timestamp:.6f}")
                
                # Joystick positions (-1.0 to 1.0 range)
                # X-axis: right is positive (-1.0==left, 0.0==center, 1.0=right)
                # Y-axis: up is positive (-1.0==down, 0.0==center, 1.0=up)
                print(f"Left Joystick:  X={data.left_x:.3f}  Y={data.left_y:.3f}")
                print(f"Right Joystick: X={data.right_x:.3f}  Y={data.right_y:.3f}")
                
                # Button states
                # Button A: Triangle, Button B: Square, Button C: X, Button D: Circle
                if data.button1:
                    print("Button A pressed")
                if data.button2:
                    print("Button B pressed")
                if data.button3:
                    print("Button C pressed")
                if data.button4:
                    print("Button D pressed")
                
    except KeyboardInterrupt:
        print("\n\nStopped")
    finally:
        sub.close()

if __name__ == "__main__":
    main()

Last updated

Was this helpful?