#pragma once #ifndef AUTOPILOT_H #define AUTOPILOT_H #include "Protocol.h" struct DroneStatus { bool MainActive = false; // Индикатор снятия с охраны bool AutoPilotActive = false; // Индикатор актив. автопилота bool ManualInputAllowed = false; // Индикатор возможности ручного управления (безопасного) bool AltChangeAllowed = false; // Индикатор возможности смены целевой высоты в режиме удержания позиции bool PointBeginNeed = true; // Индикатор необходимости указания начальной точки bool MissionExecute = false; // Инидикатор выполняется ли миссия bool MotorMoutionTestEnable = false; unsigned char MotorTestId = 0; unsigned long TimeMotorTestEnable = 0; bool NeedSendRawCalibData = false; SENSOR_ID Sensor = SENSOR_ID::ACC; unsigned long TimeLastSend = 0; unsigned long TimeStartSend = 0; bool NeedSaveNewEEPROMData = false; bool EEPROMSaved = false; bool NeedSaveNewFLASHData = false; bool FLASHSaved = false; bool EEPROMInit = false; bool BarInit = false; bool IMUInit = false; bool GPSInit = false; bool TOFInit = false; bool OFInit = false; bool ExternMagInit = false; float AvgEngineThrust = 0.0f; float MaxHeightGroundMode = 5.0f; ENGINE_STATUS engine = ENGINE_STATUS::disable; SYS_MODE Mode = SYS_MODE::manual; STATUS_MODE StatusMode = STATUS_MODE::on_ground; NAV_SYS_MODE Nav = NAV_SYS_MODE::inertial; }; extern DroneStatus MainDrone; #endif