Path: blob/master/libraries/AC_PrecLand/AC_PrecLand_IRLock.h
9726 views
#pragma once12#include "AC_PrecLand_config.h"34#if AC_PRECLAND_IRLOCK_ENABLED56#include <AC_PrecLand/AC_PrecLand_Backend.h>7#include <AP_Math/AP_Math.h>8#include <AP_IRLock/AP_IRLock_config.h>910#if AP_IRLOCK_SITL_ENABLED11#include <AP_IRLock/AP_IRLock_SITL.h>12#elif AP_IRLOCK_I2C_ENABLED13#include <AP_IRLock/AP_IRLock_I2C.h>14#endif // AP_IRLOCK_I2C_ENABLED1516/*17* AC_PrecLand_IRLock - implements precision landing using target vectors provided18* by an IRLock19*/2021class AC_PrecLand_IRLock : public AC_PrecLand_Backend22{23public:2425// Constructor26AC_PrecLand_IRLock(const AC_PrecLand& frontend, AC_PrecLand::precland_state& state);2728// perform any required initialisation of backend29void init() override;3031// retrieve updates from sensor32void update() override;3334private:35#if AP_IRLOCK_SITL_ENABLED36AP_IRLock_SITL irlock;37#elif AP_IRLOCK_I2C_ENABLED38AP_IRLock_I2C irlock;39#endif40};4142#endif // AC_PRECLAND_IRLOCK_ENABLED434445