As a sort of sequel to my previous post called "DBexpert question" topic - http://www.os2world.com/component/option,com_smf/Itemid,63/action,post/board,7.0/
I am using Epson Point Of Sale printer and would like to use them for some applications .
Epson uses the same language for all models called ESC/POS and the base instructions are similar in all models.
There are of course variations by model but i only use the basic features.
Models which are in fact basically the same are:
TM-T80
TM-T85
TM-T88 I,II,III and now IV
TM-T90
TM-L90 (special label version)
TM-H5000 (receipt + slip printer)
Citizen also uses ESC/POS and is very compatible with epson (epson TM-T80 = citizen CBM231 )
All are thermal printers with 80 mm paper roll
So far i have found no driver which does produce good output.
The only one close is the Okipos 425 (comes in 4 flavors)
It gives a print but the quality is pour.
But it is usuable ,i have a Epson TM-H5000 receipt/slip which works with this driver.
Also tried the older epson impact printers (80/132 columm) but the are completely different.
Perhaps CUPS can do something in the future ,however i doubt it because epson does not intent to make drivers for older models - the seem to have released a cups driver for the TM-T88 IV - but it is not public available yet. - and if it supports older models ?? - most likely not.
So ,perhaps the is an older driver somewhere ?? - one for the TM-T80 will do fine for later models as well.
Same problem for the label (thermo transfer) printer from intermec (easycoder 91)
Would be so nice if i could use this printer (i have a lot of them) for a project with a driver instead of sorting out the commands and send them to the serial/parallel port instead
I have all the (programming manuals) for all the printers so it is possible to use them the hard way.
And i have no idear how to write a driver so that is not an option.
If anyone is willing and able to wite a driver i even want to put money on it.
That is it for now ,most info (manual and drivers) is available on my online store at www.occasionpos.nl
I will continue to search for drivers myself in the mean time .
Thanks all
Peter
Hi Peter,
None of those printers really require a driver for the application you are using them. They simply need a REXX (or other) script that sends the proper control codes. The IBMNULL driver (or in the case of serial, NO driver) will work just fine as a pass through. REXX (or whatever) would just take the output and "format" it - for instance, ensure that each line is under 20 characters (or whatever the print width is) in normal mode, or under 15 in wide mode, or initialize graphics mode and chain the binary data after that to send a logo.
Can you scan the appropriate manual(s)/page(s) and send them to me? Or can you find them online so I can download them?
I am sure I can whip up something that will work with a wide variety of printers....
Robert
Robert ,
I know how to do it by a rexx script ,but this is very time consuming and only works for 1 application.
That is how i am doing things now.
Gets more difficult when printing graphics ,text is easy
And a receipt consists of usually a logo and some text in a variety of fonts sizes
I have a ESC/POS manual , which can be downloaded from my store :
http://www.microdrome.nl/store/images/uploads/manuals/ESC_POS_Guide.pdf
No need to make something , except a complete driver :-*
I s there now way to rebuild the okipos driver ? ,comes very close except for some control codes and the difference in resolution.
The oki is a impact printer and the epson thermal (that is problably why the output is ugly)
Peter
Unfortunately, I no longer have the source code to that driver... lost it about 4 years ago. You may wish to contact Oki and see if they will send you a copy.
Robert
I just searched a bit and found out that the okipos driver is in the omni package.
It seems that IBM made the driver ?
Is there anything we can do with the omni drivers ?
Peter
In simple terms, the driver is not required when you are going to use ESC/POS commands directly through serial or parallel port.
There is a complete set of functions to operate the POS printer, Drawer and Customer display at following links with VB source codes.
You can easily get those converted to any language you want.
ESC/POS printer source code at http://www.expertcore.org/viewtopic.php?f=39&t=874 (http://www.expertcore.org/viewtopic.php?f=39&t=874)
ESC/POS Customer Display source code at http://www.expertcore.org/viewtopic.php?f=39&t=875 (http://www.expertcore.org/viewtopic.php?f=39&t=875)
Point of Sale printer/drwer and Customer Display source code at http://www.expertcore.org/viewtopic.php?f=39&t=876 (http://www.expertcore.org/viewtopic.php?f=39&t=876)
I'm sure you'll find them useful.
Best Regards,
Thisara
You will also find that the control programming it requires is simplicity itself. All you need to do is have the COM port set up correctly (baud, parity, stop bits).
Heck, you can send it the control codes via command line. That makes things like popping a cash drawer easy if that's the core need... when I first got one of these type printers and a cash drawer, that was all I used it for. So I just made a little file which had the correct esc sequences, and made a batch file to copy it to the printer.
I could have done that easier, but I wanted to expand it a little in short order to log the drawer's opening times - and then eventually incorporate it into a program.
Rob
Rob ,
It is true that is is that simple to send character/commands to a serial/parallel port.
But .....
Problem are arising when you sent a lot of lines to a port and halfway the printer goes offline because out of paper or other situations.
In such a case the waiting clock appears and for a long time nothing can be done.
Until the time out is over and the remaining data is lost.
In order to catch such situations i want to make a sort of time out/error routine.
But to start i have no control over the time out period ,it seems 70 sec now or so.
But how to change this ,it is way to long
Tried - changing os2sys.ini -restarting- there is a port setting with a time out there (45 sec) but changing does not do anything -both serial /parallel
Could this be a rexx thing ?
I have several applications running now which involve this problem ,the one with a customer of mine is the most inportant because such situations seems to mess up the 2 label printer settings which are attached. (always happens when they change paper rolls)
Any pointers ??
micro, if you are doing it through rexx, there are various io packages you can use to handle the communication and timeout.
Perhaps this one:
rxasyn20.zip (search on Hobbes to find DL link).
Another option is to pass the print request to another rexx thread or app and monitor that.
Rob
Rob ,
Thank for the info ,that will take care of the com port issues.
But no REXX for the parallel port (far more important ) ,but i have found something interesting :
The parallel port driver print01.sys is seems to have a lot of possible parameters.
Found here in the configtool database , such as :
/IRQ Directs the driver to use IRQs for printing rather than polling.
/SHR This parameter in conjunction with /IRQ parameter directs the PP DD to service PCI IRQs as shared.
<<=NOTE=>> If your printer (for example, old dot matrix printer) generates IRQs without setting interrupt pending (occured) bit in PCI PP status register correctly then you cannot use PCI IRQ sharing and must not use /SHR parameter.
/TOU:ddd Specifies maximum wait time in seconds before canceling the print request. This is a 3 decimal digit value (by default - 120 seconds).
/F Find PPs on PCI combo (serial/parallel) cards automatically.
/MPL modifies polling procedure - makes it less processor resource consuming by scheduling other systems tasks at certain print points, may decrease print speed.
Sometimes i am lost seaching for a solution ,but now i am back on my way again (i think) .
Thx
Peter
rxio (or rexxio?) I think is an available package to manage a variety of ports, including parallel... if you can find it and figure out how to get it to work...
Yes ,i know this one ,tried it ,has only comm functions an the note -windows only... :-[
Hey this is a great idea!
We're always doing small community side-projects and keep getting offers for commercial point of sale (http://www.geminicomputersinc.com/) solutions that cost more than they are worth!
If we could recycle some old used hardware with ECS I might actually get paid a bit to figure it out.
Did you get anywhere with sending commands to the printers? All we'd need it for at a minimum is printing a "paid" stub with a incremented # and the time/date. Did you get that far at all?
Either way, awesome work, and best of luck!
Yes ,i have managed to get a bunch of printers working through rexx commands.
It is not that difficult ,only a few lines of code are needed for simple operation.
But hopefully another solution will arise in the future ,it would be so much easier to print through the normal print spooler ,no more extra coding to make things fit on the paper ,and also printing of graphics is now not a easy option.
But for now i have converted a pentium I -233 Mhz machine to a label printing touchscreen computer with 2 label printers attached running ECS.
Also i am using using a Epson TM-H 5000 receipt/slip printer and 2 Epson TM-L90 printers for administation purposes.
Even my Istec ISDN phone is connected ,and dials numbers when needed
So a lot can be done with a few rexx commands ! - and of course all this would not be possible if i did not use DBexpert for the forms and database manipulation
Peter
Peter,
out of curiosity... can you give some more context on the touchscreen topic?
What brand/model is it, how is it connected (serial?) to the eCS machine?
TIA,
Thomas
About the touchscreen : it is in fact a "all in one" PC .
Most important is that there is a ELO touchscreen controller inside which is serially connected.
There is a (old) driver available for most ELO controllers as long as they are serial ,other interfaces are not supported by this driver.
Same applies for screens with a microtouch controller inside.
As far as i know no other brands have OS/2 drivers
Quote from: microdrome on 2010.03.29, 12:32:17
As far as i know no other brands have OS/2 drivers
That is indeed (mostly) correct. Minor wording change for accuracy.
Many serial connected touchscreens are OS/2 compatible, but only those
manufactured for the re-brander by Elo or MicroTouch.
That includes a variety of Sony, IBM and other CRT or LCD touchscreens for instance. As a matter of fact, at one point, the majority of touchscreen CRT and LCD units had an Elo or MicroTouch touch panel inside of them. The problem is determining which contains such a unit and how the touchpanel interfaces with the computer.
o.k. i meant "As far as i know no other -controller- brands have OS/2 drivers ."
Problem is how to identify the controller brand inside.
Finding the corresponding windows driver is not always the right way.
I know because i repair/sell a lot of touchscreens and for instance Digipos has the bad habit of putting different controllers into 1 model - if you are lucky there is a label which states which-
With serial/ps2 models i use the DOS calibration utility to identify the controller ,both ELO and Microtouch have them and you don't have to install/restart the machine to find out (works in a dos box too)
For USB models easiest way is to connect and look op the chip id's -but that is not usefull (yet) for os/2