PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   "Wanted" software (http://pccar.ru/forumdisplay.php?f=97)
-   -   Дополнение к CamGrabber (http://pccar.ru/showthread.php?t=8022)

ashu 03.04.2009 11:41

Проверил синхронизацию времени перед уходом в сон - работает отлично!

Появилась такая мысль...
А что если тебе постоянно (ну, там, раз в минуту), если видны спутники, вычислять дельту времени между системным и спутником, но не изменять дельту, если спутники не видны? Тогда при уходе в сон будешь просто добавлять эту дельту к системному времени и при долгом поиске места на подземном паркинге синхронизация времени всё равно пройдёт хорошо, поскольку будет не нужно условие
Цитата:

Сообщение от SBorovkov (Сообщение 91953)
Учтите, что для того, чтобы программа считала, что время стоит перевести, она должна принимать сигнал GPS не менее 10 секунд с момента прошлого ухода в сон.


SBorovkov 03.04.2009 13:44

Цитата:

Сообщение от ashu (Сообщение 93898)
Проверил синхронизацию времени перед уходом в сон - работает отлично!

Появилась такая мысль...
А что если тебе постоянно (ну, там, раз в минуту), если видны спутники, вычислять дельту времени между системным и спутником, но не изменять дельту, если спутники не видны? Тогда при уходе в сон будешь просто добавлять эту дельту к системному времени и при долгом поиске места на подземном паркинге синхронизация времени всё равно пройдёт хорошо, поскольку будет не нужно условие

Я наверно напонятно написал.
Почти так и сделано. Но я требую, чтобы в течении 10 секунд между просыпанием а засыпанием шли данные от GPS и только в этом случае перевожу время при уходе в сон (ну вдруг какая-то лажа придет сразу после выхода из сна?). Дельту я вычисляю постоянно, пока у меня есть сведения о корректных данных GPS. Сведения считаются корректными, если они пришли с GPS не более двух секунд назад. Вот оттуда и берутся эти 1.5-2 секунды ошибки синхронизации времени. В момент ухода в сон прекращается поток данных и только после этого я получаю сообщение об уходе в сон. От этого можно избавиться, если дельту считать непосредственно про приходу данных из GPS, но мне влом переделывать, за это отвечает другой блок программы.

upd. Нормально работает, можно себе поставить ? :-). Я реально забываю дома прогу и пока езжу с прошлой версией, скачиваю ее на работе с форума :-).

ashu 03.04.2009 14:36

Т.е. если я перед выключением машинки буду несколько минут колесить по подземной парковке без gps, то синхронизация времени всё равно состоится при уходе в сон?

Цитата:

Сообщение от SBorovkov (Сообщение 93908)
upd. Нормально работает, можно себе поставить?

Можно! :)

SBorovkov 03.04.2009 15:34

Цитата:

Сообщение от ashu (Сообщение 93915)
Т.е. если я перед выключением машинки буду несколько минут колесить по подземной парковке без gps, то синхронизация времени всё равно состоится при уходе в сон?

Если перед этим по улице покатаешься, то состоится.

SBorovkov 10.04.2009 11:49

выпустил 1.3

ashu 10.04.2009 23:38

Цитата:

Сообщение от SBorovkov (Сообщение 94756)
выпустил 1.3

Вот спасибо! Можно RR теперь вообще от gps отлучить! :big:
Пошёл отлучать...

Upd: Отлучил!
Теперь мой ahk-скрипт посылает раз в 2 секунды в CGSubTitles.exe wm_copydata-команду, по которой CGSubTitles отдаёт в RR нужные мне значения. ;)

ashu 11.04.2009 18:12

Еще одна "хотелка" :)

Хочется, чтобы при отсутствии валидных gps-данных из порта CGSubTitles по wm_copydata отправляла не старые или начальные (в случае запуска CGSubTitles при отсутствии валидного gps-потока) данные, а переменные, заполненные значением конфига NoGpsDataString, за исключением переменной SatCount - её надо передавать со значением 0.

Сейчас же после выхода из сна до определения текущей позиции gps-приёмником CGSubTitles по wm_copydata выдаёт те значения, которые она запомнила перед уходом в сон.


Есть какой-то непонятный глюк...
Если запустить GpsGate без подключенного gps-приёмника (иль с неоткрытым портом приёмника - иконка GpsGate будет красной), после запустить CGSubTitles (иконка CGSubTitles будет красной), а после подключить gps-приёмник иль открыть порт gps-приёмника в настройках GpsGate, то иконки и GpsGate, и CGSubTitles будут зелеными, однако передавать через wm_copydata CGSubTitles ничего не будет. Если закрыть CGSubTitles через "Exit", то она перед выходом один раз посылает правильные данные через wm_copydata. После повторного запуска сразу начинает работать правильно.

SBorovkov 11.04.2009 20:21

Цитата:

Сообщение от ashu (Сообщение 94883)
Еще одна "хотелка" :)

У меня на 1.4 все работает как надо :)

upd. первое - исправил. Второе - бомблю свою прогу 10 раз в секунду запросами, она отвечает, что приема нет. Запускаю GpsGate, ставлю в нем режим эмуляции, жму в нем "старт", через секунду приходит правильный ответ от моей проги. Вроде ничего не правил.

SBorovkov 11.04.2009 20:30

Кстати, я готов выложить сурсы, если они кого-то интересуют. Сурсы на delphi. В удобочитаемый вид не приведены, поэтому и не выкладываю :)

ashu 12.04.2009 21:28

Цитата:

Сообщение от SBorovkov (Сообщение 94892)
У меня на 1.4 все работает как надо :)

Угу, спасибо! В 1.4 у меня и первое, и второе работает как надо :)


Часовой пояс GMT +4, время: 18:23.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot