Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
DJI::onboardSDK::CoreAPI Class Reference

CoreAPI implements core Open Protocol communication between M100/M600/A3 and your onboard embedded platform. More...

#include <DJI_API.h>

List of all members.

Public Member Functions

void ack (req_id_t req_id, unsigned char *ackdata, int len)
void activate (ActivateData *data, CallBack callback=0, UserData userData=0)
 Activation Control.
unsigned short activate (ActivateData *data, int timeout)
 Blocking API Control.
void allocateACK (Header *protocolHeader)
 Notify caller ACK frame arrived.
void byteHandler (const uint8_t in_data)
void byteStreamHandler (uint8_t *buffer, size_t size)
void callbackPoll (CoreAPI *api)
 CoreAPI (HardDriver *Driver=0, Version SDKVersion=0, bool userCallbackThread=false, CallBack userRecvCallback=0, UserData userData=0)
 CoreAPI (HardDriver *Driver, Version SDKVersion, CallBackHandler userRecvCallback, bool userCallbackThread=false)
bool decodeACKStatus (unsigned short ack)
bool decodeMissionStatus (uint8_t ack)
ActivateData getAccountData () const
 Activation Control.
uint32_t getACKFrameStatus ()
bool getActivateMobileCMD ()
bool getArmMobileCMD ()
bool getAttiCtrlMobileCMD ()
bool getBroadcastFrameStatus ()
bool getDisArmMobileCMD ()
bool getDrawCirMobileCMD ()
bool getDrawSqrMobileCMD ()
HardDrivergetDriver () const
SDKFilter getFilter () const
 Open Protocol Control.
bool getFollowData () const
bool getGimbalCtrlMobileCMD ()
bool getGlobalNavTestMobileCMD ()
bool getGoHomeMobileCMD ()
bool getHotPointData () const
 HotPoint Mission Control.
bool getLandingMobileCMD ()
bool getLocalMissionPlanCMD ()
bool getLocalNavTestMobileCMD ()
bool getObtainControlMobileCMD ()
bool getReleaseControlMobileCMD ()
Version getSDKVersion () const
SimpleACK getSimpleACK () const
bool getStartVideoMobileCMD ()
bool getStopVideoMobileCMD ()
bool getTakeOffMobileCMD ()
bool getTakePhotoMobileCMD ()
bool getVRCTestMobileCMD ()
bool getWayPointData () const
 WayPoint Mission Control.
bool getWayPointTestMobileCMD ()
void notifyCaller (Header *protocolHeader)
void notifyNonBlockingCaller (Header *protocolHeader)
void parseFromMobileCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)
 Mobile Data Transparent Transmission Input Servicing.
void readPoll (void)
void sendPoll (void)
void sendToMobile (uint8_t *data, uint8_t len, CallBack callback=0, UserData userData=0)
void setAccountData (const ActivateData &value)
 Activation Control.
void setACKFrameStatus (uint32_t usageFlag)
void setActivateMobileCallback (CallBackHandler callback)
void setActivateMobileCMD (bool userInput)
void setActivation (bool isActivated)
 Activation Control.
void setArmMobileCallback (CallBackHandler callback)
void setArmMobileCMD (bool userInput)
void setAttiCtrlMobileCMD (bool userInput)
void setBroadcastCallback (CallBackHandler callback)
void setBroadcastCallback (CallBack handler, UserData userData=0)
void setBroadcastFrameStatus (bool isFrame)
void setBroadcastFreq (uint8_t *dataLenIs16, CallBack callback=0, UserData userData=0)
unsigned short setBroadcastFreq (uint8_t *dataLenIs16, int timeout)
void setBroadcastFreqDefaults ()
unsigned short setBroadcastFreqDefaults (int timeout)
 Set broadcast frequencies to their default values and block until ACK arrives from flight controller.
void setBroadcastFreqToZero ()
void setControl (bool enable, CallBack callback=0, UserData userData=0)
unsigned short setControl (bool enable, int timeout)
 Blocking API Control.
void setDisArmMobileCallback (CallBackHandler callback)
void setDisArmMobileCMD (bool userInput)
void setDrawCirMobileCMD (bool userInput)
void setDrawSqrMobileCMD (bool userInput)
void setDriver (HardDriver *value)
void setFollowCallback (CallBackHandler callback)
void setFollowCallback (CallBack handler, UserData userData=0)
void setFollowData (bool value)
 Follow Me Mission Control.
