Code Monkey home page Code Monkey logo

sheaivey / rx5808-pro-diversity Goto Github PK

View Code? Open in Web Editor NEW
565.0 104.0 246.0 19.72 MB

DIY project to create your own 5.8ghz FPV diversity basestation - based off the rx5808 receiver module. Project includes basic Arduino Nano implementation to advanced custom PCB board and introduction to digital switches 4066 chip.

Home Page: http://www.laforgefpv.com

License: MIT License

C++ 85.49% Processing 5.08% C 9.44%
drones quadcopters fpv rx5808 receiver video oled arduino diversity rssi

rx5808-pro-diversity's Introduction

Logo

Gitter chat

This project is a fork of rx5808-pro with support for diversity and much more.

Manufactured version of this project can be found at La Forge FPV

The code is also backward compatible with the original rx5808-pro schematic minus diversity, dip switch mode and TV_Out. For details on updating click here.

Table of Contents

  1. Releases
  2. Features
  3. Overview
  4. Hardware
  5. Firmware
  6. Contributing
  7. License

Releases

The latest release can be found here. Latest Releases

Features

  • User control - 3 Button navigation, up, down, select.
  • Manual Mode - Set channel manual
  • Search Mode - Search next channel based on RSSI
  • Band Scanner - Print spectrum of all 48 channels
  • Auto Save - Saves settings after a few seconds of inactivity.
  • Beeper - Acoustic feedback on important actions
  • RSSI Graph - Running history of RSSI readings.
  • Diversity - Receiver select and monitor.
  • Led Status - Power, button pressed, active antenna.
  • Race Band & L-Band - Total of 48 supported channels.
  • Backward Compatibility - Use this code with your existing setup.
  • OLED Display - Use a 128x64 OLED.
  • Setup Menu - Creating changing settings (RSSI Calibration).

Overview

Please watch the following video giving a detailed overview of the latest v2.0 release.

  1. Auto Scan - Scans all bands until a signal with good signal strength is found.
  2. Manual Mode - Will hold on a manually selected channel.
  3. Band Scanner - Scans all bands and presents them with a signal strength bar graph.
  4. Settings Menu - Saves last used channel and mode for next power cycle. This is also where you enter RSSI calibration mode.
    1. Calibrate RSSI - Calibrate the min and max RSSI values.

Initial Setup

When powering on for the first time it is best to calibrate your RSSI modules. No two modules have the same RSSI min and max readings. To calibrate follow these steps below. You can repeat this process as many times as needed.

  1. Go to the settings menu and follow the calibrate RSSI steps on the screen.

Hardware

Manufactured

If you are not looking to build your own hardware you can purchase manufactured versions from the following companies.

  1. La Forge FPV - VRX-PRO
  • Designed by Shea Ivey
  • All Current Hardware versions.
  1. Realacc - rx5808-pro-diversity
  • All current hardware versions.
  1. FuriousFPV - True-D
  • V2.0 and earlier

DIY

This project is centered around the RX5808 5.8GHz receiver module which can be found at a number of online stores. The original rx5808-pro schematic has been modified to incorporate the diversity setup. Additional LEDs have also been added to show the active receiver.

diversity simple schematic

For more information on specific hardware implementations:

  1. DIY Simple - Arduino Nano
  2. DIY Intermediate - Custom Board (T-Box)
  3. DIY Advanced - Custom Board
  4. OLED Version - Arduino Nano
  5. rx5808 SPI modification
  6. Voltage Monitoring

Firmware

The firmware is constantly being improved please refer to the release history for more detailed information on improvements. Release History

Contributing

Any contributions are welcome!

Please follow CONTRIBUTING.md for standard practices regarding this repo.

Recognition

  • SPI driver based on fs_skyrf_58g-main.c Written by Simon Chambers
  • TVOUT by Myles Metzel
  • Scanner by Johann Hermen (der-Frickler.net)
  • Initial 2 Button version by Peter (pete1990)
  • Refactored and GUI reworked by Marko Hoepken
  • Universal version my Marko Hoepken
  • Diversity Receiver Board and GUI improvements by Shea Ivey
  • Adding Race Band by Shea Ivey
  • Separating Display concerns for TVOut and OLED by Shea Ivey
  • Adding Setup Menu by Shea Ivey
  • DIY Throughole board and documentation. by RCDaddy
  • Voltage monitoring by kabturek
  • v2.0 Firmware Overhaul by @Knifa

