From b7fe72d370b2bfc2877937406c47135a2a239458 Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Mon, 24 Nov 2014 19:13:57 +0100 Subject: [PATCH] [modules] dc: workaround to use waypoints in fixedwing and rotorcraft firmware --- sw/airborne/modules/digital_cam/dc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sw/airborne/modules/digital_cam/dc.c b/sw/airborne/modules/digital_cam/dc.c index d21d96df2f2..dfdf91b4c27 100644 --- a/sw/airborne/modules/digital_cam/dc.c +++ b/sw/airborne/modules/digital_cam/dc.c @@ -34,8 +34,12 @@ #include "dc.h" -// for waypoints, but still only fixedwing +// for waypoints, include correct header until we have unified API +#ifdef AP #include "subsystems/navigation/common_nav.h" +#else +#include "firmwares/rotorcraft/navigation.h" +#endif /** default quartersec perioid = 0.5s */ #ifndef DC_AUTOSHOOT_QUARTERSEC_PERIOD @@ -168,8 +172,9 @@ uint8_t dc_survey(float interval, float x, float y) { dc_gps_x = stateGetPositionEnu_f()->x; dc_gps_y = stateGetPositionEnu_f()->y; } else if (y == DC_IGNORE) { - dc_gps_x = waypoints[(uint8_t)x].x; - dc_gps_y = waypoints[(uint8_t)x].y; + uint8_t wp = (uint8_t)x; + dc_gps_x = WaypointX(wp); + dc_gps_y = WaypointY(wp); } else { dc_gps_x = x; dc_gps_y = y;