Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC + Принтер
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
asen
Вот есть задача отправки данных на принтер для печати с девайса (LPC2148) никто не видел гденибуть литературу по данной теме или може библиотеки какие нужно печатать текстовую информацию.
asen
Меня больше интересовало програмная реализатция и как заставить принтер собственно печатать
HARMHARM
Цитата(asen @ Dec 25 2006, 09:58) *
Меня больше интересовало програмная реализатция и как заставить принтер собственно печатать

В старые добрые времена, когда всё работало под DOS (да еще и раньше), было достаточно отправить на принтер строку и символ с кодом 12 (прогон страницы), и всё - вылазит страничка. Думаю, что все принтеры, у которых есть разъем LPT, будут вести себя так же. В разъеме достаточно использовать 8 линий данных и линию STROBE.
VAI
Цитата
Меня больше интересовало програмная реализатция и как заставить принтер собственно печатать

когда PE = 0, /ERROR = 1, BUSY = 0, /ACK = 1
можно выставить данные и сделать /STROBE на 0.5 мкс равным нулю.
так, собственно, и идет печать. В DOS-е так печатает. И принтер будет печатать встроенным шрифтом.
SergeyDDD
Попробуем расширить тему.
Меня интересует печать через USB (И наверное не меня одного).
Кое что нарыл у филипса (поддержка хост-контроллера ISP1160, который собственно собираюсь использовать). Там есть готовый пример работы с струйными принтерами, которые в продаже не особо встречаются. Пока утешаюсь надеждой что пример подойдет и к другим принтерам (просто еще не пробовал)
Вопрос к знающим.
Поддерживается ли PCL в USB
Есть ли у кого информация о SPL (альтернатива PCL от SAMSUNG)
zltigo
Цитата(SergeyDDD @ Dec 25 2006, 14:33) *
Пока утешаюсь надеждой что пример подойдет и к другим принтерам (просто еще не пробовал)

Расстантесь с надеждой сразу - потом будет больнее.
Цитата
Поддерживается ли PCL в USB

А причем тут USB? Он ограничений не накладывает. Задайте те лучше вопрос, поддерживает ли принтер PCL - ответ будет неутешающ sad.gif - только лазерники подороже из офисных линеек. Причем разновидностей - PCL 4, PCL 5 (включая PCL5c, PCL5e), PCL 6 (PCL XL)
Да и то кроме тех, которые PostScript1/2/3, KPDL(Kyrocera и их клоны), RPDL(Ricoh со товарищи), Canon-овские языки (2-3 штуки), Epson-овские (Esc/Page и Script).
Массоыве будут заточены под Win и иметь только GDI.
SergeyDDD
- "Расстантесь с надеждой сразу - потом будет больнее."
Это зря. Поскольку вопрос актуальный и не только у меня.
Некогда я это уже слышал. Но печать через PCL на LPT принтер сделали.

- "А причем тут USB? Он ограничений не накладывает."
Игра слов. Имелось в виду "Поддерживается ли PCL в USB принтерах"

Более интересно мнение человека, который имел с этим дело.
И хотелось бы получить какую-то информацию, а не подобные советы.
Примеры програмной реализации с теми или иными принтерами существуют.
Если это так, значит это кем то востребовано.

Рано или позно мне прийдется искать эту информацию. А одному ее найти сложнее.
etoja
Печать на принтере из ARM-процессора - это большая редкость.
Программирование USB - большая морока. Наши программисты уже несколько месяцев
пытаются добиться устойчивой работы LPC2148 с Win2K/XP.
SergeyDDD
К сожалению с Линуксом не довелось работать.
Вопрос к линукспециалистам -
Как с печатью у линукса?
Если есть, то поддержка каих принтеров?
zltigo
Цитата(SergeyDDD @ Dec 25 2006, 15:48) *
Некогда я это уже слышал. Но печать через PCL на LPT принтер сделали.

Сделали, ну и что? Проблема в том, что PCL принтеров не очень-то и много и у "первого попавшегося"
поддержка PCL будет отсутствовать с очень высокой вероятностностью. Что и не позволит говорить о
решении проблемы печати.
Цитата
Игра слов. Имелось в виду "Поддерживается ли PCL в USB принтерах"

Да, конечно. Но, естественно, далеко далеко не у всех.


Цитата(SergeyDDD @ Dec 25 2006, 16:03) *
Как с печатью у линукса?

У "больших" линуксов, к которым производитель принтера драйвера дает (а это уже пожалуй все делают) - никаких.
SergeyDDD
> Сделали, ну и что? Проблема в том, что PCL принтеров не очень-то и много и у "первого попавшегося"
> поддержка PCL будет отсутствовать с очень высокой вероятностностью. Что и не позволит говорить о
> решении проблемы печати.

