Peripheral Devices

From OS.bee documentation
Jump to: navigation, search

Cash Register Peripherals

AURES Printer and Cashdrawer

The following shows a configuration for a POSPrinter and a CashDrawer connected to the printer.

The javaPos configuration for an IP based connection looks like this:

    <JposEntry logicalName="POSPrinter">
        <creation factoryClass="com.lukhan.jpos.ServiceInstanceFactory" serviceClass="com.lukhan.jpos.POSPrinterService"/>
        <vendor name="LUKHAN Co., Ltd." url="http://www.miniprinter.com"/>
        <jpos category="POSPrinter" version="1.8"/>
        <product description="Thermal receipt printer" name="Thermal Printer" url="http://www.miniprinter.com"/>
        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="portName" type="String" value="SOCKET:10.1.15.22"/>
        <prop name="portSettings" type="String" value="9100"/>
        <prop name="deviceClassName" type="String" value="Thermal"/>
        <prop name="statusTimeDelay" type="Long" value="500"/>
    </JposEntry>
	
    <JposEntry logicalName="CashDrawer">
        <creation factoryClass="com.lukhan.jpos.ServiceInstanceFactory" serviceClass="com.lukhan.jpos.CashDrawerService"/>
        <vendor name="LUKHAN Co., Ltd." url="http://www.miniprinter.com"/>
        <jpos category="CashDrawer" version="1.8"/>
        <product description="Cash Drawer" name="Thermal Printer" url="http://www.miniprinter.com"/>
        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="portName" type="String" value="SOCKET:10.1.15.22"/>
        <prop name="portSettings" type="String" value="9100"/>
        <prop name="deviceClassName" type="String" value="Thermal"/>
        <prop name="statusTimeDelay" type="Long" value="500"/>
        <prop name="PinNo" type="Long" value="2"/>
        <prop name="PulseOnTime" type="Long" value="2000"/>
        <prop name="PulseOffTime" type="Long" value="4000"/>
    </JposEntry>

The configuration for the USB connected printer is as follows:

    <JposEntry logicalName="POSPrinter">
        <creation factoryClass="com.lukhan.jpos.ServiceInstanceFactory" serviceClass="com.lukhan.jpos.POSPrinterService"/>
        <vendor name="LUKHAN Co., Ltd." url="http://www.miniprinter.com"/>
        <jpos category="POSPrinter" version="1.8"/>
        <product description="Thermal receipt printer" name="Thermal Printer" url="http://www.miniprinter.com"/>
        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="portName" type="String" value="USB"/>
        <prop name="portSettings" type="String" value="9600"/>
        <prop name="deviceClassName" type="String" value="Thermal"/>
        <prop name="statusTimeDelay" type="Long" value="500"/>
    </JposEntry>
    <JposEntry logicalName="CashDrawer">
        <creation factoryClass="com.lukhan.jpos.ServiceInstanceFactory" serviceClass="com.lukhan.jpos.CashDrawerService"/>
        <vendor name="LUKHAN Co., Ltd." url="http://www.miniprinter.com"/>
        <jpos category="CashDrawer" version="1.8"/>
        <product description="Cash Drawer" name="Thermal Printer" url="http://www.miniprinter.com"/>
        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="portName" type="String" value="USB"/>
        <prop name="portSettings" type="String" value="9600"/>
        <prop name="deviceClassName" type="String" value="Thermal"/>
        <prop name="statusTimeDelay" type="Long" value="500"/>
        <prop name="PinNo" type="Long" value="2"/>
        <prop name="PulseOnTime" type="Long" value="200"/>
        <prop name="PulseOffTime" type="Long" value="400"/>
		<prop name="IgnoreOpenDrawerState" type="Boolean" value="true"/>
    </JposEntry>


AURES Sango cashdrawer port

The AURES Sango POS computer has the possibility to directly connect the cashdrawer to a specific port.

The configuration for this szenario looks like this:

	<JposEntry logicalName="CashDrawer">
		<creation factoryClass="com.ft.jpos.FTCashDrawerJposServiceInstanceFactory" serviceClass="com.ft.jpos.CashDrawerService"/>
		<vendor name="FT" url="http://www.ft.com"/>
		<jpos category="CashDrawer" version="1.12"/>
		<product description="FT Cash Drawer JavaPOS Service" name="FT CashDrawer" url="http://www.ft.com"/>
		<prop name="InputAddr" value="482" />
		<prop name="InputStatus" value="1" />
		<prop name="OutputAddr" value="482" />
		<prop name="Port" value="1" />
		<prop name="B78" value="0" />
		
		<prop name="LogFile" type="String" value="FTCashDrawerLog.out"/>
		<prop name="LogLevel" type="Integer" value="0"/>
	</JposEntry>

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>

