<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>usb pritner interfacing</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/24894/usb-pritner-interfacing</link><description> 
hello all, 
i have microcontroller of c8051f020 and serial to usb module 
i want to interface the usb printer to microcontroller 
can u guide me for the usb printer protocol used for
microcontroller? 
thank you all 
take care 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/136006?ContentTypeID=1</link><pubDate>Sun, 06 Dec 2009 15:36:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7c29ad32-2106-47ff-87c5-ec2a9704741c</guid><dc:creator>Tsuneo Chinzei</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; How I know which type is my printer?&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;gt; And how would you know what protocol the printer would use
for transfering the data?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Firstly, examine printer&amp;#39;s technical manual well.&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Good for MCU connection&lt;/b&gt;&lt;br /&gt;
Epson FX-890 - Impact printer with USB&lt;br /&gt;
&lt;a target="_blank" href="http://www.epson.com/cgi-bin/Store/support/supDetail.jsp?infoType=Doc&amp;amp;oid=23730&amp;amp;prodoid=34222881&amp;amp;category=Products"&gt;&amp;quot; href=
&amp;quot;http://files.support.epson.com/pdf/dfx5k_/dfx5k_td.pdf&amp;quot;&amp;gt;&lt;a href="http://files.support.epson.com/pdf/dfx5k_/dfx5k_td.pdf"&gt;files.support.epson.com/.../dfx5k_td.pdf&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
This pdf lists up these features&lt;br /&gt;
- ESC/P (ESC/P 2) control code&lt;br /&gt;
- built-in fonts&lt;/p&gt;

&lt;p&gt;
Control code or PDL (Page Description Language) is explicitly
documented, and it is well-known one. Built-in font suggests that
this printer has a page-rendering engine on it.&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Bad for MCU connection&lt;/b&gt;&lt;br /&gt;
HP LaserJet P1000 and P1500 Series Software Technical Reference&lt;br /&gt;
&lt;a href="http://h10032.www1.hp.com/ctg/Manual/c01295069.pdf"&gt;h10032.www1.hp.com/.../c01295069.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Introduction to host-based printing (p74)&lt;br /&gt;
&lt;i&gt;The HP LaserJet P1000 and P1500 Series printers are host-based
devices. Host-based printing differs from PCL printing by rendering
the print job on the host computer rather than on the device
formatter.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;As a host-based printing system, the HP LaserJet P1000 and
P1500 Series print drivers use the Windows operating system to
convert the graphics device interface (GDI) or device driver
interface (DDI) calls from software programs into JBIG
(standard-compression) compressed pages. These pages are sent in
&amp;acirc;&amp;euro;&amp;oelig;chunks&amp;acirc;&amp;euro; through the driver to the
device formatter.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
This one is a typical &amp;quot;Windows&amp;quot; printer.&lt;br /&gt;
You have to run Windows on your MCU...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, for printers at your hand, capture printer&amp;#39;s ID string using a
hardware USB analyzer or software sniffer. On enumeration, host reads
out IEEE1248 device ID string using Get_Device_ID request from the
printer. In this string, &amp;quot;CMD:&amp;quot; tag reports supported control code or
PDL&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Good for MCU connection&lt;/b&gt;&lt;br /&gt;
This an excerption from enumeration sequence of an old laser printer
(Epson LP-2400) on my desk.&lt;/p&gt;

&lt;pre&gt;
...
...
- Set_Configuration
- Get_Descriptor( Device )
- Get_Device_ID (A1 00 00 00 00 00 F1 03) - printer class-specific request
- IN
00 6B 4D 46 47 3A 45 50 53 4F 4E 3B 43 4D 44 3A   .kMFG:EPSON;CMD:
45 4A 4C 2C 45 53 43 50 32 34 4A 2D 38 34 2C 45   EJL,ESCP24J-84,E
53 43 50 41 47 45 4A 2D 30 34 2C 45 53 43 50 53   SCPAGEJ-04,ESCPS
55 50 45 52 2D 30 30 2C 50 52 32 30 31 2D 30 30   UPER-00,PR201-00
3B 4D 44 4C 3A 4C 50 2D 32 34 30 30 3B 43 4C 53   ;MDL:LP-2400;CLS
3A 50 52 49 4E 54 45 52 3B 44 45 53 3A 45 50 53   :PRINTER;DES:EPS
4F 4E 20 4C 50 2D 32 34 30 30 3B                  ON LP-2400;
&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
This printer supports ESC/P 24-J84 (Dot printer emulation) and PR201
emulation. Also, HP PCL5 is a good protocol for MCU.&lt;/p&gt;

