DJI aircraft caries telemetry system for the safety of the pilots and persons on the ground during flights. Telemetry from an on-board flight system is the primary source of real-time measurement and status information transmitted to the pilot. DJI Onboard SDK provides API to read telemetry data in real time in subscription or broadcast fashion.
Example of the data include:
In data broadcast mechanism, the data package arrives at a pre-configured frequency. The frequency can be modified across your application via DJI Onboard API or it can be changed via DJI Assistant 2 before the flight.
Broadcast data arives in a package containing state information for components listed below:
By allowing flexibility of setting frequencies for each Broadcast component individually, developer must implement logic for clarifying data availability. For example, if you specify GPS at 50Hz and Gyroscope at 10Hz, the whole data packet from broadcast will come in at 50Hz but Gyroscope will only come in every 5 data packages. See DJI Onboard API for details.
Data Subscription is a new and improved paradigm introduced in DJI Onboard SDK 3.3. Like Broadcast, it offers real-time telemetry data transmission from the flight controller to the DJI Onboard SDK. In addition to Broadcast, it provides more variety of status information data sets or "Topics" as well as flexible frequency configuration.
You can choose a set of "Topics" or Subscription data sets, add them to a Subscription package and configure the package to arrive on preferred frequency. There are total of five packages available to a user to configure via DJI Onboard API. Each package can be set to individual frequency and has fixed-size buffer of 300-Bytes allowing user to add as many Telemetry Topics per package as desired.
Each Subscription package may contain state information for components listed below: