Unitech HT660 Programming Manual

Unitech ht660: user guide
Hide thumbs Also See for HT660:
Table of Contents

Advertisement

HT660/PA96x/PA982/RH767
Programming Manual
V 1.7 2008-01-15

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the HT660 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Unitech HT660

  • Page 1 HT660/PA96x/PA982/RH767 Programming Manual V 1.7 2008-01-15...
  • Page 2: Table Of Contents

    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.
  • Page 6: Introduction

    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:...
  • Page 7: Com Definition For Ht660/Pa96X/Pa982/Rh767

    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?
  • Page 8: Usi.dll - Unitech Scanner Interface Dll

    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.
  • Page 9: Unregister The Application From The Usi.dll

    "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);...
  • Page 10: Get Scan Data

    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.
  • Page 11: Get Length Of Scanned 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.
  • Page 12: Clear Scan Data System Buffer

    (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);...
  • Page 13: Save Scanner Setting Into Specified File

    (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);...
  • Page 14: Stop Auto Scanning Function

    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:...
  • Page 15: Enable/Disable Scan2Key

    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)
  • Page 16: Send Command To Decoding Chip

    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.
  • Page 17: Control Command For 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 20 Code93_max Esc,0,4,63,m,S1,BCC Esc,0,4,64,m,S1,BCC Code11 Code11_enable Esc,0,4,65,m,S1,BCC Code11_cdnumber Esc,0,4,66,m,S1,BCC Code11_cdsend Esc,0,4,67,m,S1,BCC Code11_min Esc,0,4,68,m,S1,BCC Code11_max Esc,0,4,69,m,S1,BCC Codabar_set Esc,0,4,6a,m,S1,BCC Codabar_enable Esc,0,4,6b,m,S1,BCC Codabar_ss Esc,0,4,6c,m,S1,BCC Codabar_cd Esc,0,4,6d,m,S1,BCC Codabar_CLSI Esc,0,4,6e,m,S1,BCC Codabar_min Esc,0,4,6f,m,S1,BCC Codabar_max Esc,0,4,70,m,S1,BCC Label_code Esc,0,4,71,m,S1,BCC Label_c_enable Esc,0,4,72,m,S1,BCC Label_code_cd Esc,0,4,73,m,S1,BCC Upc_a_set Esc,0,4,74,m,S1,BCC Upc_a_enable Esc,0,4,75,m,S1,BCC Upc_a_ld Esc,0,4,76,m,S1,BCC Upc_a_cd Esc,0,4,77,m,S1,BCC Upc_e_set...
  • 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...
  • Page 22: Scanner3.Dll - Backward Compatible Api For Pt930/Pt930S'sscanner3.Dll

    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.
  • Page 23: Read Barcode Data

    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...
  • Page 24: Scankey3.Dll - Backward Compatible Api For Pt930/Pt930S'sscankey3.Dll

    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.
  • Page 25: Unitechapi.dll

    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.
  • Page 26: Enable Taskbar

    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);...
  • Page 27: Disable Connection

    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...
  • Page 28: Sysioapi.dll

    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:...
  • Page 29: Disable/Enable Power Button

    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.
  • Page 30: Scanner Related Functions

    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.
  • Page 31: Control Trigger Key's Key Event

    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.
  • Page 32: Check Trigger Key Is Pressing

    = 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)
  • Page 33: Get Screen Backlight Status

    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)
  • Page 34: Pcmcia/Cf Slot Related Functions

    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.
  • Page 35: Inquire Pcmcia/Cf Slot Status

    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.
  • Page 36: Check Battery Type

    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);...
  • Page 37: Bluetooth Relative Api - Btapi.dll

    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:...
  • Page 38: Rh767 Hf Reader

    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.
  • Page 39: Antenna Control

    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 –...
  • Page 40: Get Data From Reader

    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...
  • Page 42: Rh767 Uhf Reader

    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.
  • Page 43: The Parameter In Mprreader

    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.
  • Page 44: Useful Function Call - Without Include Sysioapi.dll

    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);...
  • Page 45: Get Device Id

    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;...
  • Page 46: Update Notes

    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...

This manual is also suitable for:

Pa982Rh767Pa96x

Table of Contents