dji-sdk / Mobile-SDK-Android

DJI Mobile SDK for Android: http://developer.dji.com/mobile-sdk/
Other
978 stars 580 forks source link

Pipeline or setOnboardSDKDeviceDataCallback #1279

Open danilofariadutra opened 6 months ago

danilofariadutra commented 6 months ago

What is the best way to send/receive data from an onboard device? I currently use the "setOnboardSDKDeviceDataCallback" method, however, searching on the DJI website, I found a Class called Pipelines that contains an interface called Pipeline. Inside it, there are methods for writing and reading data. What is the most recommended way by DJI?

dji-dev commented 6 months ago

Agent comment from yating.liao in Zendesk ticket #104061:

Not all drones support pipeline. For the models supported by Mobile SDK V4, it only works on the M300. The prerequisite for using pipeline is that PSDK or OSDK has enabled the MOP function. Through this function, larger data transfers can be made between MSDK and O/PSDK.

°°°

danilofariadutra commented 6 months ago

I have a Matrice 300 RTK. What option do you suggest for sending/receiving data, the method "setOnboardSDKDeviceDataCallback" or the Pipeline class?

dji-dev commented 6 months ago

Agent comment from yating.liao in Zendesk ticket #104061:

If you need to transfer a large amount of data, such as transferring one hundred KB per second, you may want to consider using Pipeline. On the other hand, if you require stable and lightweight data transfer, you can opt for setOnboardSDKDeviceDataCallback.

°°°

danilofariadutra commented 6 months ago

Is there a difference in transfer rate and data quality loss between the two methods?

dji-dev commented 5 months ago

Agent comment from yating.liao in Zendesk ticket #104061:

The transmission rate of Pipeline may be higher than that of callbacks. In terms of stability, the stability of callbacks may be better than Pipeline, as callbacks are based on UART transmission.

°°°