Да вот и нет.
PCL как раз поддерживают все лазерные LPT принтера. И Kyocera и Xerox и Canon. За HP молчу.
Поэтому использование лазерного LPT принтера это не проблема.

Тут вопрос - реализован ли вообще PCL через USB?

SPL - да. Вот поэтому к нему есть особый интерес.
Да и SPL (по наслышке) вроде как поддерживается линуксом.
zltigo
Цитата(SergeyDDD @ Dec 25 2006, 17:47) *
PCL как раз поддерживают все лазерные LPT принтера. И Kyocera и Xerox и Canon. За HP молчу.

Наличие LPT у лазерника практически автоматически переводит его в категорию дорогих, или очень дорогих, или вымерших очень дорогих, либо косящих под дорогих (про Samsung - ниже) В них будет все, и PCL вплоть до 6 и PostScript до 3 (эмулятор, как минимум). Если устраивает - пользуйтесь - какие проблемы? Но судя по поискам голых USB вариантов что-то цена похоже не устраивает?
Ну а у массовых - только у родного HP более-менее встречается. Ну а остальные, которым кроме
затрат на железо еще и лицензии HP за PCL платить надо, - в массовых моделях не используют, даже если у некоторых моделей типа Samsung 2015/2510 LPT и есть.
Цитата
Тут вопрос - реализован ли вообще PCL через USB?

Второй раз отвечаю - да. У старших моделей - да. А вот SPL только у нескольких дешевых Samsung, которых пытаются позиционировать чуть выше GDI принтеров.
AlexandrY
Как то вы смешали 3-и уровня в этом вопросе и в них путаетесь, как мне кажется

Есть следующие уровни:
1. PDL - Page description language как Post Script, PCL6, HPGL ...
2. PCP - Printer control protocol описывающий формат пакетов передаваемых в принтер как PJL,WPS, IEEE 1284.1 ...
3. Physical transport - собственно среда передачи - USB, LPT, RS232...

Для первых двух уровней исходники должны даваться производителями принтеров и они не зависят от Physical transport . Например HP дает все исходники в библиотеке APDK.
Я для Physical transport для принтеров по USB существует спецификация ”Printer Device Class Document” которая ложится поверх основного драйвера USB хоста.

Ясно что универсального PDL и PCP нет, а реализовать их embedded дивайсе для всех принтеров нереально.
Cамый простой путь напечатать что нужно в файл на PC, потом файл загрузить в устройство и просто копировать его через USB с устройства на принтер когда надо с подстановкой своих значений.



Цитата(SergeyDDD @ Dec 25 2006, 20:17) *
Тут вопрос - реализован ли вообще PCL через USB?

SPL - да. Вот поэтому к нему есть особый интерес.
Да и SPL (по наслышке) вроде как поддерживается линуксом.
AlexandrY
Есть, кстати, более продвинутая и универсальная технология - PictBridge по USB
Под нее не надо разбираться с языком описания страниц принтера.

Цитата(asen @ Dec 25 2006, 10:09) *
Вот есть задача отправки данных на принтер для печати с девайса (LPC2148) никто не видел гденибуть литературу по данной теме или може библиотеки какие нужно печатать текстовую информацию.
SergeyDDD
Что касается ML-2015, то...
- Язык управления печатью: HP PCL 6, HP PCL 5e, эмуляция HP postscript level 3 smile.gif

Уж больно zltigo агрессивный собеседник.
Многовато желчи. Не кажется?
Да и неужели речь шла о стоимости принтера, или что лучше LPT или USB, или вообще поднималась проблема выбора дешевого принтера.
Излишне показывать некое умственное превосходство и создавать конфликтную ситуацию.

> Есть следующие уровни:
> 1. PDL - Page description language как Post Script, PCL6, HPGL ...
> 2. PCP - Printer control protocol описывающий формат пакетов передаваемых в принтер как PJL,WPS
> IEEE 1284.1 ...
> 3. Physical transport - собственно среда передачи - USB, LPT, RS232...

Не совсем понимаю какое отношение (printer job lang.) PJL имеет к IEEE 1284.
IEEE 1284 это стандарт на паралельный интерфейс LPT объединяющий SSP, EPP и ECP.
На сколько я понимаю PJL и PCL это один уровень вот только задачи у этих языков разные.
PCL это язык, касающийся сугубо формирования страницы для печати в памяти принтера.
А PJL -
"Команды PJL (Printer Job Language -язык выполнения печати). Позволяют принтеру "общаться" с компьютером по двунаправленной линии для обмена информацией о состоянии, процессе печати и других параметрах." - это выдержка.

