[Top][All Lists]
[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=""nps_sensors_params_booz2_a1.h""/>
</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);
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [6049] stuff for test_libeknav,
antoine drouin <=