Servers by jDrones

Master branch serial issues?


(jimovonz) #1

Anyone else having problems with the Pixhawk serial ports in the latest master? I can connect to telem1/2 no problem in Rover 3.4 and earlier but just get garbage in master


(Amilcar Lucas) #2

I have tracked a similar issue on Nuttx Master builds. I used bisect to find out how to solve it.
But the problem is not visible in ChibiOS builds. What OS are you using?


(Amilcar Lucas) #3

BTW try master from 2018-06-25… that one worked for me.


(jimovonz) #4

I’m using Nuttx, will try the version you referenced. No Github issue logged yet?


(Kazumoto Kojima) #5

I have a similar issue with telemetry. Does the patch below help? It works for me.

diff --git a/libraries/AP_SerialManager/AP_SerialManager.cpp b/libraries/AP_SerialManager/AP_SerialManager.cpp
index 2cc863f..05a69d8 100644
--- a/libraries/AP_SerialManager/AP_SerialManager.cpp
+++ b/libraries/AP_SerialManager/AP_SerialManager.cpp
@@ -316,7 +316,7 @@ uint32_t AP_SerialManager::find_baudrate(enum SerialProtocol protocol, uint8_t i
     if (_state == nullptr) {
         return 0;
     }
-    return _state->baud;
+    return map_baudrate(_state->baud);
 }
 
 // get_mavlink_channel - provides the mavlink channel associated with a given protocol

(jimovonz) #6

I saw this commit and tried both before and after versions with no luck


(Amilcar Lucas) #7

I opened an issue https://github.com/ArduPilot/ardupilot/issues/8890
Please try if reverting that particular commit also fixes your issue.


(jimovonz) #8

Amilcarlucas, yes this is the cause of my issues also. I have commented regarding this in the issue you opened. I think that the issue title you have used may be a bit too specific to gain the attention it deserves? Looking at the code, the problem affects all serial ports except hal.console (USB). I am not sure exactly what the effect of clearing the buffers is on the ports at this point but I can not decode anything coming out at any common baud rate - though I can see something coming out of the port… Perhaps the signal is inverted?