PDA

Просмотр полной версии : Дополнение к CamGrabber


SBorovkov
19.03.2009, 18:25
Программка CGSubtitles.

Версия 2.1 от 14.10.2010

Умеет следующее:

1. Берет данные GPS из Com порта.

2. Посылает в CamGrabber текст, который CamGrabber будет накладывать на видео. Текст может быть
разным для каждой из камер и формироваться из данных:
%GpsStatus% - текстовый статус приема GPS
%Speed% - скорость в км/ч с точностью 0.1
%tSpeed% - округленная скорость в км/ч
%Heading% - курс
%GPSDate% - дата, исходя из данных GPS
%GPSTime% - время, исходя из данных GPS
%Time% - системное время
%Date% - системная дата
%Lat% - широта
%Lon% - долгота
%Alt% - высота в метрах
%SatCount% - количество спутников
Пример- текст "%Speed% км/ч, %Date%, %Time%" на экране появится в виде
55.3 км/ч, 19.03.2009, 15:30:21

Если скорость ниже пороговой, то считается, что машина стоит.

3. Кроме того, программа умеет сохранять данные, приходящие с GPS в отдельную папку и в дальнейшем
формировать файл субтитров к уже существующим видео файлам CG. То есть видео файлы могут писаться
CG и без субтитров, а в дальнейшем Вы можете создать субтитры, когда захочется. При этом данные от
GPS сдвигаются на заданное время, для устранения "лага".

4. Из программы можно получить состояние вышеперечисленных (в пункте 2) параметров Gps.
Для этого необходимо послать wm_copydata окну с классом TCamGrabberSubTitles ,
wparam - hwnd вашего окна,принимающего wm_copydata,
dwData=1
в качестве данных - текст из пункта 2.
Обратно получите обработанный как в пункте 2 текст.

5. Прога умеет синхронизировать системное время, но делает это с ошибкой до 2 секунд. Синхронизирует строго перед уходом в ждущий/спящий режим, дабы не было проблем с изменением системного времени во время записи видео. Учтите, что для того, чтобы программа считала, что время стоит перевести, она должна принимать сигнал GPS не менее 10 секунд с момента прошлого ухода в сон.

Для того, чтобы создать файл субтитров нужно вызвать
CGSubtitles.exe <имя CG видео файла> [/run]
При этом программа не разбирается что за файл ей подсунули. Она создает субтитры определенной длины
(какой - задано в ini файле). Время создания файла она берет из названия видео файла, поэтому не
меняйте названия видео файлов CG!
Если указан /run, то программа после создания субтитров запустит проигрывание видео файла

6. Прога умеет следить за балансом модема Huawei e1550 и, думаю, ряда других. Кроме того - отдавать уровень приема и возможности соединения с текущей БС (3G/edge/gprs/...?)
Для того, чтобы воспользоваться этим, кроме GPS запросов прога еще умеет обрабатывать три доп. макроса %ModemRSSI% - уровень приема, %ModemConnectionType% - тип подключения и %ModemBalance% - баланс.
Первые два макроса обновляются по приходу данных от модема (модем сам шлет время от времени данные), баланс - обновляется периодически, интервал указан в ini файле. Кроме того, баланс обновляется командой "Refresh balance" и по выходу из ждущего/спящего режимов.

Обязательно загляните в прилагающийся ini файл и настройте Com порт и прочее.

Те, кто успел попробовать прошлую версию, настройте новый ini файл или допишите в конец новые строки!

Изменения:
1.1
+Возможность забирать данные из программы посредством wm_copydata
+настройка SendSubtitleToCG - отправлять ли данные в CG
-неправильно писался файл с данными для субтитров

1.2
Везде Subtytle поменяно на Subtitle (в том числе - в названии окна!!!)
-не учитывалcя перевод часов (ВАЖНО!!!)
+%tSpeed%
+синхронизация времени с GPS
+параметр /run позволяет запустить видео проигрываться после формирования субтитров

1.3
+%Lat% %Lon% %Alt% %SatCount%
+настройка NoGpsDataString позволяет задать строку, которая будет выводиться в каждом из полей при отсутствии данных GPS. По умолчанию "---"

1.4
- при запросе через wm_copydata при отсутствии данных GPS слались старые данные.
- название окна, которому надо слать wm_copydata, приведено в соответствии с выше (и ниже) написанным текстом
Name: CamGrabberSubTitles
Class: TCamGrabberSubTitles
Caption: CGSubTitles

