INTRODUCTION... 6 1.1. HOW TO DOWNLOAD DATA FROM SCANNER ... 6 1.2. COM DEFINITION FOR HT660/PA96X/PA982/RH767 ... 7 1.3. USEFUL SAMPLE PROGRAM ... 7 1.4. GET SDK FROM UNITECH?... 7 USI.DLL – UNITECH SCANNER INTERFACE DLL... 8 2.1. Register the application to the USI DLL ... 8 2.2.
Page 3
2.21. Load/Unload Scan2Key.exe ... 14 2.22. Enable/Disable Scan2Key ... 15 2.23. Send scanner command to decoding chip ... 15 2.24. Only send single command decoding chip ... 15 2.25. Send command to decoding chip ... 16 2.26. 2D imager supporting for PA966/967 ... 16 CONTROL COMMAND FOR DECODER CHIP...
Page 4
7.1.4. Disable/enable power button ... 29 7.1.5. Set keypad utility input mode... 29 7.1.6. Get keypad utility input mode (For HT660 only)... 29 7.1.7. Check Alpha key is pressing (For PA962/PA966/PA982 only)... 29 7.2. Scanner Related Functions ... 30 7.2.1.
Page 5
BLUETOOTH RELATIVE API - BTAPI.DLL... 37 8.1. Enable/Disable Bluetooth Power status ... 37 8.2. Get BT Power status ... 37 8.3. DLL Version... 37 RH767 HF READER ... 38 9.1. Get library version ... 38 9.2. Connect to RFID reade ... 38 9.3.
This section will introduce the programming structure of the barcode sub- system and the programming utility library for the HT660/PA96x/PA982. HT660/PA96x/PA982 there is an advanced decoding chip to control SE900 laser engine and to handle barcode decoding. barcode:...
1.2. COM definition for HT660/PA96x/PA982/RH767 1.3. Useful Sample program You can get useful sample program for VC, C# and VB.NET from below URL HT660 series http://w3.tw.ute.com/pub/cs/software/Sample_Program/HT660/c_sharp/c_sharp_sample.zip Vb.net http://w3.tw.ute.com/pub/CS/software/Sample_Program/HT660/VB.NET/VB.NET_sample.zip http://w3.tw.ute.com/pub/CS/software/Sample_Program/HT660/evc/evc_sample.zip PA96x/PA982 series http://w3.tw.ute.com/pub/cs/software/Sample_Program/PA962/c_sharp/c_sharp_sample.zip Vb.net http://w3.tw.ute.com/pub/CS/software/Sample_Program/PA962/VB.NET/VB.NET_sample.zip http://w3.tw.ute.com/pub/CS/software/Sample_Program/PA962/evc/evc_sample.zip 1.4. Get SDK from Unitech?
2. USI.DLL – Unitech Scanner Interface DLL 2.1. Register the application to the USI DLL Function Description: Register the application to the USI DLL, so that the DLL can communicate with the application. It will also open and initial scanner port (COM2, for example) and set the scanner to the working mode.
"CHECKPARITY"="1" 2.2. Unregister the application from the USI.DLL Function Description: Unregister the application from the DLL. It will close the scanner port, and by Function call: Return code: None 2.3. Enable / Disable Scanner Function Description: To start or stop USI function. This function is useful for application to temporarily Function call: BOOL USI_EnableScan(BOOL bStatus);...
2.7. Get scan data Function Description: Retrieves the scan data into the buffer. Returns the length of characters. It also returns the barcode type if type is not NULL. Return 0 means that the buffer is too short to hold the data.
2.8. Get length of scanned data Function Description: Returns the data length of the scan data. When allocate the memory to hold the scan data, add at least one additional byte for string terminator. Function call: UINT Return: UNIT : data length 2.9.
(UPI300.DLL is an example) to turn on and off the LED. If the DLL is not defined or the function is not found, USI will bypass the call of GoodReadLEDOn. [HKEY_LOCAL_MACHINE\SOFTWARE\Unitech America Inc.\Scanner\Settings] "DLLLEDCONTROL"="UPI300.DLL" The function prototype of GoodReadLEDOn is: VOID WINAPI GoodReadLEDOn(BOOL fon);...
(UPI300.DLL is an example) to start and stop the scanner. If the DLL is not defined or the function is not found, then auto scanning is not available. [HKEY_LOCAL_MACHINE\SOFTWARE\Unitech America Inc.\Scanner\Settings] "DLLSCANNERCONTROL"="UPI300.DLL" The function prototype of SetScannerOn is: VOID WINAPI SetScannerOn(BOOL fon);...
2.17. Stop auto scanning function Function Description: Function call: 2.18. Check if auto scanning is enable Function Description: Function call: Return: 2.19. Check if Scan2Key.exe program is running or not Function Description: Function call: Return: 2.20. Test if Scan2Key is enabled Function Description: Function call: Return:...
2.22. Enable/Disable Scan2Key Function Description: Function call: Parameter: (input) Parameter: (output) Return: 2.23. Send scanner command to decoding chip Function Description: Parameter: (input) Return: TRUE = Indicates the command has been successfully sent to queue to output. 2.24. Only send single command decoding chip Function Description: Function call: Parameter: (input)
2.25. Send command to decoding chip Function Description: Function call: Parameter: (input) Parameter: (output) Return: TRUE = indicates the command has been successfully sent to queue to output. 2.26. 2D imager supporting for PA966/967 2D supporting API is described on individual document. Please get it from http://w3.tw.ute.com/pub/cs/manual/WinCE_programming_manual/2D_Engine_SDK.pdf Send command to decoder chip.
3. Control command for decoder chip Important: This chapter describes low level command for scanner control function. If you already USI to do scanner programming, you don’t need to care about this chapter. In general, it is not suggested to use level command to control scanner, because there are timing issue on serial communication programming , and it is always need communication expert to do that and it is hard to explain it on document.
Page 18
block_delay Esc,0,4,4,m,S1,BCC char_delay Esc,0,4,5,m,S1,BCC Function_code Esc,0,4,6,m,S1,BCC No meaning for you Capslock Esc,0,4,7,m,S1,BCC No meaning for you Language Esc,0,4,8,m,S1,BCC No meaning for you Baud_rate Esc,0,4,0D,m,S1,BCC No meaning for you Parity Esc,0,4,0E,m,S1,BCC No meaning for you Data_bits Esc,0,4,0F,m,S1,BCC No meaning for you Handshake Esc,0,4,10,m,S1,BCC No meaning for you...
Page 19
No meaning for you Separator Esc,0,4,35,m,S1,BCC No meaning for you Must_have_data Esc,0,4,36,m,S1,BCC No meaning for you Track1_sequence Esc,0,L,37,m,S1,…Si,BCC No meaning for you Track2_sequence Esc,0,L,38,m,S1,…Si,BCC No meaning for you Esc,0,4,39,m,S1,BCC Code39_set Code39_enable Esc,0,4,3a,m,S1,BCC Code39_sandard Esc,0,4,3b,m,S1,BCC Code39_cd: Esc,0,4,3c,m,S1,BCC Code39_ss Esc,0,4,3d,m,S1,BCC Code39_min Esc,0,4,3e,m,S1,BCC Code39_max Esc,0,4,3f,m,S1,BCC Esc,0,4,40,m,S1,BCC...
Page 21
EAN128Brace Esc,0,4,92,m,S1,BCC Remove AimingTime Esc,0,4,93,m,S1,BCC Exchange data Esc,Lh,Ll,a3,S1,S2,...,Sn, Note: Hamster save these commands to buffer and do not execute until it receives an Execute command (Esc,ENQ). Hamster execute the command after receive an “Esc,ENQ” then send back a reply. The Max. Length of data is 264. The m and the reply define as following: DATA TO HOST FROM HAMSTER Data format: Code_number,Lh,Ll,string...
4. Scanner3.DLL – Backward compatible API for PT930/PT930S’s Scanner3.dll “Scanner3.lib” and “scanner3.h” are necessary files for VC programming to compile application. You can find it from standard LIB and INCLUDE folder after installed SDK. 4.1. Enable Decoder Function Description: This function will open COM2 port, create a thread to get any barcode input from Function call: Return code: 4.2.
4.4. Read barcode data Function Description: Get input barcode data and its type from system buffer. Function call: BOOL PT_GetBarcode( TCHAR *szBarcodeBuffer,TCHAR *cType); Parameter: (output) szBarcodeBuffer : string buffer for storing input data cType : Type of Input data =00H =01H =02H =03H...
5. ScanKey3.DLL – Backward compatible API for PT930/PT930S’s ScanKey3.dll In Technical Binder CD, you can get this file from folder \Programming\scankey. In this folder can also find extra 3 files. "Scankey3.lib" Used for VC programming "Scankey3.h" Used for VC programming 5.1.
ActiveSync, so it will automatically envoke ActiveSync program to do communication with PC when RS232 cable is plugged into HT660/PA96x/PA982. However, it will make RS232 port useless if user want to connect HT660/PA96x/PA982 with any device with RS232 interface. RS232Event.DLL provides function call for user to disable ActiveSync function over RS232 port to let user directly control RS232 port.
6.5. Enable TaskBar Function Description: Function call: Return code: 6.6. Disable Desktop Function Description: Function call: Return code: 6.7. Enable Desktop Function Description: Function call: Return code: 6.8. Disable toolbar on windows explorer Function Description: This function will hide windows explorer’s toolbar Function call: BOOL DisableExploreToolbar (VOID);...
6.10. Disable Connection Function Description: Function call: Parameter (Input): Return code: 6.11. Enable Connection Function Description: Function call: Parameter (Input): Return code: This function will disable the specify connection in “Settings\Network and Dial-up Connections”. BOOL DisableConnection (LPTSTR); Specify the connection name in parameter. =TRUE Success =FAULE...
OS operation behavior) Function Description: PA962/PA982 only have 22 keys configuration, PA96x will have two keypad type, 22 keys and 36 keys. In HT660, there is only 36 keys configuration.The following function returns current keypad type. Function call:...
In terminal, there is a utility to emulate full alpha key input, called GetVK. The input mode can be switched by pressing “alpha” key, or by following function. Function call: void SetGetVKWorkingMode(int) Parameter (input) For HT660 : For PA962/PA966/PA982 Return code: None 7.1.6. Get keypad utility input mode Function Description: This function is used to check alpha key input mode.
7.2. Scanner Related Functions To save power, the decoder IC is disabled when scanner is not in use. It can be enabled through USI functions. Following functions are meaningful only if decode IC is enabled. 7.2.1. Enable/Disable Scanner trigger key Function Description: This function enables/disables trigger keys.
7.2.5. Control trigger key’s key event. Function Description: This function is used to inform system if necessary to generate key event for trigger key. Function call: Void EnableTriggerKeyEvent (BOOL fON) Parameter(Input) fON: BOOL: Return code: Note: Trigger key activity will generate an event named EXT("KeybdTriggerChangeEvent"). Fast, repeated event generation may cause some trouble for AP By passing FALSE to this function can prevent upcoming event generation TRUE = Enable key event.
= CreateEvent(NULL, TRUE, FALSE, kKeybdAlphaKeyEventName); while (1) 7.3. LED related function Function Description: There are two LEDs above the screen of HT660/PA96x/PA982, red and green LEDs. Only the green LED can be controlled by programmer. Function call: void GoodReadLEDOn(BOOL fON)
7.4.2. Get Screen Backlight Status Function Description: This function returns the status of screen backlight. Function call: BOOL GetBacklightStatus(void) Return code: TRUE = screen backlight is on. FALSE = screen backlight is off. 7.4.3. Keypad Backlight Control Function Description: This function turns keyoad backlight on or off. Function call: void KeypadLightOn(BOOL fON) Parameter(Input)
7.5. PCMCIA/CF slot related functions In HT660, it only support CF slot and PA96x/PA982 can support both CF and PCMCIA slot. So, please note that PCMCIA function is not work on following API in this section. 7.5.1. Get physical slot ID Function Description: PA96x/PA982 has two PC card slots, slot 0 and slot 1, for PCMCIA and CF.
7.5.4. Inquire PCMCIA/CF slot status Function Description: This function returns PCMCIA/CF slot enable/disable status. Terminal assigns physical slot 0 to CF and slot1 to PCMCIA, which is reversed compared with previous products. The following function is kept for compatible reason. takes the same uSocket value as previous products, but reversed internally.
7.6. Check battery type Function Description: Check if HT660/PA96x/PA982 is installed smart battery and battery ID. Function call: Return Other 7.7. Enable/Disable LCD screen Function Description: Turn on / off LCD screen Function call: void PowerOnColorLCD(BOOL fON) Parameters(Input) fON: BOOL: Return None BYTE GetSmartBatteryID(void);...
8. BlueTooth relative API - BTAPI.DLL This DLL provide BlueTooth relative API. Two files are essential and provided in SDK, BTAPI.LIB and BTAPI.H. 8.1. Enable/Disable Bluetooth Power status Function Description: Enable Bluetooth Module Power ON/OFF Function call: void BT_PowerEnable ( BOOL bEnable ) Parameter (Input) bON: BOOL: Return code:...
9. RH767 HF reader To programming RH767 HF reader, it need C++ DLL “RDINT.dll” and RDINT.h”. Please get it from below URL. http://w3.tw.ute.com/pub/cs/sdk/RH767/RH767_HF_SDK.zip 9.1. Get library version Function Description: To get the library version. Function Call: INT32 RDINTsys_GetAPIVersionString (LPWSTR strVersion); Parameter: strVersion: Get the library version.
pu8FirmwareVer); Parameter: u8COMPort: pu8SerialNum: Get reader’s serial number (Length: READER_SERIAL_LEN) pu8FirmwareVer: Get reader’s firmware version (Length: FIRMWARE_VER_LEN) Return code: Please refer to section 9.10. 9.5. Antenna Control Function Description: Enable/Disable antenna to save power. Function Call: INT32 RDINTv2_AntennaControl (BYTE u8COMPort, BYTE u1OnOff); Parameter: u8COMPort: The reader’s COM port number (1 –...
pu8GRLUid: Receive the read data’s length which in the reader’s buffer. Return code: Please refer to section 9.10. 9.9. Get Data From Reader Function Description: Get the data from the reader’s buffer. Function Call: INT32 RDINT_GetReturnDataArray (BYTE u8COMPort, BYTE u8Indx, BYTE u8Offset, LPBYTE pu8Data);...
Page 41
LRNOINIT LRCRDNOTOPEN LRINUSE LRAPPLICERR LRLINKLOST LRBADCOMPORT LRNOCRYPTBOX LRBADAPPACCES LRNOMAIDFILE LRBOXREAD LRBOXWRITE LRBOXNOKEYS LRSECURE LRERRSELREADE 0xff Reader has not been opened 0xfa Card has not been opened 0xfb Card in use by another applications 0xfc API system error 0xfd Link to Reader has been lost 0xfe COM port cannot be accessed 0xf8...
10. RH767 UHF reader To programming RH767 UHF reader, it need C# DLL “MPR DLL.dll”. Please get it from below URL. http://w3.tw.ute.com/pub/cs/sdk/RH767/RH767_UHF_SDK.zip 10.1. Class “MPRReader” This is the main class instantiated by Applications. Manages a single WJ Multi-Protocol Reader. Provides properties and methods for accessing features of the MPR.
10.3. The Parameter in MPRReader 10.3.1. Connect to RFID Reader Function Description: To create a connection with the reader before control it. Function Call: bool Connect(string Parameter: SerialPortName: The reader’s COM port number (COM1: – COM255:) BaudRate: The baud rate with the reader, the default is “57600” Return code: True : Connect success.
11. Useful function call – without include SysIOAPI.DLL Below API maybe useful for you to control HT660/PA96x 11.1.1. Warm-boot. Cold-boot and power off #include <pkfuncs.h> #include "oemioctl.h" Warn boot KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL); // Cold boot KernelIoControl(IOCTL_COLD_BOOT, NULL, 0, NULL, 0, NULL);...
12. Get Device ID In HT660/PA96x, an unique ID had been burnt into terminal, user can check it by pressing “Func”+”9”. The sample code for read device ID as follow, //////////////////////////////////////////////////////////////// HWND hDeviceId = GetDlgItem(hWnd, IDC_DEVICEID); PDEVICE_ID pDeviceID = NULL;...
14. Update notes V1.0 The first version V1.1 Wrong URL link for C# on chapter 1.4 V1.2 PA982 support V1.3 Add RH767 HF/UHF programming on chapter 9 & 10 V1.4 Modify RH767 HF programming on chapter 9. V1.6 Change logo V1.7 Modify SDK URL...
Need help?
Do you have a question about the HT660 and is the answer not in the manual?
Questions and answers