Bluebird BP30 User manual

Barcode Controller
Scenario & Manual
Bluebird, inc.
ver : 1.3
BP30/BM180, EF400/EF500

Contents
1. Introduction
2. BarcodeController working scenario(Chart)
3. BarcodeController working scenario(Details)
4. Exception
5. Information

1. Introduction - 1
Purpose
•BarcodeController is an Android service that allows App to use Barcode module on
Android OS based devices.
•This document is a summary of scenario and program development to support the user
on building application that uses barcode with BarcodeController.
Information
•Name of each Intent is defined on chapter.5.
•Used programming language is Java.
•Communication type between BarcodeController and application is Intent call type and
ExtraData of each Intent contains additional data to be transferred.

1. Introduction - 2
Term definition
•app : Android application that communicates with BarcodeController. The users actually uses this application.
•BarcodeController : Middleware(Android service) that allows application to use Barcode Module.
•DataWedgeMode : Function that allows to read in barcode data without building additional application. Read-in
value goes into text window of current screen where the cursor is on.
•Decoding Timeout : Period of Trigger on status for barcode input. If the valid barcode is not read during this period,
BarcodeController Triggers off and send intent of Decoding Timeout. Default is 5 seconds.
•Handle : Inherent ID value that BarcodeController issues to each application to distinguish between when application
is connected to BarcodeController.

1. Introduction - 2
Term definition
•Profile : Database that sets function details of Barcode module. Changeable on BBSettings app on device.
•Sequence number : The value to distinguish each intend when application send Intent to BarcodeController.
When BarcodeController returns the result to app (ACTION_BARCODE_REQUEST_SUCCESS/FAILED), this value is save
in Intent.
•Symbology : reading-able Barcode image type
•Trigger : Function that sets Barcode module’s beam on/off and sets to read ready/pause status..

2.1 BarcodeController Operation scenario
ACTION_BARCODE_OPEN
EXTRA_INT_DATA3 : Sequence num
ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS
EXTRA_INT_DATA3 : Sequence num
ACTION_BARCODE_CALLBACK_REQUEST_FAILED
EXTRA_INT_DATA2 : 에러ID
EXTRA_INT_DATA3 : Sequence num
User App BarcodeController
ACTION_BARCODE_SET_TRIGGER
EXTRA_INT_DATA2 : trigger value(1:on / 0:off)
EXTRA_INT_DATA3 : Sequence num ACTION_BARCODE_CALLBACK_DECODING_
DATA
EXTRA_BARCODE_DECODING_DATA : Barcode
read data(byte[])
EXTRA_INT_DATA3 : Sequence num
ACTION_BARCODE_CALLBACK_REQUEST_FAILED
EXTRA_INT_DATA2 : Error ID of specific situation
EXTRA_INT_DATA3 : Sequence num
ACTION_BARCODE_CLOSE
EXTRA_INT_DATA3 : Sequence num
END
ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS
EXTRA_INT_DATA3 : Sequence num
ACTION_BARCODE_CALLBACK_REQUEST_FAILED
EXTRA_INT_DATA2 : Error ID
EXTRA_INT_DATA3 : Sequence num

3.1 Specific Scenario
Barcode Open
•Opens Barcode module. Function that allows Barcode module and use app to communicate.
•If module Open is successful, handle value will be transferred through
ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS.
•If the Module fails to open, it will return ACTION_BARCODE_CALLBACK_REQUEST_FAILED Intent.
(1) ACTION_BARCODE_OPEN ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS /
ACTION_BARCODE_CALLBACK_REQUEST_FAILED
(2) Put extra :
Example
BarcodeIntent.ACTION_BARCODE_OPEN);
BroadcastReceiver
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS);
BroadcastReceiverdeclaration :
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS))
{
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> Check if the
value is 1
//to do
}
else
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED))
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
Int errorId = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0);
//to do
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_ERROR_ID EXTRA_INT_DATA2 Int
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int

