Properties, Methods and Events

Overview

The following steps depict the behavioral model of the JPOS driver and scanner.

  1. The scanner reads encoded data from a label.
  2. When the Control receives input, it queues a DataEvent.
  3. If the AutoDisable property is TRUE, the Control is disabled when a DataEvent is queued.
  4. The Control can deliver a queued DataEvent to the application when the DataEventEnabled property is TRUE. Just before delivering this event, the Control copies the data into properties and disables further data events by setting the DataEventEnabled property to FALSE. This causes the Control to queue subsequent input data while the application processes the current input and associated properties. When the application finishes the current input and is ready for more data, it re-enables events by setting DataEventEnabled to TRUE.
  5. The Control queues an ErrorEvent (or events) if it encounters an error while gathering or processing input and delivers this to the application when the DataEventEnabled property is TRUE.
  6. The DataCount property contains the number of DataEvents queued by the Control.
  7. Call the ClearInput method to delete all input that the Control queued.

Scanned data is placed into the property ScanData. If the application sets the property DecodeData to TRUE, the data is decoded into ScanDataLabel and ScanDataType.


Deviations from JPOS Specifications

  • When there is no scanner connected to a cordless base, the Zebra Scanner JPOS Driver considers the cordless base a scanner. Therefore, a claim succeeds with a cordless base.
  • In serial mode, a claim succeeds even when no scanner is connected to the port. In this case, it indicates the success of the port opening.

The following steps depict the behavioral model of the JPOS driver and scale:

  1. The POS application calls the ReadWeight method in JPOS control.
  2. When JPOS control receives the method call, it passes the request to the JPOS scale service and JPOS scale service passes that request to CoreScanner service.
  3. The CoreScanner Service requests the weight data from the scale and reports it back up through the JPOS scale service to the JPOS control.
  4. JPOS control returns the ReadWeight method with the weight data retrieved to the POS application.

JPOS Configurable Properties

Configurable JPOS properties are defined in the JPOS XML and a separate configuration set can be maintained per each host name as given in the sample xml below.


<JposEntries>
    <JposEntry logicalName="LogicalName1">
        <prop name="Property1" value="Value1"/>
        <prop name="Property2" value="Value2"/>
        <prop name="Property3" value="Value3"/>
        ... 
    </JposEntry>
    <JposEntry logicalName="LogicalName2">
        <prop name="Property1" value="Value1"/>
        <prop name="Property2" value="Value2"/>
        <prop name="Property3" value="Value3"/>
        ...
    </JposEntry>
<JposEntries>

JPOS Configurable Properties

Scanner Profile Properties


<prop name="ExclusiveClaimLevel" type="String" value="0"/>

The ExclusiveClaimLevel property controls the ability to claim the same device from multiple applications. When this value = 0, multiple apps can claim the same device. When this value = 1, once a device is claimed, other apps cannot claim the same device.


<prop name="ScannerType" type="String" value="ALL"/>

The ScannerType property identifies the Host communication mode of the Open device. The value ALL means all host modes are associated with the device. Individual mode values are USBIBMTT, USBIBMHID, SNAPI, SSI_SERIAL, USBOPOS, NIXMODB and SSI_BT.


<prop name="NcrBeepOnceScanTonePattern" type="String" value="10"/>

The NcrBeepOnceScanTonePattern property defines the NCR single beep tone pattern. The value represents the id of the tone pattern defined in the Beep Tone Value section.


<prop name="NcrEnableBeepScanTonePattern" type="String" value="10"/>

                                                    

The NcrEnableBeepScanTonePattern property defines the NCR Enable Scan beep tone pattern. The value represents the id of the tone pattern defined in the Beep Tone Value section.


<prop name="NcrDisableBeepScanTonePattern" type="String" value="10"/>

The NcrDisableBeepScanTonePattern property defines the NCR Disable Scan beep tone pattern. The value represents the id of the tone pattern defined in the Beep Tone Value section.


