Giter Club home page Giter Club logo

redocjack / mavlink_to_frsky Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kwikius/mavlink_to_frsky

0.0 0.0 0.0 1.65 MB

Arduino application using Arduino mini/micro/nano to tap Mavlink protocol from Arduplane and send it out to FrSky RC telemetry receiver for my quantracker antenna tracker project. (supercedes the original STM32f4 version)

License: GNU General Public License v3.0

C++ 4.40% C 88.23% Objective-C 6.63% Makefile 0.09% Assembly 0.65%

mavlink_to_frsky's Introduction

A board to read data from the Ardupilot using Mavlink protocol and 
convert it into a lightweight data protocol for the FrSky Telemetry RC receiver for my Antenna tracker project.

See more about the project at http://www.zoomworks.org/fpv/antenna_tracker/index.html .

The code is available under the GNU GPL license http://www.gnu.org/licenses/gpl.txt

** History **
I have now updated the code to version V1.0

The recommended version is now the arduino version (in the arduino subdirectory). 
This version uses the 5 V 16 MHz Arduino Nano, Arduino Micro or Arduino Pro mini boards, which are available quite cheaply and
reduce costs and simplify building the airborne side of the Antenan Tracker project.

** Pin Connections **

If there is no other equipment connected to the Ardupilot telemetry Rx pin then the Arduino TX pin
goes to the telemetry RX pin on the Ardupilot (the same as the MinimOSD), otherwise leave this unconnected 
else it will conflict with  the other equipment.

If other equipment is connected to the Ardupilot telemetry port then the following will have to be tee'ed to those connections.
The Arduino  RX goes to the mavlink TX on the Ardupilot (the same as the MinimOSD)
Arduino GND  goes to GND on the Ardupilot (the same as the MinimOSD)

PIN 9 of the Arduino is the Serial output of Telemetry data to the RC Receiver.
N.B.  FrSky receivers want an inverted TTL signal which is done in software, so for connection to the telemetry RX input of
an FrSky receiver, you should connect the Arduino pin 2 to GND ( e.g by soldering or using a jumper).

The device has also been tested with the OpenLRSNG RC system. For those ( and other TTL serial) receivers then leave pin 2 unconnected 
and the serial output will not be inverted. 
Note that most OpenLRS  receiver boards run on 3.3 v so the output of arduino pin 9 should be level translated.
One way to do this is to connect the anode of a red led (, which has a voltage drop odf about 1.8 V)to the Arduino Pin 9 
and connect a 470 ohm to 10 k ohm resistor from the LED cathode to ground. The output to the OpenLRS RX input should be taken at the
LED cathode where the LED and resistor join. A high on the arduino pin should have a voltage at the LED cathode of about 3.2 V. 
(The actual value of the resistor is not critical. A lower value will mean the LED lights up more so you can see the data flow,
but uses more power. The voltage drops slightly as the resistor value gets lower, but not much.)


---------------------Notes on the original STM32F4 version------------------------------------------------------------

You may wish to try the Application first using the stm32f4 Discovery board.

Since some pins are already taken on the Discovery Board a different set of pins is used,
The discovery_main.bin file (https://github.com/kwikius/mavlink_to_frsky/blob/master/discovery_main.bin)
is prebuilt for the Discovery board, 
while the target_main.bin file  (https://github.com/kwikius/mavlink_to_frsky/blob/master/target_main.bin) 
is prebuilt for flashing the target board. 

See "resources.hpp" (https://github.com/kwikius/mavlink_to_frsky/blob/master/resources.hpp)
for the pins used for each version
---------------------------------------------------------------------------------
To build the Discovery version either use "make Discovery" on the command line or see "config.hpp" for #defines
To build the version for the target use "make" with no arguments on the command line or see "config.hpp" for #defines

To build the application requires the following prerequisites.
( You will need to modify the MakeFile (https://github.com/kwikius/mavlink_to_frsky/blob/master/Makefile)
to the paths where you have installed these components )

	***C++ compiler for ARM which conforms to the C++11 standard. ***
	(N.B.Only tested on gcc4.7,gcc4.7.1,gcc4.7.2. If you test another compiler please report any issues) 

		https://launchpad.net/gcc-arm-embedded

			Select gcc4.7

		or
		
		https://github.com/prattmic/arm-cortex-m4-hardfloat-toolchain

			(You will need to modify the Makefile to enable C++)

		or

		https://github.com/esden/summon-arm-toolchain

			(Not tested by me)


	***STM32F4 standard peripherals library***
	
		http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f4_dsp_stdperiph_lib.zip

	***quan physical quantities library***

		https://github.com/kwikius/quan-trunk

	***Mavlink protocol library***

		https://github.com/mavlink/mavlink/downloads
	
--------------------------------------------------------------






mavlink_to_frsky's People

Contributors

kwikius avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.