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...
Great program - it worked first try. Thank you.
Also taught me about the Teensy 3.1 - what a great little board.
I wanted to see if could combine the mavlink data with SPORT sensor data so that I could use the FLVSS LiPo sensor also. By commenting out the lines that sent the cell data and total voltage, and removing the check for sensor ID 2 ( 0x1A) it worked fine. Now I will try to see if I can auto detect the FLVSS so that it will switch between that and internally calculated battery data.
TEENSY MAVLINK FRSKY SPORT FAILING FLVSS WHILE LOOPING ABSENT POWERMODULE:
FOUND THIS FORUM ENTRY ABOVE & SUCCESS.
1. WITH TEENSY DAISYCHAINED TO FLVSS & WITHOUT APM POWER MODULE TO READ VOLTAGES
1A. FAIL: VERSION MavLink_FrSkySPort_1.3.zip
1A1. THE TEENSY LOOPS A APM/PIXHAWK WITHOUT A POWER MODULE.
1A1A. RESULTING "ZERO VOLTS" IN A CASE LOOP.
1A1B. REASON IF APM/PIXHAWK HAS NO POWER MODULE THEN IT SENDS "ZERO VOLTS" IN A CASE LOOP.
2. IF YOU DO NOT HAVE THE APM/PIXHAWK POWER MODULE THEN YOU WILL HAVE TO REMOVE THE CODE FOR THE POWER MODULE.
2A. ABOVE INSTRUCTIONS FROM ANDREW WERE SUCCESFUL.
2A1. IN ARDUINIO I EDITED FRSKYSPORT.H & FRSKYSPORT SUCCESFULLY:
LEAVE AS IS #define SENSOR_ID2 0x0D
// REMOVE #define FR_ID_CELLS 0x0300
// REMOVE #define FR_ID_CELLS_LAST 0x030F
// REMOVE case 8: // First 2 cells
// REMOVE case 9: // Optional 3 and 4 Cells
// REMOVE case 10: // Optional 5 and 6 Cells
3. TEENSY WITH AN FLVSS & APM/PIXHAWK POWER MODULE:
3A. I DO NOT YET HAVE THE APM/PIXHAWK POWER MODULE CURRENTLY IN POSTAL.
I want the error codes not have on the TARANIS, but on the Teensy.
I want, for example, blink a Led at a low voltage or other Errors that come from PIXHAWK.
HDOP is fine.
How do I get error messages evaluated:
maybe lets ask someone if there is enough memory left on apm2.6 to do it nativelly? there are 2 serial ports on apm 2.5+ the second one needs to have pins soldered on and a hole made in the casing. I've used it on another apm (deceased) with raspberry pi conjunction. no programming was involved, only setting up all the parameters right.
Would I be wrong to assume we could do this inboard the flight controller if there were a spare uart port? Such as the pixhawk?
I have a taranis, x8r and pix hawk and am willing to try this. Do you know of anyone that has done this?
the program works fine.
But I miss the display of HDOP data. Can you integrate that?
I am looking for a way to do the oposite :)
Convert SPort sensors data into MavLink to use it with an OSD like minimosd. Basically to see the sensors data on fatshark googles.
Rolf, I've just ordered x8r and teensy and planning to use your program on it, however, I am new to the arduino/microcontroller programming, I used to program in java and in c++ back in school and right after the school. So I am not new to programming, but certainly new to teensy. I need to grub some data from the mavlink, reduce its bitrate and send it to a FSK modem. would I need to use digital or analog pins to write to FSK? and if you happen to know an example of anything remotely similar to what I am planning on doing I would appreciate a link.
p.s. I think I've received an email update from diydrones forum bot about you mentioning possibility of using teensy to convert s.bus to ppm. I do think it should be possible, however, I do not know a thing about s.bus protocol. It would be very elegant to use just a single board.