Logitech Attack III joystick

This is a common joystick that was hanging around the house, waiting for something to do.

joystick image

image of Logitech Attack III joystick

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
file "$(USB)/usbApp/Db/AnalogAxis.template"
{
pattern
{P     R               PARAM               PORT          FLNK}
{xxx:  ATK:Vertical     VERTICAL_STATE      LOGITECH_ATK      xxx:ATK:shoulder}
{xxx:  ATK:Switch       SWITCH_STATE        LOGITECH_ATK      xxx:ATK:move_lock} 
}

file "$(USB)/usbApp/Db/DigitalButton.template"
{
pattern
{P     R               PARAM               PORT          FLNK}
{xxx:  ATK:Trigger      TRIGGER_PRESSED     LOGITECH_ATK      xxx:ATK:led}
{xxx:  ATK:Button2      BUTTON2_PRESSED     LOGITECH_ATK      xxx:ATK:wrist}
{xxx:  ATK:Button3      BUTTON3_PRESSED     LOGITECH_ATK      xxx:ATK:wrist}
{xxx:  ATK:Button4      BUTTON4_PRESSED     LOGITECH_ATK      xxx:ATK:grip}
{xxx:  ATK:Button5      BUTTON5_PRESSED     LOGITECH_ATK      xxx:ATK:grip}
{xxx:  ATK:Button6      BUTTON6_PRESSED     LOGITECH_ATK      xxx:ATK:elbow}
{xxx:  ATK:Button7      BUTTON7_PRESSED     LOGITECH_ATK      xxx:ATK:elbow}
{xxx:  ATK:Button8      BUTTON8_PRESSED     LOGITECH_ATK      xxx:ATK:base}
{xxx:  ATK:Button9      BUTTON9_PRESSED     LOGITECH_ATK      xxx:ATK:base}
}

file "$(TOP)/iocBoot/$(IOC)/substitutions/AxisMove.template"
{
pattern
{P     R               LOCK               AXIS             DEAD_LOW   DEAD_HIGH   OUT}
{xxx:  ATK:move_lock    0                  xxx:ATK:Switch    0          126         ""}        
{xxx:  ATK:shoulder     xxx:ATK:move_lock   xxx:ATK:Vertical  100        150         xxx:A1:shoulder_move}
}

file "$(TOP)/iocBoot/$(IOC)/substitutions/ButtonMove.template"
{
pattern
{P     R                LOCK              BUTTONA            BUTTONB           OUT}
{xxx:  ATK:led           0                 0                  xxx:ATK:Trigger    xxx:A1:led_onoff}
{xxx:  ATK:grip          xxx:ATK:move_lock  xxx:ATK:Button4     xxx:ATK:Button5    xxx:A1:grip_move}
{xxx:  ATK:elbow         xxx:ATK:move_lock  xxx:ATK:Button6     xxx:ATK:Button7    xxx:A1:elbow_move}
{xxx:  ATK:base          xxx:ATK:move_lock  xxx:ATK:Button8     xxx:ATK:Button9    xxx:A1:base_move}
{xxx:  ATK:wrist         xxx:ATK:move_lock  xxx:ATK:Button2     xxx:ATK:Button3    xxx:A1:wrist_move}
}