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


Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ

Ответ
 
Опции темы
Старый 15.06.2013, 19:33   #1
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию Pl2303drv - замена pl2303.ko !

В недрах 4PDA нарыл программку, которая называется pl2303drv. Вкратце суть: выполняет ту же функцию что небезызвестный модуль pl2303.ko, но, соответственно, не является модулем, а посему, не несёт таких громадных неудобств по совместимости как pl2303.ko, который надо иметь скомпилированным под конкретную версию ядра.

Как программа может заменять драйвер? Ну вот так, может. Вот такой он, Linux.

В том виде как программа была выложена, у меня она не работала. Выдавала ошибки, а та версия, что я всё же смог запустить, поддерживала только 9600, что мне не подходило. В итоге, я взял исходники, которые автор любезно опубликовал, убрал из программы лишнее, исправил ошибки (в частности, убрал вызовы system(), которые у меня работали некорректно) и дописал некоторые функции. Например, теперь можно указывать желаемое имя порта tty, а также скорость соединения.

Usage:

pl2303drv [имя порта] [скорость]

Указывать только стандартные скорости! Пример:

pl2303drv /dev/ttyUSB0 19200

Поддерживается именно PL2303, причём device ID должен быть стандартным для PL2303, т.е. 2303:067b. В принципе, у них у всех он одинаковый. Если
в вашем конвертере помимо PL2303 установлена 8-контактная микросхема flash, скорее всего, в неё и зашит другой ID. Отключите её (5 и 6 ножки) и всё будет хорошо.

Заодно те, у кого происходит постоянная борьба между GPS и модемом за имя порта, смогут навсегда решить свою проблему: вы можете указать порту любое имя какое вам вздумается. Кабель можно втыкать наживую, а затем запускать программу - ей всё равно. Лишь бы девайс присутствовал на момент запуска.

Поскольку программа сама не умеет завершаться, она не удаляет при прерывании созданные порты. Поэтому при каждом запуске она будет их удалять. Программа ведёт лог, в который пишет поток входящих данных. Проверить работу программы можно как обычно командой cat /dev/ttyUSB0

У меня работает отлично. По идее, должна работать на любом девайсе с архитектурой ARM-v7, а это большинство современных девайсов.

Исходник также прилагается, я его компилировал под Linux при помощи кросс-компилятора Sourcery G++, но у него есть и Windows версия, думаю, под виндой тоже при желании скомпилировать можно.

Топик автора программы:

http://4pda.ru/forum/index.php?showtopic=375823&st=40

Я несколько раз обращался к автору, но ответа не получил.

Ссылка на скачку программы - в 4-м посте.
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.

Последний раз редактировалось AngelOfGrief; 16.06.2013 в 02:36.
AngelOfGrief вне форума   Ответить с цитированием
Старый 16.06.2013, 00:54   #2
s.m.
Гуру
 
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,567
s.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to behold
По умолчанию

я не очень понял, она же должна висеть в памяти постоянно.
Но это же не демон? Или демон?
Убивает ли ее Андроид через некоторое время?
__________________
Мой проект: Citroen Xsara Android CarPC
s.m. вне форума   Ответить с цитированием
Старый 16.06.2013, 01:57   #3
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

Цитата:
Сообщение от s.m. Посмотреть сообщение
я не очень понял, она же должна висеть в памяти постоянно.
Но это же не демон? Или демон?
Убивает ли ее Андроид через некоторое время?
По идее, должен убивать, но у меня пока работает, в новом девайсе памяти много. ))

На это тоже есть решение, кто-то писал уже. Нужно поместить прогу в notification area. Для этого есть софтина, название не помню.
Я в любом случае буду работать в направлении компиляции модуля .ko, просто это сложнее намного...
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.
AngelOfGrief вне форума   Ответить с цитированием
Старый 16.06.2013, 02:23   #4
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

Версия без ведения лога, без вывода на экран статистики. Для улучшения быстродействия. Ещё внутри программы добавлены команды chmod, теперь устанавливать права на /dev/ttyUSB0 в .sh файле не нужно.
Вложения
Тип файла: rar pl2303drv.rar (301.5 Кб, 1061 просмотров)
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.
AngelOfGrief вне форума   Ответить с цитированием
Старый 17.06.2013, 17:00   #5
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

По поводу убивания программы андроидом: она провисела в течение 2 суток непрерывно вместе с GPSTest: всё работает. Сейчас попробовал запустить Antutu Test (к-й по идее достаточно много жрёт ресурсов), после его запуска всё продолжает работать. В течение этих 2 дней запускал разные программы, навигацию, плееры, Angry Birds итд итп.

Возможно, причина в том, что созданный виртуальный порт /dev/ttyUSB0 открыт системным процессом (GPS либой). Хотя, не знаю. ))
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.
AngelOfGrief вне форума   Ответить с цитированием
Старый 13.09.2013, 14:12   #6
alex4222
Новый Пользователь
 
