diff --git a/conf/airframes/BR/conf.xml b/conf/airframes/BR/conf.xml index 26d392aca0..4d933a31bb 100644 --- a/conf/airframes/BR/conf.xml +++ b/conf/airframes/BR/conf.xml @@ -16,7 +16,7 @@ airframe="airframes/BR/bebop_indi_frog.xml" radio="radios/dummy.xml" telemetry="telemetry/default_rotorcraft.xml" - flight_plan="flight_plans/Tudelft/rotorcraft_survey_delft.xml" + flight_plan="flight_plans/Tudelft/rotorcraft_survey_competition.xml" settings="settings/rotorcraft_basic.xml settings/control/rotorcraft_guidance.xml settings/estimation/ahrs_secondary.xml settings/estimation/ahrs_float_mlkf.xml settings/estimation/ahrs_int_cmpl_quat.xml settings/control/stabilization_att_indi.xml" settings_modules="modules/geo_mag.xml modules/air_data.xml modules/video_thread.xml modules/video_rtp_stream.xml modules/nav_survey_rectangle_rotorcraft.xml modules/digital_cam_video.xml modules/cv_colorfilter.xml" gui_color="#ffff0689b7a1" diff --git a/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml b/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml index 9086337169..7d49f6d07b 100644 --- a/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml +++ b/conf/flight_plans/Tudelft/rotorcraft_survey_competition.xml @@ -1,6 +1,6 @@ - + diff --git a/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml b/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml index f69eca91fb..a68d1bdda7 100644 --- a/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml +++ b/conf/flight_plans/Tudelft/rotorcraft_survey_mission.xml @@ -10,8 +10,8 @@ - - + + diff --git a/sw/airborne/modules/exception_flags/exception_flags.c b/sw/airborne/modules/exception_flags/exception_flags.c index ba83b7ff58..6830bb9a40 100644 --- a/sw/airborne/modules/exception_flags/exception_flags.c +++ b/sw/airborne/modules/exception_flags/exception_flags.c @@ -32,4 +32,8 @@ bool_t exception_flag[10]; void exception_flags_init(void) { memset(exception_flag,0,sizeof(exception_flag)); +} + +void check_exception_flag(uint8_t flag_num) { + exception_flag[flag_num] = 1; } \ No newline at end of file diff --git a/sw/airborne/modules/exception_flags/exception_flags.h b/sw/airborne/modules/exception_flags/exception_flags.h index 471aed28a7..1e62abd8d4 100644 --- a/sw/airborne/modules/exception_flags/exception_flags.h +++ b/sw/airborne/modules/exception_flags/exception_flags.h @@ -31,6 +31,7 @@ #define EXCEPTION_FLAGS_H_ extern void exception_flags_init(void); +extern void check_exception_flag(uint8_t flag_num); extern bool_t exception_flag[10]; diff --git a/sw/tools/generators/gen_flight_plan.ml b/sw/tools/generators/gen_flight_plan.ml index 699eece507..f98ae09e0f 100644 --- a/sw/tools/generators/gen_flight_plan.ml +++ b/sw/tools/generators/gen_flight_plan.ml @@ -158,15 +158,16 @@ let get_index_block = fun x -> let print_exception = fun x -> let c = parsed_attrib x "cond" in + let i = get_index_block (ExtXml.attrib x "deroute") in begin try let f = ExtXml.attrib x "exec" in - lprintf "if (%s) { %s; }\n" c f + lprintf "if ((nav_block != %d) && %s) {%s; GotoBlock(%d); return; }\n" i c f i with - ExtXml.Error _ -> () - end; - let i = get_index_block (ExtXml.attrib x "deroute") in - lprintf "if ((nav_block != %d) && %s) { GotoBlock(%d); return; }\n" i c i + ExtXml.Error _ -> ( + lprintf "if ((nav_block != %d) && %s) { GotoBlock(%d); return; }\n" i c i + ) + end let element = fun a b c -> Xml.Element (a, b, c)