DJI_HardDriver.h
Go to the documentation of this file.
00001 
00012 #ifndef DJI_HARDDRIVER_H
00013 #define DJI_HARDDRIVER_H
00014 
00015 #include <stdint.h>
00016 #include <time.h>
00017 #include "DJI_Type.h"
00018 
00019 namespace DJI
00020 {
00021 namespace onboardSDK
00022 {
00023 
00024 class HardDriver
00025 {
00026   public:
00027   HardDriver() {}
00028 
00080   public:
00081   virtual void init() = 0;
00082   virtual time_ms getTimeStamp() = 0;
00083   virtual size_t send(const uint8_t *buf, size_t len) = 0;
00084   virtual size_t readall(uint8_t *buf, size_t maxlen) = 0;
00085   virtual bool getDeviceStatus() {return true;}
00086 
00087   public:
00088   virtual void lockMemory() = 0;
00089   virtual void freeMemory() = 0;
00090 
00091   virtual void lockMSG() = 0;
00092   virtual void freeMSG() = 0;
00093 
00094   virtual void lockACK() = 0;
00095   virtual void freeACK() = 0;
00096 
00097   virtual void notify() = 0;
00098   virtual void wait(int timeout) = 0;
00099 
00100   virtual void lockProtocolHeader() {;}
00101   virtual void freeProtocolHeader() {;}
00102 
00103   virtual void lockNonBlockCBAck() {;}
00104   virtual void freeNonBlockCBAck() {;}
00105 
00106   virtual void notifyNonBlockCBAckRecv() {;}
00107   virtual void nonBlockWait() {;}
00108 
00109   public:
00110   virtual void displayLog(const char *buf = 0);
00111 };
00112 } // namespace onboardSDK
00113 } // namespace DJI
00114 
00115 #endif // DJI_HARDDRIVER_H


dji_sdk_lib
Author(s):
autogenerated on Thu Jun 6 2019 17:55:25