Mobile-SDK-Android icon indicating copy to clipboard operation
Mobile-SDK-Android copied to clipboard

Pipeline or setOnboardSDKDeviceDataCallback

Open danilofariadutra opened this issue 10 months ago • 5 comments

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?

danilofariadutra avatar Apr 01 '24 19:04 danilofariadutra

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.

°°°

dji-dev avatar Apr 02 '24 10:04 dji-dev

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

danilofariadutra avatar Apr 02 '24 11:04 danilofariadutra

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.

°°°

dji-dev avatar Apr 03 '24 06:04 dji-dev

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

danilofariadutra avatar Apr 03 '24 11:04 danilofariadutra

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.

°°°

dji-dev avatar Apr 07 '24 03:04 dji-dev