All Projects → jplopezll → OpenTX_FrSkySPort_passthrough_master

jplopezll / OpenTX_FrSkySPort_passthrough_master

Licence: GPL-3.0 license
OpenTX telemetry screen using FrSky passthrough from Pixhawk 2.4.8

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to OpenTX FrSkySPort passthrough master

TaraniTunes
Awesome music player for FrSky Taranis radios
Stars: ✭ 21 (+40%)
Mutual labels:  opentx, taranis, frsky
sbuscontroller
This Arduino-Sketch lets you connect your SBUS compatible radio wirelessly as controller to your pc.
Stars: ✭ 24 (+60%)
Mutual labels:  taranis, frsky
opentx
OpenI6X: a FlySky I6X port of OpenTX
Stars: ✭ 53 (+253.33%)
Mutual labels:  opentx
Taranis-XLite-Q7-Lua-Dashboard
A simple lua-based dashboard for the OpenTX XLite/QX7 Transmitters
Stars: ✭ 60 (+300%)
Mutual labels:  opentx
KISS Battery Monitor
Open TX Telemetry Script to support KISS 24a telemetry data callouts
Stars: ✭ 19 (+26.67%)
Mutual labels:  taranis

Telemetry screen for OpenTX using FrSky S.Port passthrough protocol

The script

FrSky passthrough protocol to show telemetry data on a Taranis X9D+. It requires OpenTX 2.2. Use the script "spptel.lua".

This version is fully functional, some functionalities (orientation and distances from home) to be verified on the field. Testers are welcome! Do not hesitate to contact me in case of any doubt. Details on the protocol and circuitry can be found in the wiki.

Most of the data on the display is self explanatory, as you will see in the screenshot taken from OpenTX Companion simulator. The picture shows icons and info that could show depending on data received.

alt text

Sections currently implemented and working:

A. Flight Mode, UAV battery voltage, TX battery voltage, timer1 info (mine counts from first thrust).

B. Ground speed in Km/h.

C. GPS altitude.

D. Messages received and severity. Up to 10 messages are recorded in a FIFO buffer. Number indicates order from 0, last message, to 10, oldest message. Scroll is possible with the (+) and (-) keys.

E. Some gauges: RSSI, UAV battery status and current, TX battery remaining (I am using the 6xNiMH battery pack).

F. GPS status and number of satellites.

G. Angle from home launch (field test pending).

H. Distance from home launch (horizontal and vertical, field test pending).

I. Status flags: armed, battery FS, landed, EKF FS. Also info on UAV battery voltage and capacity to FS trigger.

My setup

I am using a Pixhawk clone v2.4.8 with uBlock GPS module attached linked to a FrSky R-XSR using serial4 with protocol 10 (FrSky passthrough) activated via Mission Planner.

To connect the serial 4 to the R-XSR you need a TTL-Serial inverter adaptor. I am using a protoboard with a MAX232N, four 1uF capacitors and a diode. I have also done some testing with a circuit based on optocouplers, some resistors and a diode (this also worked well).

Full details on the wiki of this project: https://github.com/jplopezll/OpenTX_FrSkySPort_passthrough_master/wiki.

I will be running the quad with a specific adaptor. You have a nice picture on the required adaptor on this thread athertop/MavLink_FrSkySPort#11. Please note the diode that you need to place from TX comming from serial 4 to the S.Port on the R-XSR to block current from the S.Port to the TX pin.

In case anybody would be interested, I was able to program one arduino nano to work as a TTL-Serial inverter-converter. You only need the arduino and a diode. I added a resistor to avoid problems overloading input and output pins. Open an issue if anybody wants the code.

Sniffer available

If you want to know what is your radio getting from the passthrough, you can use the script called "spsnif.lua".

It will store data received in /SCRIPTS/TELEMETRY/sportlog.txt in csv format for later on analysis.

I would recommend to disable all other telemetry screens and configure spsnif as the only script to be run. It displays only a few numbers and should be able to capture most (if not all) of the data entering the radio.

Telemetry rates verification

And if you want to check the telemetry rates, you can use the scritp "sprate.lua". It will show you the number of packets of each 0x500x received every 10 seconds.

I used this to verify how much info was being handled by the sript as with some versions of the code I was having delays of up to 4 seconds from movement on the flight controller to reaction on the lcd screen of the Taranis.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].