Is anyone doing this? I use DOSD for my on-screen display and I want to share the GPS strings between the two devices. I know with DOSD I can use pass-through mode and it will send the NMEA strings over the serial port, but with my APM connected to DOSD  i don't see anything. I have my DOSD serial port connected to soldered pins on the APM board GPS Port (Tx,Rx, GND).


I am wondering if I can pass the GPS strings from APM to DOSD GPS port instead.

Views: 463

Reply to This

Replies to This Discussion

Have you got DOSD passing the correct sentences.  It is capable of sending three types.

I was sending out RMC and GGA strings (mode 1) and also tried the GGA strings only (mode 2). Both with no success. APM is not even giving indication that it is waiting for GPS lock — the red LED was not at all lighting. 


I have my DOSD serial port connected to these pins on the APM board. I soldered leads to the Tx, Rx, GND.

Could it be my connections are incorrect? I've tried switching the Rx/TX pins, but still nothing. 

you should check your baud rates are matched up as well as tx vs rx signal polarity. also you can use the APM cli test "rawgps" test, or the "gps" test; to see if its receiving data and/or if its able to be interpreted by APM.

Darren, I am going to try that now. 

Ok, So I have tried just about everything... The DOSD recognizes the GPS fine. I swapped the serial tx/rx polarity several times, still the same result. I found out that the DOSD serial port is set to 115200 baud rate. Doesn't look like I can change that. I tried adding that rate in AP_GPS_Auto, but I still get gibberish out of the DOSD serial port in the CLI test. It looks the same as if I were to leave the GPS port open and not connected to anything.


I guess I will have to ditch DOSD for this project and use Remzibi...

If you gps is set to 115200, set serial 1 to match,


Use this in APM_Config.h

#define SERIAL1_BAUD        115200


and then modify this line in System.h under this heading "static void init_ardupilot()"

  Serial1.begin(38400, 128, 16);

change to:

 Serial1.begin(SERIAL1_BAUD, 128, 16);

This should hard set your gps port to 115200

Give that a go...

Thanks again, Darren.


I've made this change and uploaded via Arduino. I haven;t had any time to test it yet. I will hopefully get to give it a try tonight.

Reply to Discussion


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service