&lt;p&gt;
[Software sniffers]&lt;br /&gt;
USBlyzer (1 month trial)&lt;br /&gt;
&lt;a href="http://www.usblyzer.com/"&gt;http://www.usblyzer.com/&lt;/a&gt;&lt;br /&gt;
SourceUSB (1 month trial)&lt;br /&gt;
&lt;a href="http://www.sourcequest.com/"&gt;http://www.sourcequest.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
[References]&lt;br /&gt;
Epson ESC/P reference manual&lt;br /&gt;
&lt;a href="http://support.epson.ru/products/manuals/000350/part1.pdf"&gt;support.epson.ru/.../part1.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
HP PCL5&lt;br /&gt;
CD-ROM: HP PCL/PJL Technical Reference Manuals&lt;br /&gt;

&lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;amp;cc=us&amp;amp;swItem=lj-51923-1"&gt;h20000.www2.hp.com/.../SoftwareDescription.jsp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/125879?ContentTypeID=1</link><pubDate>Sat, 05 Dec 2009 01:36:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4f9a6069-7a5f-44b5-b7b8-67d170268b7a</guid><dc:creator>ImPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
And how would you know what protocol the printer would use for
transfering the data?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/115411?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2009 19:58:41 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8a194815-8716-4893-b5f8-384d56846d6d</guid><dc:creator>BOB S</dc:creator><description>&lt;p&gt;&lt;p&gt;
How I know which type is my printer? If my printer is using rander
image compressed as you describe then is it possible to control it
via microcontroller? thanx.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/103627?ContentTypeID=1</link><pubDate>Fri, 20 Nov 2009 17:32:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:01111c1d-3621-4066-9ef3-cd5efd4db7e1</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
Before starting your USB study, I recommend you to examine your
printer, first.&lt;/p&gt;

&lt;p&gt;
Nowadays, low-cost printers depend on Windows process heavily.&lt;br /&gt;
Before sending data to a printer, Windows device driver for the
printer renders page images. And then, compressed images are sent to
the printer. The printer just places dots on papers following the
images, like a copy machine. On this type of printers, you can&amp;#39;t
print documents by sending ASCII character codes from your MCU like
in old days.&lt;/p&gt;

&lt;p&gt;
If your printer is this type, find an old printer.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/77933?ContentTypeID=1</link><pubDate>Thu, 19 Nov 2009 20:10:39 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c478ed90-1d66-4d57-8b9d-5b4ad43c3f52</guid><dc:creator>kppp kpp</dc:creator><description>&lt;p&gt;&lt;p&gt;
thanx for reply andy,&lt;br /&gt;
can u give me any website for usb printer interfacing&lt;br /&gt;
with microcontroller. i will take care of hardware.&lt;br /&gt;
i will use c8051f020 and serial to usb converter as uart is presnt
and then connect printer to usb so i require usb protocol for
printer&lt;br /&gt;
i m going through usb protocol pdf. is that enough or does it have
anything more to do with it?&lt;br /&gt;
pls guide me.&lt;br /&gt;
thank you once again&lt;br /&gt;
take care&lt;br /&gt;
regards&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: usb pritner interfacing</title><link>https://community.arm.com/thread/57289?ContentTypeID=1</link><pubDate>Thu, 19 Nov 2009 02:58:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:bf0cba5e-1241-4350-9f03-c445eb40d730</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
The microcontroller is irrelevant - the USB Printer Protocol is
defined by the USB Spec and is totally independent of what device is
used to implement it!&lt;/p&gt;

&lt;p&gt;
Note that driving a USB Printer will require a USB
&lt;i&gt;&lt;b&gt;Host&lt;/b&gt;&lt;/i&gt; or &lt;b&gt;OTG&lt;/b&gt; (On-The-Go) port...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>