AP_Proximity_AirSimSITL.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. This program is free software: you can redistribute it and/or modify
  3. it under the terms of the GNU General Public License as published by
  4. the Free Software Foundation, either version 3 of the License, or
  5. (at your option) any later version.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. GNU General Public License for more details.
  10. You should have received a copy of the GNU General Public License
  11. along with this program. If not, see <http://www.gnu.org/licenses/>.
  12. */
  13. #pragma once
  14. #include "AP_Proximity.h"
  15. #include "AP_Proximity_Backend.h"
  16. #if CONFIG_HAL_BOARD == HAL_BOARD_SITL
  17. #include <SITL/SITL.h>
  18. class AP_Proximity_AirSimSITL : public AP_Proximity_Backend
  19. {
  20. public:
  21. // constructor
  22. AP_Proximity_AirSimSITL(AP_Proximity &_frontend, AP_Proximity::Proximity_State &_state);
  23. // update state
  24. void update(void) override;
  25. // get maximum and minimum distances (in meters) of sensor
  26. float distance_max() const override;
  27. float distance_min() const override;
  28. // get distance upwards in meters. returns true on success
  29. bool get_upward_distance(float &distance) const override;
  30. private:
  31. SITL::SITL *sitl;
  32. };
  33. #endif // CONFIG_HAL_BOARD