void setFromMobileCallback (CallBackHandler FromMobileEntrance)
void setFromMobileCallback (CallBack handler, UserData userData=0)
void setGimbalCtrlMobileCMD (bool userInput)
void setGlobalNavTestMobileCMD (bool userInput)
void setGoHomeMobileCallback (CallBackHandler callback)
void setGoHomeMobileCMD (bool userInput)
void setHotPointCallback (CallBackHandler callback)
void setHotPointCallback (CallBack handler, UserData userData=0)
void setHotPointData (bool value)
 HotPoint Mission Control.
void setKey (const char *key)
void setLandingMobileCallback (CallBackHandler callback)
void setLandingMobileCMD (bool userInput)
void setLocalMissionPlanCMD (bool userInput)
void setLocalNavTestMobileCMD (bool userInput)
void setMisssionCallback (CallBackHandler callback)
void setMisssionCallback (CallBack handler, UserData userData=0)
void setObtainControlMobileCallback (CallBackHandler callback)
void setObtainControlMobileCMD (bool userInput)
void setReleaseControlMobileCallback (CallBackHandler callback)
void setReleaseControlMobileCMD (bool userInput)
void setStartVideoMobileCallback (CallBackHandler callback)
void setStartVideoMobileCMD (bool userInput)
void setStopVideoMobileCallback (CallBackHandler callback)
void setStopVideoMobileCMD (bool userInput)
void setSyncFreq (uint32_t freqInHz)
void setTakeOffMobileCallback (CallBackHandler callback)
void setTakeOffMobileCMD (bool userInput)
void setTakePhotoMobileCallback (CallBackHandler callback)
void setTakePhotoMobileCMD (bool userInput)
void setVersion (const Version &value)
void setVRCTestMobileCMD (bool userInput)
void setWayPointCallback (CallBackHandler callback)
void setWayPointCallback (CallBack handler, UserData userData=0)
void setWayPointData (bool value)
 WayPoint Mission Control.
void setWayPointEventCallback (CallBackHandler callback)
void setWayPointEventCallback (CallBack handler, UserData userData=0)
void setWayPointTestMobileCMD (bool userInput)
void send (unsigned char session_mode, unsigned char is_enc, CMD_SET cmd_set, unsigned char cmd_id, void *pdata, int len, CallBack ack_callback, int timeout=0, int retry_time=1)
void send (unsigned char session_mode, bool is_enc, CMD_SET cmd_set, unsigned char cmd_id, void *pdata, size_t len, int timeout=0, int retry_time=1, CallBack ack_handler=0, UserData userData=0)
void send (Command *parameter)

Static Public Member Functions

static void activateCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)
static void getDroneVersionCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)
static void sendToMobileCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)
static void setControlCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)
static void setFrequencyCallback (CoreAPI *api, Header *protocolHeader, UserData userData=0)

Public Attributes

uint32_t ack_data
HotPointReadACK hotpointReadACK
MissionACKUnion missionACKUnion
HardDriverserialDevice
bool stopCond
WayPointInitACK waypointInitACK

Private Member Functions

int ackInterface (Ack *parameter)
ACKSessionallocACK (unsigned short session_id, unsigned short size)
MMU_TaballocMemory (unsigned short size)
CMDSessionallocSession (unsigned short session_id, unsigned short size)
void appHandler (Header *protocolHeader)
void broadcast (Header *protocolHeader)
void callApp (SDKFilter *p_filter)
void checkStream (SDKFilter *p_filter)
unsigned short encrypt (unsigned char *pdest, const unsigned char *psrc, unsigned short w_len, unsigned char is_ack, unsigned char is_enc, unsigned char session_id, unsigned short seq_num)
void freeACK (ACKSession *session)
void freeSession (CMDSession *session)
void init (HardDriver *Driver, CallBackHandler userRecvCallback, bool userCallbackThread, Version SDKVersion)
 Serial Device Initialization.
void recvReqData (Header *protocolHeader)
void sendData (unsigned char *buf)
int sendInterface (Command *parameter)
void setup (void)
void setupMMU (void)
void setupSession (void)
void storeData (SDKFilter *p_filter, unsigned char in_data)
void streamHandler (SDKFilter *p_filter, unsigned char in_data)
void verifyData (SDKFilter *p_filter)
void verifyHead (SDKFilter *p_filter)

Private Attributes

