C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Компонент для работы с USB, Кому нужен выложу
klen
Отправлено: 02.06.2005, 11:24


Машинист паровоза

Группа: Участник
Сообщений: 239



Здрасте братья.
Сегодня в наряде сидел — написал за ночь компонент. Достало сто раз одно и тоже каждый раз.

Вобщем так. Я для изготовления всякой дребидени (как в рамках работы так и для свободного творчества) использую микросхемы фирмы Future Technology Devices International Ltd — http:\\www.ftdichip.com

Эти микросхемки FT232BM, FT2232 и иже с ними позволяют организовать USB канал от PC до вашего девайса. Со стороны приложения после установки драйверов это проявляется как библиотека реализующаяя доступ к устройству (теже самые аналоги CreateFile, ReadFile и тд). Нам удалось получить скорость превышающую 6 мбит/с , быстрее контроллер на целевой плате которая по дключается к шлангу неможет читать и писать.

Так вот кому интересен это подход или кто уже разрабатывает софт или устройства на этой хрени могу помоч написанным компонентом.

Вобщем можно тут сразу и порассуждать на сопряженные темы.
zpv
Отправлено: 20.07.2005, 20:10


Ученик-кочегар

Группа: Участник
Сообщений: 5



Привет. Я сгандобил девайс построенный на FTDI245BM и пишу прогу под него. В принципе все понятно и все работает, но компанент для удобства работы очень пригодился бы.
klen
Отправлено: 21.07.2005, 16:04


Машинист паровоза

Группа: Участник
Сообщений: 239



Отослал по почте. Принимай. Вопросы лучше сдесь задавай. Почту неудобно туда сюда писать.
Rius
Отправлено: 25.07.2005, 19:52


Мастер участка

Группа: Участник
Сообщений: 321



Скинь пожалуйста и мне тоже (rius(a)mail.ru). USB в планах есть, дай бог до него добраться только, щас с RS-232 во всю работаем, древность...
Там сложно переделывать под другие имс адаптеров?

Отредактировано Rius — 25/07/2005, 22:53
klen
Отправлено: 30.07.2005, 00:49


Машинист паровоза

Группа: Участник
Сообщений: 239



Вот берите. Тока я его периодически расширяю. Щас делаю так чтоб кроме 2*UARTа работал еще SPI, I2C и JTAG. Решил все в один компанент засунуть потому что девайс можно переключать из одного режима в другой и ли например один канал UART а другой JTAG — такой режим удобен для отладкикода микроконтроллеров которые по UART cкомпом связаны должны быть.

User Attached Image Скачать файл
D2XX.zip


klen
Отправлено: 06.09.2005, 13:43


Машинист паровоза

Группа: Участник
Сообщений: 239



Сегодня из отпуска вернулся — жисть продолжается .
Ну че? Попробовали компанент? Комунить я жисть облегчил или нет?
Rommey
  Отправлено: 16.10.2005, 23:04


Ученик-кочегар

Группа: Участник
Сообщений: 4



Привет!
Люди подскажите какие нужны библиотеки, компоненты для работы с Zyxel-ем!?
klen
Отправлено: 20.11.2005, 15:30


Машинист паровоза

Группа: Участник
Сообщений: 239



Выложил библиотеку в которой преписанный компонент для работы через USB — TSerialDriver. Позволяет как через COMM так и через USB/FTDI связыватся с устройчтвом.

Документации пока полной нет но будет.
В планах расширить как я и говорил его до возможности работы в режиме SPI , JTAG, I2C

www.klen.org/Projects/KlenVCLComponents/KlenToolsLib/klentoolslib.html

Будут вопросы пишите...тчк

Отредактировано klen — 20/11/2005, 15:31
** Pan-SQL
Отправлено: 05.12.2005, 22:11


Не зарегистрирован







Я скачал ваш компонент. Если можно, вышлите пожалуйста инструкцию по его установке. Мой e-mail: staspisarevsky@rambler.ru. Заранее благодарен. И еще один вопросик: когда будет готова документация?
klen
Отправлено: 07.12.2005, 11:30


Машинист паровоза

Группа: Участник
Сообщений: 239



Как ставить библиотеку тамже и написано  — откройте в билдере очередно KlenToolsLib.bpk и KlenToolsLibEd.bpk и нажмите кнопочку Install

Когда документация полностью будет??? Тогдаже когда военнослужащим квартиры давать вовремя зарплату и квартиры станут.
На сайте документация по TSerialDriver уже присутствует — ознакомтесь и попробуте чтонибудь сделать — будут вопросы здесь отвечу. В ближайшие выходные выложу обновленную версию библиотеки с примером как TSerialDriver использовать.

На почту ничего писать не буду — я умру если всем желающим отдельно буду писать, лучше сюда и о всех проблемах
Pan_SQL
Отправлено: 07.12.2005, 13:10


Не зарегистрирован







