Device Properties

ICaptureProperty.PropId.kVersionDevice

This property retrieves the version information of a connected device.

The version of the device can be read upon reception of the Get Complete event. The property has its type set to ICaptureProperty.PropId.kVersion, and the version field of the property contains the version information of the device identified by its handle. The version is described by 9 fields: Major, Middle, Minor, Build, Year, Month, Day, Hour and Minute.

Get

Get Complete

Set

Set Complete

None

Version

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDeviceType

This property is used to retrieve the Device Type of a connected device. See The following Name list:

Value

Description

DeviceTypes.kNone

Unspecified Product ID

DeviceTypes.kScanner7

For the CHS 7 family

DeviceTypes.kScanner7x

For the CHS 7x family

DeviceTypes.kScanner7xi

For the CHS 7Xi/Qi

DeviceTypes.kScanner9

For the CRS 9 family

DeviceTypes.kSocketCamC820

Device’s Camera C820 used as barcode scanner

DeviceTypes.kSocketCamC860

Device’s Camera C860 used as barcode scanner

DeviceTypes.kScannerS800

For the CHS S800(8Ci) family

DeviceTypes.kScannerS820

For the SocketScan S820 family

DeviceTypes.kScannerS850

For the CHS S850(8Qi) family

DeviceTypes.kScannerS840

For the SocketScan S840 family

DeviceTypes.kScannerD700

For the Durascan D700 family

DeviceTypes.kScannerD720

For the Durascan D720 family

DeviceTypes.kScannerD730

For the Durascan D730 family

DeviceTypes.kScannerD740

For the Durascan D740 family

DeviceTypes.kScannerD750

For the Durascan D750 family

DeviceTypes.kScannerD760

For the Durascan D760 family

DeviceTypes.kScannerS700

For the SocketScan S700 family

DeviceTypes.kScannerS720

For the SocketScan S720 family

DeviceTypes.kScannerS730

For the SocketScan S730 family

DeviceTypes.kScannerS740

For the SocketScan S740 family

DeviceTypes.kScannerS750

For the SocketScan S750 family

DeviceTypes.kScannerS760

For the SocketScan S760 family

DeviceTypes.kScannerS860

For the SocketScan S860 family

DeviceTypes.kScannerD790

For the Durascan D790 family

DeviceTypes.kScannerD600

For the Durascan D600 family

DeviceTypes.kScannerS550

For the SocketScan S550 family

DeviceTypes.kScannerS370

For the SocketScan S370 family

DeviceTypes.kNFCS370

For the SocketScan S370 family

DeviceTypes.kScannerS320

For the SocketScan D790 family

DeviceTypes.kNFCTag

For the NFC Tag family

DeviceTypes.kScannerM930

For the M930 family

DeviceTypes.kScannerM940

For the M940 family

DeviceTypes.kBtUnknown

Unknown Bluetooth Classic Product ID

DeviceTypes.kDeviceManagerBle

Device Manager for controlling BluetoothLE

DeviceTypes.kBleUnknown

Unknown BluetoothLE Product ID

Get

Get Complete

Set

Set Complete

None

ULong

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDeviceSpecific

This property can send a device specific command. The command depends on the device type connected to the host. Capture acts as a pass-through without interpreting any of the data in the command that is sent to the device using this property. The command should be set in the Array member of the property, and the response command is returned in the Array member of the property. The command format depends on the device used. The command format for the 7Xi/Qi/D750 series is different from the command format used in the SocketScan 700/800, Durascan series and CHS 7 Series. The command should be a properly formatted packet for the engine without the checksum or other framing.

The command format for the SocketScan 700/800, Durascan series and CHS 7 Series is decomposed as described in the following table.

Byte

Size

Description

0

1

Size including this byte

1

1

OpCode (0xC6 for example)

2

1

Status: 0x04 for Host

3

1

Flags: 0x00

4

1

Beep Code: 0xFF This byte is only required for the SetParam command 0xC6

5

variable

Payload without checksum

The command format for the 7Xi/Qi/D750 series is decomposed as described in the following table.

Byte

Size

Description

0

1

Operation

1

1

Group ID

2

1

Function ID

3

variable

Function payload without checksum

Get

Get Complete

Set

Set Complete

Array

Array

Array

Array

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDataSourceDevice

This property is used to retrieve or set the status of a particular symbology.

A symbology is identified by a unique ID. A Capture symbology object is used in order to manipulate the setting of a symbology.

This object is ICaptureDataSource. It has the following fields:

Name

Description

ID

Contains the Symbology ID (e.g. ICaptureDataSource.Id.kSymbologyCode39)

Flags

Indicates if the Param field is used or not.

Status

Indicates the status of the symbology.

Param

Contains extra parameters about the symbology. Not used for now.

Name

Contains the symbology name. Only used to return the symbology name

A symbology that has a ICaptureDataSource.StatusValues.kNotSupported status means the device doesn’t support this symbology.

The following table gives the possible Symbology Status.

Name

Definition

ICaptureDataSource.StatusValues.kDefault

The symbology’s default value.

ICaptureDataSource.StatusValues.kEnable

The symbology is present and activated.

ICaptureDataSource.StatusValues.kDisable

The symbology is present but deactivated.

ICaptureDataSource.StatusValues.kNotSupported

The symbology is not supported by the device.

The following table gives the list of Barcode Symbology IDs.

Name

Definition

ICaptureDataSource.Id.kNotSpecified

The symbology ID is unknown or not specified.

ICaptureDataSource.Id.kSymbologyAustraliaPost

Australia Post

ICaptureDataSource.Id.kSymbologyAztec

AZTEC

ICaptureDataSource.Id.kSymbologyBooklandEan

BOOKLAND EAN

ICaptureDataSource.Id.kSymbologyBritishPost

British Post

ICaptureDataSource.Id.kSymbologyCanadaPost

Canada Post

ICaptureDataSource.Id.kSymbologyChinese2of5

Chinese 2 of 5

ICaptureDataSource.Id.kSymbologyCodabar

CODABAR

ICaptureDataSource.Id.kSymbologyCodablockA

CODABLOCK A

ICaptureDataSource.Id.kSymbologyCodablockF

CODABLOCK F

ICaptureDataSource.Id.kSymbologyCode11

Code 11

ICaptureDataSource.Id.kSymbologyCode39

Code 39

ICaptureDataSource.Id.kSymbologyCode39Extended

Code 39 Full ASCII

ICaptureDataSource.Id.kSymbologyCode39Trioptic

Code 39 Trioptic

ICaptureDataSource.Id.kSymbologyCode93

Code 93

ICaptureDataSource.Id.kSymbologyCode128

Code 128

ICaptureDataSource.Id.kSymbologyDataMatrix

Data Matrix

ICaptureDataSource.Id.kSymbologyDutchPost