3.2 Specific Scenario
Barcode Set Trigger
•Function that delivers trigger command to Barcode module and sets beam to on/off and sets barcode read to standby mode.
•If the Intent is used, EXTRA_INT_DATA2 should be sent as 0 or 1.(0:trigger off / 1:trigger on)
•If barcode read is successful after Trigger on, read-in value will be sent through ACTION_BARCODE_CALLBACK_DECODING_DATA
Intent .(Transfer symbology value to EXTRA_INT_DATA2 )
•If Trigger off is called, beam will be off and barcode read try stops.
•Timeout exists and barcode is not read for timeout period(default: 5 seconds), ACTION_BARCODE_CALLBACK_REQUEST_FAILED
Intent will be generated.
(1) ACTION_BARCODE_SET_TRIGGER(EXTRA:1) ACTION_BARCODE_CALLBACK_DECODING_DATA /
ACTION_BARCODE_CALLBACK_REQUEST_FAILED
(2) ACTION_BARCODE_SET_TRIGGER(EXTRA:0) -> ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS / FAILED
(3) Put extra :
Example
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_BARCODE_DECODING_DATA EXTRA_BARCODE_DECODING_DATA ByteArray
EXTRA_INT_SYMBOLOGY EXTRA_INT_DATA2 Int
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int
BarcodeIntent.ACTION_BARCODE_SET_TRIGGER);
intent.putExtra(“EXTRA_HANDLE”, handle);
intent.putExtra(“EXTRA_INT_DATA2”, 1);
BroadcastReceiver
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED);
BarcodeIntent.ACTION_BARCODE_CALLBACK_DECODING_DATA);
String action = intent.getAction();
if(action.equals(BarcodeIntent. ACTION_BARCODE_CALLBACK_DECODING_DATA))
{
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
Int symbology = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0); -> result
of symbologies value(ex. UPC-A : 1, Code128 : 10 …)
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check if the
value is 10
byte[] data =
intent.getByteArrayExtra(Constants.EXTRA_BARCODE_DECODING_DATA);
//to do
}
};

3.3 Specific Scenario
Barcode Decoding Timeout
•Intent that BarcodeController transfers to application if valid barcode read is not tried for Decoding Timeout
period(default: 5 seconds). ( ACTION_BARCODE_CALLBACK_REQUEST_FAILED).
(1) ACTION_BARCODE_SET_TRIGGER(EXTRA:1) ACTION_BARCODE_CALLBACK_REQUEST_FAILED(-6)
(2) Put extra :
Example
BarcodeIntent.ACTION_BARCODE_SET_TRIGGER);
BroadcastReceiver Registration
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED);
BarcodeIntent.ACTION_BARCODE_CALLBACK_DECODING_DATA);
BroadcastReceiverdeclaration :
BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED))
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
Int errorId = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0); -> -6
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check if the
value is 10
//to do
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_ERROR_ID EXTRA_INT_DATA2 Int
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int

3.4 Specific Scenario
Barcode Close
•Intent : -> finished module activation through transfer close command to the barcode module.
•If the closed process is completed, the program cannot use the barcode module until the module is re-opened using
the ACTION_BARCODE_OPEN intent.
•When Trigger status is on, the barcode module will close immediately. No matter the timeouts, all read fucntions will
be disabled
•When the Close process is completed, the timeout will also be turned off.
(1) ACTION_BARCODE_CLOSE ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS / FAILED
(2) Put extra :
Example
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_ERROR_ID EXTRA_INT_DATA2 Int
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int
BarcodeIntent.ACTION_BARCODE_CLOSE);
intent.putExtra
(“EXTRA_HANDLE”, handle);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED);
….
String action =
intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS))
{
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check whether 100 or
not
//to do
}
else if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED))
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
Int errorId = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check whether 100 or
not
//to do
};

3.5 Specific Scenario
Barcode Get Status
•Description : Current barcode status value.
•STATUS_CLOSE(0) / STATUS_OPEN(1) / STATUS_TRIGGER_ON(2)
(1) ACTION_BARCODE_GET_STATUS ACTION_BARCODE_CALLBACK_GET_STATUS
(2) Put extra :
Example
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_STATUS_ID EXTRA_INT_DATA2 Int
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int
BarcodeIntent.ACTION_BARCODE_GET_STATUS);
intent.putExtra(“EXTRA_HANDLE”, handle);
BarcodeIntent.ACTION_BARCODE_CALLBACK_GET_STATUS);
….
String action = intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_GET_STATUS))
{
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
int status = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0);
//to do
}
};