ActivateData accountData
uint32_t ackFrameStatus
ACKSession ACKSessionTab [SESSION_TABLE_NUM-1]
CallBackHandler activateMobileCallback
bool activateMobileCMD
CallBackHandler armMobileCallback
bool armMobileCMD
bool attiCtrlMobileCMD
CallBackHandler broadcastCallback
BroadcastData broadcastData
bool broadcastFrameStatus
bool callbackThread
CMDSession CMDSessionTab [SESSION_TABLE_NUM]
CallBackHandler disArmMobileCallback
bool disArmMobileCMD
bool drawCirMobileCMD
bool drawSqrMobileCMD
unsigned char encodeACK [ACK_SIZE]
unsigned char encodeSendData [BUFFER_SIZE]
SDKFilter filter
CallBackHandler followCallback
bool followData
CallBackHandler fromMobileCallback
 Mobile Data Transparent Transmission - callbacks.
bool gimbalCtrlMobileCMD
bool globalNavTestMobileCMD
CallBackHandler goHomeMobileCallback
bool goHomeMobileCMD
CallBackHandler hotPointCallback
bool hotPointData
CallBackHandler landingMobileCallback
bool landingMobileCMD
bool localMissionPlanCMD
bool localNavTestMobileCMD
unsigned char memory [MEMORY_SIZE]
CallBackHandler missionCallback
MMU_Tab MMU [MMU_TABLE_NUM]
CallBackHandler obtainControlMobileCallback
bool obtainControlMobileCMD
 Mobile Data Transparent Transmission - flags.
CallBackHandler recvCallback
CallBackHandler releaseControlMobileCallback
bool releaseControlMobileCMD
unsigned short seq_num
CallBackHandler startVideoMobileCallback
bool startVideoMobileCMD
CallBackHandler stopVideoMobileCallback
bool stopVideoMobileCMD
CallBackHandler takeOffMobileCallback
bool takeOffMobileCMD
CallBackHandler takePhotoMobileCallback
bool takePhotoMobileCMD
VersionData versionData
bool VRCTestMobileCMD
CallBackHandler wayPointCallback
bool wayPointData
CallBackHandler wayPointEventCallback
bool wayPointTestMobileCMD
bool nonBlockingCBThreadEnable
void getDroneVersion (CallBack callback=0, UserData userData=0)
VersionData getDroneVersion (int timeout)
 Get drone version from flight controller block until ACK arrives from flight controller.
BroadcastData getBroadcastData () const
TimeStampData getTime () const
FlightStatus getFlightStatus () const
CtrlInfoData getCtrlInfo () const
BatteryData getBatteryCapacity () const

Detailed Description

CoreAPI implements core Open Protocol communication between M100/M600/A3 and your onboard embedded platform.

Remarks:
API is running on two poll threads:
Note:
if you can read data in a interrupt, try to pass data through byteHandler() or byteStreamHandler()

Definition at line 212 of file DJI_API.h.


Constructor & Destructor Documentation

CoreAPI::CoreAPI ( HardDriver Driver = 0,
Version  SDKVersion = 0,
bool  userCallbackThread = false,
CallBack  userRecvCallback = 0,
UserData  userData = 0 
)

Definition at line 25 of file DJI_API.cpp.

CoreAPI::CoreAPI ( HardDriver Driver,
Version  SDKVersion,
CallBackHandler  userRecvCallback,
bool  userCallbackThread = false 
)

Definition at line 83 of file DJI_API.cpp.


Member Function Documentation

void CoreAPI::ack ( req_id_t  req_id,
unsigned char *  ackdata,
int  len 
)

Definition at line 142 of file DJI_API.cpp.

int CoreAPI::ackInterface ( Ack parameter) [private]
Note:
Do nothing, session 0 is a NACK session.

Definition at line 327 of file DJI_Link.cpp.

void CoreAPI::activate ( ActivateData data,
CallBack  callback = 0,
UserData  userData = 0 
)

Activation Control.

Send activation request to your flight controller to check if:
a) your application registered in your developer account
b) API Control enabled in the Assistant software

Proceed to programming if activation successful.

Note:
for ios verification

Definition at line 211 of file DJI_API.cpp.

unsigned short CoreAPI::activate ( ActivateData data,
int  timeout 
)

Blocking API Control.

Remarks:
Blocks until ACK frame arrives or timeout occurs

Send activation control to your flight controller to check if:
a) your application registered in your developer account
b) API Control enabled in the Assistant software

Proceed to programming if activation successful.

Returns:
ACK from flight controller
Todo:
Implement high resolution timer to catch ACK timeout
Note:
for ios verification

Definition at line 229 of file DJI_API.cpp.

void CoreAPI::activateCallback ( CoreAPI api,
Header protocolHeader,
UserData userData  __UNUSED = 0 
) [static]

Definition at line 607 of file DJI_API.cpp.

