00001 00013 #ifndef DJI_VIRTUALRC_H 00014 #define DJI_VIRTUALRC_H 00015 00016 #include "DJI_API.h" 00017 00018 namespace DJI 00019 { 00020 namespace onboardSDK 00021 { 00022 00024 class VirtualRC 00025 { 00026 public: 00027 enum CutOff 00028 { 00029 CutOff_ToLogic = 0, 00030 CutOff_ToRealRC = 1 00031 }; 00032 00033 public: 00034 VirtualRC(CoreAPI *ControlAPI = 0); 00035 00082 void setControl(bool enable, CutOff cutoffType); 00083 void sendData(VirtualRCData Data); 00084 00085 void sendData(); 00086 void resetData(); 00087 00088 void sendSafeModeData(); 00089 void neutralVRCSticks(); 00090 00091 VirtualRCData getVRCData() const; 00093 RadioData getRCData() const; 00094 00095 void setVRCData(const VirtualRCData &value); 00096 00097 bool isVirtualRC() const; 00098 00099 public: 00101 static RadioData toRadioData(VirtualRCData &vData); 00102 static RCData toRCData(VirtualRCData &vData); 00103 00104 static VirtualRCData toVirtualRCData(RadioData &rData); 00105 00106 public: 00107 CoreAPI *getApi() const; 00108 void setApi(CoreAPI *value); 00109 00110 private: 00111 CoreAPI *api; 00112 VirtualRCData vrcData; 00113 }; 00114 00115 } 00116 } 00117 00118 #endif //! DJI_VIRTUALRC_H