-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjoystick 3D.hal
44 lines (34 loc) · 1.16 KB
/
joystick 3D.hal
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
loadusr -W hal_input -KRAL 3D
#setp halui.jog-speed 2100
# position = (count - offset) / scale
setp input.0.abs-throttle-scale -0.2
setp input.0.abs-throttle-offset 255
setp halui.jog-speed 1
#net joy-jog-speed input.0.abs-throttle-position # => halui.jog-speed
#net joy-jog-speed input.0.abs-throttle-position
#invert axes
loadrt sum2 count=3
addf sum2.0 servo-thread
addf sum2.1 servo-thread
addf sum2.2 servo-thread
#X is ok
setp sum2.0.gain0 1
#Y is reverted
setp sum2.1.gain0 -1
#Z is ok
setp sum2.2.gain0 1
loadrt mult2 count=3
addf mult2.0 servo-thread
addf mult2.1 servo-thread
addf mult2.2 servo-thread
#now multiple values by joy-jog-speed
net joy-jog-speed input.0.abs-throttle-position => mult2.0.in0 mult2.1.in0 mult2.2.in0
net reverse-jog-X sum2.0.in0 <= input.0.abs-x-position
net reverse-jog-Y sum2.1.in0 <= input.0.abs-y-position
net reverse-jog-Z sum2.2.in0 <= input.0.abs-rz-position
net joy-x-preready mult2.0.in1 <= sum2.0.out
net joy-y-preready mult2.1.in1 <= sum2.1.out
net joy-z-preready mult2.2.in1 <= sum2.2.out
net joy-x-jog halui.jog.0.analog <= mult2.0.out
net joy-y-jog halui.jog.1.analog <= mult2.1.out
net joy-z-jog halui.jog.2.analog <= mult2.2.out