ACKSession * DJI::onboardSDK::CoreAPI::allocACK ( unsigned short  session_id,
unsigned short  size 
) [private]

Definition at line 236 of file DJI_Memory.cpp.

void CoreAPI::allocateACK ( Header protocolHeader)

Notify caller ACK frame arrived.

Definition at line 162 of file DJI_Link.cpp.

MMU_Tab * DJI::onboardSDK::CoreAPI::allocMemory ( unsigned short  size) [private]

Definition at line 52 of file DJI_Memory.cpp.

CMDSession * DJI::onboardSDK::CoreAPI::allocSession ( unsigned short  session_id,
unsigned short  size 
) [private]
Note:
Alloc a cmd session for sending cmd data when arg session_id = 0/1, it means select session 0/1 to send cmd otherwise set arg session_id = CMD_SESSION_AUTO (32), which means auto select a idle session id is between 2~31.

Definition at line 187 of file DJI_Memory.cpp.

void CoreAPI::appHandler ( Header protocolHeader) [private]

Non-blocking callback thread

Set end of ACK frame

Todo:
Implement proper notification mechanism
Todo:
unnecessary ack in case 1. Maybe add code later
Todo:
check algorithm
Note:
session id is 2

Definition at line 48 of file DJI_Link.cpp.

void DJI::onboardSDK::CoreAPI::broadcast ( Header protocolHeader) [private]
Warning:
Change to const (+change interface for passData) in next release
Todo:
better algorithm

Set broadcast frame status

Todo:
Implement proper notification mechanism

Definition at line 67 of file DJI_App.cpp.

void DJI::onboardSDK::CoreAPI::byteHandler ( const uint8_t  in_data)
Todo:
Pipeline refactoring
Note:
Just think a command as below

[123456HHD1234567===HHHH------------------] --- is buf un-used part

if after recv full of above, but crc failed, we throw all data? NO! Just throw ONE BYTE, we move like below

[123456HH------------------D1234567===HHHH]

Use the buffer high part to re-loop, try to find a new command

if new cmd also fail, and buf like below

[56HHD1234567----------------------===HHHH]

throw one byte, buf looks like

[6HHD123-----------------------4567===HHHH]

the command tail part move to buffer right

Note:
because reuse_index maybe re-located, so reuse_index must be always point to un-used index re-loop the buffered data

Definition at line 761 of file DJI_Codec.cpp.

void CoreAPI::byteStreamHandler ( uint8_t *  buffer,
size_t  size 
)
Todo:
Implement stream handler

Definition at line 806 of file DJI_Codec.cpp.

void DJI::onboardSDK::CoreAPI::callApp ( SDKFilter p_filter) [private]

Definition at line 598 of file DJI_Codec.cpp.

void CoreAPI::callbackPoll ( CoreAPI api)
Todo:
Implement callback poll handler
Todo:
Implement callback poll here

The protHeader is being passed to the Callback function for legacy purposes and is not thread safe. Ack is already avaialble to you in the callback via the mission ACK Union.

Definition at line 272 of file DJI_Link.cpp.

void DJI::onboardSDK::CoreAPI::checkStream ( SDKFilter p_filter) [private]

Definition at line 735 of file DJI_Codec.cpp.

bool CoreAPI::decodeACKStatus ( unsigned short  ack)

ACK decoder.

Definition at line 607 of file DJI_Codec.cpp.

Flight mission decoder.

Todo:
Fix memory leak issue

Definition at line 89 of file DJI_Mission.cpp.

unsigned short DJI::onboardSDK::CoreAPI::encrypt ( unsigned char *  pdest,
const unsigned char *  psrc,
unsigned short  w_len,
unsigned char  is_ack,
unsigned char  is_enc,
unsigned char  session_id,
unsigned short  seq_num 
) [private]

Definition at line 849 of file DJI_Codec.cpp.

void DJI::onboardSDK::CoreAPI::freeACK ( ACKSession session) [private]

Definition at line 259 of file DJI_Memory.cpp.

void DJI::onboardSDK::CoreAPI::freeSession ( CMDSession session) [private]

Definition at line 226 of file DJI_Memory.cpp.

Activation Control.

Get Activation information

Definition at line 529 of file DJI_API.cpp.

Definition at line 307 of file DJI_Link.cpp.

Definition at line 562 of file DJI_API.h.

Definition at line 563 of file DJI_API.h.

Definition at line 575 of file DJI_API.h.

Get battery capacity.

Note:
Flight missions will not perform if battery capacity is under %50. If battery capacity drops below %50 during a flight mission, aircraft will automatically "go home".

