paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [6049] stuff for test_libeknav


From: antoine drouin
Subject: [paparazzi-commits] [6049] stuff for test_libeknav
Date: Fri, 01 Oct 2010 14:05:10 +0000

Revision: 6049
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=6049
Author:   poine
Date:     2010-10-01 14:05:09 +0000 (Fri, 01 Oct 2010)
Log Message:
-----------
stuff for test_libeknav

Modified Paths:
--------------
    paparazzi3/trunk/conf/airframes/Poine/booz2_a7.xml
    paparazzi3/trunk/conf/airframes/Poine/swift_1.xml
    paparazzi3/trunk/conf/airframes/Poine/test_libeknav.xml
    paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.makefile
    paparazzi3/trunk/conf/autopilot/rotorcraft.makefile
    paparazzi3/trunk/conf/modules/vehicle_interface_overo_link.xml
    paparazzi3/trunk/sw/airborne/fms/fms_autopilot_msg.h
    paparazzi3/trunk/sw/airborne/fms/libeknav/test_libeknav_4.cpp
    paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h
    paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_overo_link.c

Modified: paparazzi3/trunk/conf/airframes/Poine/booz2_a7.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/Poine/booz2_a7.xml  2010-10-01 13:34:22 UTC 
(rev 6048)
+++ paparazzi3/trunk/conf/airframes/Poine/booz2_a7.xml  2010-10-01 14:05:09 UTC 
(rev 6049)
@@ -175,11 +175,11 @@
    <define name="SENSORS_PARAMS" 
value="&quot;nps_sensors_params_booz2_a1.h&quot;"/>
  </section>
 
-<!--
+<!-- -->
  <modules main_freq="512">
    <load name="vehicle_interface_overo_link.xml"/>
  </modules>
- -->
+<!-- -->
 
   <firmware name="rotorcraft">
     <target name="ap" board="lisa_l_1.0">

Modified: paparazzi3/trunk/conf/airframes/Poine/swift_1.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/Poine/swift_1.xml   2010-10-01 13:34:22 UTC 
(rev 6048)
+++ paparazzi3/trunk/conf/airframes/Poine/swift_1.xml   2010-10-01 14:05:09 UTC 
(rev 6049)
@@ -2,18 +2,44 @@
 
 <airframe name="miniswift 1">
 
+  <commands>
+    <axis name="PITCH"  failsafe_value="0"/>
+    <axis name="ROLL"   failsafe_value="0"/>
+    <axis name="YAW"    failsafe_value="0"/>
+    <axis name="THRUST" failsafe_value="0"/>
+  </commands>
+
+  <servos>
+    <servo name="S1"  no="0" min="1000" neutral="1500" max="2000"/>
+    <servo name="S2"  no="1" min="1000" neutral="1500" max="2000"/>
+    <servo name="S3"  no="2" min="1000" neutral="1500" max="2000"/>
+    <servo name="S4"  no="3" min="1000" neutral="1500" max="2000"/>
+    <servo name="S5"  no="4" min="1000" neutral="1500" max="2000"/>
+    <servo name="S6"  no="5" min="1000" neutral="1500" max="2000"/>
+  </servos>
+
+  <command_laws>
+    <set servo="S1"         value="@ROLL"/>
+    <set servo="S2"         value="@PITCH"/>
+    <set servo="S3"         value="@YAW"/>
+    <set servo="S4"         value="@THRUST"/>
+    <set servo="S5"         value="@ROLL"/>
+    <set servo="S6"         value="@ROLL"/>
+  </command_laws>
+
   <firmware name="lisa_l_test_progs">
-    <target name="test_led"         board="lisa_m_1.0"/>
-    <target name="test_uart"        board="lisa_m_1.0"/>
-    <target name="test_servos"      board="lisa_m_1.0"/>
-    <target name="test_telemetry"   board="lisa_m_1.0">
+    <target name="test_led"            board="lisa_m_1.0"/>
+    <target name="test_uart"           board="lisa_m_1.0"/>
+    <target name="test_servos"         board="lisa_m_1.0"/>
+    <target name="test_telemetry"      board="lisa_m_1.0">
       <param name="MODEM_PORT" value="UART2"/>
     </target>
-    <target name="test_bmp085"      board="lisa_m_1.0">
+    <target name="test_bmp085"         board="lisa_m_1.0">
       <param name="MODEM_PORT" value="UART2"/>
     </target>
-    <target name="test_esc_mkk_simple"   board="lisa_m_1.0"/>
-    <target name="test_rc_spektrum"   board="lisa_m_1.0"/>
+    <target name="test_esc_mkk_simple" board="lisa_m_1.0"/>
+    <target name="test_rc_spektrum"    board="lisa_m_1.0"/>
+    <target name="test_manual"         board="lisa_m_1.0"/>
   </firmware>
 
 </airframe>