3.6 Specific Scenario
Barcode Set Parameter
•The function set the Barcode specific value without BBSetting option.
•The parameter has to be set using the standard registered values in BBAPI class
•Values have to be set depending on the parameter
•BARCODE_MODE_AIMER -> value : 0(Off) / 1(On)
•BARCODE_MODE_TRIGGER -> value : 0(Level) / 1(Pulse) / 2(Edge) / 3(AutoStand)
•BARCODE_MODE_PREFIX -> value : user sentences
(1) ACTION_BARCODE_SET_PARAMETER ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS / FAILED
(2) Put extra :
Example
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_PARAMETER EXTRA_INT_DATA2 Int
EXTRA_STR_VALUE EXTRA_STR_DATA1 String
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int
BarcodeIntent.ACTION_BARCODE_SET_PARAMETER);
intent.putExtra
(“EXTRA_HANDLE”, handle);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS);
BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED);
String action = intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS))
{
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check whether 100 or
not
//to do
}
else if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_REQUEST_FAILED))
int handle = intent.getIntExtra(Constants.EXTRA_HANDLE, 0);
Int errorId = intent.getIntExtra(Constants.EXTRA_INT_DATA2, 0);
int seq = intent.getIntExtra(Constants.EXTRA_INT_DATA3, 0); -> check whether 100 or
not
//to do

3.7 Specific Scenario
Barcode Get Parameter
•The function can check the Barcode specific value.
•Parameter have to set the registered values in BBAPI class
•A parameter of values has to be set in BBAPI class.
(1) ACTION_BARCODE_SET_PARAMETER ACTION_BARCODE_CALLBACK_PARAMETER
(2) Put extra :
Example
Name ExtraName Type
EXTRA_HANDLE EXTRA_HANDLE Int
EXTRA_INT_PARAMETER EXTRA_INT_DATA2 Int
EXTRA_STR_VALUE EXTRA_STR_DATA1 String
EXTRA_INT_SEQUENCE_ID EXTRA_INT_DATA3 Int
BarcodeIntent.ACTION_BARCODE_GET_PARAMETER);
intent.putExtra
(“EXTRA_HANDLE”, handle);
BarcodeIntent.ACTION_BARCODE_CALLBACK_PARAMETER);
String action = intent.getAction();
if(action.equals(BarcodeIntent.ACTION_BARCODE_CALLBACK_PARAMETER))
{
int handle = intent.getIntExtra(”EXTRA_HANDLE”, 0);
String value = intent.getStringExtra(”EXTRA_STR_DATA1”);
//to do
}

3.8 Specific Scenario
Barcode Preview
•The function can Preview.
•Method name
1) public void onPreviewFrame(int fullLength, boolean option, int width, int height, byte[] data)
2) public int startCapture() : use to start capture.
3) public int stopCapture() : use to stop capture.
4) public int setParameter(int parameter, String value)
5) public String getParameter(int parameter) : use to get param.
Param Explain Type
fullLength Data length Int
option Option value Boolean
width width Int
height height Int
data Data array byte[]
Param Explain Type
parameter Set aimer or illumination Int
value Set On or off String
Param Explain Type
parameter use to get param’s value Int

3.8 Specific Scenario
Barcode Preview
Example
private
BarcodeRemoteServiceManager mRemoteServiceManager;
protected void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
//get
remoteService manager
mRemoteServiceManager
=
(
BarcodeRemoteServiceManager)getSystemService(Context.BARCODE_REMOTE_SERVICE
);
//initialize callback
mRemoteServiceManager.initialize
(mRemoteCallback);
}
//implement callback method
private
IBarcodeRemoteCallback mRemoteCallback = new
IBarcodeRemoteCallback.Stub
() {
…
@Override
public void
onPreviewFrame(int fullLength, boolean option, int width, int height, byte[]
data) throws
RemoteException {
//TO_DO
}
}
//set
param
mRemoteServiceManager.setParameter
(560,”0”);
//call start capture
mRemoteServiceManager.startCapture
();
//call stop capture
mRemoteServiceManager.stopCapture();

