Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

EPSON POS compatible displays (like Jarltech 8034)

Discussion about LCD's and other related hardware

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo, Fast351, hydrolisk1792

Post Reply
HWandSW
Posts: 3
Joined: March 4th, 2006, 11:16 am

EPSON POS compatible displays (like Jarltech 8034)

Post by HWandSW »

Hello,
I am preparing a cash register programme for a client, called "Taylorcom Quickkasse"
On software like these a typical client display is a VFD or, in my case, a LCD from Jarltech. Modell 8034. Quite a popular one, giving 2x20 character lines on RS-232, though the Quickkasse-software uses only 2x19.

These LCDs are what is called "EPSON POS" Esc-code compatible. This refers to ESC-sequence codes for serial displays, which can be "easily" programmed using BASIC etc.

There must be a lot of EPSON/POS compatible screens on the market, probably representing a large potential user community?

Now, trying to run the Jarltech display using LCD-Smartie with the crystal.dll gives a nearly correct display. Using the testdriver.dll with "COM1,9600,8,N,1" gives exactly the same results. Only it seems to mix up line 1 and 2, does not place the string correctly at the start of the line, and cannot handle the "scroll" function properly. I guess it only needs a smart programmer to quickly adapt the crystal.dll to the EPSON/POS sequences. I searched the forums, but only found LCDHype announcing a EPSON/POS driver. This software however is unfortunately too complicated for me (...)

Being a fan of LCD-Smartie, I wonder if you could help me (and surely other users) on the following:

1) Would anyone care to create such a dll for these LCD's, using the EPSON/POS escape sequence standard?

2) When I activate LCD-Smartie, it simply overrides the RS-232 driver for my casher programme. Quickkasse then keeps asking for the com-port. When I stop LCD-Smartie, the cash software takes control of the display again. Is there a way to intercept the usage of the RS-232 port, so that as long as my Cash-register software uses the RS-232 port for the dipslay, LCD-smartie will stop using the RS-232 port, but after a certain idle time (no sales :-( ), LCD-smartie will take over the RS-232 port and could use the LCD to broadcast advertisements using the ini-plugin, or display current time, and other interesting stuff.

3) Would the LCD-smartie software be capable of intercepting the RS-232 strings from the cash-register software, so that maybe it would fully integrate the cash-register information? Like an option to "plugin" LCD-smartie into the software, in the way that LCD-smartie acts as an "LCD-display" like a pdf-printer simulates a printer? That would be so cool.

Many thanks for your support, and may the LCD-Gods bless you with more compatible displays... :D

MaCK - HWandSW
HWandSW
Posts: 3
Joined: March 4th, 2006, 11:16 am

Testdriver.dll poblem

Post by HWandSW »

Hello, it's me again

Since I am not literate in programming maybe someone can hint me in the right direction. I am willing to spend some time to create a dll myself, but do not know where to start adapting the crystal.dll to a "epsonpos.dll" :oops:

One of the problems in the VFD (yes, it's not an LCD...) is that whenever a new info on one of the lines should be sent, the display overwrites the OTHER line, instead of staying on the same line:
f.e.
Line 1: $Time(d mmm yyyy hh:nn ss)
Line 2: I feel stupid...
The clock ticks away on both lines every other second on line 2, then 1, then 2 andsofort, the textline is overwritten.

I have studied the user manual of the Jarltech 8034.
I thought, using the testdriver.dll might do the trick.
So I changed the line LCDTYPE = to LCDTYPE=5
I created a [testdriver] section with the following lines:

[testdriver]
Init=
Fini=
GotoLine1=27,48,59
GotoLine2=27,49,59

I used these lines, and a numerous variations on this, though I have no clue if that does anything since the commands in the manual declare commands as follows, for example:
_______
"CTRL M
Move cursor to column 0, Code: 013
This is CARRIAGE RETURN function which returns the cursor?s horizontal location to the first position, on the same line.
Note: In BASIC, after a PRINT#-command, a CR is always sent to the display if you do not add an ?; ? to the end of the command. The CR command is normally used for the line switching."
________

and I am not sure if these numbers (59 for charcter ";" 0 f.e.) is the code I have to type into the [testdriver] section.

Two things are puzzling me:
1) LCD-Smartie seem to ignore these settings, instead reacts as if the crystal.dll is still active.

2) Whenever I change some line-settings within LCD-Smartie, the config.ini is rewritten, so that LCDTYPE=7 again???

So it seems that I cannot use the testdriver.dll at all?
ANY help on how to get these things going would be VERY appreciated.

Many thanks in advance.
MaCK - HWandSW
Fast351
Developer
Posts: 233
Joined: February 17th, 2006, 3:23 pm
Location: Twin Cities, Minnesota, USA
Contact:

Post by Fast351 »

To answer your initial post, there is no way to intercept data going to a COM port (without writing a virtual COM port driver, and that's way beyond the charter of this program).

Similarly waiting for the port to be available is a non-starter since it wouldn't release when the POS system needed it again.

The test driver INI stuff should be in it's own file now:

http://forums.lcdsmartie.org/viewtopic. ... 1898#11898
Cody
Posts: 1
Joined: May 31st, 2007, 5:31 am

Re: EPSON POS compatible displays

Post by Cody »

My Display is a serial POSIFLEX display, 9600,N,8,1 and works great through hyperterminal. I found I was having the same problem with LCD Smartie that the lines would wrap/overlap. Seems that the EPSON POS is one continuous line broken into two rows so you're really working with a 40 line display and not 2x20.

Well the solution for me was to change my setting to a 1x40 display using the testdriver.dll and enter things manually by add/rem spaces.

Can't use the center or scrolling functions as I'd like, but otherwise I get just about everything I need now by using the $right( and other functions to make it work.

Time displays and updates correctly and can switch between screens using either scroll, rand char, or none. That's about it.
Post Reply