\ No newline at end of file

Modified: paparazzi3/trunk/conf/airframes/Poine/test_libeknav.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/Poine/test_libeknav.xml     2010-10-01 
13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/conf/airframes/Poine/test_libeknav.xml     2010-10-01 
14:05:09 UTC (rev 6049)
@@ -43,7 +43,7 @@
     test3.LDFLAGS  += -levent -lm
     test3.CFLAGS   += -DFMS_PERIODIC_FREQ=512
     test3.srcs     += fms/fms_periodic.c
-    test3.CXXFLAGS += -DOVERO_LINK_MSG_UP=AutopilotMessagePTUp 
-DOVERO_LINK_MSG_DOWN=AutopilotMessagePTDown
+    test3.CXXFLAGS += -DOVERO_LINK_MSG_UP=AutopilotMessageVIUp 
-DOVERO_LINK_MSG_DOWN=AutopilotMessageVIDown
     test3.srcs     += fms/fms_spi_link.c
     
     # test 4: Flags like test3
@@ -56,7 +56,7 @@
     test4.LDFLAGS  += -levent -lm
     test4.CFLAGS   += -DFMS_PERIODIC_FREQ=512
     test4.srcs     += fms/fms_periodic.c
-    test4.CXXFLAGS += -DOVERO_LINK_MSG_UP=AutopilotMessagePTUp 
-DOVERO_LINK_MSG_DOWN=AutopilotMessagePTDown
+    test4.CXXFLAGS += -DOVERO_LINK_MSG_UP=AutopilotMessageVIUp 
-DOVERO_LINK_MSG_DOWN=AutopilotMessageVIDown
     test4.srcs     += fms/fms_spi_link.c
 
     # test network based telemetry on overo (using udp_transport2/messages2)

Modified: paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.makefile
===================================================================
--- paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.makefile  2010-10-01 
13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/conf/autopilot/lisa_l_test_progs.makefile  2010-10-01 
14:05:09 UTC (rev 6049)
@@ -572,3 +572,47 @@
 test_bmp085.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
 #test_bmp085.CFLAGS += -DIMU_OVERRIDE_CHANNELS
 #test_bmp085.CFLAGS += -DUSE_EXTI9_5_IRQ   # Mag Int on PB5
+
+
+
+#
+# Test manual : a simple test with rc and servos - I want to fly lisa/M
+#
+test_manual.ARCHDIR = $(ARCH)
+test_manual.CFLAGS  = -I$(SRC_FIRMWARE) -I$(ARCH) -DPERIPHERALS_AUTO_INIT
+test_manual.CFLAGS += -DBOARD_CONFIG=$(BOARD_CFG)
+test_manual.srcs    = test/test_manual.c               \
+                     $(SRC_ARCH)/stm32_exceptions.c   \
+                     $(SRC_ARCH)/stm32_vector_table.c
+test_manual.CFLAGS += -DUSE_LED
+test_manual.srcs   += $(SRC_ARCH)/led_hw.c
+test_manual.CFLAGS += -DUSE_SYS_TIME -DSYS_TIME_LED=$(SYS_TIME_LED)
+test_manual.CFLAGS += -DPERIODIC_TASK_PERIOD='SYS_TICS_OF_SEC(1./512.)'
+test_manual.srcs   += sys_time.c $(SRC_ARCH)/sys_time_hw.c
+
+test_manual.CFLAGS += -DUSE_$(MODEM_PORT) -D$(MODEM_PORT)_BAUD=$(MODEM_BAUD)
+test_manual.srcs   += $(SRC_ARCH)/uart_hw.c
+
+test_manual.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport 
-DDOWNLINK_DEVICE=$(MODEM_PORT)
+test_manual.srcs   += downlink.c pprz_transport.c
+
+test_manual.srcs += $(SRC_BOOZ)/booz2_commands.c
+
+test_manual.CFLAGS += -I$(SRC_FIRMWARE)/actuators/arch/$(ARCH)
+#test_manual.srcs   += $(SRC_FIRMWARE)/actuators/actuators_pwm.c 
+test_manual.srcs   += 
$(SRC_FIRMWARE)/actuators/arch/$(ARCH)/actuators_pwm_arch.c
+test_manual.srcs   += $(SRC_FIRMWARE)/actuators/actuators_heli.c
+
+
+test_manual.CFLAGS += -I$(SRC_BOOZ) -I$(SRC_BOOZ)/arch/$(ARCH)
+test_manual.CFLAGS += -DUSE_RADIO_CONTROL
+ifdef RADIO_CONTROL_LED
+test_manual.CFLAGS += -DRADIO_CONTROL_LED=$(RADIO_CONTROL_LED)
+endif
+test_manual.CFLAGS += 
-DRADIO_CONTROL_BIND_IMPL_FUNC=radio_control_spektrum_try_bind
+test_manual.CFLAGS += 
-DRADIO_CONTROL_TYPE_H=\"radio_control/booz_radio_control_spektrum.h\"
+test_manual.CFLAGS += 
-DRADIO_CONTROL_SPEKTRUM_PRIMARY_PORT=$(RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT)
+test_manual.CFLAGS += 
-DOVERRIDE_$(RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT)_IRQ_HANDLER -DUSE_TIM6_IRQ
+test_manual.srcs   += $(SRC_BOOZ)/booz_radio_control.c                         
        \
