BIXOLON BCD-1000 Operating instructions

Application Programming Guide
OPOS Driver
Rev. 3.00
BCD-1000 / BCD-1100
BCD-2000 / BCD-3000
http://www.bixolon.com

Rev. 3.00
- 2 -
OPOS Driver
Introduction
This manual is a manual about how to set and configure device and to develop applications to
use BIXOLON LineDisplay with BIXOLON OPOS driver.
Before use BIXOLON LineDisplay, set and configure LineDisplay by using BIXOLON OPOS
driver Setup Utility.
Throughout this manual, “OLE for Retail POS” is called “OPOS”.
Throughout this manual, “Unified for Retail POS” is called “UPOS”.
Further Source
OLE for Retail POS committee available from http://monroecs.com/opos.htm
Driver Update from http://www.bixolon.com
We at BIXOLON maintain ongoing efforts to enhance and upgrade the functions and quality
of all our products. In following, product specifications and/or user manual content may be
changed without prior notice.

Rev. 3.00
- 3 -
OPOS Driver
Table of Contents
1. Development environment ..................................................................................................4
1-1 Communication Configuration...........................................................................................4
2. Properties / Methods............................................................................................................5
2-1 Properties Range / Default Value......................................................................................5
2-1-1 Capability properties setting value ........................................................................5
2-1-2 Properties default value / range ............................................................................6
3. Extended Method .................................................................................................................7
3-1 DirectIO Method................................................................................................................7
3-1-1 BIXOLON OPOS DirectIO Commands Description...............................................7
3-2 DirectIO Command ...........................................................................................................7
3-2-1 Direct Output.........................................................................................................7
3-2-2 International characterset setting..........................................................................8
3-3 DirectIOEvent....................................................................................................................8
4. Error Information..................................................................................................................9
4-1 ResultCode List.................................................................................................................9
4-1-1 Properties..............................................................................................................9
4-1-2 Methods..............................................................................................................12
4-2 Added error information...................................................................................................15

Rev. 3.00
- 4 -
OPOS Driver
1. Development environment
1-1 Communication Configuration
•Communication Configuration for serial interface.
Display Model
Baud Rate
rows
columns
BCD-1000
9600/19200/38400/57600/115200
2
20
BCD-1100
USB to Serial
2
20
BCD-2000
9600/19200/38400/57600/115200
4
30
BCD-2000K
9600/19200/38400/57600/115200
2
20
BCD-3000
USB to Serial
2
20
Caution or Warning
- Check the default communication settings for each product.
For details, refer to the user manual.
- BCD-2000K is the compatible mode of BCD-2000.
It is possible to set compatibility mode by Customer Display Utility.

Rev. 3.00
- 5 -
OPOS Driver
2. Properties / Methods
•This section describes the properties and methods supported by the LineDisplay device.
For more details on UPOS, refer to the UPOS 1.13 agreement.
2-1 Properties Range / Default Value
2-1-1 Capability properties setting value
Capability Property
BCD-1000/1100
BCD-2000/2000K
BCD-3000
CapBlink
DISP_CB_BLINKALL
DISP_CB_BLINKALL
CapBrightness
TRUE
FALSE
CapCharacterSet
DISP_CCS_ASCII
DISP_CCS_ASCII
CapDescriptors
TRUE
TRUE
CapHMarquee
TRUE
TRUE
CapVMarquee
FALSE
FALSE
CapICharWait
TRUE
TRUE
CapPowerReporting
OPOS_PR_STANDARD
OPOS_PR_STANDARD
CapBlinkRate
TRUE
TRUE
CapCursorType
DISP_CCT_UNDERLINE
DISP_CCT_UNDERLINE
CapCustomGlyph
TRUE
TRUE
CapReadBack
FALSE
FALSE
CapReverse
DISP_CR_REVERSEEACH
DISP_CR_REVERSEEACH
CapBitmap
FALSE
TRUE
CapMapCharacterSet
FALSE
FALSE
CapScreenMode
FALSE
FALSE
CapStatisticsReporting
FALSE
FALSE
CapUpdateStatistics
FALSE
FALSE
CapCompareFirmwareVersion
FALSE
FALSE
CapUpdateFirmware
FALSE
FALSE

