Difference between revisions of "Peripheral Devices"

From OS.bee documentation
Jump to: navigation, search
(Bizerba iS30)
(Test Scale)
Line 357: Line 357:
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
  
<JposEntry logicalName="Scale">
+
    <JposEntry logicalName="Scale">
<creation factoryClass="net.osbee.peripheral.genericscale.jpos.GenericScaleServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericscale.jpos.GenericScaleSerialScaleService"/>
+
        <creation factoryClass="net.osbee.peripheral.genericscale.jpos.GenericScaleServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericscale.jpos.GenericScaleSerialScaleService"/>
<vendor name="Compex Systemhaus GmbH " url="http://www.osbee.org"/>
+
        <vendor name="Compex Systemhaus GmbH " url="http://www.osbee.org"/>
<jpos category="Scale" version="1.8"/>
+
        <jpos category="Scale" version="1.8"/>
<product description="Generic Scale Service, version 1.8.0, (c) 2019"/>
+
        <product description="Generic Scale Service, version 1.8.0, (c) 2019"/>
<prop name="scaleModel" type="String" value="DUMMY"/>
+
        <prop name="scaleModel" type="String" value="DUMMY"/>
<prop name="physicalDeviceDescripton" value="GenericScale DUMMY"/>
+
        <prop name="physicalDeviceDescripton" value="GenericScale DUMMY"/>
<prop name="physicalDeviceName" value="GenericScale DUMMY"/>
+
        <prop name="physicalDeviceName" value="GenericScale DUMMY"/>
<prop name="communicationType" value="DUMMY"/>
+
        <prop name="communicationType" value="DUMMY"/>
</JposEntry>
+
    </JposEntry>
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 08:19, 29 October 2019

Cash Register Peripherals

Epson Printer and Cashdrawer

Here is a sample xml file for a typical Epson configuration: [Epson Sample Configuration Download]

If you want to work with Epson-Seiko cash register peripherals some extra steps are necessary:

  • Download and unzip the ADK from the following site: Epson Biz or from [OS.bee mirror of Epson Windows Driver and Setup Download]
  • You must pass a registration process on the Epson site
  • Install the ADK by starting the executable EPSON_JavaPOS_1.14.3.exe from the directory EPSON_JavaPOS_ADK_1143 and follow the instructions of the program.
  • From the start menu launch SetupPos and configure the physical hardware according to the Epson manuals

EpsonSetupPOS.png

  • Save the configuration and note the path to the configuration file. The name is not important, but must be entered in the preferences in OS.bee under "External Data" (see common section below).

The content of this xml file looks something like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE JposEntries PUBLIC "-//JavaPOS//DTD//EN"
                             "jpos/res/jcl.dtd">