4. Exception
If scan key is press on DataWedgeMode : On / Status : Close Mode
•Delay occurs for 2~3 seconds until beam turns on since Trigger gets on after completion
of Open operation
If attempts to symbology was made to while it is set as disabled on Profile
setting
•Nothing happens -> Should be retried after setting symbology to enable on BBSettings

5.1 Information
Intent set
Name Type Content
ACTION_BARCODE_OPEN String BarcodeIntent. ACTION_BARCODE_OPEN
ACTION_BARCODE_CLOSE String BarcodeIntent. ACTION_BARCODE_CLOSE
ACTION_BARCODE_SET_TRIGGER String BarcodeIntent. ACTION_BARCODE_SET_TRIGGER
ACTION_BARCODE_CALLBACK_DECODING_DATA String BarcodeIntent. ACTION_BARCODE_CALLBACK_DECODING_DATA
ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS String BarcodeIntent. ACTION_BARCODE_CALLBACK_REQUEST_SUCCESS
ACTION_BARCODE_CALLBACK_REQUEST_FAILED String BarcodeIntent. ACTION_BARCODE_CALLBACK_REQUEST_FAILED

5.2 Information
Error Id
Name realValue Type Etc
ERROR_DECODING_TIMEOUT -6 Int Timeout period is passed after Trigger on
ERROR_USE_TIMEOUT -7 Int No Action is take after 30 seconds from last Action(except CLOSE)
ERROR_BATTERY_LOW -5 Int If barcode related Action has been made when battery is lower than
5%
ERROR_NOT_SUPPORTED -2 Int Unsupportable API
ERROR_NORMAL -1 Int Other failures

5.3 Information
Symbology ID
Name ID Name ID Name ID
SYMBOLOGY_UPC_A 1 SYMBOLOGY_ISBT128 17 SYMBOLOGY_KOREAN_POST 33
SYMBOLOGY_UPC_E 2 SYMBOLOGY_COMPOSITE_CC_C 18 SYMBOLOGY_US_POSTNET 34
SYMBOLOGY_UPC_E1 3 SYMBOLOGY_MATRIX2OF5 19 SYMBOLOGY_US_PLANET 35
SYMBOLOGY_EAN8 4 SYMBOLOGY_DATAMATRIX 20 SYMBOLOGY_UPC_A_PREAMBLE 36
SYMBOLOGY_EAN13 5 SYMBOLOGY_MAXICODE 21 SYMBOLOGY_UPC_A_TRANSMIT_CHECK_DIGIT 37
SYMBOLOGY_BOOKLAND 6 SYMBOLOGY_AZTECCODE 22 SYMBOLOGY_UPC_E_PREAMBLE 38
SYMBOLOGY_SUPPLEMENTAL_CODE 7 SYMBOLOGY_MICROPDF 23 SYMBOLOGY_UPC_E_TRANSMIT_CHECK_DIGIT 39
SYMBOLOGY_CODE39 8 SYMBOLOGY_QRCODE 24 SYMBOLOGY_UPC_E1_PREAMBLE 40
SYMBOLOGY_CODE93 9 SYMBOLOGY_TRIOPTIC_CODE 25 SYMBOLOGY_UPC_E1_TRANSMIT_CHECK_DIGIT 41
SYMBOLOGY_CODE128 10 SYMBOLOGY_DISCRETE2OF5 26 SYMBOLOGY_EAN8_EXTEND 42
SYMBOLOGY_INTERLEAVED2OF5 11 SYMBOLOGY_USPS4CB 27 SYMBOLOGY_EAN_TRANSMIT_ISSN 43
SYMBOLOGY_CODABAR 12 SYMBOLOGY_AUSTRALIA_POST 28 SYMBOLOGY_BOOKLAND_ISBN 44
SYMBOLOGY_CODE11 13 SYMBOLOGY_UK_POST 29 SYMBOLOGY_SUPPLEMENTAL_REDUNDANCY 45
SYMBOLOGY_MSI 14 SYMBOLOGY_CHINESE_POST 30 SYMBOLOGY_SUPPLEMENTAL_AIM_ID 46
SYMBOLOGY_GS1 15 SYMBOLOGY_JAPANESE_POST 31 SYMBOLOGY_CODE39_LENGTH_MIN 47
SYMBOLOGY_PDF417 16 SYMBOLOGY_NETHERLANDS_POST 32 SYMBOLOGY_CODE39_LENGTH_MAX 48