Я успешно установил ваш компонент. Можно ли с помощью его реализовать следующие: например, принтер подключен к USB порту. Возможно ли осуществить проверку принтера (готов ли он к печати или нет). Если возможно, то каким образом. Заранее благодарен.
klen
Отправлено: 08.12.2005, 12:00


Машинист паровоза

Группа: Участник
Сообщений: 239



Неа, к сожалению нельзя. В компонент изготовлен для обеспечивает связи по USB только с устройствами постоенными на основе USB-контроллеров фирмы FTDI. Я делаю устройства которые должны быть связаны с PC через USB, самым доступным в Москве является вариант с использование микросхем именно этой фирмы. Вот и был написан компонент чтоб не писать постоянно одно и тоже, да привосокуплено еще и связь по COM портам.

Для связи с другими USB устройствами используйте стандартные USB иннтерфейсы которые оперционка предоставляет.
flint
  Отправлено: 13.02.2006, 16:26


Дежурный стрелочник

Группа: Участник
Сообщений: 58



А что делать, если мне надо использовать библиотеку версии не выше 2.1.4.1? Если подменить твоя компонента работать не будет же?
Или все ок?
Или вообще нет разницы, и можно использовать компонент с библиотекой версии 3.0.5.1 для устройства, работающего (успешно работающего) на 2.1.4.1?
Объясните пожалуйста кто знает.....
Guest
Отправлено: 25.02.2006, 12:26


Не зарегистрирован







компанента сделана так что плевала она на либы которые идут в примерах и тд, она напрямую из проинсталированной дллки вытягивает адреса — сделано спецально изза того что при смене драйверов были глюки.
Guest
  Отправлено: 02.03.2006, 09:13


Не зарегистрирован







[QUOTE]она напрямую из проинсталированной дллки вытягивает адреса[QUOTE]
Т.е. нет разницы, какая длл у меня в папке и какие дрова стоят — компонента все равно будет работать?
klen
Отправлено: 02.03.2006, 22:50


Машинист паровоза

Группа: Участник
Сообщений: 239



Конечно.
Во первых в лиибах идущих с примерами есть ошибки.
Во вторых в либах идущие в текущем комплекте драйверов не имеют ссылка на все реализованные функции в дллке
В третьих достало нестабильная работа приложений.

Ручками был написан хидер, в котором определены типы всех функций.
Реализован клас TApiProvider, который в конструкторе подгружает ft2xx.dll и вытягивает адреса.

Как только я это сделал таким образом — все, глюков не стало.
Вобщем исходники смотрите, я все старался коментировать.
flint
Отправлено: 07.03.2006, 08:09


Дежурный стрелочник

Группа: Участник
Сообщений: 58



Если честно примеры вообще не важные....
А для BСB 2006 ты можешь компоненту написать?
klen
Отправлено: 08.03.2006, 12:46


Машинист паровоза

Группа: Участник
Сообщений: 239



QUOTE (flint @ 07/03/2006, 08:09)
Если честно примеры вообще не важные....
А для BСB 2006 ты можешь компоненту написать?

Ну яж не на продажу, поэтому и примеры такие smile.gif примеры и документация а не сам код денег стоит! это уже давно признаный факт:)
А брат-программист и так разберется.


BСB 2006?
А че не собирается под ней? У меня 2006 нет, поэтому ... sad.gif
flint
Отправлено: 09.03.2006, 09:09


Дежурный стрелочник

Группа: Участник
Сообщений: 58



У меня там вообще ничего не собирается из BCB6.
Куча компонент нужных...
Поэтому и стопорится переход...
Да и рано еще, наверное... cool.gif
Schumi
Отправлено: 13.06.2006, 14:10


Машинист паровоза

Группа: Участник
Сообщений: 206



Клен, а как определить, какие виртуальные компорты от FTDI установлены в системе, и как их не спутать со стандартными?

Весь список портов я могу получать, но как узнать именно виртуальные?

И второй вопрос в догонку — у меня два приложения — и две железки: А1 — работает через драйвер D2XX, А2 — через вирт. компорт VCP. Проблема в том, что если я сперва подключаю А1 и ставлю драйверы D2XX, а потом А2 — ставлю драйверы VCP. То все ок.
Но если сперва подключаю устройство А2 и ставлю для него дрова VCP, а потом подключаю устройство А1, то система ставит автоматом для него дрова от VCP и устанавливает как компорт.

Мне пришлось в VCP поменять VID и PID, тогда при установке А1 после А2, система уже спрашивает под него дрова. Но как-то это неправильно...

Отредактировано Schumi — 13/06/2006, 14:19
klen
Отправлено: 12.07.2006, 21:53


Машинист паровоза

Группа: Участник
Сообщений: 239



QUOTE (flint @ 07/03/2006, 08:09)
Если честно примеры вообще не важные....
А для BСB 2006 ты можешь компоненту написать?

Перешел на 2006, допилил код чтоб ипод шестеркой и под 2006 собирались. Нада?

Вернуться в Работа с внешними устройствами