Цитата(alex2103 @ Oct 23 2017, 18:45)

За $PMTK352,1*2B - браво. Во всех даташитах CRC в примерах PMTK352 указана неверно.
Ну, так скажем, не во всех.
К примеру, у u-blox
Цитата(NMEA Manual based on MediaTek chipset For u-blox, Fastrax IT500 series GPS/GNSS modules )
2.31 PMTK352 API SET STOP QZSS
Command purpose:
Since QZSS is a regional positioning service, the command allows the user to enable or disable the QZSS
function.
Default is to disable the QZSS function.
Command number: 352
DataField:
PMTK352,Enabled
Enabled: ‘0’: Enable
‘1’: Disable
Example:
$PMTK352,0*2A : Enable QZSS
$PMTK352,1*2B : Disable QZSS
Reply:
$PMTK001,352,3*34<CR><LF>
This message applies only for MT333X based receivers IT530, IT530M, UC530 and UC530M.
У меня, вобщем то, NMEA CRC считается автоматом, поэтому мне до лампочки, что там по даташиту.
Если не читать секцию "Example" у SIMCOM, то все остальное там верно:
команда называется PMTK_API_SET_
STOP_QZSS,
при параметре TRUE (1), QZSS вполне логично будет отключаться.
Я до этого додумался еще до рекомендаций MTK и SIMCOM.... Вот только модуль, видать, упорно не хотел отрубать QZSS!
Цитата(Цырен. @ Oct 23 2017, 13:25)

- Решение №2: ввести алгоритм отключения QZSS в навигационных рассчетах.
Нужно подать команду $PMTK352,1*2B (не 2A!!!) при старте. Перезагружать модуль не нужно. Эта команда сохраняется в VRTC RAM, если ножка vbackup все время запитана. Если vbackup не запитана, то команду надо подавать при каждом включении приемника. Ответ модуля на команду «$PMTK001,352,3*34» говорит об успешном отключении QZSS. Способа проверки включен ли QZSS в навигационных рассчетах или нет не существует.
Перед тем как подать команду $PMTK352,1*2B важно удалить старый альманах из памяти приемника. Удаление альманаха достаточно провести один раз, далее – подаем только $PMTK352,1*2B. Альманах хранится в VRTC RAM, поэтому его можно удалить, сняв питание с ножки vbackup или подав команду $PMTK104*37, если vbackup все время запитан.
К сожалению. это решение - тоже не решение.... Модуль живет своей жизнью...
Замечено, что модуль не всегда отрабатывает команды инициализации.
Алгоритм вроде верный:
Код
вкл. питания модуля.
ждем 2200 мс
ищем NMEA (определяем скорость)
while (инициализация)
{
посылаем следующую команду инициализации
ждем ответ "$PMTK001,..." 3000 мс
}
горячий рестарт
прием координат
Таким образом, понять, выполнена ли инициализация модуля - невозможно!
Возможно, модуль в каких-то случаях отвечает ""$PMTK001,Cmd,2" (2= Valid command / packet, but action failed), состояние не контролируется...
Ответа по этому поводу жду 2 недели....
Плясать с бубном больше не могу - бубен сломался!