Пока в отпуске, расковырял прошивку своего BT-821 на sirf-3 и вытащил что-то, отдаленно напоминающее фазу.
Прошивка там GSW3.2.4_3.1.00.12-SDK003P1.00a.bin
Меняются 2 байта:
--- BT821-GSW3.2.4_3.1.00.12-SDK003P1.00a.bin.txt 2011-07-07 07:35:42.946977900 +0400
+++ 16a8_BT821-GSW3.2.4_3.1.00.12-SDK003P1.00a.bin.txt 2011-07-07 07:35:21.352536900 +0400
@@ -5200,7 +5200,7 @@
014500 2c fa c0 35 28 79 20 72 28 79 00 28 33 d0 26 70
014510 01 98 01 ae 60 60 30 1c 80 30 41 69 80 69 20 61
014520 e1 60 05 a9 03 c9 60 61 a1 61 07 a9 03 c9 50 f0
-014530 0f fb e0 61 a6 a0 01 68 40 68 2a 22 60 62 21 62
+014530 0f fb e0 61 16 a8 01 68 40 68 2a 22 60 62 21 62
014540 31 1c a0 31 08 8b 20 85 68 79 10 55 00 20 32 18
014550 c0 32 23 18 52 7a 20 33 01 30 0a 28 da 72 f6 db
014560 48 8b e0 86 88 8b 20 87 28 88 60 87 e8 79 30 34
В прошивках той же версии на других навигаторах эти 2 байта обычно находятся по другим смещениям.
Вобщем, надо как-то проверить, фаза ли это.
В памяти есть область, 2688 байт - массив из 12 каналов, каждый - структура в 224 байта. Ответ mid28 целиком формируется из полей этой структуры, кроме carrier phase, которая обнуляется. Я пока поставил по смещению +0x54. Возможно, фаза находится по другому смещению, возможно ее там вообще нет.
Сама область памяти в разных прошивках находится по разным адресам. У меня - 0x60009ee0. Отдампить что-либо через mid131 мне не удалось.
Вот оригинальная прошивка. И вот пропатченная
PS: 1 раз случайно убил BT-821 кривой прошивкой. Для восстановления его можно перевести в internal boot mode подав 1 на TP11 при включении.
PPS: подскажите более подходящий форум