This group documents all data telemetry topics that can be subscribed to. More...
Detailed Description
This group documents all data telemetry topics that can be subscribed to.
- Note
- This list does not include the data that is available through the older 'broadcast'-style telemetry
Enumeration Type Documentation
◆ TopicName
enum TopicName is the interface for user to create packages and access data It is also used as index for TopicDataBase.
- Note
- Please see dji_telemetry_doc.hpp (Or the API reference on the developer website) for detailed documentation.
Enum, containing all the telemetry values
Enumerator | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TOPIC_QUATERNION | Provides quaternion representing ground frame (NED) to body frame (FRD) rotation @ up to 200Hz. The DJI quaternion follows Hamilton convention (q0 = w, q1 = x, q2 = y, q3 = z)
Data Structure : Quaternion | ||||||||||||||||||||||||||||||||
TOPIC_ACCELERATION_GROUND | Provides aircraft's acceleration w.r.t a ground-fixed NEU frame @ up to 200Hz.
This is a fusion output from the flight control system. The output is in a right-handed NED frame, but the sign of the Z-axis acceleration is flipped before publishing to this topic. So if you are looking to get acceleration in an NED frame, simply flip the sign of the z-axis value. Beyond that, you can convert using rotations to any right-handed frame of reference.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_ACCELERATION_BODY | Provides aircraft's acceleration w.r.t a body-fixed FRU frame @ up to 200Hz.
This is a fusion output from the flight control system.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_ACCELERATION_RAW | Provides aircraft's acceleration in an IMU-centered, body-fixed FRD frame @ up to 400Hz. This is a filtered output from the IMU on board the flight control system.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_VELOCITY | Provides aircraft's velocity in a ground-fixed NEU frame @ up to 200Hz.
This is a fusion output from the flight control system. The output is in a right-handed NED frame, but the sign of the Z-axis velocity is flipped before publishing to this topic. So if you are looking to get velocity in an NED frame, simply flip the sign of the z-axis value. Beyond that, you can convert using rotations to any right-handed frame of reference.
Data Structure : Velocity | ||||||||||||||||||||||||||||||||
TOPIC_ANGULAR_RATE_FUSIONED | Provides aircraft's angular velocity in a ground-fixed NED frame @ up to 200Hz. This is a fusion output from the flight control system.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_ANGULAR_RATE_RAW | Provides aircraft's angular velocity in an IMU-centered, body-fixed FRD frame @ up to 400Hz. This is a filtered output from the IMU on board the flight control system.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_ALTITUDE_FUSIONED | Provides aircraft's fused altitude from sea level using the ICAO model @ up to 200Hz. This is a fusion output from the flight control system, and is the recommended source of altitude data. The ICAO model gives an MSL altitude of 1013.25mBar at 15° C and a temperature lapse rate of -6.5° C per 1000m. In your case, it may be possible that the take off altitude of the aircraft is recording a higher pressure than 1013.25mBar. Let's take an example - a weather station shows that SFO (San Francisco International Airport) had recently recorded a pressure of 1027.1mBar. SFO is 4m above MSL, yet, if you calculate the Pressure Altitude using the ICAO model, it relates to -114m. You can use an online calculator to similarly calculate the Pressure Altitude in your area. Another factor that may affect your altitude reading is manufacturing differences in the barometer - it is not uncommon to have a variation of ±30m readings at the same physical location with two different aircraft. For a given aircraft, these readings will be consistent, so you will need to calibrate the offset of your system if your code relies on the accuracy of the absolute value of altitude.
| ||||||||||||||||||||||||||||||||
TOPIC_ALTITUDE_BAROMETER | Provides aircraft's pressure altitude from sea level using the ICAO model @ up to 200Hz. This is a filetered output from the barometer without any further fusion. The ICAO model gives an MSL altitude of 1013.25mBar at 15° C and a temperature lapse rate of -6.5° C per 1000m. In your case, it may be possible that the take off altitude of the aircraft is recording a higher pressure than 1013.25mBar. Let's take an example - a weather station shows that SFO (San Francisco International Airport) had recently recorded a pressure of 1027.1mBar. SFO is 4m above MSL, yet, if you calculate the Pressure Altitude using the ICAO model, it relates to -114m. You can use an online calculator to similarly calculate the Pressure Altitude in your area. Another factor that may affect your altitude reading is manufacturing differences in the barometer - it is not uncommon to have a variation of ±30m readings at the same physical location with two different aircraft. For a given aircraft, these readings will be consistent, so you will need to calibrate the offset of your system if your code relies on the accuracy of the absolute value of altitude.
| ||||||||||||||||||||||||||||||||
TOPIC_ALTITUDE_OF_HOMEPOINT | Provides the altitude from sea level when the aircraft last took off. This is a fusion output from the flight control system, and also uses the ICAO model. The ICAO model gives an MSL altitude of 1013.25mBar at 15° C and a temperature lapse rate of -6.5° C per 1000m. In your case, it may be possible that the take off altitude of the aircraft is recording a higher pressure than 1013.25mBar. Let's take an example - a weather station shows that SFO (San Francisco International Airport) had recently recorded a pressure of 1027.1mBar. SFO is 4m above MSL, yet, if you calculate the Pressure Altitude using the ICAO model, it relates to -114m. You can use an online calculator to similarly calculate the Pressure Altitude in your area. Another factor that may affect your altitude reading is manufacturing differences in the barometer - it is not uncommon to have a variation of ±30m readings at the same physical location with two different aircraft. For a given aircraft, these readings will be consistent, so you will need to calibrate the offset of your system if your code relies on the accuracy of the absolute value of altitude.
| ||||||||||||||||||||||||||||||||
TOPIC_HEIGHT_FUSION | Provides the relative height above ground at up to 100Hz. This is a fusion output from the flight control system. The height is a direct estimate of the closest large object below the aircraft's ultrasonic sensors. A large object is something that covers the ultrasonic sensor for an extended duration of time.
| ||||||||||||||||||||||||||||||||
TOPIC_GPS_FUSED | Provides aircraft's GPS/IMU fused X-Y position and barometric altitude (put together in a single topic for convenience) @ up to 50Hz.
The most important component of this topic is the visibleSatelliteNumber. Use this to track your GPS satellite coverage and build some heuristics for when you might expect to lose GPS updates.
Data Structure : GPSFused | ||||||||||||||||||||||||||||||||
TOPIC_GPS_DATE | Provides raw date information from GPS @ up to 5Hz. Format : yyyymmdd
| ||||||||||||||||||||||||||||||||
TOPIC_GPS_TIME | Provides raw time information from GPS @ up to 5Hz. Format : hhmmss
| ||||||||||||||||||||||||||||||||
TOPIC_GPS_POSITION | Provides aircraft's raw GPS LLA @ up to 5Hz.
Data Structure : Vector3d
| ||||||||||||||||||||||||||||||||
TOPIC_GPS_VELOCITY | Provides aircraft's raw GPS velocity @ up to 5Hz.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_GPS_DETAILS | Provides aircraft's raw GPS status and other details @ up to 5Hz.
Data Structure : GPSDetail | ||||||||||||||||||||||||||||||||
TOPIC_RTK_POSITION | Provides aircraft's raw Real-Time Kinematic (RTK) LLA @ up to 5Hz.
Data Structure : PositionData | ||||||||||||||||||||||||||||||||
TOPIC_RTK_VELOCITY | Provides aircraft's raw Real-Time Kinematic (RTK) velocity @ up to 5Hz.
Data Structure : Vector3f | ||||||||||||||||||||||||||||||||
TOPIC_RTK_YAW | Provides aircraft's raw Real-Time Kinematic (RTK) yaw @ up to 5Hz. The RTK yaw will provide the vector from ANT1 to ANT2 as configured in DJI Assistant 2. In the M210, this means that the value of RTK yaw will be 90° offset from the yaw of the aircraft. For the M600 w/D-RTK, it will depend on how you mount your antennae. In preconfigured units, the mounting will be such that the RTK yaw is 90° offset from the aircraft yaw.
| ||||||||||||||||||||||||||||||||
TOPIC_RTK_POSITION_INFO | Provides a status on aircraft's Real-Time Kinematic (RTK) positioning solution @ up to 5Hz.
| ||||||||||||||||||||||||||||||||
TOPIC_RTK_YAW_INFO | Provides a status on aircraft's Real-Time Kinematic (RTK) yaw solution @ up to 5Hz.
| ||||||||||||||||||||||||||||||||
TOPIC_COMPASS | Provides aircraft's magnetometer reading, fused with IMU and GPS @ up to 100Hz. This reading is the magnetic field recorded by the magnetometer in x,y,z axis, calibrated such that 1000 < |m| < 2000, and fused with IMU and GPS for robustness
Data Structure : Mag | ||||||||||||||||||||||||||||||||
TOPIC_RC | Provides remote controller stick inputs @ up to 100Hz. This topic will give you:
Data Structure : RC Also Refer To TOPIC_RC_WITH_FLAG_DATA | ||||||||||||||||||||||||||||||||
TOPIC_GIMBAL_ANGLES | Provides gimbal pitch, roll, yaw @ up to 50Hz. The reference frame for gimbal angles is a NED frame attached to the gimbal. This topic uses a data structure, Vector3f, that is too generic for the topic. The order of angles is :
Data Structure : Vector3f Also Refer To TOPIC_GIMBAL_STATUS, TOPIC_GIMBAL_CONTROL_MODE | ||||||||||||||||||||||||||||||||
TOPIC_GIMBAL_STATUS | Provides gimbal status and error codes @ up to 50Hz. Please see the GimbalStatus struct for the details on what data you can receive.
Data Structure : GimbalStatus Also Refer To TOPIC_GIMBAL_ANGLES, TOPIC_GIMBAL_CONTROL_MODE | ||||||||||||||||||||||||||||||||
TOPIC_STATUS_FLIGHT | Provides the aircraft's internal flight state @ up to 50Hz. The state machine for this topic has the following transition diagram:
Data Structure : uint8_t (For detailed enumerations see FlightStatus) Also Refer To TOPIC_STATUS_DISPLAYMODE | ||||||||||||||||||||||||||||||||
TOPIC_STATUS_DISPLAYMODE | Provides a granular state representation for various tasks/flight modes @ up to 50Hz. Typically, use this topic together with TOPIC_STATUS_FLIGHT to get a better understanding of the overall status of the aircraft.
Data Structure : uint8_t (For detailed enumerations see DisplayMode) Also Refer To TOPIC_STATUS_FLIGHT | ||||||||||||||||||||||||||||||||
TOPIC_STATUS_LANDINGGEAR | Provides status for the landing gear state @ up to 50Hz.
Data Structure : uint8_t (For detailed enumerations see LandingGearMode) | ||||||||||||||||||||||||||||||||
TOPIC_STATUS_MOTOR_START_ERROR | If motors failed to start, this topic provides reasons why. Available @ up to 50Hz.
Data Structure : uint8_t (For detailed enumerations see CommonACK, starting from the 6th element) | ||||||||||||||||||||||||||||||||
TOPIC_BATTERY_INFO | Provides various data about the battery @ up to 50Hz.
Please be aware that some of the data elements in this topic may not be able to update at high rates due to the limitations of the sensing for that data. e.g. current can only update @ 1 Hz.
Data Structure : Battery | ||||||||||||||||||||||||||||||||
TOPIC_CONTROL_DEVICE | Provides states of the aircraft related to SDK/RC control. The following information is available in this topic:
Data Structure : SDKInfo | ||||||||||||||||||||||||||||||||
TOPIC_HARD_SYNC | Provides IMU and quaternion data time-synced with a hardware clock signal @ up to 400Hz. This is the only data which can be synchronized with external software or hardware systems. If you want to fuse an external sensor's data with the aircraft's IMU, this data along with a hardware trigger from the A3/N3's expansion ports is how you would do it. You can see detailed documentation on how this process works in the Hardware Sync Guide.
Data Structure : HardSyncData | ||||||||||||||||||||||||||||||||
TOPIC_GPS_SIGNAL_LEVEL | Provides a measure of the quality of GPS signal @ up to 50Hz. The level varies from 0 to 5, with 0 being the worst and 5 the best GPS signal. Closely related to TOPIC_GPS_CONTROL_LEVEL
Also Refer To TOPIC_GPS_CONTROL_LEVEL | ||||||||||||||||||||||||||||||||
TOPIC_GPS_CONTROL_LEVEL | Provides a measure of the quality of GPS signal, with a mechanism for guarding against unset homepoint @ up to 50Hz. The level varies from 0 to 5, with 0 being the worst and 5 the best GPS signal. The key difference between this and TOPIC_GPS_SIGNAL_LEVEL is that this topic always returns 0 if the homepoint is not set. Once the home point is set, the behavior is exactly the same as TOPIC_GPS_SIGNAL_LEVEL.
Also Refer To TOPIC_GPS_SIGNAL_LEVEL | ||||||||||||||||||||||||||||||||
TOPIC_RC_FULL_RAW_DATA | Provides raw remote controller stick, buttons and switch data @ up to 50Hz.
For LB2 and SBUS RCs, this topic will give you:
Also Refer To TOPIC_RC_WITH_FLAG_DATA, TOPIC_RC | ||||||||||||||||||||||||||||||||
TOPIC_RC_WITH_FLAG_DATA | Provides normalized remote controller stick input data, along with connection status @ up to 50Hz.
This topic will give you:
Data Structure : RCWithFlagData Also Refer To TOPIC_RC_FULL_RAW_DATA, TOPIC_RC | ||||||||||||||||||||||||||||||||
TOPIC_ESC_DATA | Provides raw data from the ESCs @ up to 50Hz.
This topic supports reporting data for up to 8 ESCs; note that only DJI Intelligent ESCs are supported for this reporting feature. Use this topic to get data on elements close to the hardware - e.g. motor speeds, ESC current and voltage, error flags at the ESC level etc.
Data Structure : ESCStatusIndividual, EscData | ||||||||||||||||||||||||||||||||
TOPIC_RTK_CONNECT_STATUS | Provides RTK connection status @ up to 50Hz.
This topic will update in real time whether the RTK GPS system is connected or not; typical uses include app-level logic to switch between GPS and RTK sources of positioning based on this flag.
Data Structure : RTKConnectStatus | ||||||||||||||||||||||||||||||||
TOPIC_GIMBAL_CONTROL_MODE | Provides the mode in which the gimbal will interpret control commands @ up to 50Hz.
This topic will report the current control mode which can be set in the DJI Go app, MSDK apps, or through Onboard SDK gimbal control APIs (see AngleData struct for more information)
Data Structure : GimbalControlMode | ||||||||||||||||||||||||||||||||
TOPIC_FLIGHT_ANOMALY | Provides a number of flags which report different errors the aircraft may encounter in flight @ up to 50Hz.
Data Structure : FlightAnomaly | ||||||||||||||||||||||||||||||||
TOPIC_POSITION_VO | Provides aircraft's position in a Cartesian frame @ up to 50Hz, without the need for GPS.
This is the only topic which can provide positioning information without having a GPS fix; though this can be a big enabler please note the caveats of using this topic:
The key takeaway from these details is that this topic provides a best-effort attempt at providing position information in the absence of absolute references (GPS, compass etc.), without guarantees of consistency if environmental conditions change. So if your application is confined to a stable environment, or if you will have GPS and compass available at all times, this topic can still provide useful data that cannot be otherwise had. If using for control, make sure to have guards checking for the continuity of data.
| ||||||||||||||||||||||||||||||||
TOPIC_AVOID_DATA | Provides obstacle info around the vehicle @ up to 100Hz.
Data Structure : LocalPositionVO | ||||||||||||||||||||||||||||||||
TOPIC_HOME_POINT_SET_STATUS | Provides status of whether the home point was set or not.
Data Structure : HomeLocationSetStatus | ||||||||||||||||||||||||||||||||
TOPIC_HOME_POINT_INFO | Provides homepoint information, the valid of the home point infomation can ref to the topic DJI_DATA_SUBSCRIPTION_TOPIC_HOME_POINT_SET_STATUS.
Data Structure : HomeLocationData | ||||||||||||||||||||||||||||||||
TOPIC_DUAL_GIMBAL_DATA | Provides double gimbal information, used for M210V2.
Data Structure : GimbalDualData | ||||||||||||||||||||||||||||||||
TOPIC_THREE_GIMBAL_DATA | Provides three gimbal information, used for M300.
Data Structure : GimbalThreeData |