Definition at line 47 of file DJI_App.cpp.

Get broadcasted data values from flight controller.

Definition at line 45 of file DJI_App.cpp.

Definition at line 59 of file DJI_App.cpp.

Definition at line 52 of file DJI_App.cpp.

Definition at line 564 of file DJI_API.h.

Custom missions - getters

Definition at line 573 of file DJI_API.h.

Definition at line 574 of file DJI_API.h.

Get serial device handler.

Definition at line 567 of file DJI_API.cpp.

void CoreAPI::getDroneVersion ( CallBack  callback = 0,
UserData  userData = 0 
)

Get aircraft version.

Note:
You can query your flight controller prior to activation.

Definition at line 157 of file DJI_API.cpp.

Get drone version from flight controller block until ACK arrives from flight controller.

Blocking API Control

Returns:
VersionData containing ACK value, CRC of the protocol version and protocol version itself
Todo:
Implement high resolution timer to catch ACK timeout

Definition at line 171 of file DJI_API.cpp.

void CoreAPI::getDroneVersionCallback ( CoreAPI api,
Header protocolHeader,
UserData userData  __UNUSED = 0 
) [static]

Definition at line 573 of file DJI_API.cpp.

Open Protocol Control.

Get Open Protocol packet information.

Definition at line 877 of file DJI_API.cpp.

Get flight status at any time during a flight mission.

Definition at line 521 of file DJI_API.cpp.

bool CoreAPI::getFollowData ( ) const

Definition at line 537 of file DJI_API.cpp.

Definition at line 576 of file DJI_API.h.

Definition at line 579 of file DJI_API.h.

Definition at line 567 of file DJI_API.h.

bool CoreAPI::getHotPointData ( ) const

HotPoint Mission Control.

Definition at line 535 of file DJI_API.cpp.

Definition at line 566 of file DJI_API.h.

Definition at line 581 of file DJI_API.h.

Definition at line 578 of file DJI_API.h.

Setters and getters for Mobile CMD variables - these are used when interacting with a Data Transparent Transmission App Core functions - getters

Definition at line 560 of file DJI_API.h.

Definition at line 561 of file DJI_API.h.

Get SDK version

Definition at line 875 of file DJI_API.cpp.

Definition at line 569 of file DJI_API.cpp.

Definition at line 569 of file DJI_API.h.

Definition at line 570 of file DJI_API.h.

Definition at line 565 of file DJI_API.h.

Definition at line 568 of file DJI_API.h.

Get timestamp from flight controller.

Note:
Make sure you are using appropriate timestamp broadcast frequency. See setBroadcastFreq
function for more details.

Definition at line 519 of file DJI_API.cpp.

Definition at line 580 of file DJI_API.h.

bool CoreAPI::getWayPointData ( ) const

WayPoint Mission Control.

Definition at line 536 of file DJI_API.cpp.

Definition at line 577 of file DJI_API.h.

void CoreAPI::init ( HardDriver Driver,
CallBackHandler  userRecvCallback,
bool  userCallbackThread,
Version  SDKVersion 
) [private]

Serial Device Initialization.

Todo:
simplify code above

Definition at line 34 of file DJI_API.cpp.

void CoreAPI::notifyCaller ( Header protocolHeader)

Definition at line 178 of file DJI_Link.cpp.

void CoreAPI::notifyNonBlockingCaller ( Header protocolHeader)

This version of non-blocking can be limited in performance since the read thread waits for the callback thread to return before the read thread continues.

Copying protocol header to a global variable - will be passed to the Callback thread. protHeader is not thread safe and is passed to Callback for legacy purposes. Ack is available in the callback via MissionACKUnion.

Definition at line 189 of file DJI_Link.cpp.

void CoreAPI::parseFromMobileCallback ( CoreAPI api,
Header protocolHeader,
UserData userData  __UNUSED = 0 
)

Mobile Data Transparent Transmission Input Servicing.

MOS Protocol parsing lirbary functions. Default MOS Protocol Parser. Calls other callback functions based on data

The next few are only polling based and do not use callbacks. See usage in Linux Sample.

Definition at line 686 of file DJI_API.cpp.

void CoreAPI::readPoll ( void  )

Definition at line 256 of file DJI_Link.cpp.

void DJI::onboardSDK::CoreAPI::recvReqData ( Header protocolHeader) [private]
Todo:
add mission session decode
Todo:
compare IOC with other mission modes comprehensively
Todo:
add waypoint session decode

Definition at line 123 of file DJI_App.cpp.

