Awesome MAVLink to FrSky Telemetry for OpenTx 2.0 - RC Groups
Thread Tools
This thread is privately moderated by ScottFlys, who may elect to delete unwanted replies.
Oct 29, 2014, 08:37 AM
Registered User
ScottFlys's Avatar
Mini-HowTo

Awesome MAVLink to FrSky Telemetry for OpenTx 2.0


*** This version is for OpenTX 2.0. If you are running OpenTX 2.1, please see https://www.rcgroups.com/forums/show....php?t=2529072

Summary

This howto provides steps required to setup Taranis telemetry with an APM or Pixhawk. It also includes prebuilt firmware for a Teensy 3.1 or 3.2. The firmware is compatible with the FrSky stock telemetry screens and some Lua telemetry scripts that already exist. This firmware has some differences to the firmware found in other projects but you may want to consider this as a step towards using other projects such as Rolf's at http://diydrones.com/profile/RolfBlomgren.

Telemetry scripts are also supplied here in order to take advantage of advanced functions.

Pros to Using this Firmware
- LED coded diagnostic to simplify connecting and debugging
- USB console for advanced debugging and configuration changes
- Full text messages are streamed through the FrSky telemetry channel to reduce the chance of missing or misinterpreting MAVLink messages. This is very useful to resolve issues when you don't have a computer or telemetry based telemetry running. eg. Copter won't arm and you don't know why
- Compatible with many other telemetry scripts that use the FrSky defined telemetry properties. This does not mean that this is compatible with other telemetry projects that use custom telemetry extensions. Many other MAVLINK telemetry use FrSky properties such as RPM and temperatures to pass MAVLINK information. This is typically done differently in each project.
- Configurable averaging smooths values like current and voltage to provide a stable number on the telemetry displays
- Vibration analysis algorithm provides a clean vibration assessment. This is useful for analyzing damage in the field after a prop strike or hard landing
- Launch position accuracy. The GPS position is not sent to the Taranis until it is reasonably accurate using a configurable hdop threshold. This improves the precision of the home location since the first location received is considered home by the Taranis. After launch all positions are forwarded to the Taranis. This behavior is useful to find the copter in the event of a failsafe or crash landing.
- No dependency on the telemetry RX line
- You can disable MAVLink voltage and current monitoring and use the official FrSky power monitor. This is useful if you don't have an APM Power Monitor and need a solid plug and play solution for power monitoring.
- Supports X4R, X6R and X8R receivers

Cons
- You can't monitor each cell within the pack. This may be added in the future, but it adds many wires that need to be connected to each cell. If you are interested in monitoring each cell, checkout wolke's project. He has done a fantastic job showing how that can be setup.


Why would you do this?

One of the greatest features of an APM based system is it's ability to provide data to other devices using a protocol called MAVLink http://en.wikipedia.org/wiki/MAVLink. Most people know MAVLink as the protocol for sending telemetry information to OSD's and ground stations. For this project, we are going to intercept the MAVLink data and translate it to FrSky's telemetry protocol. FrSky's telemetry protocol is not public, but there is enough information available to simulate FrSky's sensor devices. In other words, the Taranis radio thinks it's receiving data from a FrSky sensor, but in reality, it is receiving data from the converter we are going to build that just simulates the FrSky sensor using MAVLink data.

This project incorporates many of the ideas in other projects such as the original http://diydrones.com/forum/topics/am...port-converter project by Rolf Blomgren. The wiring for this project is compatable so you can change the firmware to try others at any time. This project does not use the APM telemetry RX pin, so it's better suited for the resistor hack on the CX/Nova flight controller or OSD. This project will also never support 8 bit micros since the code is already too big for that processor. This project also adds some diagnostics to simplify setup.

Things That You'll Need

1) A Teensy 3.1. The Teensy is a tiny 32 bit microprocessor board that is extremely capable. I considered supporting 8 bit Arduino boards but was far to restricted by the limited code space. Here's a list of official distributors https://forum.pjrc.com/threads/23601...l-Distributors . Official Teensy 3.1 board are also available on ebay such as http://www.ebay.com/itm/Adafruit-Tee...item2593d1fa71