<JposEntries>
<!--Saved by JavaPOS jpos.config/loader (JCL) version 2.2.0 on 26.04.17 16:15-->
    
    <JposEntry logicalName="CashDrawer">
        <creation factoryClass="jp.co.epson.uposcommon.creator.EpsonJposServiceInstanceFactory" serviceClass="jp.co.epson.upos.H6000IV.drw.StandardService"/>
        <vendor name="SEIKO EPSON" url="http://www.epson.com"/>
        <jpos category="CashDrawer" version="1.14"/>
        <product description="EPSON Standard CashDrawer Device Service" name="EPSON Services for JavaPOS(TM) Standard" url="http://www.epson.com"/>

        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="OutputTimeout" type="String" value="500"/>
        <prop name="epson.trace.file" type="String" value="trace.log"/>
        <prop name="OutputBufferSize" type="String" value="4096"/>
        <prop name="PinNumber" type="String" value="0"/>
        <prop name="OfflineExecutionDevice" type="String" value="1"/>
        <prop name="ConfigurationFile" type="String" value="epson/xml/Setting/TM-H6000IVSetting.xml"/>
        <prop name="WriteThreadInterval" type="String" value="-1"/>
        <prop name="TransmitRetryTime" type="String" value="100"/>
        <prop name="DeviceID" type="String" value="36"/>
        <prop name="SupportStatistics" type="String" value="1"/>
        <prop name="QueuingOfflineTimeout" type="String" value="1000"/>
        <prop name="MultiDrawerStatusSupport" type="String" value="0"/>
        <prop name="EPurasSupport" type="String" value="TRUE"/>
        <prop name="ReceiveRetryTime" type="String" value="25"/>
        <prop name="TransmitTimeout" type="String" value="5000"/>
        <prop name="Parity" type="String" value="0"/>
        <prop name="StopBits" type="String" value="0"/>
        <prop name="MemorySwitch" type="String" value="0"/>
        <prop name="FlowType" type="String" value="1"/>
        <prop name="InputTimeout" type="String" value="100"/>
        <prop name="PulseOFFTime" type="String" value="400"/>
        <prop name="LogicalPortName" type="String" value="ESDPRT001"/>
        <prop name="StatusThreadInterval" type="String" value="100"/>
        <prop name="DefaultSlpClampTime" type="String" value="0"/>
        <prop name="LogicalPortInterfaceName" type="String" value="EPuras"/>
        <prop name="OfflineRetryIntervalTime" type="String" value="25"/>
        <prop name="BitLength" type="String" value="8"/>
        <prop name="OfflineCount" type="String" value="2"/>
        <prop name="PortType" type="String" value="0"/>
        <prop name="InitializeThreadTime" type="String" value="1000"/>
        <prop name="PortInterfaceName" type="String" value="Serial"/>
        <prop name="PhysicalPrinterName" type="String" value="TM-H6000IV"/>
        <prop name="LogObject" type="String" value=""/>
        <prop name="PulseONTime" type="String" value="100"/>
        <prop name="ForceSend" type="String" value="0"/>
        <prop name="PulseStep" type="String" value="100"/>
        <prop name="DeviceDesc" type="String" value="EPSON Standard CashDrawer"/>
        <prop name="PortName" type="String" value="COM1"/>
        <prop name="OpenPulseLevel" type="String" value="0"/>
        <prop name="OpenWaitTimeout" type="String" value="5000"/>
        <prop name="ReceiveTimeout" type="String" value="1000"/>
        <prop name="InitializeResponseTimeout" type="String" value="1000"/>
        <prop name="InputBufferSize" type="String" value="84"/>
        <prop name="OfflineExecutionInitializeSetting" type="String" value="0"/>
        <prop name="PhysicalDevice" type="String" value="Standard"/>
        <prop name="Upos.Spec_c" type="String" value="false"/>
        <prop name="ReadThreadInterval" type="String" value="-1"/>
        <prop name="BaudRate" type="String" value="19200"/>
        <prop name="epson.tracing" type="String" value="false"/>
        <prop name="DeviceType" type="String" value="1"/>
        <prop name="epson.trace.max.size" type="String" value="1000"/>
        <prop name="Upos.USB_Serial" type="String" value="false"/>
