тока походу модули для ядра 2.4 приведены ... но в принципе при наличии рук и головы портируется под 2.6. Остается теперь понять где бы это чудо заюзать.
Тяжеловатое и гемморное решение какое-то. Исторически повелось юзать пачку ключей вроде ULN2003* и ioperm/inb/outb из под рута, не разводя гемор с модулями ядра.
У меня такая схемка давно имеется в аппаратной форме. (Выжигатель, дарю идею ;) ). Когда был Windows, то написал программу для управления, а до портирования руки не доходили (и не дойдут даже несмотря на статью месяца эдак два ещё :( ).
Правда, помнится были проблемы, если не "развести" LF, и ещё что-то (остальные служебные пины). Виндовсу "плохело" при дальнейших операциях с LPT.
lpt ИМХО неудобно для таких вещей (хотя мы старый 386 с linux kernel + простенький демон приспособили для управления освещением здания таки посредством lpt + оптосемисторная развязка)...
/me подумывал над реализацией контроллера на МК (с управлением по i2c) + пара специализированных ключей
подскажите на чем (желательно на общедоступной элементной базе что бы на коленке без хлопот собрать) реализовать framebuffer (tft lcd controller) с RS232|DIRECT CPU интерфейсами с одной стороны и обычным паралельным интерфейсом tft lcd (12 битным)
нафиг драйвер-то нужен? программу для вывода любой школьник на си сделает. там же кроме последовательности байтов, выдаваемой функцией outb() и задержки времени между выдачи ничего нету. пол-станицы, не больше.
Насчет файлика на Си - мой друг как-то намутил вывод всякой лажы на экранчик циферный, но из-за малого количества контактов мог управлять только одной цифрой :) Я видел - работает :)
Вот где-то нарыл лпт-контроллеры, буду мутить на 2 циферки :)
С моторчиками не пробовал, но, ИМХО, загрузка проца на самопатьной девайсене приятней :)
З.Ы. Была идея со звуковушкой и вольтметром сделать это но его колбасило непадецки, ктонибудь сталкивался?
З.З.Ы. А это реально прикрутить, например, к КПК по усб? или по rs-232? Былобы забавно :) КПК-шка с колесами, упраляется через вайфай :)
Если строить СУ иерархически, со всеми нижними (как минимум) потрохами под линухом, то модуль ядра органичнее вписывается в структру. Хотя, иссессно, это не обязателно.
> Неплохо. Даешь часовой привод для телескопа на linux :)
там не все так просто. Для нормальной работы привода телескопа в реале надо успевать выдавать на ЛПТ импульсы управления с частотой неск десятков килогерц (завист от движка конечно). Даже в ДОСе для этого нужен проц типа P-II 400 или около того, а тут?
в принципе сделать то можно наверное (на выходе USB регистр какой-нить и схемка, хоторая через усб туда числа загоняет), в ядре модуль хитрый, который делает что-нить вроде виртуального LPT
> но из-за малого количества контактов мог управлять только одной цифрой
без всякой схемотехники - одни светодиоды - можно реализовать матрицу 8*5. добавляем одну микруху - 155ид10 и уже имеем матрицу 8*10.
добавляем 2 такие микрухи - имеем 8*16. если это семисегментные индикаторы - это 5/10/16 цифр.
увеличивать дальше "ширину" не имеет смысла - яркость свечения будет резко падать (оптимальная скважность 10-20). увеличивать надо будет высоту матрицы - берешь одну 580вв55 + 155ид3 + ключи и имеешь какую хочешь матрицу (лучше всего 20*16 что можно представить в виде 40*8)
надо больше ? берешь 2 такие вв55 и имеешь уже 44*16 = 96*8
> Была идея со звуковушкой и вольтметром сделать это
что сделать ?
совсем забыл
есть такое устройство /dev/port
так вот используя его можно получить прямой доступ к лпт-порту безо всяких драйверов (правда доступ можно получить и к другим портам что не есть приятно - поэтому доступ к нему идет от рута)
> подскажите на чем (желательно на общедоступной элементной базе что бы
> на коленке без хлопот собрать) реализовать framebuffer (tft lcd
> controller) с RS232|DIRECT CPU интерфейсами с одной стороны и обычным
> паралельным интерфейсом tft lcd (12 битным)
не совсем понятно что такое обычный параллельный интерфейс, если это то что я думаю то например подойдет pic16f873/874/876/877
А вот реальные пацаны юзают для этого дела АВР и не парятся с лпт.
Все на усб, а если лень писать морду , то под Оффтоп есть классная штукенция LabVIEW так что не заморачивайтесь на разную бурду
для LCD панели, подключал по LPT, панель чёрно-бэлая, триста двадцать на двести сорок. Имеет память, генератор символов, поддержку курсора текстового.
Наваял драйвер для консоли линуха 2.4, а также для иксов.
Вот фотки, как это выглядело.
>там не все так просто. Для нормальной работы привода телескопа в реале надо успевать выдавать на ЛПТ импульсы управления с частотой неск десятков килогерц (завист от движка конечно). Даже в ДОСе для этого нужен проц типа P-II 400 или около того, а тут?
При работе с ЛПТ в ЕПП моде, то есть посылке|приемке данных по адресам LPTBASE+3,LPTBASE+4,LPTBASE+5, скорость передачи данных до 2Мбайт/с с аппаратным формированием сигналов управления, которые можно использовать для защелки данных во внешних регистрах.
Для использования USB есть 2 микросхемки фирмы FTDI - одна USB-RS232, другая - USB-параллельный интерфейс (не LPT). Во втором случае скорость до 1МБ/с. Есть драйвер под Линукс.
>>да вам проц с видекартой нужен :)
посмотрите на amd geode (с ними дела не имел)
тогда уж sbc на pxa270 почти готовый планшетник получился бы %)
или на худой конец заюзать модуль на ct65550 от старого ноутбука, тока боюсь у него pci :\
>>для LCD панели, подключал по LPT, панель чёрно-бэлая, триста двадцать на двести сорок. Имеет память, генератор символов, поддержку курсора текстового. Наваял драйвер для консоли линуха 2.4, а также для иксов. Вот фотки, как это выглядело.
у мну direct lpt connection не катит в тайминги не укладываюсь... а тот модуль насколько я помню уже контроллер в себе имеет и достаточно только комманды с данными в него пулять... а у мну то тока голая матрица
>>Конечно, в том её и прелесть. А зачем применяешь голую панель?
она мне от ноута старого осталась не выкидывать же :-) народ почемуто обычно развивает тему "как прицепить tft lcd матрицу от ноута к vga" а вот как самостоятельный девайс никто что то не хочет юзать... кстати если к контроллеру прикрутить CF интерфейс то можно с кпк юзать как внешний дисплей :-)
> у мну direct lpt connection не катит в тайминги не укладываюсь
дарю сумасшедшую идею которую проверить пока еще не удосужился
кто помнит КАМАК ? так вот IDE - это тот же камак :)
то есть двунаправленный 8 битный порт, линии управления - запись/чтение/строб, и впридачу 4-х битная шина адреса, но использовать реально можно как 3-х битную (или 5-битная а можно использовать только 4 - хз, не помню деталей, надо лезть стандарт ИДЕ смотреть )
план был взять какой-нибудь дохлый cd-rom, оставить в нем только коннекторы на шину и питание, сделать буфер и вывести на переднюю панель разъемчик. десяток мегабайт в секунду имхо выдержит без проблем.
а программно это - отключить использование одной шины контроллера в ядре, и самому начать пулять по адресам 0x1f8-0x1ff (или где там ide)
>Конечно, в том её и прелесть. А зачем применяешь голую панель?
наверное потому как "дёшиваа" :)
а вообще - так можно и до "регенерации памяти вручную" докатиться :)
P.S. на управление шаговым моторчиком - лучше PIC применять, мелкий и дешоовый.. :) а ПИКу уже "осознанные" "АТ" команды выдавать, типа тока-то шагов туда, стоп теперь туда.. теперь крутиться быстро :) снова стоп, подпрыгнуть... зависнуть. хотя нет! последнее это из API "Оффтопика" :)
>>дарю сумасшедшую идею которую проверить пока еще не удосужился
не привязка к ПиСюку не катит... нада самостоятельный модуль :-) чтобы например по rs232 периодически битмап загонять этакий аналог старых serial graphic display %)
>не привязка к ПиСюку не катит... нада самостоятельный модуль :-) чтобы например по rs232 периодически битмап загонять этакий аналог старых serial graphic display %)