+                     $(SRC_BOOZ)/radio_control/booz_radio_control_spektrum.c   
       \
+                     
$(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_spektrum_arch.c

Modified: paparazzi3/trunk/conf/autopilot/rotorcraft.makefile
===================================================================
--- paparazzi3/trunk/conf/autopilot/rotorcraft.makefile 2010-10-01 13:34:22 UTC 
(rev 6048)
+++ paparazzi3/trunk/conf/autopilot/rotorcraft.makefile 2010-10-01 14:05:09 UTC 
(rev 6049)
@@ -92,8 +92,8 @@
 ap.CFLAGS += -DDOWNLINK -DDOWNLINK_TRANSPORT=PprzTransport
 ap.CFLAGS += -DDOWNLINK_DEVICE=$(MODEM_PORT)
 ap.srcs   += $(SRC_FIRMWARE)/telemetry.c \
-                downlink.c \
-                        pprz_transport.c
+                            downlink.c \
+                            pprz_transport.c
 ap.CFLAGS += -DDATALINK=PPRZ
 ap.CFLAGS += -DPPRZ_UART=$(MODEM_PORT)
 ap.srcs   += $(SRC_BOOZ)/booz2_datalink.c

Modified: paparazzi3/trunk/conf/modules/vehicle_interface_overo_link.xml
===================================================================
--- paparazzi3/trunk/conf/modules/vehicle_interface_overo_link.xml      
2010-10-01 13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/conf/modules/vehicle_interface_overo_link.xml      
2010-10-01 14:05:09 UTC (rev 6049)
@@ -13,10 +13,11 @@
   </makefile>
   <makefile target="ap">
     <raw>ap.srcs   += lisa/lisa_overo_link.c 
lisa/arch/stm32/lisa_overo_link_arch.c</raw>
-    <flag name="DUSE_OVERO_LINK"/>
+    <flag name="USE_VEHICLE_INTERFACE"/>
+    <flag name="USE_OVERO_LINK"/>
     <flag name="lisa/arch/stm32" type="include"/>
-    <flag name="OVERO_LINK_MSG_UP" value="AutopilotMessagePTUp"/>
-    <flag name="OVERO_LINK_MSG_DOWN" value="AutopilotMessagePTDown"/>
+    <flag name="OVERO_LINK_MSG_UP" value="AutopilotMessageVIUp"/>
+    <flag name="OVERO_LINK_MSG_DOWN" value="AutopilotMessageVIDown"/>
     <flag name="OVERO_LINK_LED_OK" value="3"/>
     <flag name="OVERO_LINK_LED_KO" value="2"/>
     <flag name="USE_DMA1_C2_IRQ"/>

Modified: paparazzi3/trunk/sw/airborne/fms/fms_autopilot_msg.h
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/fms_autopilot_msg.h        2010-10-01 
13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/sw/airborne/fms/fms_autopilot_msg.h        2010-10-01 
14:05:09 UTC (rev 6049)
@@ -3,6 +3,7 @@
 
 #include <inttypes.h>
 #include "math/pprz_algebra_int.h"
+#include "math/pprz_geodetic_int.h"
 #include "airframe.h"
 //#include "adc.h"
 #define NB_ADC 8
@@ -115,6 +116,30 @@
   uint16_t pwm_outputs_usecs[LISA_PWM_OUTPUT_NB];
 };
 