The Teensy 3.1 is programmed with a standard USB micro cable. No FTDI required.

2) A cable to connect the Telemetry TX pin from the APM to the Teensy 3.1. Just like OSD, you don't need to connect RX. We'll configure the APM to regularly send data packets. The wires will just be soldered to the Teensy RX. If you are using a CX/Nova flight controller, you can use the mod shown here https://www.rcgroups.com/forums/show...&postcount=428 . You only need the Yellow wire (connected to TX on the microprocessor). You can also connect GND but it's not important since the Teensy is grounded from the receiver.

3) A cable to connect the Teensy 3.1 to the receiver's SPort. This is just a standard servo connector. SPort is a single wire protocol so RX and TX are the same thing. The three wires are Data, VCC and GND.

4) Heat shrink or equivalent to protect the Teensy when it is mounted to the vehicle. I used the thin clear stuff so I can see the LED.

5) A micro USB cable to connect the Teensy to your computer for programming and configuring.

Programming the Teensy 3.1

Here's a link right to the loader program that you'll need to download https://www.pjrc.com/teensy/loader_vista.html . You just need to click the picture for the OS that you are using. (Windows, Mac, Linux, etc). The next page that will come up will show you how to download and run the loader. There is even a sample .hex file on that page that you can flash to the Teensy to verify that you know how to load firmware.

Once you have that going, just do the same procedure to flash the Teensy with the attached mavsky hex file. When the mavsky firmware runs, it will start flashing LED diagnostic codes immediately. Probably telling you that you need to hook it into your APM and receiver.

* One thing to remember: If you are following these steps in order, you haven't gotten to the first step in the next section "Cut the tiny VIN from VUSB trace". That's okay since the USB will supply power to the Teensy and it won't have to be connected to the copter to program. However, if you have already wired your Teensy to your receiver and have cut the trace, you'll need to power the Teensy from the receiver while you flash it. You can just put a battery in the copter or attach the copter's USB port while you are programming the Teensy.

If you are interested in compiling the source code you'll need to download the Arduino software and Teensyduino, then grab the source from github https://github.com/scottflys/mavsky

Preparing the Teensy



1) Cut the tiny VIN from VUSB trace on the back of the Teensy. This is a feature and is not wrecking your Teensy, it's designed for this. You can always put a blob of solder on the pads beside the trace later if you want it connected again, but cutting it is important to make sure USB 5V does not get connected to the Receiver VCC. Test that your cut broke the connection with an ohm meter or by powering the Teensy by USB and verifying that it's not powered

2) Prepare a 3 pin female connector for the SPort by cutting the wire at about 5 inches and tinning the wire. Make sure you are connecting to the SPort (SmartPort) and not the SBUS on the receiver.

3) Solder negative (-) to a Teensy GND pad

4) Solder positive (+) to the Vin pad

5) Solder the signal (S) to TX1 . The Teensy's serial chip is capable of transmit and receive on the TX line (single wire data)

6) Prepare a connector for the flight controller. The connector you are using depends on your existing configuration. The Teensy only needs to receive MAVLink so you just need to connect TX from the flight controller and GND. This is the same way MinimOSD is wired in, so you can google MinimOSD wiring for lots of information.
Basically,
a) If you are using a 3DR radio, you have to tap into the TX line from the flight controller going to the RX of the radio.
b) If you don't have telemetry already setup, you will have to connect TX and GND from the flight controller
c) If you have a CX-20 or Nova, you'll have to add a wire inside the flight controller (see resistor hack https://www.rcgroups.com/forums/show...&postcount=428). You only need a wire connected to the microprocessor TX side of telemetry and GND. (Pin 3 on the micro is TX and that is the yellow wire in the picture)

7) Wire GND from the flight controller to a GND pin on the Teensy

8) Wire the telemetry TX from the APM to RX2 on the Teensy

9) Apply the shrink wrap. If you are using clear you'll be able to see the LED, but if you use black you might to make a small hole to see the LED.

Programming the Taranis