void CoreAPI::send ( unsigned char  session_mode,
unsigned char  is_enc,
CMD_SET  cmd_set,
unsigned char  cmd_id,
void *  pdata,
int  len,
CallBack  ack_callback,
int  timeout = 0,
int  retry_time = 1 
)
Remarks:
void send() - core overloaded function which can be invoked in three different ways.

void send(CallbackCommand *parameter) - main interface
(other two overloaded functions are builded on the base of this function)

Please be careful when passing in UserData, there might have memory leak problems.
Parameters:
timeout
Note:
Compatible for DJI_APP_Pro_send

Definition at line 90 of file DJI_API.cpp.

void CoreAPI::send ( unsigned char  session_mode,
bool  is_enc,
CMD_SET  cmd_set,
unsigned char  cmd_id,
void *  pdata,
size_t  len,
int  timeout = 0,
int  retry_time = 1,
CallBack  ack_handler = 0,
UserData  userData = 0 
)
Parameters:
userData
Note:
Better interface entrance

Definition at line 115 of file DJI_API.cpp.

void CoreAPI::send ( Command parameter)
Note:
Main interface

Definition at line 140 of file DJI_API.cpp.

void CoreAPI::sendData ( unsigned char *  buf) [private]

Definition at line 32 of file DJI_Link.cpp.

int CoreAPI::sendInterface ( Command parameter) [private]

Definition at line 373 of file DJI_Link.cpp.

void CoreAPI::sendPoll ( void  )
Note:
Add auto resendpoll

Definition at line 209 of file DJI_Link.cpp.

void CoreAPI::sendToMobile ( uint8_t *  data,
uint8_t  len,
CallBack  callback = 0,
UserData  userData = 0 
)

Definition at line 252 of file DJI_API.cpp.

void CoreAPI::sendToMobileCallback ( CoreAPI api,
Header protocolHeader,
UserData userData  __UNUSED = 0 
) [static]

Definition at line 666 of file DJI_API.cpp.

void CoreAPI::setAccountData ( const ActivateData value)

Activation Control.

Definition at line 531 of file DJI_API.cpp.

void DJI::onboardSDK::CoreAPI::setACKFrameStatus ( uint32_t  usageFlag)

Let user know when ACK and Broadcast messages processed

Definition at line 302 of file DJI_Link.cpp.

Definition at line 486 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setActivateMobileCMD ( bool  userInput) [inline]

Definition at line 586 of file DJI_API.h.

void CoreAPI::setActivation ( bool  isActivated)

Activation Control.

Is your aircraft already activated ?

Definition at line 294 of file DJI_Link.cpp.

Definition at line 487 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setArmMobileCMD ( bool  userInput) [inline]

Definition at line 587 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setAttiCtrlMobileCMD ( bool  userInput) [inline]

Definition at line 599 of file DJI_API.h.

Definition at line 447 of file DJI_API.h.

void CoreAPI::setBroadcastCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 229 of file DJI_App.cpp.

Definition at line 54 of file DJI_App.cpp.

void CoreAPI::setBroadcastFreq ( uint8_t *  dataLenIs16,
CallBack  callback = 0,
UserData  userData = 0 
)

Set broadcast frequency.

Remarks:
We offer 12 frequency channels to customize:

0 - Timestamp
1 - Attitude Quaterniouns
2 - Acceleration
3 - Velocity (Ground Frame)
4 - Angular Velocity (Body Frame)
5 - Position
6 - Magnetometer
7 - RC Channels Data
8 - Gimbal Data
9 - Flight Status
10 - Battery Level
11 - Control Information
Note:
see also enum BROADCAST_FREQ in DJI_API.h

Definition at line 263 of file DJI_API.cpp.

unsigned short CoreAPI::setBroadcastFreq ( uint8_t *  dataLenIs16,
int  timeout 
)
Note:
see also enum BROADCAST_FREQ in DJI_API.h

Definition at line 289 of file DJI_API.cpp.

Reset all broadcast frequencies to their default values

Definition at line 320 of file DJI_API.cpp.

unsigned short CoreAPI::setBroadcastFreqDefaults ( int  timeout)

Set broadcast frequencies to their default values and block until ACK arrives from flight controller.

Blocking API Control

Returns:
ACK from flight controller
Todo:
Implement high resolution timer to catch ACK timeout

Definition at line 448 of file DJI_API.cpp.

Definition at line 390 of file DJI_API.cpp.

void CoreAPI::setControl ( bool  enable,
CallBack  callback = 0,
UserData  userData = 0 
)

Definition at line 539 of file DJI_API.cpp.