<prop name="DioScannerNotOnFile" type="String" value="12"/>

The DioScannerNotOnFile property defines the Direct IO Not on File beep tone pattern. The value represents the id of the tone pattern defined in the Beep Tone Value section.


<prop name="DioScannerDioNof" type="String" value="12"/>

The DioScannerDioNof property defines the Direct IO NoF beep tone pattern. The value represents the id of the tone pattern defined in the Beep Tone Value section.


<prop name="ScanDataLabelId" type="String" value="9999"/>

The ScanDataLabelId property will append/prepend data based on the label ID. Supported values:

  • IBM_LABEL = 0 (Leave IBM Label ID)
  • NCR_LABEL = 1 (Convert to NCR Label ID)
  • NO_LABEL = 2 (Remove Label ID)
  • NCR_1D_ONLY = 3 (Convert to NCR Label ID for 1D barcode only)
  • NCR_2D_ONLY = 4 (Convert to NCR Label ID for 2D barcode only)
  • ZEBRA_LABEL = 9999 (Zebra default behavior)

Scale Profile Settings


<prop name="LiveWeightFrequency" type="String" value="500"/>

The LiveWeightFrequency property defines the live weight reporting rate in milliseconds.


<prop name="SyncReadWeightOnZeroTimeout" type="String" value="False"/>

The SyncReadWeightOnZeroTimeout property enable/disable the ReadWeight timeout value.


<prop name="NcrScaleReadWeightTimeout" type="String" value="300"/>

The NcrScaleReadWeightTimeout property defines the read weight timeout for the NCR ReadWeight Direct IO command in milliseconds.


<prop name="ErrorCode" type="String" value="114"/>

The ErrorCode property defines the error code value for the ReadWeight command.

The following entries define the string return values for NCR ResultCodeExtended (JPOS_E_EXTENDED) responses:


<prop name="ExtErrorOverWeight" type="String" value="201"/>

JPOS_ESCAL_OVERWEIGHT—the weight was over MaximumWeight.


<prop name="ExtErrorUnderZero" type="String" value="202"/>

NCR_ESCAL_UNDERZERO—the scale is reading less than zero weight.


<prop name="ExtErrorNonStableWeight" type="String" value="203"/>

NCR_ESCAL_UNSTABLE—the scale reading is not stable.


<prop name="ExtErrorStableZeroWeight" type="String" value="204"/>

NCR_ESCAL_ZEROWEIGHT—the scale is not registering a weight.


Supported Feature Set

Properties

Table 1: Common Properties

Property Version Type Access May Use After Comments on Zebra Scanner Support
AutoDisable 1.2 Boolean R/W Open Supported
BinaryConversion 1.2 Long R/W Open Not Supported
CapCompareFirmwareVersion 1.9 Boolean R Open Not Supported
CapPowerReporting 1.3 Int R Open Supported
CapStatisticsReporting 1.8 Boolean R Open Supported
CapUpdateFirmware 1.9 Boolean R Open Not Supported
CapUpdateStatistics 1.8 Boolean R Open Supported
CheckHealthText 1.0 String R Open Supported
Claimed 1.0 Boolean R/W Open Supported (see Deviations from JPOS Specifications)
DataCount 1.2 Int32 R Open Supported
DataEventEnabled 1.0 Boolean R/W Open Supported
DeviceEnabled 1.0 Boolean R/W Open and Claim Supported
FreezeEvents 1.0 Boolean R/W Open Supported
OpenResult 1.5 Long R N/A Not Supported
PowerNotify 1.3 Long R/W Open Supported
PowerState 1.3 Int32 R Open Supported
ResultCode 1.0 Long R N/A Not Supported
ResultCodeExtended 1.0 Long R Open Not Supported
State 1.0 Int32 R N/A Supported
ControlObjectDescription 1.0 String R N/A Supported
ControlObjectVersion 1.0 Int32 R N/A Supported
ServiceObjectDescription 1.0 String R Open Supported
ServiceObjectVersion 1.0 Int32 R Open Supported
DeviceDescription 1.0 String R Open Supported
DeviceName 1.0 String R Open Supported

