Hello all,
We have a septentrio GPS AsteRx-m2 GPS.
We are running ArduCopter master on our pixhawk 1.
The GPS is connected to SERIAL3.
The parameters are set as shown:
GPS_TYPE 10
GPS_INJECT_TO 0
SERIAL3_PROTOCOL 5
SERIAL3_BAUD 115
@mboland autoblend is turned off in their params, and only GPS 1 is enabled
@karthikdesai what firmware is this on? The first thing that comes to mind is that the config string sending from the autopilot is a bit finicky and there was a race condition with it at one point. This patch https://github.com/ArduPilot/ardupilot/commit/7d2b8b6bde38cae63c14c45565a2187549fd4d86 was applied in time for the Copter 3.5 branch. However it is something that I haven’t pinned down why it was needed yet, it was simply noted that it resolved the issue and needed more investigation.
Thanks for the reply @WickedShell
So we were running master 3.6 Dev version for starters. We were unlucky with this detection loop. We went ahead and tested it with 3.5.2 version and had a bit of luck. We got a lock (Not a RTK float neither, just DGPS ) and saw this on MP. But just this once.
So we tried with 3.6+Dev version on our pixhawk2.1 but was stuck in the loop again. I don’t know if the M2 got falsely configured, but on returning to 3.5.2, it was the same problem all over again. Yes it was a very random and we still not sure how it started to work on the first hand.
But as you said it seems very much like a race condition. You think increasing the delay is gonna help with this?
EDIT: What about the string that is sent at the beginning? any other combinations that could be tried? (WRT the blob itself)
I’d be curious if you downloaded the current boot config from the GPS (power it via USB only w/out letting the PH talk to it/configure it) and save that off. Then with 3.5.2 configured and the GPS getting detected if you copy the current configuration to boot configuration if that resolves your detect problem.
I’ve be curious what the two config files that produces looks like. At the moment my loaner M2 has been sent back, while I wait for the ones I purchased to arrive so I won’t be able to replicate with a M2 connected for a couple of weeks, although I think the config files can be read easily.
Hmm yeah i can give it a try tomorrow. But not really sure how to do it . We received this GPS this Monday so haven’t completely explored the software
But as i said, it being detected happens at random, but when it does, will get the boot config.
And you’re also getting one? awesome then we can get on the same page soon!
Yeah, I finished my test with a loaner unit and sent it back, and then shortly there after ordered some, so I will be getting more. Have you tried following the PDF from them on connecting/using the GPS with ArduPilot btw? Sorta obvious but it does talk you through how to copy/look at configs via RxControl.
Ah the ever evading PDF. Yes this wasn’t delivered to us but they sent it to us today close to closing hours so didn’t have time to read it yet. Will check it tomorrow and get back to you.
Thanks!
and ordered some? haha awesome
Interesting. Thanks for the reply. I often connect mission planner within seconds of powering the pixhawk and have never seen this problem. I haven’t upgraded to 3.5.2 yet. Not sure what firmeware I am running on the AsteRX. I’ll check when I get home.
I’m a bit confused by this. Is MP configured to be providing GPS injection on connect? I’ve had the GCS connected from the moment of boot on both M1/M2 with a variety of firmware’s and never had a problem. The only thing I can think of is that I wasn’t injecting data.
It makes no difference if MP is configured for injection or not.
My guess is that the parameter downloading thread messes up the timing of the GPS configuration blob or the timing of the autobaudrate.
Following your tip, I did increase the wait time to 4000ms
But it did not help
In any case I can reproduce this all the time, any time!
Waiting 15 seconds, gets it to work in ten out of ten attempts.
I’ll have to test with MP, but MP should be waiting on params to be broadcast before requesting them, which is what the GCS I use does as well. Have you pushed the param rate much higher/lower then the default of 10?