Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some comments pulled from the mailing list and added since

I found STAR (serial) receipt printers to be the best; a cash drawer which plugs into the back of the printer works great. As for scanners, use a keyboard wedge scanner and a keyboard or USB MSR. The POS devices we used had MSR built in, not exactly sure how it was configured, but in the end it send the signal through the keyboard device.

A term pole display will need to be implemented, as this is not currently supported. However, it shouldn't be very difficult which the base which is there today.

Touch screen is configured on the OS level. ELO based devices work on Linux.

The multiple drawers can be thru the serial. most are thru the parallel port. Gets tricky if you have a parallel device as well.

Touch screens can use the keyboard wedge as well.

The model we used for testing was a DigiCom iPOS435 with a side-mounted MSR. Our particular units had Celeron 850MHz processors and 512MB of RAM. Performance was adequate, but I don't think I could call it "fast". (OS - Gentoo, Fedora; DB - postgres)

You may want to compare the ipos430 spec to whatever you're looking at currently. Aside from the speed, it is a very nice unit.

For printers we used a basic Star Micronics thermal (model TSP600), which worked out just fine during testing, though I can't comment on long-term reliability.

Beware with wedge scanners not self-powered. I had a problem with a Dell Dimension 4600 (too weak keyboard alimentation I think) and a Zebex 3080. No problem with the USB model.

I've used Metrologic scanners (tabletop & handheld) almost exclusively for the past 5 years with a variety of Dell's and custom built machines. I've never had a problem with the keyboard wedge versions. They all had their own power source.

Deployed OK on FC3-XFC4 with a Star TSP600 printer using serial, MetroLogic keyboard wedge scanner and MultiQ 156 serial touch screen using mutouch drivers. Cash draw linked into the printer and operates fine. No MSR requirements so not tested.

Mag Stripe Readers issue on Windows XP.
Using both an ID Tech USB MSR using ID Tech's JavaPOS driver and a Magtek USB device with the GenericMSR driver a problem appears on Windows XP. While it was working properly on other platforms, on WinXP it seems the data isn't  getting captured and waiting when paymentEvents.payCredit is run.  When installed  on Windows they show up as HID's and Keyboard's in the Windows Device Manager.
The problem was solved by increasing MaxWaitKeyboard in  jpos.properties.  The complete string from the MSR wasn't received in a single event so the logic wasn't recognizing it as an MSR swipe.

...

        <!-Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )->
        <prop name="dataBits" type="String" value="8"/>
        <prop name="Parity" type="String" value="0"/>
        <prop name="portName" type="String" value="COM1"/>
        <prop name="U375Compatible" type="String" value="0"/>
        <prop name="deviceBus" type="String" value="RS232"/>
        <prop name="DataLen" type="String" value="1"/>
        <prop name="UsedJAI" type="String" value="0"/>
        <prop name="TimeoutTime" type="String" value="5000"/>
        <prop name="baudRate" type="String" value="9600"/>
        <prop name="TwoColor" type="String" value="0"/>
        <prop name="PortType" type="String" value="0"/>
        <prop name="UsedNVRAM" type="String" value="0"/>
        <prop name="StopBit" type="String" value="1"/>
        <prop name="RetryTime" type="String" value="100"/>
        <prop name="ErrorOption" type="String" value="1"/>
        <prop name="ReverseEject" type="String" value="0"/>
        <prop name="SerialPowerWaitTime" type="String" value="500"/>
        <prop name="InputWait" type="String" value="1"/>
        <prop name="AnalysisLevel" type="String" value="1"/>
        <prop name="BufferSize" type="String" value="2"/>
        <prop name="DeviceDesc" type="String" value="EPSON TM-U220D Printer"/>
        <prop name="OutputLength" type="String" value="10"/>
        <prop name="parity" type="String" value="None"/>
        <prop name="stopBits" type="String" value="1"/>
        <prop name="PortName" type="String" value="COM1"/> <!-- Windows -->
        <!-prop name="PortName" type="String" value="/dev/ttyS0"/> <!- Linux -->
        <prop name="ReceiveTimeout" type="String" value="10"/>
        <prop name="TwoByteCharacter" type="String" value="0"/>
        <prop name="Page254UseCode" type="String" value="0"/>
        <prop name="PhysicalDevice" type="String" value="TM-U220D"/>
        <prop name="PaperSize" type="String" value="80"/>
        <prop name="BaudRate" type="String" value="6"/>
        <prop name="Page255UseCode" type="String" value="0"/>
        <prop name="ServiceVersion" type="String" value="1.80"/>
        <prop name="flowControl" type="String" value="None"/>
        <prop name="FlowControl" type="String" value="1"/>
    </JposEntry

...