Table 2: Scanner Specific Properties

Property Version Type Access May Use After Comments on Zebra Scanner Support
DecodeData 1.2 Boolean R/W Open Supported
ScanData 1.0 String R Open Supported
ScanDataLabel 1.2 String R Open Supported
ScanDataType 1.2 Int32 R Open Supported

Table 3: Scale Specific Properties

Property Version Type Access May Use After Comments on Zebra Scanner Support
CapDisplay 1.2 Boolean R Open Supported (Always False)
CapDisplayText 1.3 Boolean R Open Supported (Always False)
CapPriceCalculating 1.3 Boolean R Open Supported (Always False)
CapStatusUpdate 1.9 Boolean R Open Supported
CapTareWeight 1.3 Boolean R Open Supported (Always False)
CapZeroScale 1.3 Boolean R Open Supported
AsyncMode 1.3 Boolean R/W Open Supported
MaxDisplayTextChars 1.3 Integer R Open Not Supported
MaximumWeight 1.0 Integer R Open Supported
SalesPrice 1.3 Currency R Open, Claim, and Enable Not Supported
ScaleLiveWeight 1.9 Integer R Open Supported
StatusNotify 1.9 Integer R/W Open Supported
TareWeight 1.3 Integer R/W Open, Claim, and Enable Not Supported
UnitPrice 1.3 Currency R/W Open, Claim, and Enable Not Supported
WeightUnit 1.0 Integer R Open Supported
ZeroValid 1.13 Boolean R/W Open Supported

Methods

Table 4: Common Methods

Method Version May Use After Comments on Zebra Scanner Support
Open 1.0 N/A Supported
Close 1.0 Open Supported
ClaimDevice 1.0 Open Supported (see Deviations from JPOS Specifications)
ReleaseDevice 1.0 Open and Claim Supported
CheckHealth 1.0 Open, Claim, and Enable Supported
  • CheckHealthInternal / CH_INTERNAL - Supported
  • CheckHealthExternal / CH_EXTERNAL - Supported
  • CheckHealthInteractive / CH_INTERACTIVE - Supported
ClearInput 1.0 Open and Claim Supported
ClearInputProperties 1.10 Open and Claim Supported
DirectIO 1.0 Open Supported
compareFirmwareVersion 1.9 Open, Claim, and Enable Not Supported
resetStatistic 1.8 Open, Claim, and Enable Supported
retrieveStatistics 1.8 Open, Claim, and Enable Supported
updateFirmware 1.9 Open, Claim, and Enable Not Supported
updateStatistics 1.8 Open, Claim, and Enable Supported

Table 5: Scale Specific Methods

Method Version May Use After Comments on Zebra Scanner Support
DisplayText 1.3 Open, Claim, and Enable Not Supported
ReadWeight 1.3 Open, Claim, and Enable Supported
ZeroScale 1.0 Open, Claim, and Enable Supported

Zero Scale Operation

The weight reading of the scale can be set to zero by performing the Zero Scale operation. Once performed, the reading is set to Zero.

  • The range of values is 0-60 (default is 60)
  • In Lbs mode: 0 = 0.00 lb - 60 = 0.60 lb (increments of 0.01 lbs)
  • In Kgs mode: 0 = 0.00 kg - 60 = 0.300 kg (increments of 0.005 kg)

Events

Table 6: Events

Method Version May Use After Comments on Zebra Scanner Support
DataEvent 1.0 Open, Claim and Enable Supported
DirectIOEvent 1.0 Open and Claim Supported
ErrorEvent 1.0 Open, Claim and Enable Supported
StatusUpdateEvent 1.3 Open, Claim and Enable Supported