Dutch Post

ICaptureDataSource.Id.kSymbologyEan8

EAN 8

ICaptureDataSource.Id.kSymbologyEan13

EAN 13

ICaptureDataSource.Id.kSymbologyEan128

EAN 128

ICaptureDataSource.Id.kSymbologyEan128Irregular

EAN 128 Irregular

ICaptureDataSource.Id.kSymbologyEanUccCompositeAB

EAN UCC Composite AB

ICaptureDataSource.Id.kSymbologyEanUccCompositeC

EAN UCC Composite C

ICaptureDataSource.Id.kSymbologyGs1Databar

GS1 DATABAR

ICaptureDataSource.Id.kSymbologyGs1DatabarLimited

GSI DATABAR Limited

ICaptureDataSource.Id.kSymbologyGs1DatabarExpanded

GS1 DATABAR Expanded

ICaptureDataSource.Id.kSymbologyInterleaved2of5

Interleaved 2 of 5

ICaptureDataSource.Id.kSymbologyIsbt128

ISBT 128

ICaptureDataSource.Id.kSymbologyJapanPost

Japan Post

ICaptureDataSource.Id.kSymbologyMatrix2of5

Matrix 2 of 5

ICaptureDataSource.Id.kSymbologyMaxicode

Maxicode

ICaptureDataSource.Id.kSymbologyMsi

MSI

ICaptureDataSource.Id.kSymbologyPdf417

PDF 417

ICaptureDataSource.Id.kSymbologyPdf417Micro

PDF 417 Micro

ICaptureDataSource.Id.kSymbologyPlanet

Planet US Post

ICaptureDataSource.Id.kSymbologyPlessey

PLESSEY

ICaptureDataSource.Id.kSymbologyPostnet

POSTNET US Post

ICaptureDataSource.Id.kSymbologyQRCode

QR Code

ICaptureDataSource.Id.kSymbologyStandard2of5

Standard 2 of 5

ICaptureDataSource.Id.kSymbologyTelepen

Telepen

ICaptureDataSource.Id.kSymbologyTlc39

TLC 39

ICaptureDataSource.Id.kSymbologyUpcA

UPC A

ICaptureDataSource.Id.kSymbologyUpcE0

UPC E0

ICaptureDataSource.Id.kSymbologyUpcE1

UPC E1

ICaptureDataSource.Id.kSymbologyUspsIntelligentMail

USPS Intelligent Mail

ICaptureDataSource.Id.kSymbologyDirectPartMarking

Direct Part Marking optimization

ICaptureDataSource.Id.kSymbologyHanXin

Han Xin

ICaptureDataSource.Id.kSymbologyDotCode

DotCode

ICaptureDataSource.Id.kSymbologyDigimarc

Digimarc

ICaptureDataSource.Id.kSymbologyKoreaPost

Korea Post

ICaptureDataSource.Id.kLastSymbologyID

Last ID, not an actual barcode symbology

The enumeration of the available barcode symbologies of a device can be done by doing get operations with the symbology ID incremented one by one from kNotSpecified+1 to kLastSymbolID-1.

The following table gives the list of RFID Tag Type IDs.

Name

Definition

ICaptureDataSource.Id.kTagTypeISO14443TypeA

ISO 14443 A

ICaptureDataSource.Id.kTagTypeISO14443TypeB

ISO 14443 B

ICaptureDataSource.Id.kTagTypeFelica

Felica

ICaptureDataSource.Id.kTagTypeISO15693

ISO 15693

ICaptureDataSource.Id.kTagTypeNXPICODE1

NXPI Code 1

ICaptureDataSource.Id.kTagTypeInsideSecurePicoTag

Inside Secure Pico Tag

ICaptureDataSource.Id.kTagTypeInnovisionTopazJewel

Innovision Topaz Jewel

ICaptureDataSource.Id.kTagTypeThinfilmNFCBarcode

Thin Film NFC Barcode

ICaptureDataSource.Id.kTagTypeSTMicroElectronicsSR

ST Micro Electronics SR

ICaptureDataSource.Id.kTagTypeASKCTS256BOrCTS512B

ASK CTS 256B or CTS 512B

ICaptureDataSource.Id.kTagTypeNFCForum

NFC Forum

ICaptureDataSource.Id.kTagTypeInnovatronRadioProtocol

Innovatron Radio Protocol

ICaptureDataSource.Id.kTagTypeLastTagType

The last RFID tag type, not an actual tag type symbology

The enumeration of the available RFID tag type symbologies of a device can be done by doing get operations with the symbology ID incremented one by one from kLastSymbologyID+1 to kTagTypeLastTagType-1.

Get

Get Complete

Set

Set Complete

Symbology

Symbology

Symbology

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kTriggerDevice

This property allows the application to start or stop a trigger operation of a device remotely or to activate/deactivate the device trigger button. This property can only be used in a Set operation. Its Byte value can have one of the following values:

Name

Description

ICaptureProperty.Values.Trigger.kStart

Start a scan

ICaptureProperty.Values.Trigger.kStop

Stop a scan

ICaptureProperty.Values.Trigger.kEnable

Enable the trigger button

ICaptureProperty.Values.Trigger.kDisable

Disable the trigger button

ICaptureProperty.Values.Trigger.kContinuousScan

Continuous Scan with iOS/Android SocketCam only

ICaptureProperty.Values.Trigger.kContinuousScanUntilRead

Continuous Scan until a code is read with iOS/Android SocketCam only

The kContinuousScan value allows the SocketCam view to stay on the screen even after a successful read. There is a 1s delay to avoid reading the same barcode. There won’t be multiple reads of the same barcode if the viewfinder aims at the same barcode without moving around its aim. The user must click the Cancel button present on the viewfinder when no more barcodes need to be read.

Get

Get Complete

Set

Set Complete

Not applicable

Not applicable

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kApplyConfigDevice

This property applies the device configuration stored on the host to the device. This property can only be set and doesn’t have any parameters.

Get

Get Complete

Set

Set Complete

None

None

None

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kPreambleDevice

This property can be used to set or get the device preamble. When a preamble is set, it will be added in front of the decoded data. The preamble is defined as a string with a length that can contain any value for each character from 0 (0x00) to 255 (0xff).

Note

The 7 series 3.1 scanners don’t support a true preamble. The preamble is actually stored on the device as part as the friendly name and postamble. The total amount of characters for the friendly name, preamble and postamble cannot be bigger than 28 characters. If a preamble is too long, an error ESKT_INVALIDPARAMETER would be generated in the return of the Set Capture Property. If the device is used without Capture, the preamble won’t appear in front of the decoded data. The 7 series 3.2 or higher scanners support a limited preamble. The preamble can only be one character long. It can be used without Capture once it is setup. The 7 series version can be determined by the Version property Major and Middle values.

