forked from kwikius/mavlink_to_frsky
-
Notifications
You must be signed in to change notification settings - Fork 0
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
macfly1202/mavlink_to_frsky
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 --------------------------------------------------------------
About
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)
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 81.8%
- C++ 17.3%
- Other 0.9%