The Taranis runs opensource software called OpenTX (http://www.open-tx.org/). OpenTX supports a programming language called Lua. It's a simple language that we are going to use to display the telemetry data on the Telemetry display of the Taranis. Lua is an interpretted language meaning that you don't need to compile it. You just have to copy the Lua files into the right place on the Taranis and your new Telemetry screen will be available. I tried to keep this project simple so that it's easier to understand and modify.

1) Install OpenTX Companion on your PC

2) In Settings->Settings->Radio Profile tab, make sure lua is selected. I have lua and noheli checked

3) Upgrade the firmware in your transmitter to the latest version of 2.0 firmware. Telemetry has changed significantly in OpenTX 2.1 and this project is not compatible with the OpenTX 2.1 yet. Read/Write->Write Firmware to Radio. Please see the OpenTX website for how to upgrade your firmware if you have an older version. Once you are on version 2.0 it's easy, you hold the trim buttons together and turn the radio on, but it's trickier to upgrade version 1. Please see http://open-txu.org/wp-content/uploa...bootloader.pdf

4) Once your Taranis firmware is up to date, to install the Lua telemetry scripts, you just have to start up your Taranis in bootloader mode (hold the two trim buttons and turn it on), then connect the USB port. The Taranis SD card should show up as a new Windows/Mac/Linux drive.

a) With Windows explorer, navigate to the Taranis SD card and change to a directory named \SCRIPTS. In this directory, create a new directory that has the exact same name as your model. i.e. \SCRIPTS\Nova for a model that is named Nova.

b) Copy the telemetry script(s) into the directory. The telemetry scripts are named telem1.lua, telem2.lua, etc.

c) Unplug USB and restart your radio

d) To get into the telemetry screen long-hold the Page button. To get to the second telemetry screen, short hold the Page button. You can use short-hold to cycle through all all telemetry screens including the stock screen. Long-hold cycles backwards.

Flight Controller Parameters

You'll need to tell the APM to automatically send MAVLink data out the serial port so it can get read by the Teensy. This is done the same way it's done for OSD if you aren't using full telemetry. With APM hardware, serial port 0 is used for telemetry. The parameters that control serial port 0 are SR0.

For APM running official Mission Planner firmware (i.e. 3.2), set the following parameters using Mission Planner. Use the Find function and search for SR0 to get them all to show up.

SR0_EXT_STAT: 3 ----- SYS_STATUS, MEMINFO, MISSION_CURRENT_GPS_RAW_INT, NAV_CONTROLLER_OUTPUT, LIMITS_STATUS
SR0_EXTRA1: 5 ----- ATTITUDE, SIMSTATE
SR0_EXTRA2: 2 ----- VFR_HUD
SR0_EXTRA3: 3 ----- AHRS, HWSTATUS, SYSTEM_TIME
SR0_PARAMS: 10 ----- PARAM_VALUE
SR0_POSITION: 3 ----- GLOBAL_POSITION_INT
SR0_RAW_CTRL: 0 ----- RC_CHANNELS_SCALED
SR0_RAW_SENS: 2 ----- RAW_IMU, SCALED_IMU2, SCALED_PRESSURE, SENSOR_OFFSETS
SR0_RC_CHAN: 3 ----- SERVO_OUTPUT_RAW, RC_CHANNELS_RAW

*** IMPORTANT *** I have noticed lately that I have had trouble writing the SR0_ values consistently. I think it's related so some flawed code that is trying to preset the SR0_ values in Mission Planner or Arducopter with APM which muxes the USB with Telemetry. The way I have consistently been able to set the SR0_ parameters correctly is:
1) Connect to the APM in Mission Planner
2) Click Config/Tuning->Full Parameter List
3) Click Find and enter SR0_
4) Change each value to 9 (value box turns green) and Write Params
5) Change the values as shown above (value box turns green) and Write Params
6) Reboot the APM and the correct values will be used by Arducopter

If you are using the modified version of the Arducopter firmware that supports two serial ports, USB is on SR0 and telemetry is on SR1 so change SR1_ parameters instead of SR0_

Testing