These remarks only apply to the CHS7 series, except for the 7Xi and 7Qi. They do not apply for any other scanner series.

Get

Get Complete

Set

Set Complete

None

String

String

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kPostambleDevice

This property can be used to set or get the device postamble. When a postamble is set, it will be added at the tail of the decoded data.

The postamble is defined as a string with a length that can contains any value for each character from 0 (0x00) to 255 (0xff).

Note

The 7 series v3.1 don’t support a true postamble. The postamble is actually stored on the device as part as the friendly name and preamble. The total amount of characters for the friendly name, preamble and postamble cannot be bigger than 28 characters. If a postamble is too long, an error ESKT_INVALIDPARAMETER would be generated in the return of the Set Capture Property. If the device is used without ScanAPI, the postamble won’t appear at the tail of the decoded data.

Note

The 7 series v3.2 or higher support a limited postamble. The postamble can only be 2 characters long. It can be used without Capture once it is setup.

These remarks only apply to the CHS7 series, except for the 7Xi and 7Qi. They do not apply for any other scanner series.

Get

Get Complete

Set

Set Complete

None

String

String

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kCapabilitiesDevice

This property can be used to get the device capabilities.

The capabilities of a device have been divided in 2 groups: General and Local Functions.

The General group contains the information about the device to determine if it has a Local Function Group capability.

The Local Function Group regroups the features that are implemented locally on the device, such as Friendly Name, Sound, Led flash, Vibration, etc.

The features that belong to the General Group are features implemented in any type of device, such as Device Type, Symbology settings, Trigger etc…

Most of the time, these features are implemented in the scanner engine. The Get Request has a one-byte parameter to interrogate the one of the capabilities group. The following table describes the capabilities of each group.

If the Get Property byte value is set to ICaptureProperty.Values.CapabilityGroup.kGeneral, the return value of the Get Complete Property is a Ulong describing the general capability. In the current version of Capture only Bit 0 is set to 1 if the device supports Local Functions.

3 1

3 0

2 9

2 8

2 7

2 6

2 5

2 4

2 3

2 2

2 1

2 0

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

X

The X is set to 1 when the device supports Local Functions. The following constant can be use for the LocalFunctions bit: ICaptureProperty.Values.CapabilityGeneral.kLocalFunctions

If the Get Property byte value is set to ICaptureProperty.Values.CapabilityGroup.kLocalFunctions, the return value of the Get Complete Property is an unsigned long (Ulong) describing the Local Functions capability.

In the current version of Capture, the Bit 0 is set to 1 if the device supports Vibration mode and the Bit 1 is set to 1 if the Change ID feature is present.

3 1

3 0

2 9

2 8

2 7

2 6

2 5

2 4

2 3

2 2

2 1

2 0

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

1 0

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Y

X

Bit 0 is set to 1 when the device supports Vibration Mode. Bit 1 is set to 1 when the device supports the Change ID feature. These are the constants used for capability definition: ICaptureProperty.Values.CapabilityLocalFunctions.kRumble and ICaptureProperty.Values.CapabilityLocalFunctions.kChangeID.

Get

Get Complete

Set

Set Complete

Byte

Ulong

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kChangeIdDevice

This property returns a Change ID of the device symbology configuration and the device preamble and postamble. This Change ID will reflect any configuration change in the scanner engine that could have been made outside Capture by scanning a scanner engine configuration barcode.

This feature is useful to figure out if the device has a different symbology configuration or preamble/postamble than the host has stored for this device.

The enumeration of all the supported symbologies can be a lengthy operation that can be greatly improved by implementing a symbology cache mechanism.

The first time a device is connected to the host, its symbology status gets enumerated and stored into a cache. The change ID is also requested.

If the device disconnects and then reconnects at a later time to this host, the change ID is requested and compared with the ChangeID stored in the host cache. If the change ID is the same then the symbology can be displayed out of the cache without requesting it from the device.

If the ChangeID is different, this means the symbology on the device has been altered, and it will require a new enumeration of the symbology from the device.

The change ID is a Ulong value that is a checksum of all the scanner engine settings (including symbology activation and preamble/postamble).

Other scanner properties aren’t covered by this Change ID, such as beeps/LED/Vibration configuration, friendly name, data store, and confirmation settings.

Get

Get Complete

Set

Set Complete

None

Ulong

not applicable

not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kFriendlyNameDevice

This property is used to read or modify the friendly name of a device. The friendly name is carried as a string in the property.

The friendly name of a device is what appears during a Bluetooth device discovery process. The main purpose of changing the friendly name of a device is to have an easy way to identify a particular device.

The changes are active immediately upon success of the Set Complete operation, although some host devices/platforms may cache the last friendly name.

The friendly name size can be as long as 32 UTF8 characters including the null terminator.

Note

For the 7 series v3.1, Capture uses the friendly name memory to store the preamble and the postamble. The total amount of characters for the friendly name, preamble and postamble cannot be bigger than 28 characters. If a friendly name is too long to be stored along with the preamble and postamble, an error ESKT_INVALIDPARAMETER would be generated in the return of the Set Capture Property.

These remarks only apply to the CHS7 series, except for the 7Xi and 7Qi. They do not apply for any other scanner series.

Get

Get Complete

Set

Set Complete

None

String

String

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kSecurityModeDevice

This property gets or set the security mode of a device.

The security mode can be one of the following values:

Value

Description

ICaptureProperty.Values.SecurityMode.kNone

No security mode on the device.

ICaptureProperty.Values.SecurityMode.kAuthentication

Mode Authentication on the device. Any host attempting to connect to this device will be asked for a PIN code.

ICaptureProperty.Values.SecurityMode.kAuthenticationEncryption

Same as above but with data encryption enabled between the host and the device.

Get

Get Complete

Set

Set Complete

None

Byte

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kPinCodeDevice

This property sets a new pin code for a connected device. The new PIN code should be a string and cannot be longer than 16 characters. The new PIN code will have effect at the next connection of the device. Changing the PIN code of the connected device won’t disconnect device. The new PIN code will be required by the host when the device connects the next time.

Get

Get Complete

Set

Set Complete

Not applicable

Not applicable

String

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDeletePairingBondingDevice

This property deletes the Bluetooth pairing and bonding information from the device identified by its reference. Once the pairing and bonding information have been deleted from the device, the device stays connected. The new pairing and bonding information will be created at the next connection of the device to the host.

This property can only be used in a Set operation and has one parameter indicating if the pairing and bonding information should be deleted for all the hosts the scanner might know or only for the current host.

A constant has been defined for each of these modes:

Name

Description

CaptureProperty.Values.DeletePairing.kCurrent

Delete the Pairing and Bonding information only for the current host.

CaptureProperty.Values.DeletePairing.kAll

Delete the Pairing and Bonding

Get

Get Complete

Set

