"Unexpected state 35" from AP_GPS_UBLOX.cpp

Hello guys,

I am getting the MSG: “Unexpected state 35” through telemetry, constantly in flight (several times per second).

I could trace it back to that line in the code:

The code handles this message as “everything is fine”. ( state.status = AP_GPS::GPS_OK_FIX_3D;)
But it breaks telemetry to the radio (yaapu script). Flight mode change to “Alt-Hold” worked.

Setup:
Pixhawk 2 “Cube”, ArduCopter 3.5.5
Drotek M8N Module

GPS related Parameters:

Name Val
GPS_AUTO_CONFIG 1
GPS_AUTO_SWITCH 0
GPS_BLEND_MASK 5
GPS_BLEND_TC 10
GPS_DELAY_MS 0
GPS_DELAY_MS2 0
GPS_GNSS_MODE 67
GPS_GNSS_MODE2 0
GPS_HDOP_GOOD 140
GPS_INJECT_TO 127
GPS_MIN_DGPS 100
GPS_MIN_ELEV -100
GPS_NAVFILTER 8
GPS_POS1_X 0
GPS_POS1_Y 0
GPS_POS1_Z 0
GPS_POS2_X 0
GPS_POS2_Y 0
GPS_POS2_Z 0
GPS_RATE_MS 100
GPS_RATE_MS2 200
GPS_RAW_DATA 0
GPS_SAVE_CFG 0
GPS_SBAS_MODE 1
GPS_SBP_LOGMASK -256
GPS_TYPE 2
GPS_TYPE2 0

What does state 35 mean?
How can I look into that issue further?
Is it safe to fly in Alt-Hold with this issue? (Changing the M8N Module would be no problem…)

Yesterday I had the same problem, also with an GPS from Drotek. How did you solve it?

I’d like to revive this thread. Fix type 4 is GPS dead reckoning and I am curious as to why we would dump out this message when this I believe is a perfectly sensible state. I have an uBLox F9R and am getting a similar output (state 33 in this case). I can submit a PR to remove this line (the message output), but would like to get an idea of why it was written this way in the first place?

Hello all,
I would like to revive this thread one more time. I have several ublox m8u and 9fr gps with deadreckoning, wich I think is a useful thing for ardupilot in case of temporal loss of satellites. I believe those new gps are not well supported but I also belive the changes needed to support them should not be many. In my case, sometimes the GPS works fine and got 3D fix, 3D dgps, or even RTK fix (with ntrip corrections from mission planner). However, sometimes I got the following:

The vehicle is shown on the map of the very spot it really is, but mission planner show “unexpected state 35” messages, 0 satellites in view, “no fix” and, interestingly, variable speed around 100 meters/second.

I am wondering if the gps could be configured using the u-center software in a way that the dead reckoning features are not used, so the states 33 or 35 are never reached, and making it compatible with ardupilot.
Any help will be much appreciated.
Thankyou in advance and regards!
Adolfo.

Which ArduCopter version are you using?
Ubox configuration will typically get overwritten by ardupilot, unless you set GPS_AUTOCONFIG to disabled.
Can you test this with ArduCopter 4.2.0-beta2 ?

Thankyou @amilcarlucas for your reply.
I have to apologise because I have been investigating further this issue and found that the problem was cause by interferences from a 4G/LTE USB modem that was only 10cm apart from the GPS antenna, not lack of support for this GPS by arudpilot.
Now, I get a fix with the GPS, only one problem remains: the “unexpected state 33” or 35 or 99 is shown, which I believe was the original concern of Fi156 when opened this thread. I have had a look to the source code and I understand that the new fix_type 4 (3DFIX+Dead reckoning according to the manual) of these M8u and F9r ublox gps is equivalent to a state of GPS_OK_FIX_3D, so that is not a problem other than the bothering message.
In any case, I haven’t found how to configure the ublox module to not to reach fix_type=4, which should be a way to get rid of the message.
Answering to your question, I am using rover 4.1.5, the vehicle is a mapping boat that I am building.
Thanks!
Adolfo.