Mobile-SDK-Android
Mobile-SDK-Android copied to clipboard
Pipeline or setOnboardSDKDeviceDataCallback
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?
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.
°°°
I have a Matrice 300 RTK. What option do you suggest for sending/receiving data, the method "setOnboardSDKDeviceDataCallback" or the Pipeline class?
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.
°°°
Is there a difference in transfer rate and data quality loss between the two methods?
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.
°°°