To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
My Navia
Windows CE - forum użytkowników nawigacji GPS

Windows Phone, Windows Mobile, WinPPC - GPS rollover fix WNRO

krzysxxx - 2020-04-05, 23:00
Temat postu: GPS rollover fix WNRO
Witam
Jeśli ktoś szuka rozwiązania problemu z błedną datą z gps-a, to może pomoże ten post. Problem objawia się cofnięciem daty o niecałe 20 lat, czyli obecnie w kwietniu 2020 gps zwraca datę sierpień 2000r. Problem wynika z faktu, że w kwietniu 2019r przekręcił się licznik 1024 tygodni w gps-ie. Nie chcę się tutaj bardzo rozpisywać o tym zagadnieniu, jeśli ktoś chce, to może sobie poszukać hasła WNRO albo GPS rollover i znajdzie w necie wszystkie potrzebne informacje.
Generalnie jeśli urzadzenie samo z siebie nie działa poprawnie, to całkowite rozwiązanie problemu wymaga poprawki - nowego drivera do gps napisanego przez producenta urządzenia. Niektóre firmy wypuszczają takie poprawki, ale jak jest ogólnie ze wsparciem dla 15 letnich urządzeń to chyba wiadomo...
Osobiście używam nawigacji igo na telefonie Toshiba TG01 z WM6.5. Kiedyś dawno temu namęczyłem się żeby to ładnie skonfigurować, mam fajnego skina i wszystko działa więc wcale nie chce mi się przesiadać na inne urządzenie. Niestety od roku wszystkie logi mają zapisane złe daty, przełączanie noc/dzień też źle działało. Szukałem jakiegoś rozwiązania, ale poza radami żeby przenieść sie na inne nowsze urządzenie właściwie nie było.
Wziąłęm więc sprawy w swoje ręce i korzystając z wolnego czasu z powodu ogólnej kwarantanny udało mi się napisać dla urządzeń z WM2003-WM6.5
programik korygujący wskazania z gps-a 'w locie'. Programik, a właściwie malutka dll-ka jest driverem portu COM. Po zainstalowaniu w systemie tworzy nowy port COM, do którego należy podpiąć nawigację. Orginalny port gps-a na którym działał do tej pory gps trzeba ustawić w rejestrze.
Przetestowałem to rozwiązanie na różnych konfiguracjach i zawsze działało poprawnie. (test był na tym co było pod ręką: urządzenia z WM2003, WM6.1, WM6.5, jako źródło sygnały był wbudowany gps albo gps na BT, nawet portsplitter działał poprawnie)
Załączony cab jest skonfigurowany wg mojego urządzenia i po instalacji tworzy w rejestrze wpisy powodujące utworzenie nowego portu COM6 z driverem WNROfixDRV.dll, a dane gps pobiera z COM7 (taka konfiguracja odpowiada mojej TG01).
Porty można zmienić po instalacji edytując dane w kluczu: HKLM\Drivers\Builtin\WNROFIX
Port źródłowy ma numer pobierany z wartości SourcePort, port 'przetłumaczony' do którego należy się łączyć ma numer z wartości 'Index'. Innej konfiguracji niema.
Driver jest 'przezroczysty' i nie wnosi do komunikacji programu z gps-em poza przeliczeniem daty oraz jednorazowym wpisaniem w komunikację informacji o swoim działaniu.
Bardziej technicznie: modyfikowana jest sekwencja $GPRMC, bo tylko ona zawiera datę. Data jest przesuwan ao jedną erę gps-a (czyli 1024 tygodnie) do przodu bez żadnej inteligencji - jeśli źródłowy sygnał będzie miał poprawne daty, to dostaniemy daty z okolicy 2039r :)
Jeśli ktoś potrzebuje, to zapraszam do zabawy, chętnie bym się dowiedział, czy na jakimś PNA to też zadziała.

link: WNROFIX
(link na chomika, bo załącznika do postu na forum nie mogłem dodać)

Pozdrawiam Krzysiek
PS. Gdyby ktoś chciał się pobawić, a nie działa mu instalacja z cab-a, to mogę podesłać gołą dll-ke i opis potrzebnych kluczów w rejestrze.



Powered by phpBB modified by Przemo © 2003 phpBB Group