I recently bought a NAVIO+ and am in the process of trying to get it setup.
I am having trouble getting the telemetry working. I can connect using TOWER from my Android tablet via UDP.
However, I cannot seem to get connected to my laptop via either UDP or the telemetry radios.
I have connected the telemetry radio to the PC via USB and have tried both UART and USB on the NAVIO+. I am starting APM using either:
sudo ArduCopter -A udp:##.##.##.##:14550
sudo ArduCopter -A /dev/ttyUSB0
sudo ArduCopter -A /dev/ttyAMA0
Connecting from MissionPlanner times out. I have tried the USB telemetry radio in all of the USB slots. When connected to the UART on the NAVIO+ the telemetry radio LED stays red and the PC connected radio LED flashes green. When connected via USB both turn green suggestion a bind with additional red LEDs flashing suggesting comms.
When I run with -A directed to /dev/tty#### using the telemetry radios the RPI repeatedly prints the following message to the screen:
read failed - Success
Any help would be appreciated.
Option -A refers to the first serial port in Ardupilot. If you use it with UDP the baudrate does not matter, but if you use the telemetry radio, you have to set the correct baudrate with the GCS software of your choice. Usually 57600 baud. Default is 115200 baud for serial1.
You could also use option -C with the telemetry radio. This is the third serial port in Ardupilot and it is set to 57600 baud by default.
Thanks. Thought I had already tried telemetry on -C but just tried it using USB and it works! I had previously tried -C -> ttyAMA0.
However, telemetry still doesn’t work connected to the UART port on the NAVIO+. When I connect the cable the LED stays red rather than turning green as when using USB. I am assuming this means it isn’t working / binding.
Any ideas what could be wrong with the UART connection?
Again, starting APM with telemetry on -C /dev/tty/AMA0
Now that you mention it, I had problems using ttyAMA0 with Ardupilot -C option, too. I did no further error hunt, because I was going to use mavproxy on my copter anyways. With mavproxy and --out=/dev/ttyAMA0,57600 it works without a problem.
Perhaps we found a bug?
@shaun, @schuermannsebastian We are here trying to reproduce what you are experiencing and everything seems to work, looks like we might need your help to break it
Starting with both options works equally good:
What we did, using mission planner set the baud rates of Serial0 (-A) and Serial1 (-C) to 115200(you need to set it to the baud rate of your radio). Also, if you have a 3DR radio, you can check or change the baud rate using APM Planner.
Without the / bettween tty and AMA0, I guess?
Serial0 (-A) is already set to 115200
Serial1 (-C) is set to 57600
These are the defaults by the looks of it. Telemetry works fine if I direct -C to /dev/ttyUSB0. Doesn’t work if I try to direct -C to /dev/ttyAMA0.
I am just trying an external GPS / Compass via UART using (I don’t have a GPS antenna at the moment so wanted to try to hook up the external GPS) using:
This also does not seem to pickup the GPS via the UART port. Mission Planner shows GPS: No fix and gps_status=1.
Is there any way to run any diagnostics of what is happening via the UART port to check how this is working?
Also, I don’t see any logs in /var/APM/logs. Should there be logs generated?
You are using our SD card image, right?
GPS: No fix and gps_status=1
Means that GPS is connected, but it does not have a satellite lock.
Can you connect to your radios using APM Planner and check the baud rate settings?
Yes I am using your SD card image. Downloaded from the link on this page:
In MP the baud rates appear to be defined as in the above post:
Serial0 (-A) is already set to 115200
Serial1 (-C) is set to 57600
Also, I meant to add that when connected to the UART the telemetry radio LED stays red.
When connected via the USB port it goes green straight away, the same as the module connected to my PC. I am guessing this indicates a successful bind?
When I start ArduCopter-quad the console outputs continually read failed - Success.
I have checked the continuity of the cable I am using and all the connections appear to be good.
Any way I can output additional diagnostics about the UART port or status of the connected device or ttyAMA0?
I am new to APM and have relatively basic knowledge of Linux / Raspberry PI, so any help appreciated.
Could it be a mismatch in the mapping between UART pins and telemetry pins? I know 5V and Ground are OK. Can you confirm the mapping for the remaining pins?
Navio+ UART - Telemetry Radio
5V - 5V
TX - RX
RX - TX
1018 - CTS
1017 - RTS
GND - GND
You can ignore:
read failed - Success.
It is meaningless and will be removed in the next build.
Your pin mapping is correct.
Except for baud rates settings of APM, there are also baud rate setting of the radios themselves. Could you connect the radio to the Planner as shown here and check that both radios are configured to 57600?
Yes that appears to be the case (radio connected via USB). See screenshot .
When connected to UART radio on PC LED flashes green and radio on NAVIO stays solid red.
When connected to UART see second screenshot.
Shaun, could you please write a bit more detailed how everything is connected in two tests?
Sorry, screenshots seem to have got mixed up.
Test 1 (Min Freq. and Max Freq. match on both sides) - telemetry radio connected to PC USB and RPi USB. Both have solid green lights. Telemetry works as expected.
Test 2 (Min Freq. and Max Freq. do not match on both sides) - telemetry radio connected to PC USB and NAVIO+ radio connected to NAVIO+ UART port. PC radio LED flashing green, NAVIO radio LED solid red.
If I swap the radios around I get the same behaviour suggesting its not an issue with one of the radios / 6pin connector on one radio.
Does that help?
Could this be a power issue? Do you provide power over USB?
Red LED solid – means that radio is in firmware update mode, which is really strange.
Could a 6-pin cable be defective?
Yes I am using power over USB from the PC. I have just powered from RPi power supply and get the same thing.
I have checked the continuity of the UART cable I am using and it appeared to have good connections.
Could it be the UART connector on the NAVIO+? The external GPS was also not being picked up via the UART connector (or at last it was indicating no GPS Fix in MP).
To check if UART is functioning, you can short RX and TX on Navio+ and run:
Now type any symbols and you should be getting them back as an echo.
That worked fine (using the same cable I am using to plug into the telemetry radio).