Set Complete

Not applicable

Not applicable

None

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kRestoreFactoryDefaultsDevice

This property turns the power off from the device causing it to disconnect.

This property can only be used in a Set operation and doesn’t have any parameters.

This is one of the rare cases where a Set Complete might not be received before the device drops the connection. From the application point of view, the device removal might come before the Set Complete timeout error. If the application closes right away the device upon reception of the device removal event, the Set Complete timeout error will never be received by the application.

Get

Get Complete

Set

Set Complete

Not Applicable

Not Applicable

None

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kSetPowerOffDevice

This property turns the device power off causing it to disconnect. This property can only be used in a Set operation and doesn’t have any parameters.

This is one of the rare cases where a Set Complete might not be received before the device drops the connection. From the application point of view, the device removal might come before the Set Complete timeout error. If upon reception of the device removal event the application closes the device, the Set Complete timeout error will never be received by the application.

Get

Get Complete

Set

Set Complete

Not Applicable

Not Applicable

None

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kButtonsStatusDevice

This property gets the button status of the connected device. The button status is coded in one byte as a bit field indicating the status of each button on the device.

A set of functions can be used in order to retrieve the status of a particular button. The function returns a Boolean to indicate if the button is pressed (true) or released (false) or, in the case of the Series 9 Ring Scanner, it is detached (true) or attached (false).

Get

Get Complete

Set

Set Complete

None

Byte

Not Applicable

Not Applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kSoundConfigDevice

This property gets or sets the sound configuration of the connected device.

Each action can have its own sound definition.

Here is the list of possible actions:

Name

Description

ICaptureProperty.Values.SoundActionType.kGoodRead

Sound played when a good read occurs when the host is sending a positive data confirmation

ICaptureProperty.Values.SoundActionType.kGoodReadLocal

Sound played when the device locally acknowledges a good read.

ICaptureProperty.Values.SoundActionType.kBadRead

Sound played when a bad read occurs when the host is sending a negative data confirmation

ICaptureProperty.Values.SoundActionType.kBadReadLocal

Sound played when the device locally acknowledges a bad read. This can occur when a scan is done in a disconnected state. This action is only supported in the 7Xi and 7Qi scanners, all others will return ESKT_NOTSUPPORTED.

A sound configuration is composed of two parameters; the number of tones and the tones.

A tone is defined by its frequency, its duration and the pause before the next tone.

These parameters are expressed as 16 bit words in big-endian format.

The frequency can be set to one of the following values:

Name

Description

ICaptureProperty.Values.SoundFrequency.kNone

No sound

ICaptureProperty.Values.SoundFrequency.kLow

Low frequency sound

ICaptureProperty.Values.SoundFrequency.kMedium

Medium frequency sound

ICaptureProperty.Values.SoundFrequency.kHigh

High frequency sound

The duration and the pause are expressed in milliseconds.

The minimum and maximum values are in the table below.

The sound configuration is summarized in the following table:

Name

Size

Present

Description

Sound Action

2bytes

Get Complete, Set

Configuration of a particular sound action.

Number of Tones

2bytes

Get Complete, Set

Define the number of tones present in this configuration. The maximum number of tones is five (5).

Frequency Tone 1

2bytes

Get Complete, Set

Define the frequency of the first tone.

Duration Tone 1

2bytes

Get Complete, Set

Define the duration of the first tone. The duration range is 50 (0x32) to 32767 (0x7FFF) for the 7Xi/Qi and 120 (0x78) to 2000(0x7D0) for the 1D scanners (7Ci/Di/Pi/Mi & 8Ci)

Pause Tone 1

2bytes

Get Complete, Set

Define the pause length of the first tone. The pause range is from 50 (0x32) to 32767 (0x7FFF) for the 7Xi/Qi and 120 (0x78) to 2000(0x7D0) for the 1D scanners (7Ci/Di/Pi/Mi & 8Ci)

… same 3 last fields for the subsequent tones until Number of Tones is reached

The Get request property uses only a byte value to request the configuration of a particular sound action.

The following is an example of an array that can be used for the Set request:

Word values

Description

SoundActionType.kGoodReadLocal

Configuration for the Good Read Local Sound

0x0002

2 tones

SoundFrequency.kHigh

Tone 1: frequency High

0x00C8

Tone 1: duration 200ms

0x0064

Tone 1: pause 100ms

SoundFrequency.kLow

Tone 2: frequency Low

0x00C8

Tone 2: duration 200ms

0x0064

Tone 2: pause 100ms

The Get operation requires its property byte value to be set to the action the application would like to retrieve for the sound configuration.

The Get Complete operation returns an array of bytes with the first word as the sound action followed by two bytes of the number of tones, and then the six bytes required for each tone.

Format of the Get Complete Array:

Offset

Size

Description

0

2 bytes

Sound Action identifier

2

2 bytes

Number of tones

4

2 bytes

Tone 1: frequency

6

2 bytes

Tone 1: Duration

8

2 bytes

Tone 1: Pause

Repeat the last 6 bytes for the next tone

The Set operation follows the same principle with its property type set to an array, with the first word set to the action that needs to be modified, the following two bytes set to the number of tones that must be played when this action occurs, and followed by six bytes for each tone.

Format of the Set Array:

Offset

Size

Description

0

2 bytes

Sound Action identifier

2

2 bytes

Number of tones

4

2 bytes

Tone 1: frequency

6

2 bytes

Tone 1: Duration

8

2 bytes

Tone 1: Pause

Repeat the last 6 bytes for the next tone

Get

Get Complete

Set

Set Complete

None

Array

Array

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kTimersDevice

This property gets or sets the various Timers of the connected device.

There are three timers that can be modified. The first is the trigger lock out timer, which is the time the trigger is locked out after a scan.

If the device receives a confirmation from the host, it then unlocks the trigger, otherwise the trigger lock out timeout occurs and unlocks the trigger.

The other timers are used to know when to turn the device off when no activity is detected. These timers are dependent on the device connection state.

There is one timer when the device is in disconnected state and a second one for when the device is in a connected state.

When the timeout is reached the device turns itself off.

The first parameter of this property is a mask to indicate for which timer the values should be modified.

All the parameters are expressed in 16 bit words in big-endian format.

The following table describes the parameters format used in the property for the Set Operation and the Get Complete response:

Name

Size

Description

Timers Mask

2 bytes

Mask indicating which timer is involved in the following parameters. The mask can a combination of any of the following ICaptureProperty.Values: Timer.kAutoLock Timer.kPowerOffConnected Timer.kPowerOffDisconnected

Trigger Lock out timer

2 bytes

Time in 1/4 second increments for the trigger to be locked out.

Disconnected auto off time

2 bytes

Time in minutes to leave power on when no activity is detected and there is no connection to any host.

Connected auto off time

2 bytes