</JposEntry>
    
    
    <JposEntry logicalName="LineDisplay">
        <creation factoryClass="jp.co.epson.uposcommon.creator.EpsonJposServiceInstanceFactory" serviceClass="jp.co.epson.upos.H6000IV.disp.DMD110Service"/>
        <vendor name="SEIKO EPSON" url="http://www.epson.com"/>
        <jpos category="LineDisplay" version="1.14"/>
        <product description="Unknown Product Description" name="EPSON Services for JavaPOS(TM) Standard" url="http://www.epson.com"/>

        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="OutputTimeout" type="String" value="500"/>
        <prop name="epson.trace.file" type="String" value="trace.log"/>
        <prop name="OutputBufferSize" type="String" value="4096"/>
        <prop name="OfflineExecutionDevice" type="String" value="1"/>
        <prop name="ConfigurationFile" type="String" value="epson/xml/Setting/DM-D110(v1_14_0001)Setting.xml"/>
        <prop name="WriteThreadInterval" type="String" value="-1"/>
        <prop name="TransmitRetryTime" type="String" value="100"/>
        <prop name="DeviceID" type="String" value="36"/>
        <prop name="SupportStatistics" type="String" value="1"/>
        <prop name="QueuingOfflineTimeout" type="String" value="1000"/>
        <prop name="EPurasSupport" type="String" value="TRUE"/>
        <prop name="ReceiveRetryTime" type="String" value="25"/>
        <prop name="TransmitTimeout" type="String" value="5000"/>
        <prop name="Parity" type="String" value="0"/>
        <prop name="StopBits" type="String" value="0"/>
        <prop name="MemorySwitch" type="String" value="0"/>
        <prop name="FlowType" type="String" value="1"/>
        <prop name="InputTimeout" type="String" value="100"/>
        <prop name="CharacterMode" type="String" value="0"/>
        <prop name="LogicalPortName" type="String" value="ESDPRT001"/>
        <prop name="StatusThreadInterval" type="String" value="100"/>
        <prop name="DefaultSlpClampTime" type="String" value="0"/>
        <prop name="LogicalPortInterfaceName" type="String" value="EPuras"/>
        <prop name="OfflineRetryIntervalTime" type="String" value="25"/>
        <prop name="BitLength" type="String" value="8"/>
        <prop name="OfflineCount" type="String" value="2"/>
        <prop name="PortType" type="String" value="0"/>
        <prop name="InitializeThreadTime" type="String" value="1000"/>
        <prop name="ConnectionType" type="String" value="1"/>
        <prop name="GraphicWindowLogicalArea" type="String" value="0"/>
        <prop name="PortInterfaceName" type="String" value="Serial"/>
        <prop name="PhysicalPrinterName" type="String" value="TM-H6000IV"/>
        <prop name="LogObject" type="String" value=""/>
        <prop name="DirectIOEventTimeout" type="String" value="5000"/>
        <prop name="DeviceDesc" type="String" value="EPSON DM-D110 LineDisplay"/>
        <prop name="PortName" type="String" value="COM1"/>
        <prop name="ReceiveTimeout" type="String" value="1000"/>
        <prop name="InitializeResponseTimeout" type="String" value="1000"/>
        <prop name="InputBufferSize" type="String" value="84"/>
        <prop name="TwoByteCharacter" type="String" value="0"/>
        <prop name="OfflineExecutionInitializeSetting" type="String" value="0"/>
        <prop name="PhysicalDevice" type="String" value="DM-D110"/>
        <prop name="Upos.Spec_c" type="String" value="false"/>
        <prop name="ReadThreadInterval" type="String" value="-1"/>
        <prop name="BaudRate" type="String" value="19200"/>
        <prop name="epson.tracing" type="String" value="false"/>
        <prop name="DeviceType" type="String" value="2"/>
        <prop name="epson.trace.max.size" type="String" value="1000"/>
        <prop name="Upos.USB_Serial" type="String" value="false"/>
        <prop name="PrinterConfigurationFile" type="String" value="epson/xml/Setting/TM-H6000IVSetting.xml"/>
