Hi all,
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...
Replies
@Paul A I have some modified OrangeRX modules (voltage boosted for 1W) output that have been tested. I now have better boards for ULRS (form factorwise anyway). PM me and I can donate them to you if you are still looking for some ULRS action. And maybe you can figure out how to integrate sensor polling into the Teensy so we can do away with X receiver relaying.
@Paul Atherton. I am using ULRS now and looking to use it exclusively. But I still really want the Mavlink telemetry on my Taranis. I understand that sensor polling is is why we need an X series receiver and cannot use a Teensy on on the ground side and hence have to relay with an X series receiver. Have you seen that pawelsky on RCGroups has now created a data polling in his S Port sensor encoding classes that run on a Teensy. http://www.rcgroups.com/forums/showthread.php?t=2245978
It strikes me that we can now use a Teensy on the ground side in the JR port of a Taranis instead of using a repeater. I think this may be the Holy Grail for me. I have six of these (mini ULRS with USB designed by Artemen).
I will have a go at this but you might find this easier than I to merge into the existing project.
If we could get this working this could also be used with a Dragonlink V3 or even with a regular 3DR Sic radio.
Paul Hammond said:
Paul,
I finally got around to getting a ULRS setup and now have it working. I setup an almost identical repeater configuration as you. As I couldn't get hold of any of the OrangeRx LRS modules (discontinued by HK I believe) I bought the Wolfbox system instead from BG. I have bluetooth (for Mission Planner connectivity) and the teensy integrated (for the Taranis Telemetry) - actually managed to fit the Teensy inside the Wolfbox JR module case, and have wired it internally.
I'm really glad you mentioned the baud rate - I think I would have been head scratching there for a while to figure that out! I have the SWR displaying correctly in my telemetry screen in the Taranis. To be honest, the SWR has nothing to do with teensy of course - its simply the SWR from the Taranis internal XJT antenna.
My next step is to get RSSI telemetry sorted out. The regular RSSI shown in telemetry on the Taranis with this repeater setup is of course the RSSI between the Taranis->X4R (on the repeater) so of no real value for a flight. So need to somehow get the RSSI from the ULRS Rx feeding into the Pixhawk - and somehow integrated into the Teensy code so we can get it displayed on the Taranis.
As for getting the single LiPo cell value (C-min) displayed in the telemetry screen - because I no longer have the option to use the FLVSS (FrSky S.Port LiPo) monitor in my model, this useful data is not directly available any more. There is however a work-around in the teensy code which can be employed to simulate this single cell voltage - it simply takes the VFAS and divides it by the number of cells present - not perfect but at least allows this piece of telemetry to display something (albeit not really showing the lowest cell value). To enable this, in MavLink_FrSkySPort.ino, on line 132, you will see a commented out line:
Just un-comment that line (remove // from the start), and also check down to line 186, where you should enter your LiPo Cell count (#define MAXCELLS 3). In my case this is 4.
So have you been flying with this repeater setup? How reliable has it turned out? I have noticed some lag on mine with control inputs - very slight but not quite as snappy as the native FrSky 2.4 system. You tested radio failsafe triggers RTL correctly?
Thanks again for your post. Paul
No problem, no hurry to get this done. If you are willing to share your condensed version would be great.
Jeffrey Foster said:
I thought that myself. thanks I will try trimming that fat out of it.
Unfortunately support for arduino boards were taken out a while ago. You need a teensy.
I'm getting this message when I try to send the file to the Pro Mini. Any help would be great.
Arduino: 1.5.8 (Windows 8), Board: "Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"
Sketch uses 15,126 bytes (49%) of program storage space. Maximum is 30,720 bytes.
Global variables use 2,100 bytes (102%) of dynamic memory, leaving -52 bytes for local variables. Maximum is 2,048 bytes.
processing.app.debug.RunnerException: Not enough memory; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing your footprint.
at processing.app.Sketch.size(Sketch.java:1679)
at processing.app.Sketch.build(Sketch.java:1589)
at processing.app.Sketch.build(Sketch.java:1508)
at processing.app.Editor$DefaultRunHandler.run(Editor.java:1912)
at java.lang.Thread.run(Unknown Source)
Not enough memory; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing your footprint.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Great thanks Paul,
I have put a new issue on github for the repeating prearm checks.
Also, do you know if i can use the analog input on the frsky rx at the same time as sPort?
I have a wire from the ULRS RSSI which i used to have plugged into the AD2 port on the d4r-ii, this showed the rssi for the TX on my taranis. I think it would be good to have plugged into the AIN connection and show in addition to the lua screen we have now.
I saw the issue on github. thanks for that. I was checking the code and it appears to call an error message as long as its unique, so say it kept triggering the same error, it would only call this once, but because there are several errors, it calls them iin sequence, then as it then gets the first error triggered again, it seens this is different from the last one called, so calls that first one again, and on it goes! To change that would be a change a design change to the LUA code. I'm not entirely sure what the best design for that would be, but will have a think about it.
as for the Analog input - I didn't know there was one on the X series Rx. I just googled it though and it appears there is one which senses a 3.3v input. I have no idea how that is used at the Taranis end, sorry.
Another way is surely to connect an analog RSSI output from the ULRS Rx in your model to the SBUS port on the Pixhawk, configure this for RSSI input in the parameters (it is also 3.3v based analog input), and the value will then be accessible in Mavlink (in mission planner this would be seen under RxRSSI, and would also be seen by any OSD you are using). The teensy code could then be tweaked to include this on a smart port sensor and then displayed by a modified LUA - replacing the regular RSSI value in the header. Sounds like a perfect opportunity for you to get involved with the project :-)