Time in minutes to leave power on when no activity is detected while connected to a host.

Note

The Set operation cannot set the trigger lockout timer at the same time as the connected power off timer or disconnected power off timer. If the set operation has the timer mask set to kAutoLock and any of the other values, the result will always fail with an invalid parameter error. Additionally, the highest trigger lockout timer value supported is 255, or 63.75 seconds. Any higher value will generate an invalid parameter error.

Get

Get Complete

Set

Set Complete

None

Array

Array

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kLocalAcknowledgmentDevice

This property is used to configure or retrieve the device local acknowledgment setting.

If the local acknowledgment is turned on, the device will acknowledge the decoded data.

If the local acknowledgment is turned off, the device won’t acknowledge the decoded data and the trigger button is locked until the host acknowledges the data or until the trigger lockout time has elapsed.

The host can acknowledge the decoded data by using the ICaptureProperty.PropId.kDataConfirmationDevice property.

Depending on how the Capture ICaptureProperty.PropId.kDataConfirmationMode is set, Capture can confirm the decoded data automatically.

Please refer to paragraph Data confirmation feature.

The local acknowledgment byte value is defined as follows:

Name

Description

ICaptureProperty.Values.DeviceDataAcknowledgment.kOff

Turn off the device local acknowledgment

ICaptureProperty.Values.DeviceDataAcknowledgment.kOn

Turn on the device local acknowledgment

Get

Get Complete

Set

Set Complete

Not applicable

No applicable

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDataConfirmationDevice

This property acknowledges positively or negatively on decoded data.

This property is mostly used by the application when the Capture Data Confirmation Mode has been set to ICaptureProperty.Values.DataConfirmationMode.kModeApp.

This property can be sent at any time by the application to make the device beep, flash or vibrate.

The value is a 32-bit value that can be defined using the following helper function: SocketMobile.Capture.Helper.DATACONFIRMATION(0, rumble, beep, led);

This function accepts 4 parameters.

The first one is reserved and should be set to 0.

The second one is the vibration and it can have the following values:

Value

Description

ICaptureProperty.Values.DataConfirmationRumble.kNone

Don’t vibrate the device

ICaptureProperty.Values.DataConfirmationRumble.kGood

Vibrate the device to notify a good action

ICaptureProperty.Values.DataConfirmationRumble.kBad

Vibrate the device to notify an incorrect action.

The next parameter is to define the beep behavior and it can have one of the following values:

Value

Description

ICaptureProperty.Values.DataConfirmationBeep.kNone

Don’t play any sound

ICaptureProperty.Values.DataConfirmationBeep.kGood

Play the good sound

ICaptureProperty.Values.DataConfirmationBeep.kBad

Play the bad sound

The last parameter is to define the LED behavior and it can have one of the following values:

Value

Description

ICaptureProperty.Values.DataConfirmationLed.kNone

Don’t flash the LED

ICaptureProperty.Values.DataConfirmationLed.kGreen

Flash the LED in green

ICaptureProperty.Values.DataConfirmationLed.kRed

Flash the LED in red

Note

A flag indicating a good scan cannot be mixed with a flag indicating a bad scan otherwise an error ESKT_INVALID_PARAMETER (-18) will be generated. For example DataConfirmationRumble.kBad cannot be used in conjunction with DataConfirmationBeep.kGood and DataConfirmationLed.kGreen. A “none” flag can be used in either case.

Get

Get Complete

Set

Set Complete

None

None

ULong

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kBatteryLevelDevice

This property retrieves the battery level of a connected device.

The battery level is described in a Ulong.

The battery information contained in this Ulong can be retrieved using a set of helper functions documented in the Capture Helper section. They include:

int Capture.Helper.BATTERY_GETMINLEVEL(long) int Capture.Helper.BATTERY_GETMAXLEVEL(long) int Capture.Helper.BATTERY_GETCURLEVEL(long)

Get

Get Complete

Set

Set Complete

None

ULong

Not applicable

Not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kLocalDecodeActionDevice

This property configures or retrieves the local decode action of the device.

The local decode action can be one or a combination of the following values:

Value

Description

ICaptureProperty.Values.LocalDecodeAction.kNone

No action required

ICaptureProperty.Values.LocalDecodeAction.kBeep

Beep when good decoded data are scanned

ICaptureProperty.Values.LocalDecodeAction.kFlash

Flash Green LED when good decoded data is scanned

ICaptureProperty.Values.LocalDecodeAction.kRumble

Vibrate when good decoded data is scanned

Note

The vibration is not available on some older devices. It will be ignored if the device doesn’t support vibration.

Get

Get Complete

Set

Set Complete

None

Byte

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kBluetoothAddressDevice

This property can be used to retrieve the device Bluetooth address.

The Bluetooth device address is returned in an array of 6 bytes.

Note

The 7 series v3.1 devices don’t support this property. An ESKT_NOTSUPPORTED error will be returned in the Get Complete event for these devices.

Get

Get Complete

Set

Set Complete

None

Array

Not applicable

Not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kStatisticCountersDevice

This property retrieves the statistic counters of the device.

The statistic counters can be different from one device type to another.

The first 2 bytes of the array returned in the Get Complete message indicates the number of counters returned in the array.

Each counter is composed by 2 long integers (4 bytes), the first long integer is the counter identifier and the second long integer is the actual counter value.

This array is described as follows:

Name

Size

Description

Count

2 bytes

Number of ID/Counter in the array

Counter ID

4 bytes

Represents the counter ID (see below)

Counter

4 bytes

Represents the actual counter

Counter ID

4 bytes

Represents the counter ID (see below)

Counter

4 bytes

Represents the actual counter

The following IDs are defined in the table below, note that not all items are available in all scanners and some are present but not used (e.g. the Ring ones on the CHS7 and CHS8 scanners):

Value

Description

ICaptureProperty.Values.Counter.kSkip

Use for convenience only to skip a counter

ICaptureProperty.Values.Counter.kUnknown

Counter is unknown. This might be because a newer version of the device has implemented new counter.

ICaptureProperty.Values.Counter.kConnect

Counter represents the number of times a connection has been made.

ICaptureProperty.Values.Counter.kDisconnect

Counter represents the number of times a disconnection has been made.

ICaptureProperty.Values.Counter.kUnbond

Counter represents the number of times an unbond command has been made.

ICaptureProperty.Values.Counter.kFactoryReset

Counter represents the number of times the device went through a times Factory reset.

ICaptureProperty.Values.Counter.kReads

Counter represents the number of times the device reads a barcode. (7Xi/Qi only)

ICaptureProperty.Values.Counter.kTriggerButtonUp

Counter represents the number of times the trigger button has been released.

ICaptureProperty.Values.Counter.kTriggerButtonDown

Counter represents the number of times the trigger button has been pressed.