Before closing up the case, you should test to make sure telemetry is getting sent to the transmitter. You should also make sure you make any configuration changes. The default configuration will probably be all you need, but if for some reason you have special requirements, you may want to have access to the firmware configuration console through the Teensy's USB. You may even want to consider connecting the USB on the bottom of the copter to the Teensy so that you can modify parameters and upgrade the Teensy firmware without opening the copter. This makes more sense if you have full radio telemetry already running since in that case, the USB port on the bottom of the copter is only needed for upgrading Arducopter firmware.

1) Turn the transmitter on and long-press the Page button. This should show the first telemetry Lua script

2) Connect a battery to the copter.

3) Look at the LED on the Teensy. If it's a solid red, then data is correctly being passed to the FrSky telemetry channel. If the LED is flashing, you need to count the flashing to determine the numeric code. See the LED codes section for a summary of the diagnostic codes

4) You should now see telemetry data changing on the Transmitter telemetry screen. Stale data is displayed appears flashing on the telemetry screen. If this occurs, please check the LED for an error code, or use the Advanced Diagnostics

LED Diagnostic Codes

If the LED is flashing, count the number of flashes to determine a numeric code(s). The code is repeated continuously as long as the fault continues to exist. i.e. If the faults clear, the LED will be solid.

1 - No MAVLink data is being received (possible faulty connection to APM)
2 - No Telemetry packets are being requested (possible faulty connection to receiver)
3 - Missing MAVLink SYS_STATUS data. (Check APM Parameters)
4 - Missing MAVLink GPS data. (Check APM Parameters)
5 - Missing MAVLink VFR_HUD data. (Check APM Parameters)
6 - Missing MAVLink RAW_IMU data. (Check APM Parameters)
7 - Missing MAVLink ATTITUDE data. (Check APM Parameters)

Advanced Configuration and Diagnostics

The console can be accessed by a terminal emulator. Windows used to include HyperTerminal but doesn't anymore.

1) Plug the Teensy into a computer with a USB port.

2) Since the Teensy is not powered by the receiver, you'll have to connect a battery to the copter

3) The Teensy's COM port should show up in Windows Device Manager. If you don't see the Teensy's COM port, you may need a device driver. TeensyDuino ( https://www.pjrc.com/teensy/td_download.html ) will install one, then just replug the Teensy after the installation completes.

4) Start up a terminal emulator (Putty) and connect to the Teensy's COM port at 57,600 baud. If you are using Putty, click the Serial radio button, Type in the COM port name (i.e. COM5) an set the baud to 57600

5) Hit a few enter keys and you should notice a ] prompt

6) Type help<Enter> to see a list of diagnostic and configuration commands available

Notes About Console Commands

set hdop
This command sets the hdop threshold that is used to hold off sending the position data to the Taranis. The Taranis uses the first position received as the pilot's position, so it's better to wait until this value is somewhat accurate. The value defaults to "set hdop 5".
As an example, if you are able to consistently get an hdop of 2 or lower, you could set this to 2 by typing "set hdop 2".
You can also just type "set hdop" to get the currentlly set value.

dump
This command will dump out the most recent data in the converter

map gpsspeed
You can use this to change the speed value between km per hour and meters per second

map vfas
This sets what is sent to the vfas (battery voltage) value. You can send the direct battery measurement or averages over the past 10 or 50 samples. The averages make the display more stable than direct. It defaults to map vfas average10

map current
This sets what is sent to the current (battery current) value. You can send the direct current measurement or averages over the past 10 or 50 samples. The averages make the display more stable than direct. This defaults to map current average10

map t2
This sets what is mapped to t2 (temp2).

mav heartbeat
This is an example of one of the enabling one of the mav debug filters. After running this you'll see each heartbeat message on the console until you turn it back off. All debug filter commands are reset by restarting the Teensy. This prevents you from getting flooded with messages when you first connect

frsky vfas [enable|disable|
Use this to disable MAVLink voltage and current monitoring. This is useful if you are using an official FrSky VFAS.

factory
Puts all settings back to factory defaults

Included telemetry screens

There are currently three telemetry screen included in this.

a) telem1.lua
This is the screen with the big arrow in the center. Battery information is at the left, velocity, altitude, and distance is at the right. The GPS status is shown at the bottom.