Регистрация: 13.09.2013
Город: MCK
Регион: 77, 97, 99, 177
Машина: GMT 900
Сообщений: 16
alex4222 is on a distinguished road
По умолчанию

У меня вот что пишет. на любой скорости. и данные не идут в навител (((
со старой версией на 9600 которая все гуд, только скорость 9600 не устраивает.

root@android:/data/test/1 # ./pl2303drv /dev/ttyUSB0 4800

PL2303drv by vovan.v.rum, mod by Ao'Gf
--------------------------------------

Searching for device VID_067b&PID_2303
Found PL2303 device VID_067b&PID2303 (Index=0)
Baudrate requested: 4800
Creating virtual tty. Virtual port: /dev/pts/5
System: unlink /dev/ttyUSB0
System: symlink(/dev/pts/5,/dev/ttyUSB0)
PL2303 serial installed on /dev/ttyUSB0. Type `cat /dev/ttyUSB0` in another shel l window to test.

System: chmod 0666 /dev/pts/5
System: chmod 0666 /dev/ttyUSB0
CTL=0 : CTL=0 : CTL=7 : CTL=7 : CTL=0 :CTL=7 :CTL=0 :BLK=-1 : RD=0xc0 : INT=-1 : RD=0xc0 :CTL=0 :INT=-1 :RD=0xc0 :

err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
^C
130|root@android:/data/test/1 #
alex4222 вне форума   Ответить с цитированием
Старый 13.09.2013, 14:16   #7
alex4222
Новый Пользователь
 
Регистрация: 13.09.2013
Город: MCK
Регион: 77, 97, 99, 177
Машина: GMT 900
Сообщений: 16
alex4222 is on a distinguished road
По умолчанию

хотя данные идут

130|root@android:/data/test/1 # cat /dev/ttyUSB0
$GPRMC,091552.742,V,,,,,,,130913,,,N*4F

$GPGGA,091553.742,,,,,0,00,,,M,0.0,M,,0000*5C

$GPGLL,,,,,091553.742,V,N*70

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091553.742,V,,,,,,,130913,,,N*4E

$GPGGA,091554.742,,,,,0,00,,,M,0.0,M,,0000*5B

$GPGLL,,,,,091554.742,V,N*77

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091554.742,V,,,,,,,130913,,,N*49

$GPGGA,091555.742,,,,,0,00,,,M,0.0,M,,0000*5A

$GPGLL,,,,,091555.742,V,N*76

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091555.742,V,,,,,,,130913,,,N*48

$GPGGA,091556.742,,,,,0,00,,,M,0.0,M,,0000*59

$GPGLL,,,,,091556.742,V,N*75

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091556.742,V,,,,,,,130913,,,N*4B

$GPGGA,091557.742,,,,,0,00,,,M,0.0,M,,0000*58

$GPGLL,,,,,091557.742,V,N*74

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

^C
130|root@android:/data/test/1 #
alex4222 вне форума   Ответить с цитированием
Старый 13.09.2013, 14:30   #8
AngelOfGrief
Старший Пользователь
 
Регистрация: 17.01.2009
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Audi A5 3.2FSI Q, Porsche 996 Turbo
Сообщений: 677
AngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the roughAngelOfGrief is a jewel in the rough
По умолчанию

Ну если идут, наверное в чём-то другом проблема... А что вы используете в кач-ве драйвера GPS ?
__________________
CarPC: Iconbit Toucan Nano ARM Cortex A9 Android 2.3, 16GB SD, USB WiFi TEW-648UBM, USB PL2303 + GPS модуль + штатная GPS антенна авто, PIC 18F2550 эмулятор USB <- клава магнитолы, USB Arduino Micro ATmega32u4 контроллер резистивного тачскрина.
AngelOfGrief вне форума   Ответить с цитированием
Старый 13.09.2013, 14:38   #9
alex4222
Новый Пользователь
 
Регистрация: 13.09.2013
Город: MCK
Регион: 77, 97, 99, 177
Машина: GMT 900
Сообщений: 16
alex4222 is on a distinguished road
По умолчанию

Цитата:
Сообщение от AngelOfGrief Посмотреть сообщение
Ну если идут, наверное в чём-то другом проблема... А что вы используете в кач-ве драйвера GPS ?
USBGPS. стартует как обычно и девайс прописан /dev/ttyUSB0.

если консоль с прогой закрыть, то не стартует.

синенький кружочек со значками блутуч, связь и спутник
alex4222 вне форума   Ответить с цитированием
Старый 13.09.2013, 15:04   #10
alex4222
Новый Пользователь
 
Регистрация: 13.09.2013
Город: MCK
Регион: 77, 97, 99, 177
Машина: GMT 900
Сообщений: 16
alex4222 is on a distinguished road
По умолчанию

http://SSMaker.ru/86578a64/

что то с моим приемником случилось ((( данные принимает, но координату даже в винде не вычисляет. и лампочка красная на нем раньше моргала, а теперь просто горит. что это может быть? приемник BU-353s4 USB
alex4222 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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