mirror of https://github.com/ArduPilot/ardupilot
45 lines
1.7 KiB
C
45 lines
1.7 KiB
C
#pragma once
|
|
|
|
// Camera related definitions required by both AP_Camera and AP_Mount are here
|
|
// this avoids issues that would occur if AP_Mount and AP_Camera included each other
|
|
|
|
#include <stdint.h>
|
|
|
|
// set zoom specified as a rate or percentage
|
|
// enumerators match MAVLink CAMERA_ZOOM_TYPE
|
|
enum class ZoomType : uint8_t {
|
|
RATE = 1, // zoom in, out or hold (zoom out = -1, hold = 0, zoom in = 1). Same as ZOOM_TYPE_CONTINUOUS
|
|
PCT = 2 // zoom to a percentage (from 0 to 100) of the full range. Same as ZOOM_TYPE_RANGE
|
|
};
|
|
|
|
// set focus specified as a rate or percentage
|
|
// enumerators match MAVLink CAMERA_FOCUS_TYPE
|
|
enum class FocusType : uint8_t {
|
|
RATE = 1, // focus in, out or hold (focus in = -1, hold = 0, focus out = 1). Same as FOCUS_TYPE_CONTINUOUS
|
|
PCT = 2, // focus to a percentage (from 0 to 100) of the full range. Same as FOCUS_TYPE_RANGE
|
|
AUTO = 4 // focus automatically. Same as FOCUS_TYPE_AUTO
|
|
};
|
|
|
|
// result type of set_focus. Assumptions are made that this
|
|
// enumeration can be cast directly to MAV_RESULT.
|
|
enum class SetFocusResult : uint8_t {
|
|
ACCEPTED = 0,
|
|
INVALID_PARAMETERS = 2, // supported but invalid parameters, like MAV_RESULT_DENIED
|
|
UNSUPPORTED = 3,
|
|
FAILED = 4,
|
|
};
|
|
|
|
// tracking types when tracking an object in the video stream
|
|
enum class TrackingType : uint8_t {
|
|
TRK_NONE = 0, // tracking is inactive
|
|
TRK_POINT = 1, // tracking a point
|
|
TRK_RECTANGLE = 2 // tracking a rectangle
|
|
};
|
|
|
|
// camera settings not normally used by the autopilot
|
|
enum class CameraSetting {
|
|
THERMAL_PALETTE = 0, // set thermal palette
|
|
THERMAL_GAIN = 1, // set thermal gain, value of 0:low gain, 1:high gain
|
|
THERMAL_RAW_DATA = 2, // enable/disable thermal raw data
|
|
};
|