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...
I just want to first of all say thank you for this, this is so easy to achieve its fantastic, great work!
I now have my Hex with a pixhawk outputting telemtry from pixhawk to my Taranis control, laptop via wireless and also OSD
I did have one thought, how difficult would it be to add into the code the ability to drive one of these (https://www.pjrc.com/store/dev_display_128x64.html)? I know that weight is king in a drone, but for a few grams this would be an excellent way to see the status of the pixhawk/apm etc.
Just want to start with a thanks for this great project. I am still waiting on my taranis but I was wondering if this could work on a Digispark (http://digistump.com/products/1) instead of a teensy of if I should jut get a teensy on order. I only ask because i have some digisparks and orders take about 30 for anything to ship out here...
The Digspark is using 5V and FrSky S.Port is 3.3V.
Problem found and fixed. A teacher once said to me "start with the basics" - was a break in the TX cable I used, how embarrassing ...
BTW I am also running a 3DR power module (4S batt in my case) - my IO voltage measures 4,96 V. Pretty close but still works fine
The LCD display was my first thought when i saw this but i am thinking a display like the 4D Systems 3.2" 320 x 240.
The use would be for a working scale Primary Flight Display. Look super good from a FPV cam.
How are you progressing with the CPPM output.
I started a thread over at Teensy forum asking about decoding and encoding PPM streams. Paul Stoffregen jumped in and has started a library to do just that. Maybe just what you want to get that part going, worth a look at least He has written a bit about it here http://www.pjrc.com/teensy/td_libs_PulsePosition.html
The original thread i started is here http://forum.pjrc.com/threads/25265-Arduino-RC-library
Hope it is of some help to you.
The PPM encoding is easy... the problem is with using 3 serial ports ( Mavlink, S.Port and S.Bus ) at the same time and not having timing problems with the PPM data.
have a look at his code i think you will be surprised.
Quote from him
PulsePosition is designed for 0.02 µs accuracy (approx 24X better than most Arduino implementations using AVR Timer1) with tolerance for significant interrupt latency caused by other libraries. All output waveforms are generated by hardware timer compare and all input waveforms are read using hardware timer input capture, for extremely precise timing. Pin change interrupts, which add error due to interrupt latency, are never used.
this does not compile for me. The compiler complains that there is no ) before a numeric constant. Is there a '' missing in between temp and 20?
Could you maybe post your patched files?
Hi Peter, I tried this but I cant get any HDOP value in my Taranis.
Could you attach the working file.
Thanks in advance/Goran
awesome!! nice work!
would you explain what teensy 3.1 is or give me a link ?