1.7
Исправлено небольшое количество ошибок.
+ добавлены %HeadingA% %tSpeedA% %SpeedA% - выровненные пробелами слева значения.

1.8
+работа с модемом

2.0
-Исправлены кой-какие ошибки связанные с модемом
+добавлена возможность двух команд на ресет модема, разделенных вертикальной чертой | .
+можно задать LogLevel=11 и получить тучу сообщений общения с модемом.

2.1
-Исправил - не должна мешать компу перезагружаться

(добавление)
Учтите, что можно заставить прогу слать данные в любое виндовое окно. К примеру, можно послать проге CGSubTitles команду вида "SETVAR;Speed;`%Speed`%", но указать в качестве wparam'а handle RoadRunner'а. В результате в RR придет уже команда вида "SETVAR;Speed;45кмч". Т.е. задаст переменную.

Пример для AutoHotKey


#m::
;tooltip,aaa
CDSSendMessage("SETVAR;MYSAT;`%SatCount`%||SETVAR;MYALT;`%Alt`%||S ETVAR;GPSDATE;`%GPSDate`%||SETVAR;GPSTIME;`%GPSTim e`%||SETVAR;GPSSPEED;`%tSpeed`%", "ahk_class TCamGrabberSubTitles", WinExist("RoadRunner")) ; Просим CGSubTitles.exe отдать в RR число спутников и пр.
CDSSendMessage("SETVAR;MODEMRSSI;`%ModemRSSI`%||;SETVAR;ModemConne ctionType;`%ModemConnectionType`%||SETVAR;ModemBal ance;`%ModemBalance`%", "ahk_class TCamGrabberSubTitles", WinExist("RoadRunner")) ; Просим CGSubTitles.exe отдать в RR данные по модему.
CDSSendMessage("Refresh balance", "CGSubTitles") ; Просим CGSubTitles.exe отрефрешить баланс.
Ну и совсем извращение:
CDSSendMessage("SENDMSG;CGSubTitles;Refresh balance", "RoadRunner") ; Просим RR отправить в CGSubTitles команду отрефрешить баланс. :-))
return

; Функция отправки команды методом WM_COPY
CDSSendMessage(msg, prg, hndl="",port=1)
{
len := StrLen(msg)
; port := 1
VarSetCapacity(CopyDataStruct, 12, 0)
NumPut(port, CopyDataStruct, 0)
NumPut(len, CopyDataStruct, 4) ; тут именно len, а не len+1 как пишут в некоторых примерах
NumPut(&msg, CopyDataStruct, 8)
SendMessage, 0x4A, %hndl%, &CopyDataStruct,, %prg%
return
}

SBorovkov
22.03.2009, 15:09
Расскажите, заработала программа? Интересно ж :acute:

ashu
22.03.2009, 17:51
Сорри! Я как-то пропустил такую суперскую прогу! :)
Буду тестить...
Планируешь ли добавить возможность синхронизации системных часов по спутникам? RR это умеет, но иногда (редко) где-то что-то глючит и RR то время ставит на полчаса назад, то дату на месяц вперед... Поэтому отключил в RR синхронизацию времени.

ashu
22.03.2009, 18:05
Сразу два вопроса:

1. Как вообще исключить из работы п.2? Т.е. только п.1 и п.3 - сохранять данные о скорости для последующего создания файла субтитров?

2. Хотелось бы простенький API для получения из твоей проги в ahk-скрипт текущих значений скорости и высоты ;)

SBorovkov
22.03.2009, 18:46
Планируешь ли добавить возможность синхронизации системных часов по спутникам? RR это умеет, но иногда (редко) где-то что-то глючит и RR то время ставит на полчаса назад, то дату на месяц вперед... Поэтому отключил в RR синхронизацию времени.

Могу сделать. Но я собирался сделать так, что корректируется время только в промежутке +/- 20 минут, совмещая показания минут в ближайшую сторону. Вообще перевод времени для последующего формирования субтитров - некая подстава, но если время буду переводить я же, то думаю, что это решается.

Сразу два вопроса:
1. Как вообще исключить из работы п.2? Т.е. только п.1 и п.3 - сохранять данные о скорости для последующего создания файла субтитров?
2. Хотелось бы простенький API для получения из твоей проги в ahk-скрипт текущих значений скорости и высоты ;)
1. Тебе важны и родная текстовка субтитров и моя? Если родные не нужны - просто не пиши их (сними галку в CG).
Прога шлет данные только для тех камер, для которых задан текст. То есть если у тебя поля Text<номер> не заданы, то и слать он данные в CG не будет и у тебя будут родные субтитры. Но тогда при формировании субтитров тебе придется изменить ini файл, поскольку текстовки берутся из одного места.
Вообще, если нужны и те и другие субтитры, то настройку сделаю.

