paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [4965] nps: use buttons to switch mode


From: Felix Ruess
Subject: [paparazzi-commits] [4965] nps: use buttons to switch mode
Date: Tue, 15 Jun 2010 23:41:27 +0000

Revision: 4965
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4965
Author:   flixr
Date:     2010-06-15 23:41:27 +0000 (Tue, 15 Jun 2010)
Log Message:
-----------
nps: use buttons to switch mode

Modified Paths:
--------------
    paparazzi3/trunk/conf/autopilot/booz2_simulator_nps.makefile
    paparazzi3/trunk/sw/simulator/nps/nps_radio_control.c
    paparazzi3/trunk/sw/simulator/nps/nps_radio_control.h
    paparazzi3/trunk/sw/simulator/nps/nps_radio_control_joystick.c

Modified: paparazzi3/trunk/conf/autopilot/booz2_simulator_nps.makefile
===================================================================
--- paparazzi3/trunk/conf/autopilot/booz2_simulator_nps.makefile        
2010-06-15 17:59:15 UTC (rev 4964)
+++ paparazzi3/trunk/conf/autopilot/booz2_simulator_nps.makefile        
2010-06-15 23:41:27 UTC (rev 4965)
@@ -131,6 +131,7 @@
   endif
 endif
 
+sim.CFLAGS += -DUSE_NAVIGATION
 sim.srcs += $(SRC_BOOZ)/guidance/booz2_guidance_h.c
 sim.srcs += $(SRC_BOOZ)/guidance/booz2_guidance_v.c
 sim.srcs += math/pprz_geodetic_int.c

Modified: paparazzi3/trunk/sw/simulator/nps/nps_radio_control.c
===================================================================
--- paparazzi3/trunk/sw/simulator/nps/nps_radio_control.c       2010-06-15 
17:59:15 UTC (rev 4964)
+++ paparazzi3/trunk/sw/simulator/nps/nps_radio_control.c       2010-06-15 
23:41:27 UTC (rev 4965)
@@ -49,10 +49,6 @@
 };
 
 
-#define MODE_SWITCH_MANUAL -1.0
-#define MODE_SWITCH_AUTO1   0.0
-#define MODE_SWITCH_AUTO2   1.0
-
 #define RADIO_CONTROL_TAKEOFF_TIME 8
 
 
@@ -86,7 +82,6 @@
  */
 
 void radio_control_script_takeoff(double time) {
-  
   nps_radio_control.roll = 0.;
   nps_radio_control.pitch = 0.;
   nps_radio_control.yaw = 0.;
@@ -111,7 +106,7 @@
 void radio_control_script_step_roll(double time) {
   nps_radio_control.throttle = 0.99;
   nps_radio_control.mode = MODE_SWITCH_AUTO2;
-  
+
   if (((int32_t)rint((time*0.5)))%2) {
     nps_radio_control.roll = 0.2;
     nps_radio_control.yaw = 0.5;
@@ -140,7 +135,7 @@
   nps_radio_control.pitch = 0.;
   nps_radio_control.throttle = 0.99;
   nps_radio_control.mode = MODE_SWITCH_AUTO2;
-  
+
   if (((int32_t)rint((time*0.5)))%2) {
     nps_radio_control.yaw = 0.5;
   }
@@ -163,5 +158,3 @@
     nps_radio_control.roll = 0.;
   }
 }
-
-

Modified: paparazzi3/trunk/sw/simulator/nps/nps_radio_control.h
===================================================================
--- paparazzi3/trunk/sw/simulator/nps/nps_radio_control.h       2010-06-15 
17:59:15 UTC (rev 4964)
+++ paparazzi3/trunk/sw/simulator/nps/nps_radio_control.h       2010-06-15 
23:41:27 UTC (rev 4965)
@@ -3,6 +3,10 @@
 
 #include "std.h"
 
+#define MODE_SWITCH_MANUAL -1.0
+#define MODE_SWITCH_AUTO1   0.0
+#define MODE_SWITCH_AUTO2   1.0
+
 enum NpsRadioControlType {
   SCRIPT,
   JOYSTICK,

Modified: paparazzi3/trunk/sw/simulator/nps/nps_radio_control_joystick.c
===================================================================
--- paparazzi3/trunk/sw/simulator/nps/nps_radio_control_joystick.c      
2010-06-15 17:59:15 UTC (rev 4964)
+++ paparazzi3/trunk/sw/simulator/nps/nps_radio_control_joystick.c      
2010-06-15 23:41:27 UTC (rev 4965)
@@ -22,7 +22,7 @@
   nps_joystick.roll = 0.;
   nps_joystick.pitch = 0.;
   nps_joystick.yaw = 0.;
-  nps_joystick.mode = 1.0;
+  nps_joystick.mode = MODE_SWITCH_AUTO2;
 
   int fd = open(device, O_RDONLY | O_NONBLOCK);
   if (fd == -1) {
@@ -40,9 +40,12 @@
 #define JS_PITCH    1
 #define JS_YAW      2
 #define JS_THROTTLE 3
-#define JS_MODE     5
 #define JS_NB_AXIS  7
 
+// buttons to switch modes
+#define JS_MODE_MANUAL 4
+#define JS_MODE_AUTO1  5
+#define JS_MODE_AUTO2  6
 
 static gboolean on_js_data_received(GIOChannel *source,
                                    GIOCondition condition __attribute__ 
((unused)),
@@ -73,13 +76,22 @@
         nps_joystick.yaw = (float)js.value/-32767.;
         //printf("joystick yaw %d %f\n",js.value, nps_joystick.yaw);
         break;
-      case JS_MODE:
-        nps_joystick.mode = 1.0;
-        //nps_joystick.mode = (float)js.value/-32767.;
-        //printf("joystick mode %d\n",js.value);
-        break;
       }
     }
   }
+  if (js.type == JS_EVENT_BUTTON) {
+    switch (js.number) {
+    case JS_MODE_MANUAL:
+      nps_joystick.mode = MODE_SWITCH_MANUAL;
+      break;
+    case JS_MODE_AUTO1:
+      nps_joystick.mode = MODE_SWITCH_AUTO1;
+      break;
+    case JS_MODE_AUTO2:
+      nps_joystick.mode = MODE_SWITCH_AUTO2;
+      break;
+    }
+  }
+
   return TRUE;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]