DJI Onboard SDK  4.0
camera_manager_async_sample.hpp
Go to the documentation of this file.
1 
30 #ifndef ONBOARDSDK_CAMERA_MANAGER_ASYNC_SAMPLE_HPP
31 #define ONBOARDSDK_CAMERA_MANAGER_ASYNC_SAMPLE_HPP
32 
33 #include <dji_vehicle.hpp>
34 #include "dji_camera_manager.hpp"
35 
39  public:
40  CameraManagerAsyncSample(Vehicle* vehiclePtr);
41 
43 
44  public:
59  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
60  UserData userData);
61 
75  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode,
76  UserData userData),
77  UserData userData);
78 
93  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
94  UserData userData);
95 
109  PayloadIndexType index, CameraModule::Aperture dataTarget,
110  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
111  UserData userData);
112 
129  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode,
130  UserData userData),
131  UserData userData);
132 
148  PayloadIndexType index, float x, float y,
149  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
150  UserData userData);
151 
169  PayloadIndexType index, uint8_t multiplier, float x, float y,
170  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
171  UserData userData);
172 
192  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
193  UserData userData);
194 
209  void stopZoomAsyncSample(
210  PayloadIndexType index,
211  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
212  UserData userData);
213 
227  PayloadIndexType index,
228  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
229  UserData userData);
230 
244  PayloadIndexType index,
245  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
246  UserData userData);
247 
261  PayloadIndexType index,
262  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
263  UserData userData);
264 
280  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
281  UserData userData);
282 
298  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
299  UserData userData);
300 
316  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
317  UserData userData);
318 
331  PayloadIndexType index,
332  void (*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData),
333  UserData userData);
334 
335  private:
336  Vehicle* vehicle;
337 
338  static const uint8_t sampleDataBufferLen = 100;
339  typedef struct AsyncSampleData {
340  PayloadIndexType index;
341  CameraManager* pm;
342  uint8_t dataTarget[sampleDataBufferLen];
343  void* userCallBack;
344  UserData userData;
345  } AsyncSampleData;
346 
355  static void getExposureModeCb(ErrorCode::ErrorCodeType retCode,
356  CameraModule::ExposureMode exposureModeGet,
357  UserData userData);
358 
366  static void getISOCb(ErrorCode::ErrorCodeType retCode,
367  CameraModule::ISO isoGet, UserData userData);
368 
377  static void getShutterSpeedCb(ErrorCode::ErrorCodeType retCode,
378  CameraModule::ShutterSpeed shutterSpeedGet,
379  UserData userData);
380 
388  static void getApertureCb(ErrorCode::ErrorCodeType retCode,
389  CameraModule::Aperture apertureGet,
390  UserData userData);
391 
399  static void getEVCb(ErrorCode::ErrorCodeType retCode,
401  UserData userData);
402 
409  static void setFocusModeCb(ErrorCode::ErrorCodeType retCode,
410  UserData userData);
411 
419  static void setTapZoomEnableCb(ErrorCode::ErrorCodeType retCode,
420  UserData userData);
421 
429  static void setTapZoomMultiplierCb(ErrorCode::ErrorCodeType retCode,
430  UserData userData);
431 
439  static void setCameraModeForSingleShootCb(ErrorCode::ErrorCodeType retCode,
440  UserData userData);
441 
449  static void setShootPhotoModeForSingleShootCb(
450  ErrorCode::ErrorCodeType retCode, UserData userData);
451 
459  static void setCameraModeForBurstShootCb(ErrorCode::ErrorCodeType retCode,
460  UserData userData);
461 
469  static void setShootPhotoModeForBurstShootCb(ErrorCode::ErrorCodeType retCode,
470  UserData userData);
471 
479  static void setPhotoBurstCountCb(ErrorCode::ErrorCodeType retCode,
480  UserData userData);
481 
489  static void setCameraModeForAEBShootCb(ErrorCode::ErrorCodeType retCode,
490  UserData userData);
491 
499  static void setShootPhotoModeForAEBShootCb(ErrorCode::ErrorCodeType retCode,
500  UserData userData);
501 
509  static void setPhotoAEBCountCb(ErrorCode::ErrorCodeType retCode,
510  UserData userData);
511 
519  static void setCameraModeForIntervalShootCb(ErrorCode::ErrorCodeType retCode,
520  UserData userData);
521 
529  static void setShootPhotoModeForIntervalShootCb(
530  ErrorCode::ErrorCodeType retCode, UserData userData);
531 
539  static void setPhotoIntervalCb(ErrorCode::ErrorCodeType retCode,
540  UserData userData);
541 
549  static void setCameraModeForRecordVideoCb(ErrorCode::ErrorCodeType retCode,
550  UserData userData);
551 };
552 
553 #endif // ONBOARDSDK_CAMERA_MANAGER_ASYNC_SAMPLE_HPP
uint8_t zoomDirectionData
Zoom direction data used by user, ref to DJI::OSDK::CameraModule::ZoomDirection.
Definition: dji_camera_module.hpp:675
void * UserData
This is used as the datatype for all data arguments in callbacks.
Definition: dji_type.hpp:75
ExposureMode
the photo action of INTERVAL shooting photo mode
Definition: dji_camera_module.hpp:142
The manager of camera module.
Definition: dji_camera_manager.hpp:42
void startShootBurstPhotoAsyncSample(PayloadIndexType index, CameraModule::PhotoBurstCount count, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to shoot burst photo, using async api.
void setTapZoomPointAsyncSample(PayloadIndexType index, uint8_t multiplier, float x, float y, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set tap-zoom point for camera, using async api.
void setISOAsyncSample(PayloadIndexType index, CameraModule::ISO dataTarget, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set ISO value for camera, using async api.
int64_t ErrorCodeType
Unified error type.
Definition: dji_error.hpp:144
ExposureCompensation
CameraModule exposure compensation.
Definition: dji_camera_module.hpp:338
PayloadIndexType
The payload Index of camera.
Definition: dji_payload_base.hpp:42
void stopShootPhotoAsyncSample(PayloadIndexType index, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to stop shooting, using async api.
void setShutterSpeedAsyncSample(PayloadIndexType index, CameraModule::ShutterSpeed dataTarget, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set shutter speed for camera, using async api.
void startShootSinglePhotoAsyncSample(PayloadIndexType index, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to shoot single photo, using async api.
void startShootAEBPhotoAsyncSample(PayloadIndexType index, CameraModule::PhotoAEBCount count, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to shoot AEB photo, using async api.
void setEVAsyncSample(PayloadIndexType index, CameraModule::ExposureCompensation dataTarget, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set exposure compensation value for camera, using async api.
void stopZoomAsyncSample(PayloadIndexType index, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to stop continuous zoom on camera, using async api.
ShutterSpeed
CameraModule shutter speed values.
Definition: dji_camera_module.hpp:232
void setApertureAsyncSample(PayloadIndexType index, CameraModule::Aperture dataTarget, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set shutter aperture value for camera, using async api.
void stopRecordVideoAsyncSample(PayloadIndexType index, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to stop record video, using async api.
PhotoAEBCount
the photo action of INTERVAL shooting photo mode
Definition: dji_camera_module.hpp:152
Interval take photo mode setting.
Definition: dji_camera_module.hpp:564
ISO
CameraModule ISO values.
Definition: dji_camera_module.hpp:305
void startZoomAsyncSample(PayloadIndexType index, CameraModule::zoomDirectionData direction, CameraModule::zoomSpeedData speed, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to execute continuous zoom on camera, using async api.
PhotoBurstCount
Definition: dji_camera_module.hpp:168
void startRecordVideoAsyncSample(PayloadIndexType index, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to start record video, using async api.
void setFocusPointAsyncSample(PayloadIndexType index, float x, float y, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set focus point for camera, using async api.
void startShootIntervalPhotoAsyncSample(PayloadIndexType index, CameraModule::PhotoIntervalData intervalData, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to start shooting interval photo, using async api.
uint8_t zoomSpeedData
Zoom speed data used by user, ref to DJI::OSDK::CameraModule::ZoomSpeed.
Definition: dji_camera_module.hpp:680
Implementation of the manager for camera module.
Vehicle API for DJI onboardSDK library.
void setExposureModeAsyncSample(PayloadIndexType index, CameraModule::ExposureMode dataTarget, void(*UserCallBack)(ErrorCode::ErrorCodeType retCode, UserData userData), UserData userData)
Sample to set exposure mode for camera, using async api.
camera manager async sample
Definition: camera_manager_async_sample.hpp:38
Aperture
CameraModule aperture values.
Definition: dji_camera_module.hpp:447