40 #define __UNUSED __attribute__((__unused__)) 41 #define __DELETE(x) delete (char*)x 44 #define __DELETE(x) delete x 48 #pragma warning(disable : 4100) 49 #pragma warning(disable : 4800) 50 #pragma warning(disable : 4996) 51 #pragma warning(disable : 4244) 52 #pragma warning(disable : 4267) 53 #pragma warning(disable : 4700) 54 #pragma warning(disable : 4101) 59 #define __func__ __FUNCTION__ 68 typedef unsigned int size_t;
77 typedef uint64_t time_ms;
78 typedef uint64_t time_us;
80 typedef float float32_t;
81 typedef double float64_t;
87 const size_t SESSION_TABLE_NUM = 32;
88 const size_t CALLBACK_LIST_NUM = 10;
94 const size_t MAX_ACK_SIZE = 107;
100 static const uint8_t IMAGE_TYPE_NUM = 10;
105 uint32_t length : 10;
106 uint32_t version : 6;
107 uint32_t sessionID : 5;
109 uint32_t reserved0 : 2;
110 uint32_t padding : 5;
112 uint32_t reserved1 : 24;
113 uint32_t sequenceNumber : 16;
117 typedef struct Command {
118 uint16_t sessionMode : 2;
119 uint16_t encrypt : 1;
130 typedef struct MMU_Tab {
131 uint32_t tabIndex : 8;
132 uint32_t usageFlag : 8;
133 uint32_t memSize : 16;
137 typedef struct CMDSession {
142 uint32_t sessionID : 5;
143 uint32_t usageFlag : 1;
146 uint32_t timeout : 16;
151 time_ms preTimestamp;
154 typedef struct ACKSession {
155 uint32_t sessionID : 5;
156 uint32_t sessionStatus : 2;
161 const uint8_t MAX_OSDK_VERSION_SIZE = 16;
162 const uint8_t MAX_SEND_DATA_BURY_PKG_COUNT = 5;
164 typedef struct DataBuryPack {
165 char sdk_version[MAX_OSDK_VERSION_SIZE];
166 uint8_t is_debug : 2;
167 uint8_t hardware_type : 3;
168 uint8_t operator_type : 3;
172 enum OSDK_HARDWARE_TYPE{
173 UNKNOWN_HARDWARE_TYPE = 0,
174 ARMV7_HARDWARE_TYPE = 1,
175 ARMV8_HARDWARE_TYPE = 2,
176 x86_HARDWARE_TYPE = 3,
177 STM32_HARDWARE_TYPE = 4,
180 enum OSDK_OPERATOR_TYPE{
181 UNKNOWN_OPERATOR_TYPE = 0,
182 LINUX_OPERATOR_TYPE = 1,
183 RTOS_OPERATOR_TYPE = 2,
184 ROS_OPERATOR_TYPE = 3,
188 typedef struct HeartBeatPack {
201 uint8_t reserved : 6;
229 enum DJI_CAMERA_TAKE_PHOTO_TYPE {
230 DJI_CAMERA_TAKE_PHOTO_TYPE_STOP = 0,
231 DJI_CAMERA_TAKE_PHOTO_TYPE_NORMAL = 1,
232 DJI_CAMERA_TAKE_PHOTO_TYPE_HDR = 2,
233 DJI_CAMERA_TAKE_PHOTO_TYPE_BOKEH = 3,
234 DJI_CAMERA_TAKE_PHOTO_TYPE_BURST = 4,
235 DJI_CAMERA_TAKE_PHOTO_TYPE_AEB = 5,
236 DJI_CAMERA_TAKE_PHOTO_TYPE_TIME_LAPSE = 6,
237 DJI_CAMERA_TAKE_PHOTO_TYPE_PANO_APP = 7,
238 DJI_CAMERA_TAKE_PHOTO_TYPE_TRACKING = 8,
239 DJI_CAMERA_TAKE_PHOTO_TYPE_RAW_BURST = 9,
240 DJI_CAMERA_TAKE_PHOTO_TYPE_EHDR = 10,
243 enum DJI_CAMERA_TAKE_PHOTO_PROFILE {
244 DJI_CAMERA_MODE_PROFILE_PHOTO_NORMAL = 5,
245 DJI_CAMERA_MODE_PROFILE_PHOTO_INTERVAL = 8,
246 DJI_CAMERA_MODE_PROFILE_PHOTO_REGIONAL_SR = 22,
265 enum DJI_CAMERA_RECORDING_TYPE {
266 DJI_CAMERA_RECORDING_TYPE_COMMON = 0,
267 DJI_CAMERA_RECORDING_TYPE_DELAY = 1,
268 DJI_CAMERA_RECORDING_TYPE_SLOW_MOTION = 2,
269 DJI_CAMERA_RECORDING_TYPE_QUICK_MOVIE = 3,
270 DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_STATIONARY = 4,
271 DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_MOTION = 5,
272 DJI_CAMERA_RECORDING_TYPE_TIMELAPSE_HYPER = 6,
273 DJI_CAMERA_RECORDING_TYPE_FAST_MOTION = 7,
274 DJI_CAMERA_RECORDING_TYPE_EMERGENCY_VIDEO = 8,
275 DJI_CAMERA_RECORDING_TYPE_HYPERLAPSE = 9,
276 DJI_CAMERA_RECORDING_TYPE_MARK_VIDEO = 10,
279 enum DJI_CAMERA_RECORDING_CONTROL {
280 DJI_CAMERA_RECORDING_CONTROL_STOP = 0,
281 DJI_CAMERA_RECORDING_CONTROL_BEGIN = 1,
282 DJI_CAMERA_RECORDING_CONTROL_PAUSE = 2,
283 DJI_CAMERA_RECORDING_CONTROL_RESUME = 3,
Definition: dji_type.hpp:256
Definition: dji_type.hpp:258
void * UserData
This is used as the datatype for all data arguments in callbacks.
Definition: dji_type.hpp:75
Definition: dji_type.hpp:260
Definition: dji_type.hpp:255
static const uint8_t CAMERA_PAIR_NUM
Definition: dji_type.hpp:99
Definition: dji_type.hpp:253
Definition: dji_type.hpp:252
Virtual RC Settings (supported only on Matrice 100)
Definition: dji_type.hpp:198
Definition: dji_type.hpp:254
Definition: dji_type.hpp:250
Definition: dji_type.hpp:261
Definition: dji_type.hpp:259
struct DJI::OSDK::VirtualRCData VirtualRCData
Virtual RC data (supported only on Matrice 100)
Definition: dji_type.hpp:257
Definition: dji_type.hpp:251
struct DJI::OSDK::VirtualRCSetting VirtualRCSetting
Virtual RC Settings (supported only on Matrice 100)
Virtual RC data (supported only on Matrice 100)
Definition: dji_type.hpp:207
Definition: dji_ack.cpp:38
struct DJI::OSDK::OpenHeader OpenHeader
The Header struct is meant to handle the open protocol header.
Definition: dji_type.hpp:262
DJI_CAMERA_ISO_PARAMETER
Definition: dji_type.hpp:249
uint32_t roll
Definition: dji_type.hpp:211
const size_t MAX_INCOMING_DATA_SIZE
Definition: dji_type.hpp:93