HP Cashdrawer direct IO Port

ATTENTION: this cashdrawer implementation requires Java 32bit. This is taken into account by the OS.peripherals setup.


The following shows a configuration for a CashDrawer connected directly to the cashdrawer port in a HP Pos computer.

The javaPos configuration for port 1 looks like this:

   <JposEntry logicalName="CashDrawer">
        <creation factoryClass="hp.jpos113.utilities.HPJposServiceInstanceFactory" serviceClass="hp.jpos113.cd.CashDrawerService"/>
        <vendor name="Hewlett-Packard" url="http://www.hp.com"/>
        <jpos category="CashDrawer" version="1.13.3"/>
        <product description="HP Integrated Cash Drawer Device Service" name="HP Cash Drawer Service for JavaPOS(TM) Standard" url="http://www.hp.com"/>

        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
		<prop name="deviceBus" type="String" value="Unknown"/>
		<prop name="PhysicalDevice" type="String" value="HP_CashDrawerPort-1"/>
		<prop name="DeviceID" type="String" value="0"/>
		<prop name="DeviceDesc" type="String" value="HP Integrated Cash Drawer"/>
		<prop name= "DeviceName" type="String" value="HP Integrated Cash Drawer"/>
		<prop name="DrawerNo" type="String" value="1"/>
		<prop name="StatusPolling" type="String" value="1000"/>
		<prop name="TracingLevel" type="String" value="10"/>
    </JposEntry>

and for port 2:

   <JposEntry logicalName="CashDrawer">
        <creation factoryClass="hp.jpos113.utilities.HPJposServiceInstanceFactory" serviceClass="hp.jpos113.cd.CashDrawerService"/>
        <vendor name="Hewlett-Packard" url="http://www.hp.com"/>
        <jpos category="CashDrawer" version="1.13.3"/>
        <product description="HP Integrated Cash Drawer Device Service" name="HP Cash Drawer Service for JavaPOS(TM) Standard" url="http://www.hp.com"/>

        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
		<prop name="deviceBus" type="String" value="Unknown"/>
		<prop name="PhysicalDevice" type="String" value="HP_CashDrawerPort-1"/>
		<prop name="DeviceID" type="String" value="0"/>
		<prop name="DeviceDesc" type="String" value="HP Integrated Cash Drawer"/>
		<prop name= "DeviceName" type="String" value="HP Integrated Cash Drawer"/>
		<prop name="DrawerNo" type="String" value="2"/>
		<prop name="StatusPolling" type="String" value="1000"/>
		<prop name="TracingLevel" type="String" value="10"/>
    </JposEntry>

To use the configuration on a specific POS computer, just copy the <Jposentry> section for either port 1 or port 2 into the jpos.xml file in use.

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>

Cashdrawer simulation

This cashdrawer is availabe in OS.peripherals starting with versions 1.2 dated after 16.05.2022.

It can be used to simulate a CashDrawer to show the behaviour of OS.pos without the need to have real hardware in place.

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

    <JposEntry logicalName="CashDrawer">
        <creation factoryClass="net.osbee.peripheral.genericcashdrawer.CashDrawerServiceInstanceFactory" serviceClass="net.osbee.peripheral.genericcashdrawer.CashDrawerController"/>
        <vendor name="Compex Systemhaus" url="www.osbee.org"/>
        <jpos category="CashDrawer" version="1.0"/>
        <product description="Dummy cash drawer" name="OS.bee dummy cash drawer controller" url="www.osbee.org"/>
        <!--Other non JavaPOS required property (mostly vendor properties and bus specific properties i.e. RS232 )-->
        <prop name="physicalDeviceName" type="String" value="Cashdrawer Simulation"/>
        <prop name="physicalDeviceType" type="String" value="CashDrawerCommunicationSimulator"/>
        <prop name="physicalDeviceDescription" type="String" value="Cashdrawer Simulation"/>
	</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"/>
        <!-- new parameter, available with net.osbee.peripherals Versions 1.2 after 03.01.2022  -->
	<prop name="communicationTimeout" type="String" value="3000"/>
    </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"/>
        <!-- new parameter, available with net.osbee.peripherals Versions 1.2 after 03.01.2022  -->
	<prop name="communicationTimeout" type="String" value="3000"/>
    </JposEntry>

Scale simulation

The scale simulation 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"/>
        <!-- new parameter, available with net.osbee.peripherals Versions 1.2 after 03.01.2022  -->
        <prop name="answerDelay" type="String" value="500"/>
    </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. Enter the path to the javapos.xml configuration file you want to use.

ProductConfiguration2.png