2. Так, давайте сначала соберем заявки на то, что хотите получать из GPS, потом все это сделаю.

ashu
22.03.2009, 18:59
2. Так, давайте сначала соберем заявки на то, что хотите получать из GPS, потом все это сделаю.От меня:
скорость, высота, широта и долгота в формате десятичной дроби (т.е. без минут), направление (в каком-либо виде).

ashu
23.03.2009, 22:16
Создал в gpsgate еще один порт - com15. Проверил - временно настроил на него СитиГид - работает.
Настроил инишник:

[GPS]
Port=15
Speed=9600
MinSpeed=1,5
; скорость менее чем MinSpeed в кмч считается равной нулю
[OutPut]
;Text1=%GpsStatus% speed:%Speed% heading=%Heading% date %Date% time %Time%
;Text2=Задняя камера. %GPSDate% %GPSTime%
;Text<номер камеры>=текст с подстановками.
; поддерживаются %GpsStatus% %Speed% %Heading% %GPSDate% %GPSTime% %Time% %Date%
[General]
LogLevel=5
LogFile=GpsLog.txt
; Имя лог файла. Советую прописать путь в виде c:\temp\GpsLog.txt
GpsDataDir=C:\GpsData
; Путь к файлам, хранящим данные о скорости перемещения. Папка будет создана автоматически. Если не задано данные сохраниться не будут.
GpsTimeShift=2500
; Сдвиг по времени данных GPS при создании файла субтитров
VideoFileLength=500
; размер в секундах создаваемого файла субтитров.

Запустил CGSubTitles.exe на день полёта...

Сегодня вечером слил видео и файл 2009-09-23.gpsdat, попытался создать файлы субтитров... Во всех получилось одно и то же:

Нет данных GPS speed:--- heading=--- date 23.03.2009 time 19:26:38

Т.е. время меняется, данных gps нет.

Лог-файл к сожалению забыл скопировать...

Куда копать?
Иль надо изучать лог?

SBorovkov
24.03.2009, 00:47
Создал в gpsgate еще один порт - com15. Проверил - временно настроил на него СитиГид - работает.
Настроил инишник:

Сегодня вечером слил видео и файл 2009-09-23.gpsdat, попытался создать файлы субтитров... Во всех получилось одно и то же:

Нет данных GPS speed:--- heading=--- date 23.03.2009 time 19:26:38

Т.е. время меняется, данных gps нет.

Куда копать?

Если у тебя не виста, то при старте проги трее появляется иконка GPS. Красная - нет данных. Зеленая - есть данные. Иконка реагирует на поток данных оперативно - в течении пары секунд.

Скинь 2009-09-23.gpsdat на <вырезан емыл>, посмотрю. Вообще если файл есть, до и данные в нем должны быть, ибо в файл не пишется, если данные с GPS не идут.

Прога действует так - она считывает файлы, в которых могут быть данные для видео файла. Затем в соответствии со считанными данными пишет субтитры. Если на какую-то конкретную секунду данных GPS нет, то он получается строчка, как у тебя.
Да, учти, что файл 2009-09-23.gpsdat прога ищет именно в папке, которая прописана в GpsDataDir, а не в текущей папке! Это важно, если ты запускал генерацию субтитров с другого компа.
Короче, я допускаю, что прога просто не нашла твой файл с данными скорости.

ashu
24.03.2009, 01:02
Да, учти, что файл 2009-09-23.gpsdat прога ищет именно в папке, которая прописана в GpsDataDir, а не в текущей папке! Это важно, если ты запускал генерацию субтитров с другого компа.Да, клал именно в ту папку...
Файл выслал. Жду диагноза ;)

SBorovkov
24.03.2009, 01:19
Да, клал именно в ту папку...
Файл выслал. Жду диагноза ;)

Диагноз: я идиот. :blush:
В течении часа-двух выложу новую версию.

ashu
24.03.2009, 11:31
В течении часа-двух выложу новую версию.Отлично! Теперь работает! :)