ICaptureProperty.Values.Counter.kPowerButtonUp

Counter represents the number of times the power button has been released

ICaptureProperty.Values.Counter.kPowerButtonDown

Counter represents the number of time the power button has been released.

ICaptureProperty.Values.Counter.kOnAcTimeInMinutes

Counter represents the number of minutes the device has been powered on AC.

ICaptureProperty.Values.Counter.kOnBatTimeInMinutes

Counter represents the number of minutes the device has been powered on battery.

ICaptureProperty.Values.Counter.kRfcommSend

Counter represents the number of times a Bluetooth RFCOMM packet has been sent.

ICaptureProperty.Values.Counter.kRfcommReceive

Counter represents the number of times a Bluetooth RFCOMM packet has been received.

ICaptureProperty.Values.Counter.kRfcommReceiveDiscarded

Counter represents the number of times a Bluetooth RFCOMM packet has been received and discarded.

ICaptureProperty.Values.Counter.kUartSend

Counter represents the number of times the UART sends a packet.

ICaptureProperty.Values.Counter.kUartReceive

Counter represents the number of times the UART receives a packet.

ICaptureProperty.Values.Counter.kButtonLeftPress

Counter represents the number of times the left button has been pressed on the Cordless Ring Scanner (CRS)

ICaptureProperty.Values.Counter.kButtonLeftRelease

Counter represents the number of times the left button has been released on the CRS

ICaptureProperty.Values.Counter.kButtonRightPress

Counter represents the number of times the right button has been pressed on the CRS

ICaptureProperty.Values.Counter.kButtonRightRelease

Counter represents the number of times the right button has been released on the CSR

ICaptureProperty.Values.Counter.kRingUnitDetach

Counter represents the number of times the CRS Ring unit has been detached from the wrist unit

ICaptureProperty.Values.Counter.kRingUnitAttach

Counter represents the number of times the CRS Ring unit has been atttached to the wrist unit

ICaptureProperty.Values.Counter.kDecodedBytes

Counter represents the number of bytes that have been decoded(7Xi/Qi/D750 only)

ICaptureProperty.Values.Counter.kAbnormalShutDowns

Counter represents the number of abnormal shutdowns(7Xi/Qi/D750 only)

ICaptureProperty.Values.Counter.kBatteryChargeCycles

Counter represents the number of times battery has gone through a charge/discharge cycle(7Xi/Qi/D750 only)

ICaptureProperty.Values.Counter.kBatteryChargeCount

Counter represents the number of times the battery has been charged (7Xi/Qi/D750 only)

ICaptureProperty.Values.Counter.kPowerOn

Number of times scanner has been powered on (8Ci only)

ICaptureProperty.Values.Counter.kPowerOff

Number of times scanner has been powered off (8Ci only)

ICaptureProperty.Values.Counter.kStandModeChange

Number of times scanner has changed stand mode (7Xi/7Qi/D750 only)

ICaptureProperty.Values.Counter.kCounterLast

This is not a counter, just the last index

Get

Get Complete

Set

Set Complete

None

Array

Not applicable

Not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kRumbleConfigDevice

This property can be used to retrieve or to set the configuration of the vibration feature of the device.

Some older devices don’t support the vibration feature.

In that case an error (ESKT_NOTSUPPORTED) is generated if an application is trying to set or get this property.

A vibration has two configurable parameters; the On duration and the Off duration.

The On duration is the time in milliseconds the vibration is active, and the Off duration is the time in milliseconds the vibration is inactive.

There are four actions that can be configured with a vibration and they are described in the following table:

Value

Description

ICaptureProperty.Values.RumbleActionType.kGoodRead

Vibration action when a good read occurs

ICaptureProperty.Values.RumbleActionType.kGoodReadLocal

Vibration action when the device locally acknowledges a good read.

ICaptureProperty.Values.RumbleActionType.kBadRead

Vibration action when a bad read occurs

ICaptureProperty.Values.RumbleActionType.kBadReadLocal

Vibration action when the device locally acknowledges a bad read

The vibration configuration can be described as below:

Name

Size

Present

Description

Vibration Action

2 bytes

Get Complete and Set

Configuration of a particular Vibration action.

Number of Vibrations

2 bytes

Get Complete and Set

Define the number of Vibrations present in this configuration. The maximum number of Vibrations is 5.

On Duration

2 bytes

Get Complete and Set

Define the duration when the vibration is active. The On duration range is 50ms (0x32) to 32767ms (0x7FFF).

Off Duration

2 bytes

Get Complete and Set

Define the duration when the vibration is inactive. The Off duration range range is 50ms (0x32) to 32767ms (0x7FFF).

…same 2 last fields for the subsequent definitions until the number of vibrations is reached.

The Set request property uses a word (2 bytes) array to set the configuration of a particular vibration action. The first word of the array is the vibration action, the following word of the array is the number of vibrations, and for each vibration the following word is the time in milliseconds the device vibrates followed by a word for the time in milliseconds the devices does not vibrate.

Here is an example of the values that can be found in the word array of this ICaptureProperty.PropId.kRumbleConfigDevice property.

Word values

Description

ICaptureProperty.Values.RumbleActionType.kGoodReadLocal

Configuration for the Good Local Vibrations

0x0002

2 Vibrations

0x00C8

Vibration 1 On Duration: 200ms

0x0064

Vibration 1 Off Duration: 100ms

0x00C8

Vibration 2 On Duration: 200ms

0x0064

Vibration 2 Off Duration: 100ms

The Get request property uses only one byte value to request the configuration of a particular vibration action, and the Get Complete response contains a word array as defined above.

Get

Get Complete

Set

Set Complete

Byte

Array

Array

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kProfileConfigDevice

This property retrieves or set the current profile configuration of a device. The Profile Configuration can be described as shown in the following table:

Name

Size

Description

Profile

2 Bytes

ICaptureProperty.Values.Profile.kSelectHid for HID (Basic Mode) or ICaptureProperty.Values.Profile.kSelectSpp for SPP (Application Mode) (big-endian format)

Role

2 Bytes

ICaptureProperty.Values.ProfileConfig.kAcceptor for Acceptor or ICaptureProperty.Values.ProfileConfig.kInitiator (big-endian format)

Bluetooth Address

6 Bytes

6 bytes of Bluetooth address.

Class of Device

3 Bytes

3 bytes of Bluetooth Class Of Device (COD)

Extra Padding Byte

1 Byte

This padding byte is to make this array size even. Must be set to 0.

There is a constant value for the size of this array that can be used: ICaptureProperty.Values.ProfileConfig.kSize

The profile will take action only on the next connection.

The host can send a disconnect request with a parameter indicating the device should start its profile configuration.

By specifying a Bluetooth address of a host device in the initiator mode, will cause the device to connect to this host the next time it initiates a connection.

