dima8389,
Обычный дьюти цикл - 20/80. То есть каждую секунду 200 миллисекунд питание поаётся на приёмную часть и процессор активен. 800 миллисекунд - пониженное потребление. Проблема в том, что многие изготовители упрощённых приёмников для улучшения параметров энергосбережения так же "дёргают" и интерфейсную часть. При этом, естесственно, длинные посылки могут "обрываться". В то же время одна только посылаемая раз в 4 секунды (установка иГо, дефолтные установки приёмника зависят от производителя и обычно от 5 до 10 секунд) сентенция GGS может содержать более 60 символов
для каждого из видимых сателитов (не считая контрольной суммы). При всём желании такую "пачку" в упрощённых приёмниках протолкнуть в течении 200 миллисекунд не удасться. Тут уж либо скорость подымать, либо от трикла отказываться.
Проблема только в "бытовых" приёмниках, но зато - самая распространённая. Не зря в иГо-шку воткнули автоподъём скорости до максимума возможного - как раз пытались решить эту проблему. А 310-ых айпаках скорость стандартно зажата на 57600 - всё по той же причине.
Новая игошка просто стала слишком чуствительна к проблемам приёма данных с приёмника. Если 2006 "недосланные" пакеты просто игнорировала, то 8-ка пытается "восстановить нормальную связь". Отсюда и переинициализация порта, и "потеря" спутников (попытка переинициализации GPS-приёмника).
Добавлено спустя 6 минут 34 секунды:
dima8389 писал(а):Текущие координаты - 8 байт. Если очень постараться, можно сделать 16.
Мы про NMEA говорим?
$GPGGA,hhmmss.ss,llll.llll,a,yyyyy.yyyy,a,x,xx,xxxx.xxxx,xxxx.x,M,xxxx.x,M,xxxx.x,xxxx*hh
1 = UTC of Position
2 = Latitude
3 = N or S
4 = Longitude
5 = E or W
6 = GPS quality indicator (0=invalid; 1=GPS fix; 2=Diff. GPS fix)
7 = Number of satellites in use [not those in view]
8 = Horizontal dilution of position
9 = Antenna altitude above/below mean sea level (geoid)
10 = Meters (Antenna height unit)
11 = Geoidal separation (Diff. between WGS-84 earth ellipsoid and
mean sea level. -=geoid is below WGS-84 ellipsoid)
12 = Meters (Units of geoidal separation)
13 = Age in seconds since last update from diff. reference station
14 = Diff. reference station ID#
15 = Checksum