Пожелания:
1. Хотелось бы иметь возможность выводить скорость, округлённую до целых.
2. Если будешь делать синхронизацию системного времени по спутникам, сделай игнорирование синхронизации хотя бы 15 минут после выхода из сна - не знаю почему иногда RR криво синхронизирует, но подозреваю, что либо gpsgate при выходе из сна что-то левое в порты говорит, либо мой bu-353 с мёртвой батарейкой чудит на холодном старте.

PS Кста, поменяй название проги - слово titles пишется через I, а не через Y ;)

SBorovkov
24.03.2009, 15:51
Отлично! Теперь работает! :)
...
Ну и здорово.

1 - сделаю другую переменную для вывода скорости без запятой.

2 - у меня RR вообще иногда начинает показывать скорость от балды. С чем связано - не знаю. При этом все остальные проги (CG, Igo, ozi) всё показывают как надо.

После корректировки времени назад возникает большой вопрос - в какой момент начали писать файл - до корректировки или после? И чего с этим делать, мне не очень понятно :dntknw:. Разве что пытаться переводить время непосредственно перед входом в ждущим/спящий режим...

SBorovkov
01.04.2009, 02:13
К сожалению, у меня CamGrabber перестал работать очень стабильно после того, как я в него стал слать текст из своей проги. Так что видимо на данный момент наиболее реальный вариант - чтобы моя просто писала свои данные и по ним можно было сделать субтитры.

SBorovkov
01.04.2009, 03:49
ashu, с первоапрельской версией! :big:

(все равно никто больше не пользует) :)

ashu
01.04.2009, 10:46
ashu, с первоапрельской версией! :big:

(все равно никто больше не пользует) :)Спасибо! :)

Кста, на предыдущей заметил непонятный баг...
Один экземпляр твоей проги у меня постоянно пишет данные, а второй экземпляр запускаю вручную о кнопке для создания субтитров... Через несколько дней без перезагрузки субтитры стали создаваться с игнорированием настройки конфига MinSpeed.
Как посоветуешь диагностировать?

ashu
01.04.2009, 11:02
А вот за пункты 4 и 5 отдельное БОЛЬШОЕ спасибо! :)

P.S. Еще хочу высоту, широту и долготу в формате десятичной дроби (т.е. без минут). Тогда можно будет вообще отключить RR от gps нафиг!

SBorovkov
01.04.2009, 11:55
Спасибо! :)

Кста, на предыдущей заметил непонятный баг...
Один экземпляр твоей проги у меня постоянно пишет данные, а второй экземпляр запускаю вручную о кнопке для создания субтитров... Через несколько дней без перезагрузки субтитры стали создаваться с игнорированием настройки конфига MinSpeed.
Как посоветуешь диагностировать?

Очень странно. В файл с данными пишутся бинарные данные, еще не округленные. MinSpeed влияет только на само формирование текста - либо при посылке данных в CG, либо при создании субтитров. То есть когда ты создаешь файл субтитров, прога читает ini файл и формирует субтитры согласно тому, что именно в этот момент находится в ini файле. Посмотри что GpsLog.txt, при старте проги туда попадают все настройки, правильно ли он понимает указанный в ini-шнике MinSpeed? Может название параметра изменил случайно? Если MinSpeed не удалось прочитать, он читается как "2" по-моему.

(добавлено)
широту и долготу сделаю легко, высоту чуть посложнее, ибо в той последовательности данных (GPRMC), которую я обрабатываю, высоты по-просту нет :)

(еще добавлено)
блин, проверил, tSpeed в версии 1.2 не попадает под действие MinSpeed. В следующей версии будет нормально.

ashu
01.04.2009, 20:51
широту и долготу сделаю легко, высоту чуть посложнее, ибо в той последовательности данных (GPRMC), которую я обрабатываю, высоты по-просту нет :)Отлично!
Еще я забыл про количество спутников - тоже хочу получать их по WM_COPY ;)

SBorovkov
02.04.2009, 15:51
Отлично!
Еще я забыл про количество спутников - тоже хочу получать их по WM_COPY ;)
А еще магнитное склонение? Высоту спутников над горизонтом, азимут на них, опять же? :-)

ashu
02.04.2009, 16:06
А еще магнитное склонение? Высоту спутников над горизонтом, азимут на них, опять же? :-)Можно. Но я не знаю как это на практике использовать ;)

А индикатор количества видимых спутников иногда интересно посмотреть - по нему можно приблизительно оценить точность определения местоположения. :)

ashu
03.04.2009, 11:41
Проверил синхронизацию времени перед уходом в сон - работает отлично!

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