Get

Get Complete

Set

Set Complete

None

Array

Array

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDisconnectDevice

This property can be used to disconnect the device. There are 2 modes of disconnection.

The start profile mode will disconnect the device and the device will then start the current profile.

The disable radio mode instructs the device to disconnect and set the radio into a low power mode.

In that mode the device cannot be discoverable or connectable.

This property has a byte value that needs to be set to one of these two modes.

Constant definitions exist to clearly identify these modes and they are described as shown below:

Value

Description

ICaptureProperty.Values.Disconnect.kStartProfile

Ask the device to disconnect and start its current selected profile.

ICaptureProperty.Values.Disconnect.kDisableRadio

Ask the device to disconnect and disable its radio.

Get

Get Complete

Set

Set Complete

Not applicable

Not applicable

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kDataStoreDevice

This property allows setting or getting data from the Data store in the device.

The benefit of this feature is to store information in the device itself that can be used by the host.

The data store has 16 storage locations, each identified by a key value of 0 to 15.

Each location can store anywhere from 0 to 64 bytes.

A data store is identified as shown in the table below:

Name

Size

Present

Description

Key

2 bytes

In Get, Set and Get complete

Contains the data store identifier from 0 to 15 (big-endian)

Length

2 bytes

In Set and Get Complete

Contains the size of the store (big-endian), max 64.

Data

Variable

In Set and Get Complete

Contains data of the store.

As described in the previous table, the Key field is the only field required for a Get request.

The key must be a value between 0 and 15.

The Data field might be empty in the Set request if and only if the Length is set to 0.

In that particular settings the data store corresponding to the key will be deleted.

The Data field can be filled with 0 and the Length field indicates the number of 0’s to write to the data store up to 64 bytes maximum.

Note

This feature is available in the entire 7 series of CHS model scanners however ONLY the 7X and 7XiQi models support all 16 storage locations while the 7C, 7Ci, 7Mi, 7Pi and 8Ci model scanners with a minimum firmware of 3.5 ONLY support one and that is key # 0. If you attempt a set or get outside of key # 0 for these scanners it will return ESKT_NOTSUPPORTED error message.

You can check the firmware version of the device using the ICaptureProperty.PropId.kVersionDevice property.

Get

Get Complete

Set

Set Complete

Array

Array

Array

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kNotificationsDevice

This property defines the notifications the device can send to the host.

Name

Description

ICaptureProperty.Values.Notifications.kTriggerButtonPress

Notify the host when the Trigger button is pressed

ICaptureProperty.Values.Notifications.kTriggerButtonRelease

Notify the host when the Trigger button is released. NOTE: This flag is not supported on 7 series version 3.2 or lower.

ICaptureProperty.Values.Notifications.kPowerButtonPress

Notify the host when the Power button is pressed.

ICaptureProperty.Values.Notifications.kPowerButtonRelease

Notify the host when the Power button is released.

ICaptureProperty.Values.Notifications.kPowerState

Notify the host when the Power state has changed. (The power state changes when the device is plugged into an AC power adapter or in a cradle.) NOTE: This flag is not supported on 7 series version 3.2 or lower.

ICaptureProperty.Values.Notifications.kBatteryLevelChange

Notify the host when the battery level has changed. NOTE: This flag is not supported on 7 series version 3.2 or lower.

Get

Get Complete

Set

Set Complete

None

Ulong

Ulong

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kConnectReasonDevice

This property retrieves the information on how the device is connected to the host.

The connect reasons are summarized in the following table:

Name

Value

Description

ICaptureProperty.Values.ConnectReason.kUnknown

0x00

Unknown reason

ICaptureProperty.Values.ConnectReason.kPowerOn

0x01

Device powered on

ICaptureProperty.Values.ConnectReason.kBarcode

0x02

Device scanned a connect barcode

ICaptureProperty.Values.ConnectReason.kUserAction

0x03

User press a button while device was in idle mode

ICaptureProperty.Values.ConnectReason.kHostChange

0x04

A host has changed the Device Role and the new Role has been activated

ICaptureProperty.Values.ConnectReason.kRetry

0x05

The device was disconnected accidentally and has reconnected

Note

This feature is only available in the 7Xi/Qi and D750 series, an ESKT_NOTSUPPORTED error is returned for the other series.

Get

Get Complete

Set

Set Complete

None

Byte

Not applicable

Not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kPowerStateDevice

This property retrieves the power state of a connected device.

The power state is described in a double word and can be retrieved using a helper function that is defined in the paragraph regarding the Power Event notification.

The power states can be described as follow:

Name | Description

ICaptureProperty.Values.PowerState.kUnknown | The power state is unknown. Most likely a device
not supporting this feature such as earlier
version of CHS (v3.1)

ICaptureProperty.Values.PowerState.kOnBattery

The device is currently running on battery.

ICaptureProperty.Values.PowerState.kOnCradle

The device is currently running from the cradle.

ICaptureProperty.Values.PowerState.kOnAc

The device is currently plugged to the AC power.

Get

Get Complete

Set

Set Complete

None

Ulong

Not applicable

Not applicable

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kStartUpRoleSPPDevice

This property retrieves or modifies the persistence of a device Serial Port Profile (SPP) role. The Series 7 scanners have their SPP role set to persistent by default.

If a scanner scans a connect barcode to connect to a host, then each time this scanner is powered on, it will try to connect to the last host.

This feature can be turned off using this property. If it is turned off, the scanner will need to scan a connect barcode each time it needs to connect to a host.

The scanner retry feature stays unchanged whatever the Start Up Role is.

This property parameter is a byte value.

There are two possible values for this property and they are defined as shown in this table:

Name

Value

Description

ICaptureProperty.Values.StartUpRoleSpp.kAcceptor

0x00

Not persistent, the scanner goes back to acceptor each time the scanner starts up.

ICaptureProperty.Values.StartUpRoleSpp.kLastRole

0x01

Persistent, the scanner uses the last role each time the scanner starts up

Note

This feature is only available in the 7Xi/Qi and D750 series, an ESKT_NOTSUPPORTED error is returned for the other series.

Get

Get Complete

Set

Set Complete

None

Byte

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kConnectionBeepConfigDevice

This property configures or retrieves the current configuration on how the scanner beeps when it connects to a host.

The scanner can automatically beep when it forms a SPP connection to the host.

By default the scanner doesn’t beep when it connects to a host in SPP mode, and instead Capture will send a data confirmation to the scanner to make it beep.

If the scanner is used without Capture in SPP mode, the connection beep can be configured using this property so the scanner beeps each time it connects.

This property value is a byte and here is a table that summarizes the 2 possible values used with this property:

Name

Value

Description

ICaptureProperty.Values.ConnectBeepConfig.kNoBeep

0x00

The scanner won’t automatically beep when it connects to the host, Capture if used, will make the scanner beep.

