RasenHerz писал(а): ↑12.08.2008 11:35
С USB дел пока что не имел, но не откажусь попробовать. проблема только во времени (это не с параллельным портом баловаться), так что всю эту неделю я посвящу сбору информации (правда большую часть придется познавать из исходников ядра, а это довольно долгий и трудоемкий процесс). в свою очередь, если мне будет предоставлено достаточно информации о этих самых принтерах то обязательно помогу.
что насчет LPT... даже не знаю с какого конца взятся, с одной стороны написать драйвер для LPT я, в принципе, смогу; другое дело - обернуть все это в QT и сохранить при этом
кроссплатформенность кода довольно сложно, в силу различий между методами обращения в различных ОС к устройствам (в Linux, обычно - открытие файла устройства и комбинации read(), write() и ioctl()), так что о реальной кроссплатформенности пока можно не думать, главная цель - LINUX.
Спасибо за отклик.
по поводу USB - будет конечно круто. инфы к сожелению о том что и как предоставлют эти принтеры на USB просто нет. где-то прошла инфа что они говорят о себе как об устройстве с "профилем последовательного порта (?)" (и возможно даже что он подхватываются штатными драйверами Linux и создают файл типа \dev\ttyusb0 с которым можно работать как с последовательным портом, но я не уверен, а за неимением сейчас такого принтера проверить не могу.
Есть доки по наборам команд, но вам для этой задачи эта инфа будет бесполезна.
по поводу LPT и оборачивания в QT c сохранением кроссплатформенности - есть ряд классов проекта "otpdlinks" которые дают "абстракцию уровня канала" при общении с конечным устройством. функций не много, но для общения с принтером хватает - и нужно именно это, а не универсальный класс. Сейчас уже реализована кроссплатформенность для COM.
Посмотрите - ссылки я давал выше - думаю вам станет понятней подход и отпадут некоторые вопросы.
именно "драйвер" для LPT писать не надо - думаю работать с LPT вполне нормально получится через файловые операции, но надо разобраться как конкретно это делать с LPT под Linux и "написать по образцу".
В идеале - надо будет ещё разобраться и с Windows, провести параллели и по аналогии-образцу классов для COM сделать и LPT. Набор функций там не такой большой, думаю LPT получится вписать туда "на ура".
Для USB в идеале нужен тоже класс этой группы. В идеале - при иницииации подается набор параметров которые идентифицируют нужное устройство, и "создается канал связи с данным устройством". Опять-же - в идеале все нужно из пользовательского пространства без модулей ядра...
Конечно в идеале нужна железка, типа такой :
posiflex aura 7000 или 5200 серии...
блин, были-бы вы в МСК, возможно даже смог бы найти под залог железку....
tor писал(а): ↑12.08.2008 14:23
Поучаствую, если пригласите... (С++, понимание ООП - имеется)
ок. как разгребусь - в обозначенные сроки (начало октября) постараюсь связаться.
спасибо за отклик.