HORIZON HOBBY, LLC. Specification for Spektrum® X-Bus Telemetry Sensors Enabling Use of Non-Spektrum Sensors Rev L 2016 November 3 Specification for communicating on the X-Bus so that data from non-Spektrum devices can be displayed on the AirWareTM -based transmitters.
Specification for Spektrum X-Bus Telemetry Sensors Specification for Spektrum® X-Bus Telemetry Sensors 1 INTRODUCTION With the advent of third-party display (J-Link), annunciation (vSpeak), and data display systems (Robo-Software and TLMViewer.com), we feel it is in everybody's best interests to open the telemetry system by sharing correct implementation data.
Specification for Spektrum X-Bus Telemetry Sensors Spektrum X-Bus Telemetry Data Application End User License Agreement This End User License Agreement (“Agreement”) is a binding agreement between the reader of this publication (“you”) and Horizon Hobby, LLC (“Horizon”). This Agreement governs your use of the Spektrum X-Bus Telemetry Data as outlined in this publication (“The Telemetry System”). The Telemetry System is licensed, not sold, to you.
Specification for Spektrum X-Bus Telemetry Sensors REQUIREMENTS, ACHIEVE ANY INTENDED RESULTS, BE COMPATIBLE OR WORK WITH ANY OTHER SOFTWARE, APPLICATIONS, SYSTEMS OR SERVICES, OPERATE WITHOUT INTERRUPTION, MEET ANY PERFORMANCE OR RELIABILITY STANDARDS OR BE ERROR FREE OR THAT ANY ERRORS OR DEFECTS CAN OR WILL BE CORRECTED. 4. Limitation of Liability.
Specification for Spektrum X-Bus Telemetry Sensors Furthermore, you agree that Horizon assumes no responsibility for the content you submit or make available through this publication. 7. Severability. If any provision of this Agreement is illegal or unenforceable under applicable law, the remainder of the provision will be amended to achieve as closely as possible the effect of the original term and all other provisions of this Agreement will continue in full force and effect. 8. Governing Law.
Specification for Spektrum X-Bus Telemetry Sensors SD SCL Servo Bus +V Commo Every device shall be responsible to regulate the supply to a level useful for its operation. The I2C signals must be 3.3V logic, and the pins in open drain mode so as to not interfere with the logic levels. In order to maintain compatibility with other products, it is strongly urged that any sensors include two X-Bus ports to allow them to be daisy-chained in the same manner as Spektrum sensors.
Specification for Spektrum X-Bus Telemetry Sensors 7 ADDRESSING & DEVICE TYPES The Appendix includes the telemetry header file used by all Spektrum AirWare-based transmitters. It defines the device type codes for all Spektrum products and known reserved values. The device type codes are used as I2C bus addresses by default, but the protocol also provides a means for them to differ. Spektrum reserves the right to use addresses not listed as we deem necessary.
Specification for Spektrum X-Bus Telemetry Sensors 9 ELECTRONIC SPEED CONTROL The AirWare-based transmitters include support for a generic Electronic Speed Control (ESC) device. Spektrum does not sell a device which conforms to this telemetry standard, but is instead providing a common interface which may be supported by ESC manufacturers. The ESC configuration screen provides the same functions available to other devices, that is, whether the status is actively monitored on the display.
Specification for Spektrum X-Bus Telemetry Sensors record (0x18 type) for each input power source. The units and ranges for each of the fields in the telemetry message are found in the appendix in the definition for the MAH structures. The transmitter does not provide any filtering of data for any fields. 12 DIGITAL INPUT AND AIR PRESSURE SENSOR The AirWare-based transmitters may include support for a generic digital input and air pressure metering device.
Specification for Spektrum X-Bus Telemetry Sensors NOTE: The Common (Ve-) connection of the X-Bus is connected to the receiver, which in an electric model is likely connected directly to the negative terminal in the battery string. It is strongly recommended that the voltage measurements be galvanically isolated from the battery pack being measured so as to prevent short circuits and ground loops.
Specification for Spektrum X-Bus Telemetry Sensors formatted manner. This message would typically be used in conjunction with a serial interface telemetry module such as the SPM4649T attached to a flight controller (FC) for purposes of configuring the FC using transmitter stick inputs (aka “Stick Programming”).
Specification for Spektrum X-Bus Telemetry Sensors APPENDIX – HEADER FILE DATA Note that some device types cannot be used by third-party devices, in particular voltage (0x01) and temperature (0x02), as these are reserved for internal use within the transmitter. The text below has been re-formatted for tabs that look good on the page. If you copy/paste them into your code, you will probably want to re-tab them.
Specification for Spektrum X-Bus Telemetry Sensors #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define TELE_DEVICE_USER_16U32SU TELE_DEVICE_RSV_60 TELE_DEVICE_RSV_68 TELE_DEVICE_RSV_69 TELE_DEVICE_RSV_6A TELE_DEVICE_RSV_6B TELE_DEVICE_RSV_6C TELE_DEVICE_RSV_6D TELE_DEVICE_RSV_6E TELE_DEVICE_RSV_6F TELE_DEVICE_RSV_70 TELE_DEVICE_RTC TELE_DEVICE_FRAMEDATA TELE_DEVICE_RPM TELE_DEVICE_QOS TELE_DEVICE_MAX (0x56) (0x60) (0x68) (0x69) (0
Specification for Spektrum X-Bus Telemetry Sensors typedef struct { UINT8 identifier; UINT8 sID; UINT8 lineNumber; char text[13]; } STRU_TELE_TEXTGEN; // // // // // Source device = 0x0C Secondary ID Line number to display (0 = title, 1-8 for general, 255 = Erase all text on screen) 0-terminated text ////////////////////////////////////////////////////////////////// // // (Liquid) Fuel Flow/Capacity (Two Tanks/Engines) // ////////////////////////////////////////////////////////////////// // typedef struc
Specification for Spektrum X-Bus Telemetry Sensors UINT8 id; UINT8 sID; UINT16 strain_A, strain_B, strain_C, strain_D; } STRU_TELE_STRAIN; // // // // // // Source device Secondary ID Strain sensor Strain sensor Strain sensor Strain sensor = 0x38 A B D C ////////////////////////////////////////////////////////////////// // // THIRD-PARTY 16-BIT DATA SIGNED/UNSIGNED // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 id; // Source device = 0x50 UINT8 sID; // Se
Specification for Spektrum X-Bus Telemetry Sensors UINT8 UINT8 UINT16 INT32 INT32 id; sID; uField1; u32Field; u32Field1, u32Field2; } STRU_TELE_USER_16U32SU; // // // // // Source device = 0x56 Secondary ID Unsigned 16-bit data field Signed 32-bit data field Signed 32-bit data fields ////////////////////////////////////////////////////////////////// // // POWERBOX // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x0A UINT8 sID
Specification for Spektrum X-Bus Telemetry Sensors #define IHIGH_RESOLUTION_FACTOR ((FP32)(0.196791)) ////////////////////////////////////////////////////////////////// // // VARIO-S // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x40 UINT8 sID; // Secondary ID INT16 altitude; // .1m increments INT16 delta_0250ms, // delta last 250ms, 0.1m/s increments delta_0500ms, // delta last 500ms, 0.
Specification for Spektrum X-Bus Telemetry Sensors // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x15 UINT8 sID; // Secondary ID UINT8 status; // See table below UINT8 throttle; // (BCD) xx Percent UINT16 packVoltage; // (BCD) xx.yy UINT16 pumpVoltage; // (BCD) xx.
Specification for Spektrum X-Bus Telemetry Sensors HORNET_ECU_STATE_STEADY = 0x41, HORNET_ECU_STATE_WAIT_ACC = 0x42, HORNET_ECU_STATE_ERROR = 0x43, // undefined states 0x44-0x4F XICOY_ECU_STATE_Temp_High = 0x50, XICOY_ECU_STATE_Trim_Low = 0x51, XICOY_ECU_STATE_Set_Idle = 0x52, XICOY_ECU_STATE_Ready = 0x53, XICOY_ECU_STATE_Ignition = 0x54, XICOY_ECU_STATE_Fuel_Ramp = 0x55, XICOY_ECU_STATE_Glow_Test = 0x56, XICOY_ECU_STATE_Running = 0x57, XICOY_ECU_STATE_Stop = 0x58, XICOY_ECU_STATE_Flameout = 0x59, XICOY_ECU
Specification for Spektrum X-Bus Telemetry Sensors UINT32 RestFuelVolumeInTankML; // 8 bytes left } STRU_TELE_JETCAT2; // (BCD) mL remaining in tank ////////////////////////////////////////////////////////////////// // // GPS // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x16 UINT8 sID; // Secondary ID UINT16 altitudeLow; // BCD, meters, format 3.1 (Low bits of alt) UINT32 latitude; // BCD, format 4.
Specification for Spektrum X-Bus Telemetry Sensors INT16 } STRU_TELE_GYRO; maxGyroZ; ////////////////////////////////////////////////////////////////// // // Alpha6 Stabilizer // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x24 UINT8 sID; // Secondary ID UINT16 volts; // 0.
Specification for Spektrum X-Bus Telemetry Sensors ////////////////////////////////////////////////////////////////// // // ATTITUDE & MAG COMPASS // ////////////////////////////////////////////////////////////////// // typedef struct { UINT8 identifier; // Source device = 0x1B UINT8 sID; // Secondary ID INT16 attRoll; // Attitude, 3 axes. Roll is a // rotation about the X Axis of // the vehicle using the RHR. INT16 attPitch; // Units are 0.
Specification for Spektrum X-Bus Telemetry Sensors // H = holds // rxV = 0xFFFF // typedef struct { UINT8 identifier; UINT8 sID; UINT16 A; UINT16 B; UINT16 L; UINT16 R; UINT16 F; UINT16 H; UINT16 rxVoltage; } STRU_TELE_QOS; // Source device = 0x7F // Secondary ID // Volts, 0.
Specification for Spektrum X-Bus Telemetry Sensors REVISION HISTORY Rev P0 P1 P2 P3 P4 P5 Date 2013-03-28 2013-04-04 2013-07-08 2013-07-10 2013-07-16 2013-11-19 Author AK AK AK AK AK AK P6 P7 A B B’ C D E F 2014-03-31 2014-05-05 2015-01-16 2015-01-23 2015-11-24 2015-12-28 2015-12-30 2016-02-16 2016-03-06 AK AK AK AK TB AK AK AK AK G H I J K L 2016-03-26 2016-07-28 2016-08-26 2016-08-30 2016-10-28 2016-11-03 AK AK AK AK AK AK Description For initial review.