ICaptureProperty.Values.ConnectBeepConfig.kBeep

0x01

The scanner automatically beeps when it forms a SPP connection to a host.

Note

This feature is only available in the 7Xi/Qi and D750 series, an ESKT_NOTSUPPORTED error is returned for the other series.

Get

Get Complete

Set

Set Complete

None

Byte

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kFlashDevice

This property is used only with a SocketCam device. It turns the flash on or off for improving the barcode scanning operation using the device camera.

This property value is a byte and here is a table that summarizes the 2 possible values used with this property:

Name

Description

ICaptureProperty.Values.Flash.kOn

Turn the flash on when used in the Set operation or the flash is ON when retrieved in the Get Complete response.

ICaptureProperty.Values.Flash.kOff

Turn the flash off when used in the Set operation or the flash is OFF when retrieved in the Get Complete response.

Note

This feature is only available in the SocketCam scanner, an ESKT_NOTSUPPORTED error is returned for the other devices.

Get

Get Complete

Set

Set Complete

None

Byte

Byte

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kOverlayViewDevice

Note

THIS FEATURE IS AVAILABLE ONLY ON ANDROID AND IOS.

This property is used with the SocketCam feature. It gives a reference of the parent View to the Overlay View where the camera output can be displayed.

The Overlay view contains buttons for the flash, for canceling the trigger operation, or for making a rotation of the camera’s view.

This property has to be set before triggering a scan with the ICaptureProperty.PropId.kTriggerDevice property.

The parameter of this property is a reference to a hash table object that contains one or more parameters depending on the platform this property is used with (Android or iOS, not supported in Windows).

The following table gives the list of hash key value and their meaning.

Name

Description

Value Type

ICaptureProperty.Values.OverlayViewDevice.kContext

Reference to the application context for Android or to the UIView Controller for iOS

Context reference for Android, and UIViewController for iOS device

ICaptureProperty.Values.OverlayViewDevice.kLayoutId

Reference to Layout ID of the view to display the view finder

Integer, Android only

ICaptureProperty.Values.OverlayViewDevice.kViewFinderId

Reference to the View Finder ID that is the rectangle where to look for a barcode

Integer, Android only and optional

ICaptureProperty.Values.OverlayViewDevice.kFlashButtonId

Reference to the button ID that can be used for controlling the flash

integer, Android only and optional

ICaptureProperty.Values.OverlayViewDevice.kCancelButton

Text to display for the Cancel button

String for Android NSString for iOS If not present “Cancel” text is by default

ICaptureProperty.Values.OverlayViewDevice.kFlashButton

Comma separated text for the Flash controls. This string defines 3 texts: the name of the control, the ON test and the OFF text. Example: “Flash,ON,OFF”

String for Android NSString for iOS. If not present, then no flash button is displayed If the number of comma separated fields is not 2 then an error ESKT_INVALIDPARAMETER is generated

ICaptureProperty.Values.OverlayViewDevice.kDirectionText

Text to display just beneath the viewfinder to give the user direction on how to scan a barcode using the viewfinder

String for Android NSString for iOS. If not present a default direction text in English is displayed. An error ESKT_INVALIDPARAMETER is generated if the string is more than 128 characters

ICaptureProperty.Values.OverlayViewDevice.kBackgroundColor

Change the overlay view background color using a string with this format: “rgb(128,128,128)”

iOS only. Default is light gray. It becomes black if the specified string format is incorrect.

ICaptureProperty.Values.OverlayViewDevice.kTextColor

Change the overlay view text color (for the direction text) using a string with this format: “rgb(128,128,128)”

iOS only. Default to black text

ICaptureProperty.Values.OverlayViewDevice.kCamera

Select the front or back camera by specifying “front” or “back”

iOS only. Default to back camera.

The Hash table is a pointer to a NSDictionary for iOS or to HashMap<String,Object> for Android.

This Hash table should be passed to the property Object field.

UI object is used to display the view taken by the camera during the scanning operation.

The Get parameter returns the reference of the same UI object used to display the view taken by the camera.

Get

Get Complete

Set

Set Complete

None

Object

Object

None

Capture Version

1.0.0 or higher

ICaptureProperty.PropId.kStandConfigDevice

This property configures the stand mode of the scanner. The stand configuration allows the scanner to trigger a barcode read without user intervention.

The various modes dictate the scanner behavior when it’s in the Charge Stand or used as mobile device.

This property has a Ulong parameter that contains the mode of the stand configuration.

The following table summarizes the possible modes.

Name

Value

Description

ICaptureProperty.Values.StandConfig.kDisabled

0x00

Disabled the stand config property and sets the scanner as it is intended

ICaptureProperty.Values.StandConfig.kMobileMode

0x01

Scanner always in trigger mode, hibernate is enabled - default mode -

ICaptureProperty.Values.StandConfig.kStandMode

0x02

Presentation mode, hibernate disabled, connection retries forever.

ICaptureProperty.Values.StandConfig.kDetectMode

0x03

Presentation mode on stand, hibernate disabled, off stand normal operation

ICaptureProperty.Values.StandConfig.kAutoMode

0x04

Presentation mode on stand, hibernate disabled, off stand stays in presentation until trigger is manually pressed. Returns to presentation mode when back in stand.

Mobile mode This is the default mode. In this mode the scanner works like any hand held barcode scanner. The reading of a barcode is accomplished by pressing the trigger button. The scanner will try to connect to the host upon startup, until a timeout occurs.

Stand mode In Stand mode, the scanner is configured in presentation mode. The presentation mode automatically triggers a barcode read when a contrast change is detected in front of the scanner without any other user intervention. In this mode the scanner will try indefinitely to connect to the host. It doesn’t have any timeout to shutdown or hibernate.

Detect mode The Detect mode requires a Charge Stand. When the scanner is in position in the stand it switches in presentation mode. A barcode can be automatically read just by presenting it in front of the scanner. The power off timer is disabled, and the scanner tries to connect to the host indefinitely.

Auto mode This mode is a mix of the Stand mode and the Mobile mode. It behaves as described in the Stand mode when the scanner is in position in the stand, and it behaves as described in the Mobile mode when the scanner is no longer in position in the stand and the user presses the trigger button. If the trigger button is never pressed while out of the stand, the scanner stays in presentation mode and automatically reads barcodes that are presented in front of it. As soon as the trigger button is pressed while the scanner is not in the stand, it switches to the Mobile mode. It switches back to the presentation mode as soon as it rests on the stand.

Note

This property works only with recent versions of the 7Xi/7Qi and D750 scanners. It returns an ESKT_NOTSUPPORTED error on the scanners that are older or a different model/series.

Get

Get Complete

Set

Set Complete

None

Ulong

Ulong

None

Capture Version

1.0.0 or higher