start reworking the joystick improvements from mantauav

This commit is contained in:
Gautier Hattenberger
2011-03-24 14:30:12 +01:00
parent 132191e500
commit a8f36ce808
12 changed files with 826 additions and 108 deletions
+45
View File
@@ -0,0 +1,45 @@
<joystick>
<input>
<axis index="0" name="roll"/>
<axis index="1" name="pitch"/>
<axis index="2" name="throttle"/>
<button index="0" name="shoot"/>
<button index="1" name="down"/>
<button index="2" name="up"/>
<button index="3" name="left"/>
<button index="4" name="right"/>
<button index="5" name="button6"/>
<button index="6" name="button7"/>
<button index="7" name="button8"/>
</input>
<messages period="0.1">
<!--message class="datalink" name="BOOZ2_FMS_COMMAND">
<field name="h_mode" value="IndexOfEnum(NAV)"/>
<field name="v_mode" value="IndexOfEnum(NAV)"/>
<field name="v_sp" value="(up-down)*127"/>
<field name="h_sp_1" value="0-pitch"/>
<field name="h_sp_2" value="roll"/>
<field name="h_sp_3" value="(right-left)*127"/>
</message-->
<message class="datalink" name="BOOZ_NAV_STICK">
<field name="vx_sp" value="0-pitch"/>
<field name="vy_sp" value="roll"/>
<field name="vz_sp" value="(up-down)*127"/>
<field name="r_sp" value="(right-left)*127"/>
</message>
<!--message class="ground" name="DL_SETTING">
<field name="index" value="IndexOfSetting(booz2_cam_tilt_pwm)"/>
<field name="value" value="Scale(throttle, 1000, 2000)"/>
</message-->
<message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button7">
<field name="block_id" value="IndexOfBlock('land here')"/>
</message>
<message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button8">
<field name="block_id" value="IndexOfBlock('Joystick')"/>
</message>
</messages>
</joystick>
+144
View File
@@ -0,0 +1,144 @@
<!-- Custom Aurora Skate Controller
Joystick has four axes:
axis 0: X on right stick
axis 1: Y on right stick
axis 2: Y on left stick
axis 3: X on left stick
It has 9 buttons.
b0 - right side/left bumper
b1 - right side/right bumper
b2 - right side/down bumper
b3 - right side/up bumper
b7 - yellow
b8 - red
b9 - green
b10 - left side/left bumper
b11 - left side/right bumper
-->
<joystick>
<input>
<axis index="0" name="rx" limit="1.00" exponent="0.7" trim="0"/>
<axis index="1" name="ry" limit="1.00" exponent="0.7" trim="0"/>
<axis index="2" name="ly" limit="1.00" exponent="0.0" trim="0"/>
<axis index="3" name="lx" limit="1.00" exponent="0.7" trim="0"/>
<button index="0" name="b0"/>
<button index="1" name="b1"/>
<button index="2" name="b2"/>
<button index="3" name="b3"/>
<button index="4" name="b4"/>
<button index="5" name="b5"/>
<button index="6" name="b6"/>
<button index="7" name="b7"/>
<button index="8" name="b8"/>
<button index="9" name="b9"/>
<button index="10" name="b10"/>
<button index="11" name="b11"/>
</input>
<messages period="0.0333333333">
<message class="datalink" name="RC_4CH" send_always="1">
<field name="joystick_id" value="JoystickID()"/>
<field name="throttle" value="Scale(ly,-10,127)"/>
<field name="roll" value="rx"/>
<field name="yaw" value="lx"/>
<field name="pitch" value="0-ry"/>
</message>
<!-- trim commands -->
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b1">
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b0">
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b3">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b2">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b11">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b10">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b10 && b11">
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b10 && b11">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b10 && b11">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="value" value="0-10"/>
</message>
<!--
<message class="ground" name="lx" on_event="b8"/>
<message class="trim_plus" name="ly" on_event="b10"/>
<message class="trim_minus" name="ly" on_event="b11"/>
<message class="trim_plus" name="rx" on_event="b2"/>
<message class="trim_minus" name="rx" on_event="b0"/>
<message class="trim_minus" name="ry" on_event="b3"/>
<message class="trim_plus" name="ry" on_event="b1"/>
<message class="trim_save" name="" on_event="b5"/>
-->
<!-- Camera switch. Currently uses same buttons as yaw trim -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b1">
<field name="index" value="IndexOfSetting('cam_switch')"/>
<field name="value" value="1"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b0">
<field name="index" value="IndexOfSetting('cam_switch')"/>
<field name="value" value="0"/>
</message>
<!-- Red Button --> <!-- AUTO2 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b8">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="2"/>
</message>
<!-- Yellow Button --> <!-- AUTO1 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b7">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="1"/>
</message>
<!-- Green Button --> <!-- MANUAL mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b9">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b7 || b8 || b9">
<field name="index" value="IndexOfSetting('rc_dl_active_joystick')"/>
<field name="value" value="JoystickID()"/>
</message>
</messages>
</joystick>
+87
View File
@@ -0,0 +1,87 @@
<!-- Logitech dual action controller profile
Joystick has six axes:
axis 1: X on left stick
axis 2: Y on left stick
axis 3: X on right stick
axis 4: Y on right stick
axis 5: X on D pad
axis 6: Y on D pad
It has 12 buttons, 10 of which are labeled on the joystick
Buttons 11 and 12 are not to be found.
The "mode" button swaps the axes on the left stick and the d pad.
-->
<joystick>
<input>
<axis index="0" name="lx" limit="1.00" exponent="0.7" trim="0"/>
<axis index="1" name="ly" limit="1.00" exponent="0.7" trim="0"/>
<axis index="2" name="rx" limit="1.00" exponent="0.7" trim="0"/>
<axis index="3" name="ry" limit="1.00" exponent="0.7" trim="0"/>
<axis index="4" name="dpadx"/>
<axis index="5" name="dpady"/>
<button index="0" name="b0"/>
<button index="1" name="b1"/>
<button index="2" name="b2"/>
<button index="3" name="b3"/>
<button index="4" name="b4"/>
<button index="5" name="b5"/>
<button index="6" name="b6"/>
<button index="7" name="b7"/>
<button index="8" name="b8"/>
<button index="9" name="b9"/>
<button index="10" name="b10"/>
<button index="11" name="b11"/>
</input>
<messages period="0.017">
<message class="datalink" name="RC_4CH" send_always="1">
<field name="throttle" value="Scale(0-ly,0,255)"/>
<field name="roll" value="rx"/>
<field name="yaw" value="lx"/>
<field name="pitch" value="ry"/>
</message>
<!-- trim commands -->
<!-- not needed
<message class="trim_plus" name="lx" on_event="b9"/>
<message class="trim_minus" name="lx" on_event="b8"/>
<message class="trim_plus" name="ly" on_event="b10"/>
<message class="trim_minus" name="ly" on_event="b11"/>
<message class="trim_plus" name="rx" on_event="b2"/>
<message class="trim_minus" name="rx" on_event="b0"/>
<message class="trim_minus" name="ry" on_event="b3"/>
<message class="trim_plus" name="ry" on_event="b1"/>
<message class="trim_save" name="" on_event="b5"/>
-->
<!-- Button 5 top left bumper) --> <!-- AUTO1 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b4">
<field name="index" value="5"/>
<field name="value" value="1"/>
</message>
<!-- Button 7 bottom left bumper --> <!-- AUTO2 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b6">
<field name="index" value="5"/>
<field name="value" value="2"/>
</message>
<!-- Buttons 6+8 (right pad) --> <!-- KILL mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b5">
<field name="index" value="5"/>
<field name="value" value="5"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b7">
<field name="index" value="5"/>
<field name="value" value="5"/>
</message>
</messages>
</joystick>
+153
View File
@@ -0,0 +1,153 @@
<!-- Logitech F710
This config is for Xinput mode. Make sure slider switch on back of controller is on X (not D)
Also make sure controller not in sports mode (mode light should be off)
Joystick has eight axes:
axis 0: X on left stick
axis 1: Y on left stick
axis 2: Left trigger
axis 3: X on right stick
axis 4: Y on right stick
axis 5: Right trigger
axis 6: X on D-Pad (not analog)
axis 7: Y on D-Pad (not analog)
It has 8 buttons.
b_green - green button (A)
b_red - red button (B)
b_blue - blue button (X)
b_yellow - yellow button (Y)
b_ltb - left trigger button
b_rtb - right trigger button
b_start - start button
b_back - back button
-->
<joystick>
<input>
<axis index="0" name="lx" limit="1.00" exponent="0.7" trim="0"/>
<axis index="1" name="ly" limit="1.00" exponent="0.0" trim="0"/>
<axis index="2" name="lt" limit="1.00" exponent="0.0" trim="0"/>
<axis index="3" name="rx" limit="1.00" exponent="0.7" trim="0"/>
<axis index="4" name="ry" limit="1.00" exponent="0.7" trim="0"/>
<axis index="5" name="rt" limit="1.00" exponent="0.0" trim="0"/>
<axis index="6" name="dx" limit="1.00" exponent="0.0" trim="0"/>
<axis index="7" name="dy" limit="1.00" exponent="0.0" trim="0"/>
<button index="0" name="b_green"/>
<button index="1" name="b_red"/>
<button index="2" name="b_blue"/>
<button index="3" name="b_yellow"/>
<button index="4" name="b_ltb"/>
<button index="5" name="b_rtb"/>
<button index="6" name="b_start"/>
<button index="7" name="b7"/>
<button index="8" name="b8"/>
<button index="9" name="b9"/>
<button index="10" name="b_back"/>
</input>
<messages period="0.0333333333">
<message class="datalink" name="RC_4CH" send_always="1">
<field name="joystick_id" value="JoystickID()"/>
<field name="throttle" value="Bound(0-ly,0,127)"/>
<field name="roll" value="rx"/>
<field name="yaw" value="lx"/>
<field name="pitch" value="ry"/>
</message>
<!-- trim commands -->
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="dx > 100">
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="0-dx > 100" >
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="dy > 100">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="0-dy > 100">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b_rtb">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="mod" value="10"/>
</message>
<message class="ground" name="DL_SETTING_MOD" send_always="0" on_event="b_ltb">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="mod" value="0-10"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_ltb && b_rtb">
<field name="index" value="IndexOfSetting('rc_roll_trim')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_ltb && b_rtb">
<field name="index" value="IndexOfSetting('rc_pitch_trim')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_ltb && b_rtb">
<field name="index" value="IndexOfSetting('rc_yaw_trim')"/>
<field name="value" value="0-10"/>
</message>
<!--
<message class="ground" name="lx" on_event="b8"/>
<message class="trim_plus" name="ly" on_event="b10"/>
<message class="trim_minus" name="ly" on_event="b11"/>
<message class="trim_plus" name="rx" on_event="b2"/>
<message class="trim_minus" name="rx" on_event="b0"/>
<message class="trim_minus" name="ry" on_event="b3"/>
<message class="trim_plus" name="ry" on_event="b1"/>
<message class="trim_save" name="" on_event="b5"/>
-->
<!-- Camera switch. Currently uses same buttons as yaw trim -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_start">
<field name="index" value="IndexOfSetting('cam_switch')"/>
<field name="value" value="1"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_back">
<field name="index" value="IndexOfSetting('cam_switch')"/>
<field name="value" value="0"/>
</message>
<!-- Red Button --> <!-- AUTO2 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_red">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="2"/>
</message>
<!-- Yellow Button --> <!-- AUTO1 mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_yellow">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="1"/>
</message>
<!-- Green Button --> <!-- MANUAL mode -->
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_green">
<field name="index" value="IndexOfSetting('pprz_mode')"/>
<field name="value" value="0"/>
</message>
<message class="ground" name="DL_SETTING" send_always="0" on_event="b_green || b_yellow || b_red">
<field name="index" value="IndexOfSetting('rc_dl_active_joystick')"/>
<field name="value" value="JoystickID()"/>
</message>
</messages>
</joystick>
+48
View File
@@ -0,0 +1,48 @@
<joystick>
<input>
<axis index="0" name="one"/>
<axis index="1" name="two"/>
<axis index="2" name="three"/>
<axis index="3" name="four"/>
<axis index="4" name="dpad1"/>
<axis index="5" name="dpad2"/>
<button index="0" name="triangle"/>
<button index="1" name="circle"/>
<button index="2" name="cross"/>
<button index="3" name="square"/>
<button index="4" name="l2"/>
<button index="5" name="r2"/>
<button index="6" name="l1"/>
<button index="7" name="r1"/>
<button index="8" name="select"/>
<button index="9" name="start"/>
<button index="10" name="clickl"/>
<button index="11" name="clickr"/>
</input>
<messages period="0.1">
<!--message class="datalink" name="BOOZ2_FMS_COMMAND">
<field name="h_mode" value="IndexOfEnum(NAV)"/>
<field name="v_mode" value="IndexOfEnum(NAV)"/>
<field name="v_sp" value="(up-down)*127"/>
<field name="h_sp_1" value="0-pitch"/>
<field name="h_sp_2" value="roll"/>
<field name="h_sp_3" value="(right-left)*127"/>
</message-->
<message class="datalink" name="SET_ACTUATOR" on_event="circle">
<field name="value" value="Scale(two,1400,1200)"/>
<field name="no" value="2"/>
</message>
<message class="datalink" name="SET_ACTUATOR" on_event="cross">
<field name="value" value="Scale(one,2000,1000)"/>
<field name="no" value="3"/>
</message>
<!--message class="ground" name="DL_SETTING">
<field name="index" value="IndexOfSetting(booz2_cam_tilt_pwm)"/>
<field name="value" value="Scale(throttle, 1000, 2000)"/>
</message-->
</messages>
</joystick>
+31
View File
@@ -0,0 +1,31 @@
<joystick>
<input>
<axis index="0" name="roll" deadband="15"/>
<axis index="1" name="pitch" deadband="15"/>
<axis index="3" name="yaw" deadband="15"/>
<axis index="4" name="tilt"/>
<button index="3" name="X"/>
<button index="0" name="down"/>
<button index="1" name="up"/>
<button index="4" name="Y"/>
</input>
<messages period="0.1">
<message class="datalink" name="BOOZ2_FMS_COMMAND">
<field name="h_mode" value="IndexOfEnum(NAV)"/>
<field name="v_mode" value="IndexOfEnum(NAV)"/>
<field name="v_sp" value="(up-down)*127"/>
<field name="h_sp_1" value="0-pitch"/>
<field name="h_sp_2" value="roll"/>
<field name="h_sp_3" value="yaw"/>
</message>
<message class="ground" name="DL_SETTING">
<field name="index" value="IndexOfSetting(booz2_cam_tilt_pwm)"/>
<field name="value" value="Scale(tilt, 1000, 2000)"/>
</message>
<message class="ground" name="JUMP_TO_BLOCK" on_event="X && Y">
<field name="block_id" value="IndexOfBlock('land here')"/>
</message>
</messages>
</joystick>