i) The arrow in the center points in the direction that the copter is facing relative to you. It becomes much more useful when the copter far away and you can't see which way it is facing. A line points in the direction that the copter is moving relative to ground. This is not always the way the copter is facing (if you are flying sideways, etc) but is very useful information.

ii) The black bar at the bottom shows the last text status messages that was emitted from MAVLink. This is useful if you run into problems such as the copter not arming. Since this is an exact MAVLink text message it makes it much easier to troubleshoot any copter issues.

b) telem2.lua
This screen simply shows the last 5 log messages.

c) telem3.lua
This screen is a diagnostic screen which can help you sort out issues if you add or modify the existing lua scripts. The names of most Lua values is shown, in some cases a short form, along with the raw data value.

Other similar and somewhat compatible projects

Please also check out the excellent work at the following:
http://diydrones.com/forum/topics/am...port-converter
https://github.com/lvale/MavLink_FrSkySPort
https://github.com/wolkstein/MavLink_FrSkySPort ...

Version 1.1.1.1 Changes

This version updates the firmware from version 1.1.0 to 1.1.1. The telemetry scripts have not changed.

1) Added the ability to disable MAVLink voltage and current sources so you can use an official FrSky Power Monitor board. After flashing the firmware you'll need to connect to the console and run "frsky vfas disable". The setting is persistent.

2) Added the "factory" command

3) All console messages (see Advanced Configuration and Diagnostics) now use <CR><LF> instead of <CR> so the console works with the default Putty settings

4) Fixed issue where voltage and current were displayed as high values when no APM voltage and current monitoring was available. Now voltage and current show up as 0 if there is no APM power monitoring

Version 1.1.1.2 Changes (Lua only)

1) Added code to Lua scripts to initialize analog channels A2, A3 and A4. A2 is used for HDOP and this was being forced to 0.


Version 1.1.1.3 Changes (Lua only)

1) Fixed GUI issue on telem1 when HDOP was between 10 and 99 it was getting displayed incorrectly

2) Fixed display issue on telem3 so Lat and Lon positions at right do not wrap around to left of display


Version 1.1.2.0 Changes (Firmware only)

1) Ability to map HDOP through temp2 channel. Required for X4R receiver


Version 1.2.0.0 Changes (Firmware and lua)

1) Ability to map Armed status through temp2 channel.

2) Fixed the speed wrapping at 60km/hr (i.e. 73km/hr displays 13km/hr)

3) Fixed issue trying to display temp mapping through UI. The correct value is set, but it shows up as "unknown" when you try to view the mapping.


Future Enhancements

1) Ability to control auxiliary lighting.

2) Improved vibration analysis. Right now, the vibration values are calculated and displayed on the debug screen.

3) Beep when a text message is received from MAVLink

4) Any changes to support imperial and metric

5) An armed indicator

6) A diagnostic code in case the sport connector is accidentally connected into the receivers sbus
Last edited by ScottFlys; Dec 09, 2015 at 11:38 AM.
Sign up now
to remove ads between posts
Dec 02, 2014, 04:11 PM
Registered User
jaas75's Avatar
is there anyway you can port this for arduino?? i have a few arduino boards around and would love to use them.
theres also a guy who made a port for er9x and is using arduino, but upon asking he said it wont work on taranis.

if you can do this i would greatly apreciated
Dec 03, 2014, 04:58 PM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by jaas75
is there anyway you can port this for arduino?? i have a few arduino boards around and would love to use them.
theres also a guy who made a port for er9x and is using arduino, but upon asking he said it wont work on taranis.

if you can do this i would greatly apreciated
I originally intended to support the Pro Micro. I like the Arduino's but it was too much of a burden and too restrictive. Sorry I can 't help out.
Dec 03, 2014, 07:59 PM
Registered User
jaas75's Avatar
ok, thxs.
ill try the sketch of the guy who made it for er9x, do you think it can work also on taranis. i mean i dont see why would work on er9x and not in taranis.

