/*
// * AltaRica 3.0 model 
// * System of interest : AIDA Model
// * by Anthony Legendre - Fractus
// * This file is part of the S2C project.
// * Copyright (c) 2021-2022 Fractus - All Rights Reserved.
// */

/* Table of Contents
 * --------------
 * 0. Import
 * 1. AIDASystem & Environment
 * 2. AIDASystem
 * 3. Drone
 * 4. RemoteControl
 * 5. ControlDesk
 */

/*
 * 0. Import
 * -------------------
 */
include "AIDA_library.alt"

/*
 * 1. AIDASystem & Environment
 * -------------------
 */
block AIDASystem_andEnv
		// observer deterministe
	Boolean obs_FC10 (reset = false);
	Boolean obs_FC11 (reset = false);
	Boolean obs_FC12 (reset = false);
	Boolean obs_FC13 (reset = false);
	Boolean obs_FC14 (reset = false);
	Boolean obs_FC15 (reset = false);
	Boolean obs_FC16 (reset = false);
	Boolean obs_FC17 (reset = false);
	Boolean obs_FC18 (reset = false);
	Boolean obs_FC19 (reset = false);
	Boolean obs_FC110 (reset = false);
	Boolean obs_FC111 (reset = false);
	Boolean obs_FC112 (reset = false);
	Boolean obs_FC113 (reset = false);
	Boolean obs_FC114 (reset = false);
	Boolean obs_FC115 (reset = false);
	Boolean obs_FC116 (reset = false);
	observer Boolean obs_FC1_deterministe = obs_FC115 or obs_FC116;
	observer Boolean obs_FC11_deterministe = obs_FC115;
	observer Boolean obs_FC12_deterministe = obs_FC116;
	Boolean obsGPS (reset = false);
	Boolean obs_FC20 (reset = false);
	Boolean obs_FC21 (reset = false);
	Boolean obs_FC22 (reset = false);
	Boolean obs_FC23 (reset = false);
	Boolean obs_FC24 (reset = false);
	Boolean obs_FC25 (reset = false);
	observer Boolean obs_FC2_deterministe = obs_FC20 or obs_FC21 or obs_FC22 or obs_FC23 or obs_FC24 or obs_FC25;

	Boolean obs_FC31 (reset = false);
	Boolean obs_FC32 (reset = false);
	Boolean obs_FC33 (reset = false);
	observer Boolean obs_FC3_deterministe = obs_FC31 or obs_FC32 or obs_FC33;

	observer Boolean obs_FC4_deterministe = (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.vsWorking==ERR) or (AIDA_System.Remote_Control.remote_Communication.vsWorking==LOST);

	block AIDA_System
		//class instances
		Drone drone_AIDA;
		//flow variables
//    	Status in_USL_Positioning_signal (reset = LOST);

		block Remote_Control
			//flow variables
		    Status out_USL_Remote_Control (reset = LOST);
			//class instances
			Remote_Battery remote_Battery (lambda_Loss = 2.702e-05);
			Remote_Communication remote_Communication (lambda_ERR = 1e-09, lambda_Loss = 8.430e-05);
			// assertion
			assertion
				remote_Communication.in_energy_flow := remote_Battery.out_energy_flow;
				out_USL_Remote_Control := remote_Communication.out_USL_Remote_Control;
		end
		block Drone_control_desk
			extends ObjetState;
		    Status out_USL_Mission_Data (reset = LOST);
		    Status in_USL_Mission_Data (reset = LOST);
			// assertion
			assertion
				if (vsWorking==OK) then out_USL_Mission_Data := OK ;
		end
		// assertion
		assertion
			drone_AIDA.in_USL_Remote_Control := Remote_Control.out_USL_Remote_Control;
//			drone_AIDA.in_USL_Positioning_Signal := in_USL_Positioning_signal;
			drone_AIDA.in_USL_Mission_Data := Drone_control_desk.out_USL_Mission_Data;
	end

/*	block Positioning_System
		extends ObjetState;
		//flow variables
	    Status out_USL_Positioning_signal (reset = LOST);
		assertion
			out_USL_Positioning_signal := vsWorking;
	end*/
//out of scope
/*	block Drone_Environment
	end
	block Drone_Operator
	end
	block Air_Traffic_Management_Authorities
	end
	block Aircraft
	end
	block Airline_database
	end
	block Aircraft_flight_crew 
	end*/
	// assertion
	assertion
//		AIDA_System.in_USL_Positioning_signal := Positioning_System.out_USL_Positioning_signal;
		// observeur setting definition obs_FC10 ... obs_FC116
		obs_FC10 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST);
		obs_FC11 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR);
		obs_FC12 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST);
		obs_FC13 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.vsWorking == ERR);
		obs_FC14 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.vsWorking == LOST) ;
		obs_FC15 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.vsWorking == LOST);
		obs_FC16 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.vsWorking == LOST);
		obs_FC17 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.vsWorking == LOST);
		obs_FC18 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.vsWorking == LOST);
		obs_FC19 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.vsWorking == ERR);
		obs_FC110 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_1_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_2_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_3_behavior.vsWorking == LOST);
		obs_FC111 := (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_4_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Structure_AIDA.vsWorking == LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.vsWorking == LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.vsWorking == ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.vsWorking==ERR);
		obs_FC112 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.vsWorking==ERR) /*or  (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.vsWorking==ERR) change here*/ or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.vsWorking==LOST);
		obs_FC113 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.vsWorking==ERR);
		obs_FC114 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.vsWorking==ERR);
		obsGPS := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_ERR.vsWorking==ERR)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_CANBus_ERR.vsWorking==ERR);
		obs_FC115 := obs_FC10 or obs_FC11 or obs_FC12 or obs_FC13 or obs_FC14 or obs_FC15 or obs_FC16 or obs_FC17 or obs_FC18 or obs_FC19 ;
		obs_FC116 := obs_FC110 or obs_FC111 or obs_FC112 or obs_FC113 or obs_FC114 or obsGPS;

		// observeur setting definition obs_FC21 ... obs_FC25
		obs_FC20 := (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.flightControlSupply_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.vsWorking==LOST);
		obs_FC21 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.vsWorking==LOST)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.vsWorking==LOST);
		obs_FC22 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.vsWorking==ERR);
		obs_FC23 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.vsWorking==LOST) or  (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.vsWorking==LOST) or  (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.vsWorking==LOST);
		obs_FC24 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.vsWorking==LOST);
		obs_FC25 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.vsWorking==ERR);

		// observeur setting definition obs_FC31, obs_FC32, obs_FC33
		obs_FC31 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.vsWorking==LOST)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.vsWorking==LOST) ;
		obs_FC32 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.vsWorking==ERR);
		obs_FC33 := (AIDA_System.Remote_Control.remote_Communication.vsWorking==ERR) or (AIDA_System.Remote_Control.remote_Battery.vsWorking==LOST);
end