License

Code

The code is distrubuted under the MIT license.

Logo

The logo is distributed under the Creative Commons Attribution 4.0 International license.

rx5808-pro-diversity's People

Contributors

asficas avatar badzz avatar duststorm avatar frankamp avatar hobojoe720 avatar jyesmith avatar kabturek avatar knifa avatar rcdaddy avatar redparchel avatar sheaivey avatar srwiez avatar tannewt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rx5808-pro-diversity's Issues

More channel table errors for raceband

There is already a bug report about the spi table error for raceband channel 5. The deviation leads to a huge frequency error in the RTC6715 frequenzy synthesizer (5967MHz set instead of the correct 5806MHz).

I am working on code to directly control the RitchWave RTC6715 circuit and checked my frequency calculation code against the spiValues table in this repository. It turns out that there are four additional errors in the raceband table that each result in a 2MHz frequency deviation. 2 MHz isn't that much, but it is better to be spot on than slightly off.

Current table:

const uint16_t channelTable[] PROGMEM = {
// Channel 1 - 8
0x2a05 ,0x299b ,0x2991 ,0x2987 ,0x291d ,0x2913 ,0x2909 ,0x289f ,
0x2903 ,0x290c ,0x2916 ,0x291f ,0x2989 ,0x2992 ,0x299c ,0x2a05 ,
0x2895 ,0x288b ,0x2881 ,0x2817 ,0x2a0f ,0x2a19 ,0x2a83 ,0x2a8d ,
0x2906 ,0x2910 ,0x291a ,0x2984 ,0x298e ,0x2998 ,0x2a02 ,0x2a0c ,
0x281d ,0x288f ,0x2902 ,0x2914 ,0x2978 ,0x2999 ,0x2a0c ,0x2a1e
}

Corrected table

const uint16_t channelTable[] PROGMEM = {
// Channel 1 - 8
0x2a05 ,0x299b ,0x2991 ,0x2987 ,0x291d ,0x2913 ,0x2909 ,0x289f ,
0x2903 ,0x290c ,0x2916 ,0x291f ,0x2989 ,0x2992 ,0x299c ,0x2a05 ,
0x2895 ,0x288b ,0x2881 ,0x2817 ,0x2a0f ,0x2a19 ,0x2a83 ,0x2a8d ,
0x2906 ,0x2910 ,0x291a ,0x2984 ,0x298e ,0x2998 ,0x2a02 ,0x2a0c ,
0x281d ,0x2890 ,0x2902 ,0x2915 ,0x2987 ,0x299a ,0x2a0c ,0x2a1f
}

rx5808 gets video signal but Arduino Nano does not display RSSI [Double checked connections]

I'm not getting RSSI signal with Arduino Nano.

-I know that rx5808 works because I connected to a analog monitor and see video.
-The [A6] pin on the Arduino, I believe it works fine because when I press the pin with my thumb, Arduino starts getting a reading, the harder I press, the higher the reading.

So I'm not sure if it's the rx5808 [rssi] that is not working.
I also tried with a NexWaveRF rx, gets video but no rssi, I found online where the rssi pin was for this rx.

Thumbs up! and small change in the contributors list.

Great to see how this project evolved!
Just build a minimum diversity groundstation out of the Banggood Fatshark Oled Module.

Could you please change my name in the list of contributors from Johann Hermen (should be Johannes anywhay ;-) ) to "der-Frickler.net" which is my alias for all the rc-modeling stuff.

Thanks a lot and go on!

Add pulldown resistor to RSSI.

In the event a receiver looses power or RSSI gets disconnected this will ensure there are no floating pins on the ATMEGA. This will make sure the other receiver fails over quickly.

rx5808 pro dual diversity with the nano

Hi everyone . Im an ex missile tech. ,and am building the receiver, rx5808 pro dual diversity with the nano .Can you guys connect me with build pictures? Ive been looking for two weeks and I cant seem to figure out the Git Hub .I got the boards from ohpark, have the nanos and all other parts . I want to build the model without the oled ,ill use a regular monitor . A picture of the top and bottom before and after the nano is installed . How long of extensions can the antennae connectors have on them for base station mounting before signal loss . When we first turn this on , do I need to paste and include some code into the arduino sketch library? All I read for directions were the parts list ,something about removing a part on each rx , and something about calibrating signal strength . There is code stuff all over but nothing seemingly directed at the nano version. It sure would be nice just to follow a recipe ,build the board , set up this ,do that, now you ready to go . Any help out there ?