</JposEntry>
    
    
    <JposEntry logicalName="POSPrinter">
        <creation factoryClass="jp.co.epson.uposcommon.creator.EpsonJposServiceInstanceFactory" serviceClass="jp.co.epson.upos.H6000IV.pntr.H6000IVService"/>
        <vendor name="SEIKO EPSON" url="http://www.epson.com"/>
        <jpos category="POSPrinter" version="1.14"/>
        <product description="EPSON TM-H6000IV Printer Device Service" name="EPSON Services for JavaPOS(TM) Standard" url="http://www.epson.com"/>

        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="FlowType" type="String" value="1"/>
        <prop name="Halftone" type="String" value="0"/>
        <prop name="PhysicalPrinterName" type="String" value="TM-H6000IV"/>
        <prop name="NVRAMControlLevel" type="String" value="1"/>
        <prop name="LogicalPortName" type="String" value="ESDPRT001"/>
        <prop name="Stamp" type="String" value="0"/>
        <prop name="OutputCompleteType" type="String" value="2"/>
        <prop name="StatusThreadInterval" type="String" value="100"/>
        <prop name="OutputTimeout" type="String" value="500"/>
        <prop name="PortType" type="String" value="0"/>
        <prop name="epson.trace.detail.file" type="String" value="detail.log"/>
        <prop name="OutputBufferSize" type="String" value="4096"/>
        <prop name="UsedNVRAM" type="String" value="0"/>
        <prop name="FirmRecordLog" type="String" value="1"/>
        <prop name="ReceiveTimeout" type="String" value="1000"/>
        <prop name="SlpReverseEject" type="String" value="0"/>
        <prop name="PortName" type="String" value="COM1"/>
        <prop name="OfflineRetryIntervalTime" type="String" value="25"/>
        <prop name="Upos.USB_Serial" type="String" value="false"/>
        <prop name="DefaultSlpClampTime" type="String" value="500"/>
        <prop name="OfflineExecutionDevice" type="String" value="1"/>
        <prop name="epson.trace.file" type="String" value="trace.log"/>
        <prop name="StopBits" type="String" value="0"/>
        <prop name="AsyncProcessingSize" type="String" value="2"/>
        <prop name="RecCharactersPerLine" type="String" value="42"/>
        <prop name="KanjiTwoWaysPrint" type="String" value="0"/>
        <prop name="PulseStep" type="String" value="100"/>
        <prop name="PortInterfaceName" type="String" value="Serial"/>
        <prop name="GradationMethod" type="String" value="0"/>
        <prop name="OfflineExecutionInitializeSetting" type="String" value="0"/>
        <prop name="U375Compatible" type="String" value="0"/>
        <prop name="BitLength" type="String" value="8"/>
        <prop name="Parity" type="String" value="0"/>
        <prop name="preCutterFunction" type="String" value="0"/>
        <prop name="epson.tracing" type="String" value="false"/>
        <prop name="epson.trace.max.size" type="String" value="1000"/>
        <prop name="RecPaperSize" type="String" value="80"/>
        <prop name="DeviceDesc" type="String" value="EPSON TM-H6000IV POSPrinter"/>
        <prop name="PageModeExt" type="String" value="0"/>
        <prop name="RecLineSpacing" type="String" value="30"/>
        <prop name="SupportStatistics" type="String" value="1"/>
        <prop name="FirmProgressRange" type="String" value="10"/>
        <prop name="OutputErrorOption" type="String" value="0"/>
        <prop name="EndorseLineSpacing" type="String" value="10"/>
        <prop name="SupportFirmware" type="String" value="0"/>
        <prop name="DeviceID" type="String" value="36"/>
        <prop name="SlipPaperType" type="String" value="2"/>
        <prop name="InputTimeout" type="String" value="100"/>
        <prop name="SlipCharactersPerLine" type="String" value="45"/>
        <prop name="AutoPowerOff" type="String" value="0"/>
        <prop name="SlpMoreColumns" type="String" value="0"/>
        <prop name="RecPaperType" type="String" value="0"/>
        <prop name="MemorySwitch" type="String" value="0"/>
        <prop name="ReadThreadInterval" type="String" value="-1"/>
        <prop name="QueuingOfflineTimeout" type="String" value="1000"/>
        <prop name="InitializeThreadTime" type="String" value="1000"/>
        <prop name="TwoColor" type="String" value="0"/>
        <prop name="BaudRate" type="String" value="19200"/>
        <prop name="TwoByteCharacter" type="String" value="0"/>
        <prop name="FirmLogFileSize" type="String" value="1000"/>
        <prop name="Peeler" type="String" value="0"/>
        <prop name="DefaultCodePage" type="String" value="997"/>
        <prop name="epson.trace.detail.max.size" type="String" value="0"/>
        <prop name="ConfigurationFile" type="String" value="epson/xml/Setting/TM-H6000IVSetting.xml"/>
        <prop name="DeviceType" type="String" value="1"/>
        <prop name="Custom1Color" type="String" value="0xFF0000"/>
        <prop name="preEndorseFunction" type="String" value="0"/>
        <prop name="Upos.Spec_c" type="String" value="false"/>
        <prop name="LogicalPortInterfaceName" type="String" value="EPuras"/>
        <prop name="FirmNotifyAllProgressEvents" type="String" value="0"/>
        <prop name="InitializeResponseTimeout" type="String" value="1000"/>
        <prop name="ReceiveRetryTime" type="String" value="25"/>
        <prop name="UsedInterCharacterSet" type="String" value="0"/>
        <prop name="PrinterTransmitTimeout" type="String" value="30000"/>
        <prop name="RecMoreColumns" type="String" value="0"/>
        <prop name="EndorseFontMode" type="String" value="1"/>
        <prop name="WriteThreadInterval" type="String" value="-1"/>
        <prop name="preORCBFunction" type="String" value="0"/>
        <prop name="EndorseCharactersPerLine" type="String" value="40"/>
        <prop name="RecNearEndSensor" type="String" value="1"/>
        <prop name="LogObject" type="String" value=""/>
        <prop name="Cutter" type="String" value="1"/>
        <prop name="PhysicalDevice" type="String" value="TM-H6000IV"/>
        <prop name="UsedPeeler" type="String" value="0"/>
        <prop name="FirmLogFileName" type="String" value="Firmware.log"/>
        <prop name="InputBufferSize" type="String" value="84"/>
        <prop name="TransmitTimeout" type="String" value="5000"/>
        <prop name="SlipLineSpacing" type="String" value="12"/>
        <prop name="EPurasSupport" type="String" value="TRUE"/>
        <prop name="OfflineCount" type="String" value="2"/>
        <prop name="TransmitRetryTime" type="String" value="100"/>
        <prop name="DirectIOEventTimeout" type="String" value="5000"/>
        <prop name="epson.trace.detail.info" type="String" value="0"/>
