diff --git a/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml b/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml
index 0beeac36f0..4157ff9b18 100644
--- a/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml
+++ b/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml b/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml
index 3f8c0bbf60..5e72edd46c 100644
--- a/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml
+++ b/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml
@@ -12,6 +12,13 @@
#ifndef DropOpen
#define DropOpen() FALSE
#endif
+#ifndef StartVision
+#define StartVision() FALSE
+#endif
+#ifndef StopVision
+#define StopVision() FALSE
+#endif
+#define WpAlt(X) (30)
@@ -65,11 +72,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -163,7 +187,7 @@
-
+
diff --git a/conf/modules/cv_blob_locator.xml b/conf/modules/cv_blob_locator.xml
index 57aa9147e6..52af1809fc 100644
--- a/conf/modules/cv_blob_locator.xml
+++ b/conf/modules/cv_blob_locator.xml
@@ -15,6 +15,7 @@
+
diff --git a/sw/airborne/modules/computer_vision/cv_blob_locator.c b/sw/airborne/modules/computer_vision/cv_blob_locator.c
index 0d6f80c4a0..369c91fc3e 100644
--- a/sw/airborne/modules/computer_vision/cv_blob_locator.c
+++ b/sw/airborne/modules/computer_vision/cv_blob_locator.c
@@ -44,6 +44,7 @@ uint8_t cv_blob_locator_type;
int geofilter_length = 5;
int marker_size = 18;
+int record_video = 0;
volatile uint32_t blob_locator = 0;
@@ -243,7 +244,9 @@ void cv_blob_locator_init(void) {
}
void cv_blob_locator_periodic(void) {
-
+ if (record_video == 1) {
+ video_thread_take_shot(TRUE);
+ }
}
@@ -303,3 +306,14 @@ extern void cv_blob_locator_start(void) {
extern void cv_blob_locator_stop(void) {
}
+
+void start_vision(void) {
+ georeference_init();
+ record_video = 1;
+ cv_blob_locator_type = 3;
+}
+void stop_vision(void) {
+ georeference_init();
+ record_video = 0;
+ cv_blob_locator_type = 0;
+}
diff --git a/sw/airborne/modules/computer_vision/cv_blob_locator.h b/sw/airborne/modules/computer_vision/cv_blob_locator.h
index 798240c68a..ba49e2c8e3 100644
--- a/sw/airborne/modules/computer_vision/cv_blob_locator.h
+++ b/sw/airborne/modules/computer_vision/cv_blob_locator.h
@@ -42,6 +42,7 @@ extern uint8_t cv_blob_locator_type;
extern int marker_size;
extern int geofilter_length;
+extern int record_video;
extern void cv_blob_locator_init(void);
extern void cv_blob_locator_periodic(void);
@@ -53,6 +54,13 @@ extern void cv_blob_locator_stop(void);
cv_blob_locator_start(); \
}
+#define StartVision(X) { start_vision(); FALSE; }
+#define StopVision(X) { stop_vision(); FALSE; }
+
+
+extern void start_vision(void);
+extern void stop_vision(void);
+
#endif