SBorovkov
03.04.2009, 13:44
Проверил синхронизацию времени перед уходом в сон - работает отлично!

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

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

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

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

upd. Нормально работает, можно себе поставить?Можно! :)

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

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

SBorovkov
10.04.2009, 11:49
выпустил 1.3

ashu
10.04.2009, 23:38
выпустил 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
Еще одна "хотелка" :)

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

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

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

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

ashu
13.05.2009, 22:07
Странное дело...
CGSubTitles у меня пишет собственный gps-лог и через wm_copydata шлёт текущие данные в RR. Субтитры для видеороликов создаю в оффлайне.
Так вот эти созданные в оффлайне субтитры периодически имеют отсутствующую gps-скорость. Т.е. скорость есть-есть, потом вдруг пропадает на секунду-две, потом снова есть. Тот же СитиГид на отсутствие потока от gpsgate не ругается и скорость показывает постоянно.

SBorovkov
14.05.2009, 00:42
пришли файлик с соответствующей датой и укажи в какое время искать проблему, я посмотрю что там. Иначе совсем уж сложно догадаться. Может лажает разбор NMEA, может еще что-то. Кстати, если у тебя GpsGate поток NMEA пишет в файл (у меня пишет), то и .nmea тоже присылай. Я без машины, мне потестить полноценно пока не на чем. Можно еще пару событий в лог добавить будет, мож тогда разберусь.

ashu
14.05.2009, 12:32
Угумс, отослал мылом.

SBorovkov
04.06.2009, 04:01
2 ashu:
(правда я не тормоз? :-))

В общем есть подозрения, что неправильно данные из порта читаются по какой-то причине. По крайней мере, твой nmea файл у меня идеально распарсился. Добавил в логи сообщения, так скоре всего смогу понять что и как.
Чтобы в логи все это попадало, нужно выставить в ini файле
LogLevel=10

В тестовых целях научил прогу вытаскивать данные из .gpsdat файла и складывать их в текстовом виде в буфер обмена в табличном виде.
Запуск: CGSubTitles.exe <имя .gpsdat файла>
После запуска данные можно вставить в банальный excel.

Еще теперь из .nmea файла можно формировать .gpsdat на случай если по какой-то причине .gpsdat файл отсутствует, битый или пр. А дальше уже стандартным образом можно будет сформировать субтитры.
Но этой функцией рекомендую пользоваться только в крайнем случае, либо в целях эксперимента! Дело в том, что прога при этом тупо дописывает .gpsdat файл, в котором могли быть данные.
Запуск: CGSubTitles.exe <имя .nmea файла>
В этом случае прога расчитывает, что время выставлено точно (GpsTime и Time получаются равными, ибо данных о времени на компе нет). Это потом при помощи GpsTimeShift можно сдвинуть при формировании субтитров...

Добавился параметр в ini'шнике.
[GPS]
GpsTimeOut=3
;таймаут в секундах, после которого прога переоткрывает com порт в случае отсутствия нормальных (с ее точки зрения) данных. Для Bluetooth устройств без GpsGate и прочих прог надо выставлять 8 или более. Иначе комп с GPS могут не успеть соединиться

В шапку не выкладываю, ибо beta. Хотя все и должно быть нормально.

ashu
20.12.2009, 18:39
Вот отличная программка! Поставил и забыл.
Работает как часы. Правда, самого камграббера у меня уже нет. Поэтому прога используется как синхронизатор времени и получение gps-данных в RR и ahk-скрипты :)

SBorovkov
09.01.2010, 14:22
Спасибо :-)

еще прогу можно использовать для формирования субтитров для видео записанного в любой проге или в аппаратном регистраторе. Но для этого придется переименовать видео файл в формат камграббера типа CAM1_090324_012800_203.avi

OKLiK
02.03.2010, 06:55
SBorovkov

Спасибо отличная программа, есть одно но, когда данные не доступны после спящего режима, то есть GPS еще не нашел спутники, а с моим этот процесс долгий иногда бывает, то на видео пишется статические старые данные скорости, курса и времени, те которые были в последний раз до того как уснул комп.
Можешь сделать чтобы когда данные не доступны с GPS, обнулялись эти данные ?
Ну и еще одна фишка, так для эстетики чтобы для скорости и курса добавлять пробелы впереди, то есть если скорость от 0 до 9 то 2 пробела а если от 10 до 99 то один пробел, это для того чтобы строка не изменяла свой размер по ширине.

