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