anyways thanks a lot for developing this
Dec 04, 2014, 05:07 PM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by jaas75
ok, thxs.
ill try the sketch of the guy who made it for er9x, do you think it can work also on taranis. i mean i dont see why would work on er9x and not in taranis.

anyways thanks a lot for developing this
Thanks. It's motivating to know that someone else but me might use this some day

I don't know much about the er9x, but if you can put a recent version OpenTx on it, it should work with pretty well any Lua script. Let me know what projects/telemetry scripts you try and what you like. I'd like to make this project as compatible as possible so you could use any telemetry scripts with this firmware and still take advantage of the diagnostics and full mavlink text.
Dec 04, 2014, 09:50 PM
Registered User
jaas75's Avatar
ok ill give it a try, ill copy the sketch and let you know if it worked
Dec 10, 2014, 03:43 PM
Registered User
ScottFlys's Avatar
I just updated the zip file to version 1.1.0.1. The last digit shows that there is a change to the telemetry script(s) but the firmware is v1.1.0. The only change from the previous is that I added the distance to the telem1.lua screen. I also moved the satellite information in the bottom centre.

I'm hoping that this version will be stable for a while since it has most of everything that I intended for this project. I'm going to work on improving the documentation next, but please let me know if you find any bugs.

I'm also going to check compatibility with other Lua scripts and possibly make links to them. If you are using other Lua scripts let me know and I'll add a link above. If they don't work with this firmware, I would like to know so I can possibly make this firmware compatible with all of them.
Dec 10, 2014, 11:07 PM
Registered User
Thanks so much for this. I bought a Teensy 3.1 just for this purpose, but after reading the forums at diy.. I was a bit overwhelmed with the process. I also ordered a ftdi cable for the Teensy, is it needed for your project? Thanks again for simplifying this as I really needed a positioning arrow for my Nova.
Dec 11, 2014, 06:26 AM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by comtech104
Thanks so much for this. I bought a Teensy 3.1 just for this purpose, but after reading the forums at diy.. I was a bit overwhelmed with the process. I also ordered a ftdi cable for the Teensy, is it needed for your project? Thanks again for simplifying this as I really needed a positioning arrow for my Nova.
You're welcome. Questions like this help so I can improve the post. You don't need the FTDI cable for Teensy 3.1 since it has a standard micro usb connector on it. The usb is used to programming the Teensy and optionally accessing the console.

Good luck, and let me know how you make out or if you have any trouble along the way.

Scott
Dec 12, 2014, 04:03 AM
Registered User

super telemetry scripts


hi,
i like your scripts very mutch. telem1 looks very nice. but i have trouble with the heading arrow. first problem here is that taranis save pilot-lat&long to early. mavlink reported coordinates even if there is an good satellite fix. but taranis save the first coordinates to pilot-lat&long . and second, if you move your vehicle around, after powering you also have wrong pilot-lat&long. so maybe an better idea is to use the last coordinates before vehicle go into armed status as pilot-lat&long. this will give you more exact pilot-lat&long.

/g
wolke
Last edited by wolke; Dec 12, 2014 at 04:10 AM.
Dec 12, 2014, 06:20 AM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by wolke
hi,
i like your scripts very mutch. telem1 looks very nice. but i have trouble with the heading arrow. first problem here is that taranis save pilot-lat&long to early. mavlink reported coordinates even if there is an good satellite fix. but taranis save the first coordinates to pilot-lat&long . and second, if you move your vehicle around, after powering you also have wrong pilot-lat&long. so maybe an better idea is to use the last coordinates before vehicle go into armed status as pilot-lat&long. this will give you more exact pilot-lat&long.

/g
wolke
Thanks for trying it wolke.

The first coordinate is not sent to the Taranis until the hdop is below the threshold set by "set hdop". It defaults to 5 but you can lower it by typing "set hdop 2" for example. You can just type "set" to see the current value. This is stored in EEPROM.

Your idea of using the last coordinate when the vehicle goes into the armed state is excellent. I could do this in my telem scripts. It won't help telemetry scripts that others have written.