Compile the project fail

Hi Sir
I have download the source code and add three libraries((Adafruit_GFX, Adafruit_SSD1306,libraries(rx5808-pro-diversity-master\src\libraries)) to the Arduino libraries folder,
When I compile the project, give below errors.

oled_128x64_adafruit_screens.cpp:47:6: error: #error ("Screen size incorrect, please fix Adafruit_SSD1306.h!");
oled_128x64_adafruit_screens.cpp:44: error: 'Adafruit_SSD1306' does not name a type
oled_128x64_adafruit_screens.cpp: In member function 'char screens::begin(const char_)':
oled_128x64_adafruit_screens.cpp:58: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:58: error: 'SSD1306_SWITCHCAPVCC' was not declared in this scope
oled_128x64_adafruit_screens.cpp:65: error: 'delay' was not declared in this scope
oled_128x64_adafruit_screens.cpp:70: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:71: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:88: error: 'A7' was not declared in this scope
oled_128x64_adafruit_screens.cpp:88: error: 'analogRead' was not declared in this scope
oled_128x64_adafruit_screens.cpp:95: error: 'strlen' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::reset()':
oled_128x64_adafruit_screens.cpp:104: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:107: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::flip()':
oled_128x64_adafruit_screens.cpp:111: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::drawTitleBox(const char_)':
oled_128x64_adafruit_screens.cpp:115: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:115: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:119: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:121: error: 'strlen' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::mainMenu(uint8_t)':
oled_128x64_adafruit_screens.cpp:130: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:130: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:132: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:143: error: 'A7' was not declared in this scope
oled_128x64_adafruit_screens.cpp:143: error: 'analogRead' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::seekMode(uint8_t)':
oled_128x64_adafruit_screens.cpp:168: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:168: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateSeekMode(uint8_t, uint8_t, uint8_t, uint8_t, uint16_t, uint8_t, bool)':
oled_128x64_adafruit_screens.cpp:201: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:201: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:201: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:239: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:239: error: 'map' was not declared in this scope
oled_128x64_adafruit_screens.cpp:241: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:242: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::bandScanMode(uint8_t)':
oled_128x64_adafruit_screens.cpp:286: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:292: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:295: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:295: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateBandScanMode(bool, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t, uint16_t)':
oled_128x64_adafruit_screens.cpp:310: error: 'map' was not declared in this scope
oled_128x64_adafruit_screens.cpp:311: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:314: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:315: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:324: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:324: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:326: error: 'HEX' was not declared in this scope
oled_128x64_adafruit_screens.cpp:340: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:340: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:343: error: 'DEC' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::screenSaver(uint8_t, uint8_t, uint16_t, const char_)':
oled_128x64_adafruit_screens.cpp:360: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:361: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:363: error: 'HEX' was not declared in this scope
oled_128x64_adafruit_screens.cpp:373: error: 'A7' was not declared in this scope
oled_128x64_adafruit_screens.cpp:373: error: 'analogRead' was not declared in this scope
oled_128x64_adafruit_screens.cpp:386: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateScreenSaver(char, uint8_t, uint8_t, uint8_t)':
oled_128x64_adafruit_screens.cpp:404: error: 'A7' was not declared in this scope
oled_128x64_adafruit_screens.cpp:404: error: 'analogRead' was not declared in this scope
oled_128x64_adafruit_screens.cpp:407: error: 'map' was not declared in this scope
oled_128x64_adafruit_screens.cpp:408: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:408: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:411: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:416: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:424: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:429: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:433: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:433: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:434: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:438: error: 'map' was not declared in this scope
oled_128x64_adafruit_screens.cpp:454: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:454: error: 'millis' was not declared in this scope
oled_128x64_adafruit_screens.cpp:454: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:454: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:459: error: 'A7' was not declared in this scope
oled_128x64_adafruit_screens.cpp:459: error: 'analogRead' was not declared in this scope
oled_128x64_adafruit_screens.cpp:460: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:460: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:463: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::diversity(uint8_t)':
oled_128x64_adafruit_screens.cpp:473: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:473: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:475: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateDiversity(char, uint8_t, uint8_t)':
oled_128x64_adafruit_screens.cpp:498: error: 'map' was not declared in this scope
oled_128x64_adafruit_screens.cpp:500: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:500: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:503: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:508: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:516: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:521: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateSetupMenu(uint8_t, bool, bool, const char_, char)':
oled_128x64_adafruit_screens.cpp:534: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:534: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:536: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::save(uint8_t, uint8_t, uint16_t, const char_)':
oled_128x64_adafruit_screens.cpp:586: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:586: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:632: error: 'DEC' was not declared in this scope
oled_128x64_adafruit_screens.cpp: In member function 'void screens::updateSave(const char_)':
oled_128x64_adafruit_screens.cpp:649: error: 'display' was not declared in this scope
oled_128x64_adafruit_screens.cpp:649: error: 'WHITE' was not declared in this scope
oled_128x64_adafruit_screens.cpp:649: error: 'BLACK' was not declared in this scope
oled_128x64_adafruit_screens.cpp:650: error: 'strlen' was not declared in this scope

I am a newbie with Arduino, and the version is Arduino 1.0.5-r2, could you please help me, Thanks.

qq 20160112121822

rx5808-pro-osd_diversity?

hi
i try to search something like rx5808-pro-osd_diversity for FATSHARK upgrade project...
but cant find nothing :(
any helps?
or how to do diversity for rx5808_pro_osd

RSSI problem

I made it single rx with OLED. I also comment out diversity mode but rssi strength not shown correctly. Calibration is done. rssi signal is moving to top when you move tx nearby about 5-10cm . I also try every kind of antennas. Any idea ?

Support for 2.4GHz video modules

Hello,
would it be possible to code support for RTC6711 IC's? They are also capable of SPI. Looked trough datasheets and SPI registers are of little different design. Not just different values as I expected. As you are familiar with RTC6715, can you decide if 6711 would fit in your project.
Thanks

Control module via Serial

Hi Guys

i'm looking to use these modules in a project i'm working on:
http://www.banggood.com/Realacc-RX5808-Open-Source-5_8G-40CH-Integrated-Receiver-with-OLED-Special-for-Fatshark-Goggles-p-1068200.html

I currently use TBS modules, and I can control them via serial (I have an arduino hooked up to tell them which channel to tune to) which talks via the channel updown pins on the module header

Do you know if it's possible to do that with the existing firmware, and if not, where i'd need to look at changing things in order to make this possible?

Cheers

Thomas

Noisy OSD Menu Screen

The problem is on a Banggood unit. Let me know if this is an inappropriate place to post.

I need some advice on troubleshooting a noisy OSD Menu screen after power on or switching from video to menu. It is an intermittent problem. The menu picture will clear up after a minute or so. Sometimes it switches just fine without noise. The noise appears as a scrambled picture of the menu with the menu showing up clear for a moment or so. Eventually it all clears up. It's annoying because of the wait. Thanks.

Separating display concerns from main project.

I am nearly complete removing display concerns from the main project and putting them into their own class.

Once this is complete there will be only one .ino project supporting both TVOut and OLED.
You will be able to choose which display you are using from the new settings.h file.

// Choose the display you will be using
#define OLED_128x64_ADAFRUIT_SCREENS
//#define TVOUT_SCREENS
// u8glib has performance issues.
//#define OLED_128x64_U8G_SCREENS

mistake?

change 780 string rx5808-pro-diversity.ino file
if (channelIndex > CHANNEL_MAX_INDEX) // negative overflow
to
if (channelIndex < CHANNEL_MIN_INDEX) // negative overflow

rx5808 dual diversity nano board

https://oshpark.com/shared_projects/Y2Zlih1f I have this board version , of the rx 5808 dual diversity receiver using the nano . I have contacted osh park , sheaivy ,patrick , pfriedel and the closet i got was a red board that had some things in common with my version but not the same build at all . I have the purple rx 5808 nano board version that I had to purchase 3 of , and Ive been putting a couple hours a day for 2 weks now into finding the correct build info , no luck . Can you guys find the correct build docs. for the osh park nano board and send me a link please . Im rather new to github and rc forum but someone else should be able to find this easier than me . Youd think osh park having sold me the boards from their shared projects would be able to connect me with a thousand other people but not yet .

char const

I get this error when compiling

rx5808oled.cpp.o: In function setup': /Users/chaz762/rx5808oled.ino:232: undefined reference toscreens::begin(char const_)'
rx5808oled.cpp.o: In function loop': /Users/chaz762/rx5808oled.ino:434: undefined reference toscreens::bandScanMode(unsigned char)'
/Users/chaz762/rx5808oled.ino:449: undefined reference to screens::seekMode(unsigned char)' /Users/chaz762/rx5808oled.ino:477: undefined reference toscreens::save(unsigned char, unsigned char, unsigned int, char const_)'
/Users/chaz762/rx5808oled.ino:499: undefined reference to screens::screenSaver(unsigned char, unsigned char, unsigned int, char const*)' /Users/chaz762/rx5808oled.ino:506: undefined reference toscreens::updateScreenSaver(char, unsigned char, unsigned char, unsigned char)'
/Users/chaz762/rx5808oled.ino:526: undefined reference to screens::diversity(unsigned char)' /Users/chaz762/rx5808oled.ino:531: undefined reference toscreens::updateDiversity(char, unsigned char, unsigned char)'
/Users/chaz762/rx5808oled.ino:671: undefined reference to screens::updateSeekMode(unsigned char, unsigned char, unsigned char, unsigned char, unsigned int, unsigned char, bool)' /Users/chaz762/rx5808oled.ino:704: undefined reference toscreens::updateBandScanMode(bool, unsigned char, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)'
/Users/chaz762/rx5808oled.ino:764: undefined reference to screens::setupMenu()' /Users/chaz762/rx5808oled.ino:768: undefined reference toscreens::updateSetupMenu(unsigned char, bool, bool, char const*, char)'
/Users/chaz762/rx5808oled.ino:329: undefined reference to screens::mainMenu(unsigned char)' rx5808oled.cpp.o: In function__static_initialization_and_destruction_0':
/Users/chaz762/rx5808oled.ino:52: undefined reference to `screens::screens()'
collect2: error: ld returned 1 exit status
Error compiling.
I'm a novice but it look like it has to do with the "call_sign" should that be define in setting.h?

ADD OSD

Can you add a OSD using the Minmosd ? would be cool to have the channel info inside my google :-)

Make sure when diversity is disconnected antenna A becomes the active antenna.

If you save your receiver to use antenna B and then remove the diversity module antenna B remains selected and there is now way to change to antenna A because the diversity menu no longer shows up.

Since we already detect if the diversity module is plugged in or not we should also enforce the default antenna A when diversity is not enabled.

i have some worng

(D:\Arduino\Lib\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp:389:6: error: prototype for 'void Adafruit_SSD1306::dim(boolean)' does not match any in class 'Adafruit_SSD1306'

void Adafruit_SSD1306::dim(boolean dim) {

  ^

In file included from D:\Arduino\Lib\libraries\Adafruit_SSD1306\Adafruit_SSD1306.cpp:28:0:

D:\Arduino\Lib\libraries\Adafruit_SSD1306\Adafruit_SSD1306.h:142:8: error: candidate is: void Adafruit_SSD1306::dim(uint8_t)

void dim(uint8_t contrast);

how to repair

im from china arduino Beginner

Can't compile for TVout

Hi,
this is the first time posting an issue so hopefully I explain myself in a way that works for everyone.
I've been trying to compile rx5808-pro-diversity for TVout for a couple of days on and off now and have had no success. I got the OLED version compiling (although I don't have a screen so I can't test it). I get warnings about use of memory but other than that all good. As for the TV out I have included the appropriate libraries (I think) but I get these

Error: unknown opcode `svprt'

for all of the macros in the asm_macros.h file (in TVout/spec). If I try to add #include "spec\asm_macros.h" I just get

Error: Macro `svprt' was already defined

I had been installing a bunch of other GCC libraries for other IDE's and I figured it was possible something got pointed to the wrong library so I ulgraded my arduino from 1.6.11 to 1.6.12 and still ended up with the same errors. I'm at a loss. Does anybody have any ideas?

Here is a complete listing of the errors I am getting. I can include the verbose version if someone thinks that would be usefull.

Thanks:)

Arduino: 1.6.12 (Windows 7), Board: "Arduino Nano, ATmega328"

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s: Assembler messages:

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:555: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:594: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:596: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:599: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:602: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:605: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:608: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:611: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:616: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:619: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:652: Error: unknown opcode `svprt'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:656: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:660: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:661: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:663: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:664: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:666: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:667: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:669: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:670: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:672: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:673: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:675: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:676: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:679: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:681: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:683: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:684: Error: unknown opcode `svprt'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:686: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:718: Error: unknown opcode `svprt'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:722: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:725: Error: unknown opcode `delay1'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:727: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:728: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:730: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:731: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:733: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:734: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:736: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:737: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:739: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:740: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:742: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:743: Error: unknown opcode `delay3'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:745: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:748: Error: unknown opcode `delay2'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:750: Error: unknown opcode `o1bs'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:751: Error: unknown opcode `svprt'

C:\Users\Tim\AppData\Local\Temp\ccGSXta1.s:753: Error: unknown opcode `o1bs'

lto-wrapper: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc returned 1 exit status

c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/bin/ld.exe: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino Nano.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Add the ne L-Band (5362 MHz to 5621 MHz)

Is it possible to add the new L-Band to use this new 48CH VTx

The new Band has the following channels:
5362 MHz 5399 MHz 5436 MHz 5473 MHz 5510 MHz 5547 MHz 5584 MHz 5621 MHz

unbenannt

Would be awesome, because then we have 16 raceband channels which are 37Mhz away from each other

How to update your firmware

I'd love to help out writing some documentation on 'How-To' guides for users to update their firmware on their devices. If anyone can give me a basic overview on what hardware & software is required I can very happily submit a PR to update the readme :)

Not enough memory

After compilation, a message appears:
"Not enough memory, the program may become unstable."
Is is likely unstable or you can ignore this warning?

Chip programer for boot loader

I just finished building mine (ordered your boards) and I programed a adruino mini the used my hot air station to desolder it and resolder onto new board and it worked like a champ.
if someone is trying to be cheap like me and has stuff laying around.
and Great work!!!!!!!!!!!!!!!! this thing is awesome. just now gonna stuff it into the banggood snowflakes monitor (two imputs #1 for GUI and #2 is no bluescreen input)
and You sell theese on ebay for lazy people who don't like to build stuff;-)

New L band

it is possible to implement this new band?

Frequency Band L
CH1:5362
CH2:5399
CH3:5436
CH4:5473
CH5:5510
CH6:5547
CH7:5584
CH8:5621

Start with last channel

Is it possible to let the module start/boot to the last Channel i was using in Manual Mode?
My module always starts on Band E Channel 1, but i always fly Raceband Channel 3.

channelTable error for raceband

I believe that there is a typo on the channel table for raceband - specifically channel c5.
The current value is 0x2978, however I believe this will be setting a frequency of 5967 Mhz rather than the 5806 that it is supposed to be. I believe that the correct value should be 0x2987.

Auto detect diversity module

This is for boards that allow plug & play diversity module.

If the module is not connected do not show the menu system for diversity.

Need to add code change for T-box v1.1

The atmega328p does not have pins A6 & A7 which are needed for RSSI. settings.h file will need to be updated. I will update my fork and send a pull request.

Favourites Channel List

What about adding a Favourites Channel List?

I have different Quads on different channels/bands and want to quick swap between them.

Would be great! =)

Need better docs

Really not finding anything concise and clear on how to wire and configure. I'd especially expect something at http://www.laforgefpv.com/, and would help a lot to have it at getfpv.com and your other vendors.

This video does a great job and finding it covered my need:
https://www.youtube.com/watch?v=lQWNvngk0uc
I have no affiliation with the video producer ... just a satisfied viewer.

Loving my LaForge, thanks!

cannot compile non-adafruit oled code with arduino 1.6.8

Hey im trying to compile the non adafruit display version and I keep getting this error, any advise?

"C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
Using previously compiled file: C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\TVOut_screens.cpp.o
Using previously compiled file: C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_adafruit_screens.cpp.o
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "-IC:\Users\Vlad\Documents\Arduino\libraries\U8glib\src" "-IC:\Users\Vlad\Documents\Arduino\libraries\TVout" "-IC:\Users\Vlad\Documents\Arduino\libraries\TVoutfonts" "C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp" -o "C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp.o"
oled_128x64_u8g_screens.cpp:53: error: prototype for 'char screens::begin()' does not match any in class 'screens'

char screens::begin() {

  ^

In file included from C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp:39:0:

screens.h:50: error: candidate is: char screens::begin(const char*)

     char begin(const char *call_sign);

          ^

oled_128x64_u8g_screens.cpp:116: error: prototype for 'void screens::updateSeekMode(uint8_t, uint8_t, uint8_t, uint8_t, uint16_t, bool)' does not match any in class 'screens'

void screens::updateSeekMode(uint8_t state, uint8_t channelIndex, uint8_t channel, uint8_t rssi, uint16_t channelFrequency, bool locked) {

  ^

In file included from C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp:39:0:

screens.h:58: error: candidate is: void screens::updateSeekMode(uint8_t, uint8_t, uint8_t, uint8_t, uint16_t, uint8_t, bool)

     void updateSeekMode(uint8_t state, uint8_t channelIndex, uint8_t channel, uint8_t rssi, uint16_t channelFrequency, uint8_t rssi_seek_threshold, bool locked); // seek and manual mode

          ^

C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp: In member function 'void screens::updateBandScanMode(bool, uint8_t, uint8_t, uint8_t, uint16_t, uint16_t, uint16_t)':

oled_128x64_u8g_screens.cpp:135: error: 'SCANNER_LIST_X_POS' was not declared in this scope

 static uint8_t writePos=SCANNER_LIST_X_POS;

                         ^

C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp: At global scope:

oled_128x64_u8g_screens.cpp:139: error: prototype for 'void screens::screenSaver(uint8_t, uint16_t)' does not match any in class 'screens'

void screens::screenSaver(uint8_t channelName, uint16_t channelFrequency) {

  ^

In file included from C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp:39:0:

screens.h:66: error: candidates are: void screens::screenSaver(uint8_t, uint8_t, uint16_t, const char*)

     void screenSaver(uint8_t diversity_mode, uint8_t channelName, uint16_t channelFrequency, const char *call_sign);

          ^

screens.h:65: error: void screens::screenSaver(uint8_t, uint16_t, const char*)

     void screenSaver(uint8_t channelName, uint16_t channelFrequency, const char *call_sign);

          ^

oled_128x64_u8g_screens.cpp:142: error: prototype for 'void screens::screenSaver(uint8_t, uint8_t, uint16_t)' does not match any in class 'screens'

void screens::screenSaver(uint8_t diversity_mode, uint8_t channelName, uint16_t channelFrequency) {

  ^

In file included from C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp:39:0:

screens.h:66: error: candidates are: void screens::screenSaver(uint8_t, uint8_t, uint16_t, const char*)

     void screenSaver(uint8_t diversity_mode, uint8_t channelName, uint16_t channelFrequency, const char *call_sign);

          ^

screens.h:65: error: void screens::screenSaver(uint8_t, uint16_t, const char*)

     void screenSaver(uint8_t channelName, uint16_t channelFrequency, const char *call_sign);

          ^

oled_128x64_u8g_screens.cpp:163: error: prototype for 'void screens::save(uint8_t, uint8_t, uint16_t)' does not match any in class 'screens'

void screens::save(uint8_t mode, uint8_t channelIndex, uint16_t channelFrequency) {

  ^

In file included from C:\Users\Vlad\AppData\Local\Temp\build63c49c85898a371be4a35fbd0f3cefff.tmp\sketch\oled_128x64_u8g_screens.cpp:39:0:

screens.h:79: error: candidate is: void screens::save(uint8_t, uint8_t, uint16_t, const char*)

     void save(uint8_t mode, uint8_t channelIndex, uint16_t channelFrequency, const char *call_sign);

          ^

Using library EEPROM at version 2.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
Using library U8glib at version 1.19.1 in folder: C:\Users\Vlad\Documents\Arduino\libraries\U8glib
Using library TVout at version 1.0.1 in folder: C:\Users\Vlad\Documents\Arduino\libraries\TVout
Using library TVoutfonts in folder: C:\Users\Vlad\Documents\Arduino\libraries\TVoutfonts (legacy)
exit status 1
prototype for 'char screens::begin()' does not match any in class 'screens'
bug

Recovery after failed flash

Sorry this is probably not the right place to ask ..but

I bought the built verion of this, and had a power failure while uploading the hex firmlware file, and now the board will not boot, and i can't seem to reflash it either.

Is there a jumper or method to recover and be able to reflesh the firmware, or am i good to buy another one ?

Thanks for your time !
Robert

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.