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...
There are currently Mavlink compiling options on OpenTX just not to the Taranis, and the data available is limited to the standard telemetry values.
With the Lua scripting, I believe it becomes irrelevant what the fields are named :) We just want the telemetry data down so the generic telemetry fields to be sent down would solve a bunch of problems.
ahhah Lua will solve naming and formatting :) , and yes i just did some research and it seems it would not be possible to send mavlink via s.port due to framing & speed issues, i could be wrong but maybe with custom firmware on the x8r receiver converting the "S.Port" pin into a standard serial rx then we could hook straight in and the opentx guys would have something to work with.
Need alot more research.
anyways im off to bed its very late an ive got work so goodnight all
This is awesome, thanks for your work! I've just downloaded your latest code, compiled and uploaded to teensy, and uploaded the lua telemetry screens. They're blank and HDOP isn't working, I guess because these mixer scripts aren't loading. How do I load them (I'm a taranis newbie)?
The mixerscripts should be "installed" under "Custom Scripts" (second to last tab under model settings).
Use for example LUA1 and select ApmTelem under script.
Just worked this out about 30 mins ago - the Custom Scripts doesn't appear until you upload a lua specific firmware through companion (tick lua compile option), that's what had me confused.
Love the custom telemetry screen, takes the taranis and apm/pixhawk to a whole new level. Thanks a lot for updating this, and to Rolf for the initial work.
Luis, do you know if this release corrects the loss of voltage and amps reporting in OpenTX >2.08?
From OpenTX 2.06 onward the way that OpenTX expected to receive voltages changed, and the Teensy code has already been adapted to cope with that.
Check Christian's GitHub, where all the latest changes have been committed.
Currently, A2 has been repurposed to deliver HDop, the reasoning was that we have Voltage measurement already reported by Mavlink so having a additional analog measurement was "redundant".
Okay, I downloaded everything, have the LUA firmware installed as I've tested other basic ones out, selected ApmTelem for LUA1, but how do you execute it to run everything? I know for other basic ones, I go to the SD card explorer and click on a script to run it but for model specific scripts or for adding these other ones, I'm not sure how to run them.
Not only that, there is a typical directory structure for scripts and that has me a little confused too. I put the ApmSounds and ApmTelem in the Scripts/Mixes directory, all the BMP files in the BMP, wav files in Sounds/en, telem2.lua is in Scripts/Functions, and I created a TBS Disco directory and put telem1.lua in there. I have no idea if I completely screwed things up but those seemed logical given the directory structure they've recommended for LUA scripts.
Any pointers on where to go with this?
Put ApmSounds.lua and ApmTelem.lua in directory /SCRIPTS/MIXES. If you then select ApmTelem and ApmSounds in Custom Scripts then they load automatically in the background. The ApmTelem in particular provides functions that the actual telemetry screens need.
Then put both the telem1.lua and telem2.lua in the directory /SCRIPTS/<model> where <model> is the name of the current or desired model in your Taranis Tx (my model is dom, so I put these scripts in directory /SCRIPTS/dom).
If you have the lua firmware installed then when you long press on Page to get the telemetry screens, instead of getting the standard taranis telemetry screens you should get a funky custom screen with your model name and arming status in top left.
How do you get the bmps to work? I get the telemetry screens now working OK but they're not drawing the bitmaps. Bitmaps are definitely in the right directory.
Also, is the HDOP supposed to be on line 2? On mine it appears at the right of line 2, before the 00:00 (not sure what that is?). Wouldn't it make more sense top right on line 1?
Brilliant, thanks for that.
After a bit of messing about, I now have the screens and data shown.
I'd like to thank everyone who's contributed to this amazing little expansion. I had my teensy ordered and programmed before the virtual ink had dried on Rolf's first post and although my own programming skills are zero, I've found the whole thread completely fascinating and easy to follow and I've learned so much.
Thank you all.
Yes it will work at the same time as the 3dr telemetry. On the pixhawk you just plug the teensy into telemetry2 port with rx+tx wired as normal - this way if the 3dr telemetry doesn't work for whatever reason then the teensy can still request to start the telemetry data.
If you're sharing a telemetry cable then as Luis says you can only connect the rx to the teensy - you can't have two devices transmitting to the pixhawk on the same port.