Please try lowering your hdop threshold "set hdop 2" or 3 to see if you think that is good enough. It's much easier to write maintainable code in the Teensy than in the Lua scripts. Also, I would like to have the firmware work as good as possible for people who are using other telemetry scripts.

Thank you again for your help and feedback!

Scott
Dec 12, 2014, 02:39 PM
Registered User
ok, thx
i got it.
is your MavLink_FrSkySPort code somewhere available. github?? and against which revision of GCS_MAVLink do you compile your teensy firmware?
Quote:
Your idea of using the last coordinate when the vehicle goes into the armed state is excellent.
i do this in my telemetry script. it works very precise. https://github.com/wolkstein/MavLink_FrSkySPort
but i especially like your arrow and also the good apm status message display. that why i ask this
learning from other people helps me to improve my work
Last edited by wolke; Dec 12, 2014 at 02:49 PM. Reason: to early on save button pressed
Dec 12, 2014, 03:49 PM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by wolke
ok, thx
i got it.
is your MavLink_FrSkySPort code somewhere available. github?? and against which revision of GCS_MAVLink do you compile your teensy firmware?

i do this in my telemetry script. it works very precise. https://github.com/wolkstein/MavLink_FrSkySPort
but i especially like your arrow and also the good apm status message display. that why i ask this
learning from other people helps me to improve my work
Hi Wolke,
I created the github account (scottflys) but I haven't pushed anything to it. I use git locally, but I want to follow protocol when I put something up in the public. I think what I have is almost ready to go... It should be before the end of the weekend.
Dec 13, 2014, 04:38 AM
Registered User
super
that is great. maybe it would be a cool idea to create an directory where different scripts can collected. than creators can try to ensure compatibility. this make it more easy for users. i noticed in past that users become trouble because so many different versions and also problems with different flightcontroller compatibility. my idea was to collect all this problems on github issues to try to create an modular firmware and makefile witch can hold everything together. and a small jenkins installation http://jenkins-ci.org/ can build user dependent firmware. for example if user select pixhawk+lipo-cell-monitor+opentx2.1 jenkins create the right hex file.
i know that this is a litte bit of work, but imo there are many people which are really interested on this telemetry project. so maybe an small dev community can work together on such a project.

/g
wolke
Dec 13, 2014, 06:49 AM
Registered User
ScottFlys's Avatar
Quote:
Originally Posted by wolke
super
that is great. maybe it would be a cool idea to create an directory where different scripts can collected. than creators can try to ensure compatibility. this make it more easy for users. i noticed in past that users become trouble because so many different versions and also problems with different flightcontroller compatibility. my idea was to collect all this problems on github issues to try to create an modular firmware and makefile witch can hold everything together. and a small jenkins installation http://jenkins-ci.org/ can build user dependent firmware. for example if user select pixhawk+lipo-cell-monitor+opentx2.1 jenkins create the right hex file.
i know that this is a litte bit of work, but imo there are many people which are really interested on this telemetry project. so maybe an small dev community can work together on such a project.

/g
wolke
Sorry, I had to rush that response out yesterday. In my previous reply's I didn't realize you created the wolkstein project that I linked to above. It is very nice to meet you and I am very impressed with your project. Thank you for connecting with me! I would like to work with you.

For the firmware, I was hoping that it could be done using settings in a command line interface instead of requiring separate builds. I'm not against doing separate builds if required though and I agree that separate builds would be be needed to support a different board than the Teensy.

I would be happy to add support for multiple cells in my firmware or anything else as a test to see if the command interface is powerful enough to handle any mapping or other configuration. This would also give us a chance to figure out how we could support different telemetry authors as you mentioned.

Regarding firmware support for different controllers, I had taken the passive approach that MinimOSD uses. I have timers in my firmware which trigger errors if the MAVLink data rate is too low. I was hoping that this would work well and also work the same way if people have OSD or 3DR Telemetry. Are you thinking of support for Naza or other non APM controllers? The only MAVLink controllers I have are APMs and a Pixhawk.

Thanks again, I'll be in touch after I get everything on github.

Scott

Thread Tools