CCAZE31 / ardupilot-mega

Automatically exported from code.google.com/p/ardupilot-mega
0 stars 0 forks source link

When GPS_PROTOCOL defined to MTK16 instead of AUTO APM must be reset otherwise doesn't get lock and wont communicate with GPS #700

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
1. In config.h rewrite GPS_PROTOCOL_AUTO to GPS_PROTOCOL_MTK16 (just to save 
space room for another code when using APM1)
2. build and upload to APM1
3. power on the APM1 with attached Mediatek GPS on the field
4. APM1 will not get GPS lock even if the blue LED on GPS module is solid
5. pusch reset btn on APM1/oilpan - APM after boot will get the GPS lock

In my opinion when GPS_PROTOCOL_AUTO is used it will take more time to 
initialize communication with GPS after boot or some special extra strings are 
sent to GPS that GPS can start communication with APM.
When GPS_PROTOCOL_MTK16 is used it will start communication with GPS directly 
and there is problem.
In AP_GPS_Auto::init there is nothing - see comment // Do nothing at init time 
- it may be too early to try detecting the GPS
In AP_GPS_MTK16::init there is direct initialization code to GPS and this seems 
to be a problem

This issue I noticed on AP 2.0.39 but also on AC and it persist even on AP 2.5.

Using GPS_PROTOCOL_MTK16 wil save lot of space for another code - this could be 
effort when using APM1 1280 which has problems memory space with last versions 
of AC and AP.

Original issue reported on code.google.com by lospal...@gmail.com on 2 Aug 2012 at 6:48

GoogleCodeExporter commented 8 years ago
I've reproduced the problem, and fixed it for the next release (will be fixed 
in 2.62)

Original comment by tridg...@gmail.com on 12 Sep 2012 at 5:19