Собственно с самого начала было понятно что использование бытовых чипов не по прямому назначению - не более чем желание сэкономить. Практически все производители тем или иным образом запретили в своих прошивках выдачу сырых данных. Исключение - то что давно снято с производства. Но рассчитывать на то что эти устройства будут легкодоступны любому желающему не приходится, не так просто найти такое старье.
Так что третий сёрф с одним герцем - это единственный масспродукт, из которого можно что-то вытащить. Плюс он доступен юзерам от Калининграда до Чукотки.
Второй сёрф - что-то слишком много с ним проблем… Недавно прислали файлы с данными (уже в ринексе) от двух BT-308. Rinex выглядит нормально, один файл обрабатывается без проблем, второй файл не обрабатывается ни одной программой (пробовал RTKLib, GNSS Solutions, Topcon Tools). Скорее всего это связано с несинхронностью измерений: у вторых сёрфов они привязаны к внутренним часам, у третьего - к GPS-времени.
PS: с Sirf3 проблем уже нет, жду по почте BT-308, шлифую работу с Sirf2 до практического применения и, пожалуй, завязываю с исследованиями. Для авто считаю более перспективным Dead Reckoning, мне он принесет больше пользы
SirfStar-II и SirfStar-III бинарные данные имеют различия в представлении (и декдировании соответственно) не только для float и double, но и для integer и short integer (даже 1-байтовые данные представлены по разному - например MID-28 SincFlag).
Не дает этот сайт поместить кусок кода на СИ, что за херня?!
Посмотрите вышеуказанную страницу на ГЕОДЕЗИСТ.РУ - я там приведу кусок кода.
chnav ! Поправьте меня, если что не так. И еще: как интерпретировать биты из MID-28 SincFlag, не могу понять.
Думаю такой команды в гарминах нет.
Программа, что я выложил работает с гарминами по протоколу Garmin и с Сирфстарами по протоколу SirfStar.
В гарминах я искал перебором возможные варианты, но не нашел ничего подходящего.
Что интересно, в мануале на SirfStarIV не указано, что фаза вырезана. Кроме того, там появился MID 64 - NL messages, со всеми данными. Может, там ее включили обратно?
В прошивках той же версии на других навигаторах эти 2 байта обычно находятся по другим смещениям.
Вобщем, надо как-то проверить, фаза ли это.
В памяти есть область, 2688 байт - массив из 12 каналов, каждый - структура в 224 байта. Ответ mid28 целиком формируется из полей этой структуры, кроме carrier phase, которая обнуляется. Я пока поставил по смещению +0x54. Возможно, фаза находится по другому смещению, возможно ее там вообще нет.
Сама область памяти в разных прошивках находится по разным адресам. У меня - 0x60009ee0. Отдампить что-либо через mid131 мне не удалось.
PS: 1 раз случайно убил BT-821 кривой прошивкой. Для восстановления его можно перевести в internal boot mode подав 1 на TP11 при включении.
PPS: подскажите более подходящий форум