</JposEntry>
    
</JposEntries>

STAR Printer and Cashdrawer (network connected)

At the time beeing, STAR printers are supported with Ethernet connections only.

The javaPos configuration looks like

  <JposEntry logicalName="POSPrinter">
    <creation factoryClass="com.starmicronics.starjavapos.ServiceInstanceFactory" serviceClass="com.starmicronics.starjavapos.POSPrinterService" />
    <vendor name="Star Micronics" url="www.star-m.jp/eng/index.htm" />
    <jpos category="POSPrinter" version="1.13" />
    <product description="Star receipt printer" name="Star Micronics POSPrinter controller" url="www.star-m.jp/eng/index.htm" />
    <prop name="model" type="String" value="SP700" />
    <prop name="portName" type="String" value="tcp:10.1.15.20" />
    <prop name="portSettings" type="String" value="" />
    <prop name="ioTimeoutMillis" type="Integer" value="5000" />
    <prop name="doCheckedBlockPrinting" type="Boolean" value="True" />
    <prop name="useNVBitImage" type="Boolean" value="False" />
  </JposEntry>


  <JposEntry logicalName="CashDrawer">
    <creation factoryClass="com.starmicronics.starjavapos.ServiceInstanceFactory" serviceClass="com.starmicronics.starjavapos.CashDrawerService" />
    <vendor name="Star Micronics" url="www.star-m.jp/eng/index.htm" />
    <jpos category="CashDrawer" version="1.13" />
    <product description="Printer controlled cash drawer" name="Star Micronics cash drawer controller" url="www.star-m.jp/eng/index.htm" />
    <prop name="portName" type="String" value="tcp:10.1.15.20" />
    <prop name="portSettings" type="String" value="" />
    <prop name="ioTimeoutMillis" type="Integer" value="5000" />
    <prop name="controlPrimaryDrawer" type="Boolean" value="True" />
    <prop name="firePulseWidth" type="Long" value="200" />
    <prop name="sleepPulseWidth" type="Long" value="200" />
    <prop name="capStatus" type="Boolean" value="True" />
    <prop name="signalLevelHighWhenDrawerOpen" type="Boolean" value="True" />
  </JposEntry>

Scales

