Logitech Extreme 3D Pro joystick¶
This joystick has a twist action that makes it good for controlling the robot arm.
Button Map¶
The substitutions file describes the mapping of the buttons to EPICS actions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | file "$(USB)/usbApp/Db/AnalogAxis.template"
{
pattern
{P R PARAM PORT FLNK}
{xxx: PRO:Vertical VERTICAL_STATE LOGITECH_3DPRO xxx:PRO:shoulder}
{xxx: PRO:Rotation ROTATION_STATE LOGITECH_3DPRO xxx:PRO:base}
{xxx: PRO:Switch SWITCH_STATE LOGITECH_3DPRO xxx:PRO:move_lock}
{xxx: PRO:Hat HAT_STATE LOGITECH_3DPRO xxx:PRO:wrist}
}
file "$(USB)/usbApp/Db/DigitalButton.template"
{
pattern
{P R PARAM PORT FLNK}
{xxx: PRO:Trigger TRIGGER_PRESSED LOGITECH_3DPRO xxx:PRO:grip}
{xxx: PRO:LButton LBUTTON_PRESSED LOGITECH_3DPRO xxx:PRO:grip}
{xxx: PRO:Button3 BUTTON3_PRESSED LOGITECH_3DPRO xxx:PRO:elbow}
{xxx: PRO:Button5 BUTTON5_PRESSED LOGITECH_3DPRO xxx:PRO:elbow}
{xxx: PRO:Button11 BUTTON11_PRESSED LOGITECH_3DPRO xxx:PRO:led}
}
file "$(TOP)/iocBoot/$(IOC)/substitutions/AxisMove.template"
{
pattern
{P R LOCK AXIS DEAD_LOW DEAD_HIGH OUT}
{xxx: PRO:move_lock 0 xxx:PRO:Switch 0 126 ""}
{xxx: PRO:base xxx:PRO:move_lock xxx:PRO:Rotation 50 200 xxx:A1:base_move}
{xxx: PRO:shoulder xxx:PRO:move_lock xxx:PRO:Vertical 50 600 xxx:A1:shoulder_move}
}
file "$(TOP)/iocBoot/$(IOC)/substitutions/ButtonMove.template"
{
pattern
{P R LOCK BUTTONA BUTTONB OUT}
{xxx: PRO:led 0 0 xxx:PRO:Button11 xxx:A1:led_onoff}
{xxx: PRO:elbow xxx:PRO:move_lock xxx:PRO:Button3 xxx:PRO:Button5 xxx:A1:elbow_move}
{xxx: PRO:grip xxx:PRO:move_lock xxx:PRO:LButton xxx:PRO:Trigger xxx:A1:grip_move}
}
file "$(TOP)/iocBoot/$(IOC)/substitutions/DiscreteMove.template"
{
pattern
{P R LOCK AXIS VALA VALB OUT}
{xxx: PRO:wrist xxx:PRO:move_lock xxx:PRO:Hat 4 0 xxx:A1:wrist_move}
}
|