+
+
+#define IMU_DATA_VALID      0
+#define MAG_DATA_VALID      1
+#define GPS_DATA_VALID      2
+#define BARO_ABS_DATA_VALID 3
+
+struct __attribute__ ((packed)) AutopilotMessageVIUp 
+{
+  struct Int16Rates gyro;
+  struct Int16Vect3 accel;
+  struct Int16Vect3 mag;
+  struct EcefCoor_i ecef_pos;    /* pos ECEF in cm        */
+  struct EcefCoor_i ecef_vel;    /* speed ECEF in cm/s    */
+  int16_t pressure_absolute;
+  uint8_t valid_sensors;
+};
+
+struct __attribute__ ((packed)) AutopilotMessageVIDown 
+{
+
+};
+
+
 /* Union for computing size of SPI transfer (largest of either up or down 
message) */
 union AutopilotMessage {
   struct OVERO_LINK_MSG_UP msg_up;

Modified: paparazzi3/trunk/sw/airborne/fms/libeknav/test_libeknav_4.cpp
===================================================================
--- paparazzi3/trunk/sw/airborne/fms/libeknav/test_libeknav_4.cpp       
2010-10-01 13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/sw/airborne/fms/libeknav/test_libeknav_4.cpp       
2010-10-01 14:05:09 UTC (rev 6049)
@@ -17,7 +17,7 @@
 #include "fms/fms_periodic.h"
 #include "fms/fms_spi_link.h"
 #include "fms/fms_autopilot_msg.h"
-#include "booz/booz_imu.h"
+#include "firmwares/rotorcraft/imu.h"
 #include "fms/libeknav/raw_log.h"
   /* our sensors            */
   struct BoozImuFloat imu;
@@ -146,7 +146,7 @@
   
   spi_link_send(&msg_out, sizeof(struct AutopilotMessageCRCFrame), &msg_in, 
&crc_valid);
   
-  struct AutopilotMessagePTUp *in = &msg_in.payload.msg_up; 
+  struct AutopilotMessageVIUp *in = &msg_in.payload.msg_up; 
   RATES_FLOAT_OF_BFP(imu.gyro, in->gyro);
   ACCELS_FLOAT_OF_BFP(imu.accel, in->accel); 
   MAGS_FLOAT_OF_BFP(imu.mag, in->mag); 

Modified: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h 2010-10-01 
13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h 2010-10-01 
14:05:09 UTC (rev 6049)
@@ -82,6 +82,7 @@
   uint8_t last_msg;
   struct Vi_info info;
   struct Vi_command input;
+  uint8_t available_sensors;
 };
 
 extern struct VehicleInterface vi;
@@ -91,6 +92,10 @@
 extern void vi_periodic(void);
 extern void vi_update_info(void);
 
+extern void vi_notify_gps(void);
+extern void vi_notify_mag(void);
+extern void vi_notify_baro_abs(void);
+
 /* must be implemented by specific module */
 extern void vi_impl_init(void);
 extern void vi_impl_periodic(void);

Modified: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_overo_link.c
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_overo_link.c      
2010-10-01 13:34:22 UTC (rev 6048)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_overo_link.c      
2010-10-01 14:05:09 UTC (rev 6049)
@@ -25,6 +25,8 @@
 
 #include "lisa/lisa_overo_link.h"
 #include <firmwares/rotorcraft/imu.h>
+#include <booz/booz_gps.h>
+#include <firmwares/rotorcraft/baro.h>
 
 
 #include <string.h>
@@ -33,6 +35,7 @@
 
 void vi_impl_init(void) {
   overo_link_init();
+  vi.available_sensors = 0;
 }
 
 void vi_impl_periodic(void) {
@@ -49,15 +52,24 @@
 
 void vi_overo_link_on_msg_received(void) {
 
-#if 0
-  memcpy(&overo_link.up.msg, &overo_link.down.msg,
-     sizeof(union AutopilotMessage));
-#endif
-  overo_link.up.msg.valid.imu = 1;
+  overo_link.up.msg.valid_sensors = vi.available_sensors;
+  
   RATES_COPY(overo_link.up.msg.gyro, imu.gyro);
   VECT3_COPY(overo_link.up.msg.accel, imu.accel);
-  VECT3_COPY(overo_link.up.msg.mag, imu.mag);
 
+  if (vi.available_sensors && (1<<MAG_DATA_VALID)) {
+    VECT3_COPY(overo_link.up.msg.mag, imu.mag);
+    vi.available_sensors &= ~(1<<MAG_DATA_VALID);
+  }
+  if (vi.available_sensors && (1<<GPS_DATA_VALID)) {
+    VECT3_COPY(overo_link.up.msg.ecef_pos, booz_gps_state.ecef_pos);
+    VECT3_COPY(overo_link.up.msg.ecef_vel, booz_gps_state.ecef_vel);
+    vi.available_sensors &= ~(1<<GPS_DATA_VALID);
+  }
+  if (vi.available_sensors && (1<<BARO_ABS_DATA_VALID)) {
+    overo_link.up.msg.pressure_absolute = baro.absolute;
+    vi.available_sensors &= ~(1<<BARO_ABS_DATA_VALID);
+  }
 }
 
 
@@ -65,3 +77,16 @@
 
 
 }
+
+
+void vi_notify_gps(void) {
+  vi.available_sensors |= (1<<GPS_DATA_VALID);
+}
+
+void vi_notify_mag(void) {
+  vi.available_sensors |= (1<<MAG_DATA_VALID);
+}
+
+void vi_notify_baro_abs(void) {
+  vi.available_sensors |= (1<<BARO_ABS_DATA_VALID);
+}




reply via email to

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