Line data Source code
1 : /* 2 : Camera state class for SITL combined gimbal+camera simulations. 3 : Analogous to SIM_Gimbal.h but for camera state; no physics simulation. 4 : */ 5 : 6 : #pragma once 7 : 8 : #include "SIM_config.h" 9 : 10 : #if AP_SIM_MAVLINKCAMV2_ENABLED 11 : 12 : #include <stdint.h> 13 : 14 : namespace SITL { 15 : 16 : class Camera { 17 : public: 18 17 : void trigger_shutter() { _shot_count++; } 19 17 : uint16_t shot_count() const { return _shot_count; } 20 : 21 6 : void set_zoom_pct(float pct) { _zoom_pct = pct; } 22 12 : float zoom_pct() const { return _zoom_pct; } 23 : 24 6 : void set_focus_pct(float pct) { _focus_pct = pct; } 25 12 : float focus_pct() const { return _focus_pct; } 26 : 27 : private: 28 : uint16_t _shot_count {}; 29 : float _zoom_pct {NAN}; 30 : float _focus_pct {NAN}; 31 : }; 32 : 33 : } // namespace SITL 34 : 35 : #endif // AP_SIM_MAVLINKCAMV2_ENABLED