> Ясно что универсального PDL и PCP нет, а реализовать их embedded дивайсе для всех принтеров
> нереально.
Об этом вопрос не поднимался. Но для размышления -
"Разработанный фирмой Hewlett-Packard язык PCL де-факто стал стандартом на рынке принтеров. Поэтому многие производители в рекламных целях сообщают, что их принтер совместим с определенной моделью принтера Hewlett-Packard."
zltigo
Цитата(SergeyDDD @ Dec 25 2006, 20:17) *
Что касается ML-2015, то...
- Язык управления печатью: HP PCL 6, HP PCL 5e, эмуляция HP postscript level 3 smile.gif

Удивился я сильно, аж на Samsung зашел:
http://www.samsung.ru/products/computers/p...b=specification
И где все это счастье? Для старших линеек не пожалели:
http://www.samsung.ru/products/computers/p...b=specification
Цитата
Многовато желчи. Не кажется?

Накапливается с возрастом sad.gif.
Цитата
Да и неужели речь шла о стоимости принтера, или что лучше LPT или USB, или вообще поднималась проблема выбора дешевого принтера.

Тогда у Вас проблем нет - на время жизни Вашего девайса всегда найдется "профессиональный" принтер с PCL6 и с принтерным портом. Деньги на бочку и никаких проблем.
Цитата
Излишне показывать некое умственное превосходство

Шишки набитые о несовершенство мира smile.gif я показываю sad.gif
Цитата
и создавать конфликтную ситуацию.

А конфликт-то в чем? В том, что предположения о повсеместном наличии PCL оказались иллюзиями, которые я не захотел разделить?
AlexandrY
В IEEE 1284 помимо сигналов описывается и протокол.
Уровень не уровень, называйте как хотите.
Но програмные интерфейсы будете вынуждены писать и для уровня PDL и для PCP и скорее всего изолируете их в отдельных программных модулях.

PCL думаю отвянет. Интерфейсы и компы нынче быстрые. Все больше RAW data на принтер идет.
А как эта дата готовится на PC это уж секрет фирмы.

Цитата(SergeyDDD @ Dec 25 2006, 22:47) *
Не совсем понимаю какое отношение (printer job lang.) PJL имеет к IEEE 1284.
IEEE 1284 это стандарт на паралельный интерфейс LPT объединяющий SSP, EPP и ECP.
На сколько я понимаю PJL и PCL это один уровень вот только задачи у этих языков разные.

"Разработанный фирмой Hewlett-Packard язык PCL де-факто стал стандартом на рынке принтеров. Поэтому многие производители в рекламных целях сообщают, что их принтер совместим с определенной моделью принтера Hewlett-Packard."
zltigo
Цитата(AlexandrY @ Dec 25 2006, 21:04) *
PCL думаю отвянет. Интерфейсы и компы нынче быстрые. Все больше RAW data на принтер идет.

Ага, на персональных уже практически "отвяло". На более крутых офисных/сетевых будет жить - и загрузка сети поменьше, и буферизировать побольше сможет при той-же памяти, ну и унификация клиентской части тоже далеко не последнее дело.
SergeyDDD
2AlexandrY
Совету пересмотреть IEEE 1284.
Протоколы имеют режимы ECP и EPP, которые касаются сугубо передачи данных независимо для принтера они или для сканнера или для можема или для магнитооптики. И реализованы эти протоколы аппаратно да и еще с использованием FIFO и канала DMA. Это и есть собственно "3. Physical transport - собственно среда передачи - USB, LPT, RS232..."

> Как то вы смешали 3-и уровня в этом вопросе и в них путаетесь, как мне кажется
> Уровень не уровень, называйте как хотите.
Тогда зачем это писать? По моему путаюсь не я.

> Но програмные интерфейсы будете вынуждены писать и для уровня PDL и для PCP и
> скорее всего изолируете их в отдельных программных модулях.
К чему это?

Уважаемые.
Эта тема получилась конкурсом кто умнее.
Да и ушла в сторону. (Ну взгляните на тему)
Казалось проблемы надо решать.
А этот диалог это пустая трата времени.
zltigo
Цитата(SergeyDDD @ Dec 26 2006, 10:43) *
Казалось проблемы надо решать.

Надо. Только правильно решать, осознавая всю глубину оной, а не в силе "кто-то где-то когда-то что-то
для чего-то написал" и
Цитата
утешаюсь надеждой что пример подойдет и к другим принтерам

Или решать проблемы обходными путями, или с большими ограничениями, ибо простые и универсальные решения кончились
в массовом принтеростроении.
Цитата
А этот диалог это пустая трата времени.

Полагаете? Xочется легко и универсально проблему решить а не помогли sad.gif - закрываем глаза и продолжаем "трясти пальму" sad.gif.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.