unsigned short CoreAPI::setControl ( bool  enable,
int  timeout 
)

Blocking API Control.

Remarks:
Blocks until ACK frame arrives or timeout occurs

Obtain control

Returns:
ACK from flight controller
Todo:
Implement high resolution timer to catch ACK timeout

Definition at line 546 of file DJI_API.cpp.

void CoreAPI::setControlCallback ( CoreAPI api,
Header protocolHeader,
UserData userData  __UNUSED = 0 
) [static]

Definition at line 881 of file DJI_API.cpp.

Definition at line 488 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setDisArmMobileCMD ( bool  userInput) [inline]

Definition at line 588 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setDrawCirMobileCMD ( bool  userInput) [inline]

Custom missions - setters

Definition at line 597 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setDrawSqrMobileCMD ( bool  userInput) [inline]

Definition at line 598 of file DJI_API.h.

void CoreAPI::setDriver ( HardDriver value)

Initialize serial device

Definition at line 571 of file DJI_API.cpp.

Definition at line 456 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setFollowCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 141 of file DJI_Mission.cpp.

void CoreAPI::setFollowData ( bool  value)

Follow Me Mission Control.

Definition at line 534 of file DJI_API.cpp.

void CoreAPI::setFrequencyCallback ( CoreAPI api,
Header protocolHeader,
UserData  userData = 0 
) [static]

Definition at line 848 of file DJI_API.cpp.

void CoreAPI::setFromMobileCallback ( CallBackHandler  FromMobileEntrance)

Definition at line 523 of file DJI_API.cpp.

void CoreAPI::setFromMobileCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 235 of file DJI_App.cpp.

void DJI::onboardSDK::CoreAPI::setGimbalCtrlMobileCMD ( bool  userInput) [inline]

Definition at line 600 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setGlobalNavTestMobileCMD ( bool  userInput) [inline]

Definition at line 603 of file DJI_API.h.

Definition at line 491 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setGoHomeMobileCMD ( bool  userInput) [inline]

Definition at line 591 of file DJI_API.h.

Definition at line 454 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setHotPointCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 129 of file DJI_Mission.cpp.

void CoreAPI::setHotPointData ( bool  value)

HotPoint Mission Control.

Definition at line 532 of file DJI_API.cpp.

void CoreAPI::setKey ( const char *  key)

Definition at line 288 of file DJI_Link.cpp.

Definition at line 490 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setLandingMobileCMD ( bool  userInput) [inline]

Definition at line 590 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setLocalMissionPlanCMD ( bool  userInput) [inline]

Definition at line 605 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setLocalNavTestMobileCMD ( bool  userInput) [inline]

Definition at line 602 of file DJI_API.h.

Definition at line 453 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setMisssionCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 123 of file DJI_Mission.cpp.

Mobile Callback handler functions

Definition at line 484 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setObtainControlMobileCMD ( bool  userInput) [inline]

Core functions - setters

Definition at line 584 of file DJI_API.h.

Definition at line 485 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setReleaseControlMobileCMD ( bool  userInput) [inline]

Definition at line 585 of file DJI_API.h.

Definition at line 493 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setStartVideoMobileCMD ( bool  userInput) [inline]

Definition at line 593 of file DJI_API.h.

Definition at line 494 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setStopVideoMobileCMD ( bool  userInput) [inline]

Definition at line 594 of file DJI_API.h.

void CoreAPI::setSyncFreq ( uint32_t  freqInHz)

Definition at line 312 of file DJI_Link.cpp.

Definition at line 489 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setTakeOffMobileCMD ( bool  userInput) [inline]

Definition at line 589 of file DJI_API.h.

Definition at line 492 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setTakePhotoMobileCMD ( bool  userInput) [inline]

Definition at line 592 of file DJI_API.h.

void CoreAPI::setup ( void  ) [private]

Definition at line 282 of file DJI_Link.cpp.

void DJI::onboardSDK::CoreAPI::setupMMU ( void  ) [private]

Definition at line 25 of file DJI_Memory.cpp.

void DJI::onboardSDK::CoreAPI::setupSession ( void  ) [private]

Definition at line 163 of file DJI_Memory.cpp.

void CoreAPI::setVersion ( const Version value)

Set SDK version.

Definition at line 879 of file DJI_API.cpp.

void DJI::onboardSDK::CoreAPI::setVRCTestMobileCMD ( bool  userInput) [inline]

Definition at line 604 of file DJI_API.h.

Definition at line 455 of file DJI_API.h.

void DJI::onboardSDK::CoreAPI::setWayPointCallback ( CallBack  handler,
UserData  userData = 0 
)