Во вроде все! еще раз спасибо за отличную прогу ;)

SBorovkov
02.03.2010, 12:32
Спасибо!

Ты скажи, ты прогу используешь так, что она сразу шлет субтитры в CG или пост-фактум их создаешь? Мне б знать где ошибку вылавливать.

Насколько я помню, если GPS шлет, что он не знает положения, я должен слать значение переменной NoGpsDataString из ini файла. Ну и старые значения GPS протухают примерно через две секунды.

OKLiK
02.03.2010, 19:40
Спасибо!

Ты скажи, ты прогу используешь так, что она сразу шлет субтитры в CG или пост-фактум их создаешь? Мне б знать где ошибку вылавливать.

Насколько я помню, если GPS шлет, что он не знает положения, я должен слать значение переменной NoGpsDataString из ini файла. Ну и старые значения GPS протухают примерно через две секунды.

Программа сразу шлет данные в CG, и когда вообще ни одного спутника не видно то данные не обновляются, а значение NoGpsDataString из ini файла не разу не видел.

SBorovkov
03.03.2010, 04:32
попробуй эту версию. У меня сейчас возможности проверить нет, но должно работать.

OKLiK
03.03.2010, 11:12
попробуй эту версию. У меня сейчас возможности проверить нет, но должно работать.

Теперь заработало как надо, когда нет данных выводятся прочерки :)

P.S. - а про пробелы не рассмотришь?

Melnik
03.03.2010, 12:11
SBorovkov
Доброго времени суток! Установил Ваш софт - оч удобно :) Но есть баг в виде не желания компа выключаться (не сон, а именно выключение) пока софт висит в памяти...:( Не желает и все тут....Система XP SP3, GPS делится через X-port. Не подскажете куда копать? С уважением, Melnik.

SBorovkov
03.03.2010, 12:21
про пробелы забыл :-(.

По поводу выключения тоже посмотрю. Я вроде предпринимал стандартные действия для того, чтобы он выключался нормально. У меня по-моему из-за CG комп не выключался, но могу путать. Выясню.

SBorovkov
25.03.2010, 00:31
Проверяйте. У меня перезагружается нормально. А вот выравнивание проверять влом, должно работать. Добавил новые поля с выравниванием , поскольку кто-нибудь мог из старой строки со скоростью получать число. И в этом случае получить еще и пробелы в строке человек может не захотеть.

Deason
14.10.2010, 00:43
Точно. И у меня не выключается и не перегружается. Причина в CGSubtitles (выяснено методом отключения всего по порядку до обнаружения виновника). С версией 1.7 такого поведения замечено не было. Если выгрузить заранее, то выключение/перезагрузка без проблем. Иначе только со второго тычка. Посмотрите плиз....





)

SBorovkov
14.10.2010, 02:18
Операционка какая? Попробуй скачать 2.0, только exe, ini-шник оставь старым. У меня на XP все прекрасно перезагружается.

Стой, на 1.7 все нормально было с перезагрузкой, началось с 1.8?

Deason
14.10.2010, 09:37
Операционка какая? Попробуй скачать 2.0, только exe, ini-шник оставь старым. У меня на XP все прекрасно перезагружается.

Стой, на 1.7 все нормально было с перезагрузкой, началось с 1.8?

Стою:dntknw: Операционка XP SP3 русская официальный образ. И точно, но 1.7 такое замечено не было. Правда, я систему переустанавливал, но, думаю, что такое бы вылезло наружу и раньше, имей оно место быть.
Сегодня попробую версию 2.0 Отпишусь по результату

Deason
14.10.2010, 12:16
Вторая версия ведет себя так же. Стопает перезагрузку/выключение

SBorovkov
14.10.2010, 23:53
Проверяй 2.1

Deason
15.10.2010, 00:24
Спасибо. Постараюсь завтра оттестить.

Deason
17.10.2010, 02:49
Все работает с версией 2.1 .
Огромное спасибо!!!

OKLiK
26.02.2013, 07:54
Как то раньше не замечал, поскольку окно захвата мелкое и не видно что творится с данными в субтитрах. Но когда поменял gps приемник на gps/глонасс вел наблюдения. Поскольку у меня компьютер засыпает и пробуждается то после 10..20 пробуждений программа зависает, полностью загружает процессор из 4 и не убивается даже с диспетчера задач, работа восстанавливается только после перезагрузки. При этом данные шлет последние которые были в момент зависания.