From 3886e79b878e22258c003acd67d0cc8c9aedcdc5 Mon Sep 17 00:00:00 2001 From: Antoine Drouin Date: Mon, 27 Jul 2009 01:35:22 +0000 Subject: [PATCH] improved joystick --- conf/messages.xml | 4 ++-- sw/simulator/nps_radio_control.c | 23 +++++++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/conf/messages.xml b/conf/messages.xml index d10e63289b..82375b4e22 100644 --- a/conf/messages.xml +++ b/conf/messages.xml @@ -778,8 +778,8 @@ - - + + diff --git a/sw/simulator/nps_radio_control.c b/sw/simulator/nps_radio_control.c index f8d81dbc2b..17ed75dde9 100644 --- a/sw/simulator/nps_radio_control.c +++ b/sw/simulator/nps_radio_control.c @@ -90,21 +90,28 @@ static gboolean on_js_data_received(GIOChannel *source, if (js.number < JS_NB_AXIS) { switch (js.number) { case JS_THROTTLE: - printf("joystick throttle %d\n",js.value); break; + nps_radio_control.throttle = ((float)js.value + 28000.)/56000.; + //printf("joystick throttle %d\n",js.value); + break; case JS_ROLL: - printf("joystick roll %d\n",js.value); break; + nps_radio_control.roll = (float)js.value/-28000.; + //printf("joystick roll %d %f\n",js.value, nps_radio_control.roll); + break; case JS_PITCH: - printf("joystick pitch %d\n",js.value); break; + nps_radio_control.pitch = (float)js.value/-28000.; + //printf("joystick pitch %d\n",js.value); + break; case JS_YAW: - printf("joystick yaw %d\n",js.value); break; + nps_radio_control.yaw = (float)js.value/-28000.; + //printf("joystick yaw %d\n",js.value); + break; case JS_MODE: - printf("joystick mode %d\n",js.value); break; + nps_radio_control.mode = (float)js.value/-32000.; + //printf("joystick mode %d\n",js.value); + break; } - // booz_joystick_value[js.number] = (double)(js.value - booz_joystick_neutral[js.number]) / - // (booz_joystick_max[js.number] - booz_joystick_min[js.number]); } } - return TRUE; }