Definition at line 135 of file DJI_Mission.cpp.

void CoreAPI::setWayPointData ( bool  value)

WayPoint Mission Control.

Definition at line 533 of file DJI_API.cpp.

Definition at line 118 of file DJI_Mission.cpp.

Definition at line 147 of file DJI_Mission.cpp.

void DJI::onboardSDK::CoreAPI::setWayPointTestMobileCMD ( bool  userInput) [inline]

Definition at line 601 of file DJI_API.h.

void CoreAPI::storeData ( SDKFilter p_filter,
unsigned char  in_data 
) [private]
Note:
push data to filter buffer

Definition at line 645 of file DJI_Codec.cpp.

void DJI::onboardSDK::CoreAPI::streamHandler ( SDKFilter p_filter,
unsigned char  in_data 
) [private]

Definition at line 755 of file DJI_Codec.cpp.

void DJI::onboardSDK::CoreAPI::verifyData ( SDKFilter p_filter) [private]
Note:
data crc fail, re-use the data part

Definition at line 701 of file DJI_Codec.cpp.

void DJI::onboardSDK::CoreAPI::verifyHead ( SDKFilter p_filter) [private]

Definition at line 715 of file DJI_Codec.cpp.


Member Data Documentation

Definition at line 661 of file DJI_API.h.

Note:
Thread data

Definition at line 515 of file DJI_API.h.

Definition at line 609 of file DJI_API.h.

Definition at line 690 of file DJI_API.h.

Definition at line 626 of file DJI_API.h.

Definition at line 640 of file DJI_API.h.

Definition at line 627 of file DJI_API.h.

Definition at line 641 of file DJI_API.h.

Definition at line 652 of file DJI_API.h.

Definition at line 616 of file DJI_API.h.

Definition at line 608 of file DJI_API.h.

Definition at line 610 of file DJI_API.h.

Definition at line 705 of file DJI_API.h.

Definition at line 689 of file DJI_API.h.

Definition at line 628 of file DJI_API.h.

Definition at line 642 of file DJI_API.h.

Definition at line 650 of file DJI_API.h.

Definition at line 651 of file DJI_API.h.

Definition at line 612 of file DJI_API.h.

Definition at line 611 of file DJI_API.h.

Definition at line 665 of file DJI_API.h.

Definition at line 620 of file DJI_API.h.

Definition at line 708 of file DJI_API.h.

Mobile Data Transparent Transmission - callbacks.

Definition at line 615 of file DJI_API.h.

Definition at line 653 of file DJI_API.h.

Definition at line 656 of file DJI_API.h.

Definition at line 631 of file DJI_API.h.

Definition at line 645 of file DJI_API.h.

Definition at line 617 of file DJI_API.h.

Definition at line 706 of file DJI_API.h.

Definition at line 516 of file DJI_API.h.

Definition at line 630 of file DJI_API.h.

Definition at line 644 of file DJI_API.h.

Definition at line 658 of file DJI_API.h.

Definition at line 655 of file DJI_API.h.

Definition at line 691 of file DJI_API.h.

Definition at line 518 of file DJI_API.h.

Definition at line 621 of file DJI_API.h.

Definition at line 688 of file DJI_API.h.

Definition at line 408 of file DJI_API.h.

Definition at line 624 of file DJI_API.h.

Mobile Data Transparent Transmission - flags.

Definition at line 638 of file DJI_API.h.

Definition at line 622 of file DJI_API.h.

Definition at line 625 of file DJI_API.h.

Definition at line 639 of file DJI_API.h.

unsigned short DJI::onboardSDK::CoreAPI::seq_num [private]

Definition at line 663 of file DJI_API.h.

Definition at line 703 of file DJI_API.h.

Definition at line 633 of file DJI_API.h.

Definition at line 647 of file DJI_API.h.

Note:
Thread data

Definition at line 509 of file DJI_API.h.

Definition at line 634 of file DJI_API.h.

Definition at line 648 of file DJI_API.h.

Definition at line 629 of file DJI_API.h.

Definition at line 643 of file DJI_API.h.

Definition at line 632 of file DJI_API.h.

Definition at line 646 of file DJI_API.h.

Definition at line 660 of file DJI_API.h.

Definition at line 657 of file DJI_API.h.

Definition at line 618 of file DJI_API.h.

Definition at line 707 of file DJI_API.h.

Definition at line 619 of file DJI_API.h.

Definition at line 517 of file DJI_API.h.

Definition at line 654 of file DJI_API.h.


The documentation for this class was generated from the following files:


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