I just bought an FrSky Taranis for my quad copter and needed to get the Mavlink data up on the Taranis LCD telemetry display. So here is my solution using a Teensy3.1 as a converter between MavLink and the S.Port on FrSky X8R.
See attached file below...
Are you running the lua on the standard or the plus model of the Taranis? I'm using the plus model and see some of the telemetry data is cut off on the right hand side (e.g. gps fix). is there a place in the script which could be adjusted?
To the best of my knowledge both radios have the same screen resolution.
Yes, both data from V (Hdop) and V (nr of sats) and even X (distance to home) can go beyond the right hand margin. That was a choice that IMHO doesn't affect the operation, because on HDOP if one has 15,8 the ,8 goes of the screen but the relevant part is still visible. On Nr of sats I could eliminate the abbreviation "sat" but I preferred to leave it so, when 12 sats are visible only part of the word gets off screen. If I would have accounted for the maximum length of every field there wouldn't be enough real estate on the screen to have everything I wanted to be onscreen.
If you want to change positioning, please go ahead, the areas are independent and marked on the script source (e.g. gpspanel, power panel, etc)
Btw: On certain arrow positions the arrow gets partially overwritten by the distance too :)
If you have say, 20 parameters to send from the APM to the Taranis, but only have 15 slots to fit them, how would you do it ??
The field combinations used were the solution.
If you want a warning for 3dfix just add a simple script
if T1-INT(T1/10)*10 >=3 then play 3d warning
btw: a 3d fix is not a guarantee of a good gps position, not even hdop.
If the voice plays 20 times, it's because it has received 20 Flight Mode changes from the APM. The prompt "Active" are what's reported by APM.
They have a repeat interval that you can adjust:
If it repeats 20 times not respecting the interval is because it has changed 20 times, and that's what the Flight Controller is saying.
If you hear "guided mode" that's because you haven't changed the script and the voice files for plane aren't present.
Distance to Home is calculated by the Taranis itself, and has a logic of its own. Distance from first good position to current reported position.
Estimated flight times as I say is highly experimental and needs data sent by the APM to present an estimate. Have you configured the battery capacity parameters on your APM?
If HDOP flashes it's because it is over 2.
If it is varying between 2 different values, remember it's what the Flight Controller is seeing and reporting back, so watch out. If you have a normal GCS the values are exactly the same.
The data presented is the same as what is reported on a normal GCS.
I want to use a voltage sensor which uses S Port.
Teensy Solution also requires S Port.
There is only one S Port on X8R.
So, question is, a) is it possible to have 2 S Port using some kind of adapter? or b) Is it possible for teensy to use another port? or c) any other suggestions to use both?
Smart port devices can be daisy chained. You need to look at my post: http://diydrones.com/xn/detail/705844:Comment:1817317
I'm guessing you don't own a FLVSS yet, since if you would you'd know how to connect them.
/MavLink_FrSkySPort zip containing the "libraries, Lua_Telemetry and MavLink_FrSkySPort folders". I know that the Lua_Telemetry is for the SD card in the Taranis but is there a dummies guide on what I need to do with the contents of the other folders?
With the exception you mention for the telemetry script dir, the other dirs have been discussed at the beginning of this thread. They contain the source code and libraries needed to compile the Teensy app.
The directories inside the DisplayAPMPosition directory are the directories that a standard microSD card prepared for the Taranis has, and are there just as a convenience, see the readme files in those dirs.
I changed from 1.3 to this yesterday. Some things I noticed:
1. It is not enough to comment this line to disable FLVSS:
#define SENSOR_ID_FLVSS 0xA1 // 1
The Cell and Cells values are still displayed from teensy and in my opinnion that should not be. Should show 0 for both. I needed to uncomment a lot more to get the FLVSS part out from teensy.
2. Removing the GPS resulted in the LUA logs page beeing flooded with pre-arm check failed bad compass health messages.
Otherwise nice work!
I have checked this out again with Mission Planner and my OSD both running. I advise the following.
Neither MP or OSD report 20 or so FM changes coming from the APM while it initialises. Perhaps both have been set up to ignore it. Alternatively the FM being reported may be invalid, hence gets ignored. The fact that Guided Mode is the highest value in your table may be significant. I had changed the script and added the voice files.
As soon as distance to home is available (after GPS lock presumably) the OSD reports it as a reasonable figure - <20m and reducing as the GPS acquires more sats. Taranis continues to report it as a much higher figure until telemetry is reset. On my last test at one point the OSD said 9m, Taranis 1366m.
I have configured the battery capacity. And I have altered it, but there is no change to the flashing est flight time. All other battery parameters seem to be reported consistently with MP and OSD.
The true HDOP is not over 2. Both MP and OSD report it at much <2 with no variation. The number of sats is consistent. Taranis HDOP flashes and alternates between the correct value and a high value (8.x) more than once per second. I have tried 2 different GPS units with the same result. Once again it seems that MP and OSD (and incidentally DroidPlanner and DroidPlanner2) must have been setup to ignore the spurious data.
I have only tested this with one of my APMs. When I get a moment I will set up one of my Pixhawks to use it and see if I get different results.
I'm unable to test either APM boards or Arduplane, so decided to remove the specific ArduPlane changes made to the script. Sorry. You can still use the Teensy code to have the standard telemetry values on the Taranis.