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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Для новичков (http://pccar.ru/forumdisplay.php?f=170)
-   -   Pl2303drv - замена pl2303.ko ! (http://pccar.ru/showthread.php?t=19270)

dmitry-c 25.06.2014 15:07

Цитата:

Сообщение от AngelOfGrief (Сообщение 300855)
Чтобы нави софт работал, надо запускать ещё доп. софт помимо эмулятора ttyUSB0. Это описано на форуме. Вы сейчас просто организовали поток GPS данных, над его дополнительно обработать чтобы стандартный софт увидел эти данные.

Я это понимаю, уже отписался в нужной ветке, спасибо.

Mypp 22.09.2014 16:50

а что значит "err_num - 1"?

gps спутники видит, там светодиод который загорается после фиксации
по cat /dev/ttyUSB0 вижу поток данных, в том числе и вижу координаты $GPGGA

но постоянно валится эта ошибка и соответсно ничего не работает :(

кстати, стандартные скорости это какие? 38400 это стандартная или нет?

Baikan4ik 20.12.2014 01:19

кто-нибудь пробовал подружить BananaPI и globalsat bu-353? запускаю pl2303, устройство находится, команда cat выдает координаты, приемник моргает. Но ни одна из программ типа Here Are You, UsbDroid и подобные не видят этот приемник. В SerialApi устройство видится и в консоли данные идут

Vyacheslav 25.02.2015 01:06

Цитата:

Сообщение от Mypp (Сообщение 307043)
а что значит "err_num - 1"?

Поддерживаю вопрос!
Но при этом у меня все работает. Делаю так:
Прогу загрузил прямо в /data
В теминале запускаю

/data/pl2303drv /dev/ttyUSB0 38400

Далее в новом окне ввожу

busybox stty -F /dev/ttyUSB0 ispeed 38400
busybox chmod 666 /dev/ttyUSB0
setprop "ro.kernel.android.gps" "ttyUSB0"

Потом запускаю перед этим установленную USBGPS4Droid
Все. Яндекс-навигатор, яндекс-карты работают.

Теперь вопрос как это все автоматизировать.
В первом окне терминала постоянно валится эта ошибка "err_num - 1". И если я прерываю прогу, у меня останавливается поток данных.
Как я понимаю в одном скрипте это не сделать...

SanchSanch 25.02.2015 15:15

Вложений: 1
Поправил версию проги pl2303drv из 4 поста данной темы.
Она у меня не работала со скоростью 115200, так же не работала передача данных в направлении от хоста к устройству.
Прикладываю скомпилированный бинарник вместе с поправленными исходниками.
Возможно, бинарник у всех не заработает, я не гуру компиляции.
Компилил прямо на устройсве прогой C4Droid из маркета (не реклама), у меня работает.
Почему-то размер бинарника получился вссего 21k против 580k в 4-м посте. Может быть там использовалась статическая компиляция, но как это настроить я не разобрался.

Список изменений:
1. В ф-ции main
1) Исправлен баг с количеством пересылаемых в pl2303 байт (при коммуникации от хоста к устройству). Могло быть одной из причин неработоспособности передачи данных в этом направлении.
2) Уменьшена в 10 раз задержка (usleep) в конце главного цикла - со 150 мс до 15 мс. Одна их причин неработоспособности скорости 115200 (и скорее всего некоторых более низких скоростей тоже). Значение взял "от балды", но вроде помогло.

2. В ф-ции pl2303_open
Исправлен баг с прописыванием сокрости в конфигурационный буфер чипа. Прописывалось только 2 байта, теперь пишется 3 байта. Основная причина неработоспособности сокорости 115200. Т.к. для двух байт максимальное значение скорости могло быть 65535.

3. В ф-ции pl2303_write
Исправлен номер Endpoint, используемой для передачи данных в pl2303 - должно быть 0x02 вместо 0x03. Основная причина неработоспособности передачи данных в направлении от хоста к устройству.

SanchSanch 25.02.2015 15:23

Цитата:

Сообщение от Vyacheslav (Сообщение 321606)
Поддерживаю вопрос!
Но при этом у меня все работает. Делаю так:
Прогу загрузил прямо в /data
В теминале запускаю

/data/pl2303drv /dev/ttyUSB0 38400

Далее в новом окне ввожу

busybox stty -F /dev/ttyUSB0 ispeed 38400
busybox chmod 666 /dev/ttyUSB0
setprop "ro.kernel.android.gps" "ttyUSB0"

Потом запускаю перед этим установленную USBGPS4Droid
Все. Яндекс-навигатор, яндекс-карты работают.

Теперь вопрос как это все автоматизировать.
В первом окне терминала постоянно валится эта ошибка "err_num - 1". И если я прерываю прогу, у меня останавливается поток данных.
Как я понимаю в одном скрипте это не сделать...

По поводу автоматизации - чтобы скрипт не дожидался завершения программы, а переходил к следующей команде, для бесконечно выполняемых программ нужно в конце добавлять символ & (через пробел, а может и без пробела можно).
То же самое можно делать и при запуске команд вручную в терминале. Но тгда прогу нельзя будет прервать нажатием Ctrl+C, а только командой вида "killall pl2303drv", или "kill NNNN", где NNNN - ID запущенного процесса pl2303drv.

По поводу "errnum - 1". Точно не скажу, но возможно связано с длительностью задержки в конце основного цикла программы. У меня такое кажется было, когда пытался запустить прогу с большими скоростями. Попробуй мою версию из предыдущего поста.

Vyacheslav 26.02.2015 15:39

Спасибо SanchSanch за столь оперативный ответ, да еще с новой версией проги!
Сегодня попробовал твою версию, у меня почти ни чего не изменилось, так же пишет "errnum - 1", а иногда "errnum - 2" проскакивает.
Ну да ладно, сейчас пытаюсь разобраться со скриптом и пытаюсь понять можно ли обойтись без USBGPG4droid, без ее запуска не работает.

Andrew@ 04.06.2015 09:42

А если пишет что не находит свисток U-blox7? Хотя в USB он появляется как устройство (не TTY).
Андроид 4.0.3 ядро 3.0.8+ VID_1546&PID_01A7
Что делать?

freeloader 01.09.2015 03:00

Цитата:

Сообщение от Vyacheslav (Сообщение 321729)
Ну да ладно, сейчас пытаюсь разобраться со скриптом и пытаюсь понять можно ли обойтись без USBGPG4droid, без ее запуска не работает.

Получилось отказаться от дополнительной проги?

freeloader 16.09.2015 01:18

Цитата:

Сообщение от freeloader (Сообщение 337007)
Получилось отказаться от дополнительной проги?

Отвечу для соискателей.
Либа из этой темы: http://www.pccar.ru/showthread.php?t=18871
образно говоря, делает из внешнего GPS-приёмника встроенный.


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

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