[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [5659] add a fms module (renamed VI) only working wi
From: |
Gautier Hattenberger |
Subject: |
[paparazzi-commits] [5659] add a fms module (renamed VI) only working with booz for now |
Date: |
Tue, 24 Aug 2010 16:19:11 +0000 |
Revision: 5659
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5659
Author: gautier
Date: 2010-08-24 16:19:11 +0000 (Tue, 24 Aug 2010)
Log Message:
-----------
add a fms module (renamed VI) only working with booz for now
Added Paths:
-----------
paparazzi3/trunk/conf/modules/vehicle_interface_datalink.xml
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.c
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.c
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.h
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.c
paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.h
Added: paparazzi3/trunk/conf/modules/vehicle_interface_datalink.xml
===================================================================
--- paparazzi3/trunk/conf/modules/vehicle_interface_datalink.xml
(rev 0)
+++ paparazzi3/trunk/conf/modules/vehicle_interface_datalink.xml
2010-08-24 16:19:11 UTC (rev 5659)
@@ -0,0 +1,16 @@
+<!DOCTYPE module SYSTEM "module.dtd">
+
+<module name="vi_datalink" dir="vehicle_interface">
+ <header>
+ <file name="vi_datalink.h"/>
+ </header>
+ <init fun="vi_init()"/>
+ <periodic fun="vi_periodic()" freq="25"/>
+ <datalink message="BOOZ2_FMS_COMMAND" fun="VI_PARSE_DATALINK(dl_buffer)"/>
+ <makefile>
+ <file name="vi.c"/>
+ <file name="vi_datalink.c"/>
+ </makefile>
+</module>
+
+
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.c
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.c
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.c 2010-08-24
16:19:11 UTC (rev 5659)
@@ -0,0 +1,74 @@
+/*
+ * $Id: $
+ *
+ * Copyright (C) 2008-2010 The Paparazzi Team
+ *
+ * This file is part of paparazzi.
+ *
+ * paparazzi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * paparazzi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with paparazzi; see the file COPYING. If not, write to
+ * the Free Software Foundation, 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "vehicle_interface/vi.h"
+
+#include "booz/booz_imu.h"
+#include "booz/booz_gps.h"
+#include "booz/booz_ahrs.h"
+
+#include "airframe.h"
+
+struct VehicleInterface vi;
+
+#ifndef VI_TIMEOUT
+#define VI_TIMEOUT 100
+#endif
+
+void vi_init(void) {
+
+ vi.enabled = FALSE;
+ vi.timeouted = TRUE;
+ vi.last_msg = BOOZ_FMS_TIMEOUT;
+
+ vi.input.h_mode = BOOZ2_GUIDANCE_H_MODE_ATTITUDE;
+ INT_EULERS_ZERO(vi.input.h_sp.attitude);
+ vi.input.v_mode = BOOZ2_GUIDANCE_V_MODE_CLIMB;
+ vi.input.v_sp.climb = 0;
+ vi_impl_init();
+
+}
+
+void vi_periodic(void) {
+#if (VI_TIMEOUT != 0)
+ if (vi.last_msg < VI_TIMEOUT)
+ vi.last_msg++;
+ else {
+ vi.timeouted = TRUE;
+ vi.input.h_mode = BOOZ2_GUIDANCE_H_MODE_ATTITUDE;
+ INT_EULERS_ZERO(vi.input.h_sp.attitude);
+ vi.input.v_mode = BOOZ2_GUIDANCE_V_MODE_CLIMB;
+ vi.input.v_sp.climb = 0;
+ }
+#endif
+ vi_impl_periodic();
+}
+
+void vi_set_enabled(bool_t enabled) {
+ vi_impl_set_enabled(enabled);
+
+}
+
+void vi_update_info(void) {
+
+}
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi.h 2010-08-24
16:19:11 UTC (rev 5659)
@@ -0,0 +1,106 @@
+/*
+ * $Id: $
+ *
+ * Copyright (C) 2008-2010 The Paparazzi Team
+ *
+ * This file is part of paparazzi.
+ *
+ * This is the "external interface" to the autopilot. It allows an external
device to
+ * fetch the vehicle state and input commands at different levels. We should
support
+ * different hardware peripherals like i2c, spi or uart.
+ * For now we only have an implementation using datalink messages.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef VEHICLE_INTERFACE_H
+#define VEHICLE_INTERFACE_H
+
+#include "std.h"
+#include "math/pprz_algebra_int.h"
+#include "booz/booz2_autopilot.h"
+#include "booz/booz_guidance.h"
+#include "booz/booz2_navigation.h"
+
+struct Vi_imu_info {
+ struct Int16Vect3 gyro;
+ struct Int16Vect3 accel;
+ struct Int16Vect3 mag;
+};
+
+struct Vi_gps_info {
+ struct Int32Vect3 pos;
+ struct Int16Vect3 speed;
+ int32_t pacc;
+ uint8_t num_sv;
+ uint8_t fix;
+};
+
+struct Vi_ahrs_info {
+ struct Int16Eulers euler;
+ struct Int16Eulers rate;
+};
+
+struct Vi_info {
+ struct Vi_imu_info imu;
+ struct Vi_gps_info gps;
+ struct Vi_ahrs_info ahrs;
+};
+
+struct Vi_command {
+ union {
+ struct Int32Vect3 rate;
+ struct Int32Eulers attitude;
+ struct Int32Vect3 speed; //FIXME Warning z is heading rate
+ struct Int32Vect3 pos; //FIXME Warning z is heading
+ } h_sp;
+ union {
+ int32_t direct;
+ int32_t climb;
+ int32_t height;
+ } v_sp;
+ uint8_t h_mode;
+ uint8_t v_mode;
+};
+
+struct VehicleInterface {
+ bool_t enabled;
+ bool_t timeouted;
+ uint8_t last_msg;
+ struct Vi_info info;
+ struct Vi_command input;
+};
+
+extern struct VehicleInterface vi;
+
+extern void vi_init(void);
+extern void vi_set_enabled(bool_t enabled);
+extern void vi_periodic(void);
+extern void vi_update_info(void);
+
+/* must be implemented by specific module */
+extern void vi_impl_init(void);
+extern void vi_impl_periodic(void);
+extern void vi_impl_set_enabled(bool_t enabled);
+
+
+#define vi_SetEnabled(_val) { \
+ vi.enabled = _val; \
+ vi_set_enabled(_val); \
+ }
+
+#endif /* VI_H */
+
+
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.c
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.c
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.c
2010-08-24 16:19:11 UTC (rev 5659)
@@ -0,0 +1,49 @@
+/*
+ * $Id: $
+ *
+ * Copyright (C) 2008-2010 The Paparazzi Team
+ *
+ * This file is part of paparazzi.
+ *
+ * paparazzi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * paparazzi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with paparazzi; see the file COPYING. If not, write to
+ * the Free Software Foundation, 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "vehicle_interface/vi_datalink.h"
+
+void vi_impl_init(void) {
+}
+
+void vi_impl_periodic(void) {
+}
+
+void vi_impl_set_enabled(bool_t enabled __attribute__ ((unused))) {
+}
+
+#define ViMaxHSpeed ((int16_t)SPEED_BFP_OF_REAL(VI_MAX_H_SPEED))
+#define ViMaxVSpeed ((int16_t)SPEED_BFP_OF_REAL(VI_MAX_V_SPEED))
+#define ViMaxHeadingRate
((int16_t)RATE_BFP_OF_REAL(RadOfDeg(VI_MAX_HEADING_RATE)))
+
+struct Int16Vect3 wp_speed_max = { ViMaxHSpeed, ViMaxHSpeed, ViMaxVSpeed };
+
+void vi_update_wp(uint8_t wp_id) {
+ struct Int16Vect3 wp_speed;
+ wp_speed.x = ViMaxHSpeed * vi.input.h_sp.speed.x / 128;
+ wp_speed.y = ViMaxHSpeed * vi.input.h_sp.speed.y / 128;
+ wp_speed.z = ViMaxVSpeed * vi.input.v_sp.climb / 128;
+ VECT3_BOUND_BOX(wp_speed, wp_speed_max);
+ int16_t heading_rate = BoundAbs(vi.input.h_sp.speed.z,ViMaxHeadingRate);
+ navigation_update_update_wp_from_speed(wp_id , wp_speed, heading_rate);
+}
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.h
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.h
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_datalink.h
2010-08-24 16:19:11 UTC (rev 5659)
@@ -0,0 +1,112 @@
+/*
+ * $Id: booz_fms_datalink.h 5216 2010-08-04 17:13:43Z gautier $
+ *
+ * This is the implementation of the "external interface" to the autopilot.
+ * using datalink messages.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef VEHICLE_INTERFACE_DATALINK_H
+#define VEHICLE_INTERFACE_DATALINK_H
+
+#include "std.h"
+#include "vehicle_interface/vi.h"
+#include "math/pprz_algebra_int.h"
+
+#ifndef VI_MAX_H_SPEED
+#define VI_MAX_H_SPEED 4.
+#endif
+
+#ifndef VI_MAX_V_SPEED
+#define VI_MAX_V_SPEED 2.
+#endif
+
+#ifndef VI_MAX_HEADING_RATE
+#define VI_MAX_HEADING_RATE 60.
+#endif
+
+extern void vi_update_wp(uint8_t wp_id);
+
+#ifdef VI_PHI_THETA_MAX
+#define VI_LIMIT_ATTITUDE(_att) { \
+ BoundAbs(_att.phi, VI_PHI_THETA_MAX); \
+ BoundAbs(_att.theta, VI_PHI_THETA_MAX); \
+}
+#else
+#define VI_LIMIT_ATTITUDE(_x) {}
+#endif
+
+#define VI_PARSE_DATALINK(_dl_buffer) { \
+ vi.last_msg = 0; \
+ vi.input.h_mode = DL_BOOZ2_FMS_COMMAND_h_mode(_dl_buffer); \
+ vi.input.v_mode = DL_BOOZ2_FMS_COMMAND_v_mode(_dl_buffer); \
+ switch (vi.input.h_mode) { \
+ case BOOZ2_GUIDANCE_H_MODE_KILL: \
+ case BOOZ2_GUIDANCE_H_MODE_RATE : \
+ break; \
+ case BOOZ2_GUIDANCE_H_MODE_ATTITUDE : \
+ {
\
+ vi.input.h_sp.attitude.phi =
DL_BOOZ2_FMS_COMMAND_h_sp_1(_dl_buffer); \
+ vi.input.h_sp.attitude.theta =
DL_BOOZ2_FMS_COMMAND_h_sp_2(_dl_buffer); \
+ vi.input.h_sp.attitude.psi =
DL_BOOZ2_FMS_COMMAND_h_sp_3(_dl_buffer); \
+ ANGLE_REF_NORMALIZE(vi.input.h_sp.attitude.psi); \
+ BOOZ_FMS_LIMIT_ATTITUDE(vi.input.h_sp.attitude); \
+ }
\
+ break; \
+ case BOOZ2_GUIDANCE_H_MODE_HOVER : \
+ {
\
+ vi.input.h_sp.pos.x = DL_BOOZ2_FMS_COMMAND_h_sp_1(_dl_buffer);
\
+ vi.input.h_sp.pos.y = DL_BOOZ2_FMS_COMMAND_h_sp_2(_dl_buffer);
\
+ }
\
+ break; \
+ case BOOZ2_GUIDANCE_H_MODE_NAV : \
+ { \
+ vi.input.h_sp.speed.x = DL_BOOZ2_FMS_COMMAND_h_sp_1(_dl_buffer); \
+ vi.input.h_sp.speed.y = DL_BOOZ2_FMS_COMMAND_h_sp_2(_dl_buffer); \
+ vi.input.h_sp.speed.z = DL_BOOZ2_FMS_COMMAND_h_sp_3(_dl_buffer); \
+ } \
+ break; \
+ } \
+ switch (vi.input.v_mode) { \
+ case BOOZ2_GUIDANCE_V_MODE_KILL: \
+ case BOOZ2_GUIDANCE_V_MODE_RC_DIRECT: \
+ case BOOZ2_GUIDANCE_V_MODE_RC_CLIMB: \
+ break; \
+ case BOOZ2_GUIDANCE_V_MODE_CLIMB : \
+ vi.input.v_sp.climb = DL_BOOZ2_FMS_COMMAND_v_sp(_dl_buffer); \
+ break; \
+ case BOOZ2_GUIDANCE_V_MODE_HOVER : \
+ vi.input.v_sp.height = DL_BOOZ2_FMS_COMMAND_v_sp(_dl_buffer); \
+ break; \
+ case BOOZ2_GUIDANCE_V_MODE_NAV : \
+ vi.input.v_sp.climb = DL_BOOZ2_FMS_COMMAND_v_sp(_dl_buffer); \
+ break; \
+ } \
+ }
+
+#define BOOZ_FMS_NAV_STICK_PARSE_DL(_dl_buffer) { \
+ vi.last_msg = 0; \
+ vi.input.h_mode = BOOZ2_GUIDANCE_H_MODE_NAV; \
+ vi.input.v_mode = BOOZ2_GUIDANCE_V_MODE_NAV; \
+ vi.input.h_sp.speed.x = DL_BOOZ_NAV_STICK_vx_sp(_dl_buffer); \
+ vi.input.h_sp.speed.y = DL_BOOZ_NAV_STICK_vy_sp(_dl_buffer); \
+ vi.input.h_sp.speed.z = DL_BOOZ_NAV_STICK_r_sp(_dl_buffer); \
+ vi.input.v_sp.climb = DL_BOOZ_NAV_STICK_vz_sp(_dl_buffer); \
+}
+
+#define NavUpdateWPFromVI(_wp) vi_update_wp(uint8_t _wp);
+
+#endif /* VI_DATALINK_H */
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.c
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.c
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.c
2010-08-24 16:19:11 UTC (rev 5659)
@@ -0,0 +1,91 @@
+/*
+ * $Id: booz_fms_test_signal.c 4675 2010-03-13 22:59:46Z poine $
+ *
+ * Copyright (C) 2008-2009 Antoine Drouin <address@hidden>
+ *
+ * This file is part of paparazzi.
+ *
+ * paparazzi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * paparazzi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with paparazzi; see the file COPYING. If not, write to
+ * the Free Software Foundation, 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "booz_fms.h"
+
+#include "booz2_ins.h"
+#include "math/pprz_algebra_int.h"
+
+#define FMS_TEST_SIGNAL_DEFAULT_MODE STEP_YAW
+#define FMS_TEST_SIGNAL_DEFAULT_PERIOD 40
+#define FMS_TEST_SIGNAL_DEFAULT_AMPLITUDE
(((int32_t)ANGLE_BFP_OF_REAL(RadOfDeg(5)))<<8)
+
+struct BoozFmsTestSignal fms_test_signal;
+
+void booz_fms_impl_init(void) {
+ fms_test_signal.mode = FMS_TEST_SIGNAL_DEFAULT_MODE;
+ fms_test_signal.period = FMS_TEST_SIGNAL_DEFAULT_PERIOD;
+ fms_test_signal.amplitude = FMS_TEST_SIGNAL_DEFAULT_AMPLITUDE;
+ fms_test_signal.counter = 0;
+ fms.input.h_mode = BOOZ2_GUIDANCE_H_MODE_ATTITUDE;
+ fms.input.v_mode = BOOZ2_GUIDANCE_V_MODE_HOVER;
+}
+
+void booz_fms_impl_periodic(void) {
+
+ switch (fms_test_signal.mode) {
+
+ case STEP_ROLL: {
+ if (fms_test_signal.counter < fms_test_signal.period) {
+ EULERS_ASSIGN(fms.input.h_sp.attitude, fms_test_signal.amplitude, 0, 0);
+ }
+ else {
+ EULERS_ASSIGN(fms.input.h_sp.attitude, -fms_test_signal.amplitude, 0, 0);
+ }
+ }
+ break;
+ case STEP_YAW: {
+ if (fms_test_signal.counter < fms_test_signal.period) {
+ EULERS_ASSIGN(fms.input.h_sp.attitude, 0, 0, fms_test_signal.amplitude);
+ }
+ else {
+ EULERS_ASSIGN(fms.input.h_sp.attitude, 0, 0, -fms_test_signal.amplitude);
+ }
+ }
+ break;
+ case STEP_PITCH:
+ case STEP_VERT:
+ break;
+#if 0
+ case BOOZ_FMS_TEST_SIGNAL_MODE_VERTICAL: {
+ if (booz2_guidance_v_mode < BOOZ2_GUIDANCE_V_MODE_HOVER)
+ booz_fms_test_signal_start_z = booz_ins_ltp_pos.z;
+ else {
+ booz_fms_input.v_sp.height = (booz_fms_test_signal_counter <
booz_fms_test_signal_period) ?
+ booz_fms_test_signal_start_z :
+ booz_fms_test_signal_start_z - 256;
+ //BOOZ_INT_OF_FLOAT(-0.5, IPOS_FRAC)
+ }
+ }
+ break;
+#endif
+ }
+ fms_test_signal.counter++;
+ if (fms_test_signal.counter >= (2 * fms_test_signal.period))
+ fms_test_signal.counter = 0;
+}
+
+void booz_fms_impl_set_enabled(bool_t enabled) {
+ if (enabled)
+ fms_test_signal.counter = 0;
+}
Added: paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.h
===================================================================
--- paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.h
(rev 0)
+++ paparazzi3/trunk/sw/airborne/modules/vehicle_interface/vi_test_signal.h
2010-08-24 16:19:11 UTC (rev 5659)
@@ -0,0 +1,57 @@
+/*
+ * $Id: booz_fms_test_signal.h 3976 2009-08-21 01:30:22Z poine $
+ *
+ * Copyright (C) 2008-2009 Antoine Drouin <address@hidden>
+ *
+ * This file is part of paparazzi.
+ *
+ * paparazzi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * paparazzi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with paparazzi; see the file COPYING. If not, write to
+ * the Free Software Foundation, 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef BOOZ_FMS_TEST_SIGNAL_H
+#define BOOZ_FMS_TEST_SIGNAL_H
+
+#include "std.h"
+
+
+enum fms_ts_mode {
+ STEP_ROLL,
+ STEP_PITCH,
+ STEP_YAW,
+ STEP_VERT
+};
+
+struct BoozFmsTestSignal {
+ enum fms_ts_mode mode;
+ uint32_t period;
+ uint32_t amplitude;
+ uint32_t counter;
+};
+
+extern struct BoozFmsTestSignal fms_test_signal;
+
+#define booz_fms_test_signal_SetPeriod(_val) { \
+ fms_test_signal.period = _val; \
+ fms_test_signal.counter = 0; \
+ }
+
+#define booz_fms_test_signal_SetMode(_val) { \
+ fms_test_signal.mode = (enum fms_ts_mode)(_val); \
+ fms_test_signal.counter = 0; \
+ }
+
+#endif /* BOOZ_FMS_TEST_SIGNAL_H */
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [5659] add a fms module (renamed VI) only working with booz for now,
Gautier Hattenberger <=