From aa4faaab9efe38e8326d30f520c04b3e0d9e2179 Mon Sep 17 00:00:00 2001 From: Xavier Gibert Date: Thu, 7 Jun 2012 15:23:57 +0200 Subject: [PATCH] Solved rotorcraft problems --- conf/messages/downlink.xml | 50 +++++++++++-------- conf/telemetry/default_rotorcraft.xml | 10 ++-- sw/airborne/firmwares/fixedwing/ap_downlink.h | 4 +- sw/airborne/firmwares/rotorcraft/telemetry.h | 15 ++++-- 4 files changed, 49 insertions(+), 30 deletions(-) diff --git a/conf/messages/downlink.xml b/conf/messages/downlink.xml index 13062e16239..c0a71058ec4 100644 --- a/conf/messages/downlink.xml +++ b/conf/messages/downlink.xml @@ -117,7 +117,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -394,15 +394,22 @@ - + + + + + + + + - + - + @@ -417,7 +424,7 @@ - + @@ -436,7 +443,7 @@ - + @@ -454,7 +461,7 @@ - + @@ -464,7 +471,7 @@ - + @@ -475,7 +482,7 @@ - + @@ -484,7 +491,7 @@ - + @@ -495,7 +502,7 @@ - + @@ -517,7 +524,7 @@ - + @@ -1022,14 +1029,15 @@ - - - - - - - - + + + + + + + + + diff --git a/conf/telemetry/default_rotorcraft.xml b/conf/telemetry/default_rotorcraft.xml index 14a48ead4fc..3cf8d2e1526 100644 --- a/conf/telemetry/default_rotorcraft.xml +++ b/conf/telemetry/default_rotorcraft.xml @@ -12,7 +12,7 @@ - + @@ -42,9 +42,9 @@ - - - + + + @@ -99,7 +99,7 @@ - + diff --git a/sw/airborne/firmwares/fixedwing/ap_downlink.h b/sw/airborne/firmwares/fixedwing/ap_downlink.h index 1a3cc779cf6..d19464839ab 100644 --- a/sw/airborne/firmwares/fixedwing/ap_downlink.h +++ b/sw/airborne/firmwares/fixedwing/ap_downlink.h @@ -81,7 +81,9 @@ DOWNLINK_SEND_MISSION_STATUS(_trans, _dev, &estimator_flight_time, &nav_block, &block_time, &nav_stage, &stage_time, &nb_sec, &gps.fix, &dist2_to_wp, &dist2_to_home, &_circle_count, &nav_oval_count, &horizontal_mode);\ }) -#define PERIODIC_SEND_MISSION_STATUS(_trans, _dev) SEND_MISSION_STATUS(_trans, _dev) +#define PERIODIC_SEND_MISSION_STATUS(_trans, _dev) Downlink({ \ + SEND_MISSION_STATUS(_trans, _dev); \ +}) #ifdef MCU_SPI_LINK #define PERIODIC_SEND_DEBUG_MCU_LINK(_trans, _dev) DOWNLINK_SEND_DEBUG_MCU_LINK(_trans, _dev, &link_mcu_nb_err, &link_mcu_fbw_nb_err, &mcu1_ppm_cpt); diff --git a/sw/airborne/firmwares/rotorcraft/telemetry.h b/sw/airborne/firmwares/rotorcraft/telemetry.h index 1e423b9ea90..4f6f34350f8 100644 --- a/sw/airborne/firmwares/rotorcraft/telemetry.h +++ b/sw/airborne/firmwares/rotorcraft/telemetry.h @@ -51,6 +51,12 @@ // I2C Error counters #include "mcu_periph/i2c.h" +#if defined DOWNLINK +#define Downlink(x) x +#else +#define Downlink(x) {} +#endif + #define PERIODIC_SEND_ALIVE(_trans, _dev) DOWNLINK_SEND_ALIVE(_trans, _dev, 16, MD5SUM) #include "subsystems/ins.h" @@ -63,8 +69,8 @@ uint16_t vsup = electrical.vsupply; \ int16_t amps = (int16_t) (electrical.current/10); \ int16_t pwr = (int16_t) (vsup*amps); \ - int16_t e = energy; \ - DOWNLINK_SEND_ENERGY(_trans, _dev, &vsup, &s, &pwr, &e, &v_ctl_throttle_slewed);\ + int16_t e = 0; \ + DOWNLINK_SEND_ENERGY(_trans, _dev, &vsup, &s, &pwr, &e, 0);\ }) #define PERIODIC_SEND_ROTORCRAFT_STATUS(_trans, _dev) { \ @@ -91,7 +97,10 @@ } #endif /*USE_GPS */ -#define PERIODIC_SEND_MISSION_STATUS(_trans, _dev) SEND_MISSION_STATUS(_trans, _dev) +#define PERIODIC_SEND_MISSION_STATUS(_trans, _dev) Downlink({ \ + SEND_MISSION_STATUS(_trans, _dev); \ +}) + #ifdef RADIO_CONTROL #define PERIODIC_SEND_RC(_trans, _dev) DOWNLINK_SEND_RC(_trans, _dev, RADIO_CONTROL_NB_CHANNEL, radio_control.values)