The following scale devices are supported at the moment:

  • Bizerba ST with COM port connection
  • Bizerba iS30 with network connection

The javaPos driver for these scales has been implemented by Compey Systemhaus GmbH due to the fact, that there is no driver available for those scales from the vendor.

Bizerba ST

The section for the jpos.xml configuration is as follows:

    <JposEntry logicalName="Scale">
        <creation factoryClass="net.osbee.peripheral.genericscale.jpos.GenericScaleServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericscale.jpos.GenericScaleSerialScaleService"/>
        <vendor name="Compex Systemhaus GmbH " url="http://www.osbee.org"/>
        <jpos category="Scale" version="1.8"/>
        <product description="Generic Scale Service, version 1.8.0, (c) 2019" name="" url=""/>

	<prop name="scaleModel" type="String" value="BIZERBA ST"/>
        <prop name="databits" type="String" value="8"/>
        <prop name="tracingOutputFile" type="String" value="tracingGenericSerialScale.txt"/>
        <prop name="maximumWeight" type="String" value="60000"/>
        <prop name="physicalDeviceDescripton" type="String" value="GenericScale RS232"/>
        <prop name="stopbits" type="String" value="1"/>
        <prop name="port" type="String" value="COM1"/>
        <prop name="tracing" type="String" value="false"/>
        <prop name="parity" type="String" value="1"/>
        <prop name="communicationType" type="String" value="COM"/>
        <prop name="baudrate" type="String" value="9600"/>
        <prop name="tracingLevel" type="String" value="DEBUG"/>
        <prop name="refreshSerialConnection" type="String" value="120"/>
        <prop name="physicalDeviceName" type="String" value="GenericScale RS232"/>
        <prop name="metricUnit" type="String" value="true"/>
    </JposEntry>

Bizerba iS30

The section for the jpos.xml configuration is as follows:

    
    <JposEntry logicalName="Scale">
        <creation factoryClass="net.osbee.peripheral.genericscale.jpos.GenericScaleServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericscale.jpos.GenericScaleSerialScaleService"/>
        <vendor name="Compex Systemhaus GmbH " url="http://www.osbee.org"/>
        <jpos category="Scale" version="1.8"/>
        <product description="Generic Scale Service, version 1.8.0, (c) 2019"/>

        <prop name="scaleModel" type="String" value="BIZERBA iS30"/>
        <prop name="physicalDeviceDescripton" value="GenericScale TCPIP"/>
        <prop name="physicalDeviceName" value="GenericScale TCPIP"/>
        <prop name="communicationType" value="TCPIP"/>
        <prop name="port" value="20499"/>
        <prop name="server" value="10.1.15.11"/>
        <prop name="receiveTimeout" value="4000"/>
        <prop name="tracing" value="false"/>
        <prop name="tracingOutputFile" value="tracingGenericSerialScale.txt"/>
        <prop name="tracingLevel" value="DEBUG"/>
    </JposEntry>

Test Scale

The test scale can be used for development and demonstration purposes. It produces random values with every request.

    <JposEntry logicalName="Scale">
        <creation factoryClass="net.osbee.peripheral.genericscale.jpos.GenericScaleServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericscale.jpos.GenericScaleSerialScaleService"/>
        <vendor name="Compex Systemhaus GmbH " url="http://www.osbee.org"/>
        <jpos category="Scale" version="1.8"/>
        <product description="Generic Scale Service, version 1.8.0, (c) 2019"/>
        <prop name="scaleModel" type="String" value="DUMMY"/>
        <prop name="physicalDeviceDescripton" value="GenericScale DUMMY"/>
        <prop name="physicalDeviceName" value="GenericScale DUMMY"/>
        <prop name="communicationType" value="DUMMY"/>
    </JposEntry>

Common settings for all JavaPos peripherals

  • In Eclipse open Window->Preferences->OSBP Application Configuration
  • Select the product to be configured in the field Product Configuration

ProductConfiguration1.png

  • In the tab External Data Sources put the noted path in the field JavaPOS Configuration

ProductConfiguration2.png