5.4 Information
Symbology ID
Name ID Name ID Name ID
SYMBOLOGY_CODE39_CHECK_DIGIT 49 SYMBOLOGY_CODE11_LENGTH_MIN 65 SYMBOLOGY_MATRIX2OF5_SUPPLEMENTAL_RE
DUNDANCY 81
SYMBOLOGY_CODE39_TRANSMIT_CHECK_DIGIT 50 SYMBOLOGY_CODE11_LENGTH_MAX 66 SYMBOLOGY_MATRIX2OF5_CHECK_DIGIT 82
SYMBOLOGY_CODE39_FULL_ASCII 51 SYMBOLOGY_CODE11_CHECK_DIGIT 67 SYMBOLOGY_MATRIX2OF5_TRANSMIT_CHECK_
DIGIT 83
SYMBOLOGY_CODE93_LENGTH_MIN 52 SYMBOLOGY_CODE11_TRANSMIT_CHECK_DIGI
T68 SYMBOLOGY_COMPOSITE_CC_AB 84
SYMBOLOGY_CODE93_LENGTH_MAX 53 SYMBOLOGY_MSI_LENGTH_MIN 69 SYMBOLOGY_COMPOSITE_TLC_39 85
SYMBOLOGY_CODE128_LENGTH_MIN 54 SYMBOLOGY_MSI_LENGTH_MAX 70 SYMBOLOGY_COMPOSITE_UPC 86
SYMBOLOGY_CODE128_LENGTH_MAX 55 SYMBOLOGY_MSI_CHECK_DIGIT 71 SYMBOLOGY_DATAMATRIX_INVERSE 87
SYMBOLOGY_CODE128_EMULATION 56 SYMBOLOGY_MSI_TRANSMIT_CHECK_DIGIT 72 SYMBOLOGY_DATAMATRIX_ONLY 88
SYMBOLOGY_INTERLEAVED2OF5_LENGTH_MIN 57 SYMBOLOGY_MSI_CHECK_DIGIT_ALGORITHM 73 SYMBOLOGY_DISCRETE2OF5_LENGTH_MIN 89
SYMBOLOGY_INTERLEAVED2OF5_LENGTH_MAX 58 SYMBOLOGY_GS1_LIMITED 74 SYMBOLOGY_DISCRETE2OF5_LENGTH_MAX 90
SYMBOLOGY_INTERLEAVED2OF5_CHECK_DIGIT 59 SYMBOLOGY_GS1_LIMITED_SECURITY_LEVEL 75 SYMBOLOGY_US_TRANSMIT_CHECK_DIGIT 91
SYMBOLOGY_INTERLEAVED2OF5_TRANSMIT_CH
ECK_DIGIT 60 SYMBOLOGY_ISBT128_CONCATENATION 76 SYMBOLOGY_QRCODE_INVERSE 92
SYMBOLOGY_CODABAR_LENGTH_MIN 61 SYMBOLOGY_ISBT128_CHECK_TABLE 77 SYMBOLOGY_SPECIFIC_SECURITY 93
SYMBOLOGY_CODABAR_LENGTH_MAX 62 SYMBOLOGY_ISBT128_CONCATENATION_REDU
NDANCY 78 SYMBOLOGY_SPECIFIC_INTERCHARACTER 94
SYMBOLOGY_CODABAR_CLSI_EDITING 63 SYMBOLOGY_MATRIX2OF5_LENGTH_MIN 79 SYMBOLOGY_COUPON_REPORT 95
SYMBOLOGY_CODABAR_NOTIS_EDITING 64 SYMBOLOGY_MATRIX2OF5_LENGTH_MAX 80 SYMBOLOGY_CONVERT_UPCE_TO_A 96
Other manuals for BP30
1
This manual suits for next models
2
Other Bluebird Barcode Reader manuals