Rev. 3.00
- 6 -
OPOS Driver
2-1-2 Properties default value / range
* Brightness value range and default setting(BCD-1000/1100)
Value
Device Brightness
0~19
0%
20~39
20%
40~59
40%
60~79
60%
80-100
100% (*default)
* CharacterSetList(Code page) setting value and default setting
Model
속성 값
BCD-1000
BCD-1100
437, 850, 852, 858, 860, 863, 865, 866, 932, 988, 999, 1252, 254, 255
BCD-2000K
437,1,850,860,863,865,1250,1251,1252,866,852,858,20(Farsi),
862,1254,1257,864,775,737,1253,857,32(Hebrew Old),
1255,855,928,1256,1258,49(TCVN-3),50(TCVN-3 Capital),51(VISCII)
BCD-2000
BCD-3000
437,866,852,20(Farsi),864,857
* Other properties setting value
Property Name
BCD-1000/1100
BCD-2000
BCD-2000K
BCD-3000
DeviceWindow
4
4
4
4
DeviceRows
2
4
2
2
DeviceColumns
20
30
20
20
DeviceDescriptors
20
20
20
20
GustomGlyphList
20-7E
20-7E
20-7E
20-7E
GlyphHeight
7
16
17
16
GlyphWidth
5
8
9
8
MapCharacterSet
FALSE
FALSE
FALSE
FALSE
MaximumX
100
240
240
160
MaximumY
14
64
64
32
ScreenMode
0
0
0
0
ScreenModeList
“2x20”
“4x30”
“2x20”
“2x20”

Rev. 3.00
- 7 -
OPOS Driver
3. Extended Method
•This section is to explain DirectIO method.
3-1 DirectIO Method
Parameter
Explanation
Type
Command
Output format
Long
PData
Number of output data
/Output data command
Long
PString
Output data
String
3-1-1 BIXOLON OPOS DirectIO Commands Description
Command
Description
DISP_DI_OUTPUT
Print defined pString
DISP_DI_INTERNATIONAL_CHAR
Define International characterset
* Command constants can be changed in the product model name inf file in the BIXOLON
OPOS Driver installation folder.
3-2 DirectIO Command
3-2-1 Direct Output
Argument
Command
DISP_DI_OUTPUT
PData
Size of Output data
PString
Output data
Description
Sends data without any process after checking LineDisplay status.
“pString” is not affected by “BinaryConversion”
Return Value
Result Code
ResultCodeExtended
OPOS_SUCCESS
0
OPOS_E_CLOSED
0
OPOS_E_CLAIMED
0
OPOS_E_NOTCLAIMED
0
OPOS_E_DISABLED
0
OPOS_E_BUSY
0
OPOS_E_ILLEGAL
0
OPOS_E_OFFLINE
0
OPOS_E_FAILURE
0

Rev. 3.00
- 8 -
OPOS Driver
3-2-2 International characterset setting
Argument
Command
DISP_DI_INTERNATIONAL_CHAR
PData
One of the commands:
DISP_DI_CHAR_USA
DISP_DI_CHAR_FRANCE
DISP_DI_CHAR_GERMANY
DISP_DI_CHAR_UK
DISP_DI_CHAR_DENMARK1
DISP_DI_CHAR_SWEDEN
DISP_DI_CHAR_ITALY
DISP_DI_CHAR_SPAIN1
DISP_DI_CHAR_NORWAY
DISP_DI_CHAR_DENMARK2
PString
N/A
Description
Sets International character set. If CharacterSet property value is changed,
International character set will be reset.
Return
Result Code
ResultCodeExtended
OPOS_SUCCESS
0
OPOS_E_CLOSED
0
OPOS_E_CLAIMED
0
OPOS_E_NOTCLAIMED
0
OPOS_E_DISABLED
0
OPOS_E_BUSY
0
OPOS_E_ILLEGAL
0
OPOS_E_OFFLINE
0
OPOS_E_FAILURE
0
3-3 DirectIOEvent
•Not used.

Rev. 3.00
- 9 -
OPOS Driver
4. Error Information
•This section contains information about the return results when using the properties and
methods related to LineDisplay.
4-1 ResultCode List
4-1-1 Properties
Property Name
ResultCode
ResultCodeExtended
Description
BinaryConversion
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Set value is illegal
DeviceEnabled
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_NOTCLAIMED
0
Refer to UPOS
Specification
FreezeEvent
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
PowerNotify
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
0
Refer to UPOS
Specification
OPOS_EXX_INCAPABLE
The function
cannot be used
OPOS_EXX_BADARGUMENT
Set Value is illegal
DeviceBrightness
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_NOTCLAIMED
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
0
Refer to UPOS
Specification
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout period
OPOS_EXX_INCAPABLE
The function
cannot be used

Rev. 3.00
- 10 -
OPOS Driver
Property Name
ResultCode
ResultCodeExtended
Description
CharacterSet
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_NOTCLAIMED
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
0
Refer to UPOS
Specification
OPOS_EXX_BADARGUMENT
Illegal value
CurrentWindow
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
CursorRow
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
CursorColumn
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
CursorUpdate
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
MarqueeType
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
OPOS_EXX_INCAPABLE
The function
cannot be used
MarqueeFormat
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
MarqueRepeatWai
t
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Illegal value
InterCaracterWait
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Set value is
illegal

Rev. 3.00
- 11 -
OPOS Driver
Property Name
ResultCode
ResultCodeExtended
Description
BlinkRate
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_INCAPABLE
The function cannot
be used
CursorType
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_INCAPABLE
The function cannot
be used
MapCharacterSet
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_INCAPABLE
The function cannot
be used
ScreenMode
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_INCAPABLE
The function cannot
be used

Rev. 3.00
- 12 -
OPOS Driver
4-1-2 Methods
Method
Name
ResultCode
ResultCodeExtended
Description
ClaimDevice
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_E_TIMEOUT
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_PORTUSED
Port number is illegal
CheckHealth
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIMED
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout
OPOS_E_BUSY
0
Refer to UPOS
Specification
DirectIO
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIMED
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMENT
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout

Rev. 3.00
- 13 -
OPOS Driver
Method
ResultCode
ResultCodeExtended
Description
DisplayText
DisplayTextAt
ClearText
CreateWindow
RefreshWindo
w
ScrollText
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIME
D
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMEN
T
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout
DestroyWindo
w
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIME
D
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout
SetDescriptor
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIME
D
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMEN
T
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout
OPOS_EXX_INCAPABLE
CapDescriptors is
False

Rev. 3.00
- 14 -
OPOS Driver
Method
ResultCode
ResultCodeExtended
Description
ClearDescripto
rs
OPOS_SUCCESS
0
Refer to UPOS
Specification
OPOS_E_CLOSED
0
Refer to UPOS
Specification
OPOS_NOTCLAIME
D
0
Refer to UPOS
Specification
OPOS_E_DISABLED
0
Refer to UPOS
Specification
OPOS_E_ILLEGAL
OPOS_EXX_BADARGUMEN
T
Set value is illegal
OPOS_EXX_DEVBUSY
The device is busy
OPOS_EXX_INVALIDMODE
Marquee is under
execution
OPOS_EXX_TIMEOUT
Output result is not
returned within the
timeout

Rev. 3.00
- 15 -
OPOS Driver
4-2 Added error information
ResultCodeExtended
Description
OPOS_EXX_BADARGUMENT
Parameters for Method are out of range or have logical
error.
OPOS_EXX_INCAPABLE
Not supported by LineDisplay
OPOS_EXX_TIMEOUT
OPOS driver failed to send data to LineDisplay during
the period of default time out value.
OPOS_EXX_INVALIDMODE
Linedisplay is in marquee mode.
OPOS_EXX_DEVBUSY
Other application is occupying LineDisplay or
LineDisplay is processing other requests.
OPOS_EXX_PORTUSED
Other device or application program occupies the
current port.

Rev. 3.00
- 16 -
OPOS Driver
Copyright Owned by BIXOLON
This User Manual and product are protected under copyright law.
It is strictly prohibited to copy, duplicate, translate or convert into electronic form the whole or
any part of the manual and product without the prior written approval of BIXOLON.
BIXOLON maintains ongoing efforts to enhance and upgrade the functions and quality of all
our products. In the following, product specifications and/or user manual content may be
changed without prior notice.
The BIXOLON logo is the registered trademark of BIXOLON.
Warning - U.S.A
This equipment has been tested and found to comply with the limits for a Class A digital
device pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable
protection against harmful interference when the equipment is operated in a commercial
environment. This equipment generates uses, and can radiate radio frequency energy and, if
not installed and used in accordance with the instruction manual, may cause harmful
interference to radio communications. Operation of this equipment in a residential area is
likely to cause harmful interference in which case the user will be required to correct the
interference at his own expense.
Notice - Canada
This Apparatus complies with class “A”limits for radio interference as specified in the
Canadian department of communications radio interference regulations. Get appareil est
conforme aux normes class “A”d’interference radio tel que specifier par ministre canadien
des communications dans les reglements d’interference radio.
Caution
Some semiconductor devices are easily damaged by static electricity. You should turn the
printer “OFF”, before you connect or remove the cables on the rear side, in order to guard the
printer against the static electricity. If the printer is damaged by the static electricity, you
should turn the printer “OFF”.
Copyright ©BIXOLON Co., Ltd. 2016-2017.All rights reserved.

Rev. 3.00
- 17 -
OPOS Driver
Revision history
Rev.
Date
Page
Description
3.00
02.05.17
-
New
Other manuals for BCD-1000
3
This manual suits for next models
4
Table of contents
Other BIXOLON Touch Terminal manuals