Table of Contents

Advertisement

Quick Links

HT6xx/PA96x/PA982/RH767
Programming Manual
V 1.17 2009-10-01

Advertisement

Table of Contents
loading

Summary of Contents for Unitech PA96 Series

  • Page 1 HT6xx/PA96x/PA982/RH767 Programming Manual V 1.17 2009-10-01...
  • Page 2: Table Of Contents

    COM DEFINITION FOR HT6XX/PA96X/PA982/RH767 ........... 11 USEFUL SAMPLE PROGRAM ..................11 GET SDK FROM UNITECH?.................... 12 USI.DLL – UNITECH SCANNER INTERFACE DLL............13 Register the application to the USI DLL ........................ 13 Unregister the application from the USI.DLL ....................... 14 Enable / Disable Scanner............................
  • Page 3 2.21 Load/Unload Scan2Key.exe ..........................21 2.22 Enable/Disable Scan2Key ............................. 21 2.23 Send scanner command to decoding chip ....................... 21 2.24 Only send single command decoding chip ...................... 22 2.25 Send command to decoding chip ........................22 2.26 2D imager supporting for PA966/967 ......................... 22 CONTROL COMMAND FOR DECODER CHIP (HAMSER: 1D ONLY) ......
  • Page 4 Enable TaskBar ................................33 Disable Desktop................................33 Enable Desktop ................................33 Disable toolbar on windows explorer ........................34 Enable toolbar on windows explorer ........................34 6.10 Disable Connection..............................34 6.11 Enable Connection..............................34 SYSIOAPI.DLL ........................35 Keypad Related Functions............................35 7.1.1 Get CAPS lock status (This function call is reserved for OS using, it is not suggested to be used on application if you are not fully understand OS operation behavior) ................
  • Page 5 PCMCIA/CF slot related functions .......................... 42 7.8.1 Get physical slot ID..............................42 7.8.2 Enable/Disable PCMCIA or CF slot ........................43 7.8.3 Enable/Disable IO slots............................43 7.8.4 Inquire PCMCIA/CF slot status..........................43 7.8.5 Inquire IO slot status ............................. 44 7.8.6 Disable PCMCIA/CF slot when resume ......................44 Check battery type ..............................
  • Page 6 9.4.7 Write SRIX4K Card’s Block Data ........................57 9.4.8 Authenticate SRIX4K Card........................... 58 9.4.9 Read SRIX4K Card ID ............................58 Error Code ..................................59 RH767 UHF READER FOR WJ..................60 10.1 Class “MPRReader”..............................60 10.2 The Parameter in MPRReader ..........................60 10.3 The Function in MPRReader..........................
  • Page 7 11.19 Set Reader’s Frequency............................68 11.20 Get Reader’s Hop Channel Spacing ........................68 11.21 Set Reader’s Hop Channel Spacing........................68 11.22 Get Reader’s Firmware Version........................... 69 11.23 Get Reader’s LBT Setting............................69 11.24 Set Reader’s LBT Setting ............................69 RH767 UHF READER FOR KITTY ................... 70 12.1 Kitty RFID Reader API Reference ........................
  • Page 8 12.5.19 Clear RFID Reader Module’s Error State ...................... 80 12.5.20 Ability of Hold or Discard the Duplicate Tags ....................80 12.6 Other APIs ................................. 80 12.6.1 Get RFID Reader’s Firmware Version........................ 80 12.7 Structure of the Library............................81 12.7.1 RFID_ANTENNA_PORT_CONFIG ........................81 12.7.2 ACCESS_STATUS..............................
  • Page 9 17.8 Stop Capture Video..............................98 17.9 Initial Playback Decoder ............................98 17.10 Release Playback Decoder ........................... 98 17.11 Start Playback ................................98 17.12 Stop Playback................................99 FINGERPRINT RELATED FUNCTIONS ................ 100 GPS RELATED FUNCTIONS ..................101 USI .NET COMPACT FRAMEWORK COMPONENT ............. 102 USI ACTIVEX CONTROL ....................
  • Page 10: Introduction

    Many programmers find it difficult to control the Decoder Chip via programming language alone, especially if they are not familiar with barcode and serial port controls. Because of this, Unitech provides the following utility library and program for the user or application programmer to control the Decoder Chip: 1.
  • Page 11: Com Definition For Ht6Xx/Pa96X/Pa982/Rh767

    1.2 COM definition for HT6xx/PA96x/PA982/RH767 General: COM 1 Physical full RS232 port (ActiveSync) COM 2 Scanner (Hamster) or RFID reader COM 3 IrComm COM 4 USB client COM 5 IrDA or Bluetooth COM 6 Reserve COM 7 Bluetooth Printer COM 8 Bluetooth Modem COM 9 Bluetooth ActiveSync...
  • Page 12: Get Sdk From Unitech

    1.4 Get SDK from Unitech? You can get SDK from below URL HT660 http://w3.tw.ute.com/pub/cs/sdk/ht660/HT660SDK.zip HT680 http://w3.tw.ute.com/pub/cs/sdk/HT680/HT680SDK.zip PA962/963 http://w3.tw.ute.com/pub/cs/sdk/pa962/pa962sdk.zip PA966/967 http://w3.tw.ute.com/pub/cs/sdk/pa966/pa966sdk.zip PA968 http://w3.tw.ute.com/pub/cs/sdk/pa968/pa968sdk.zip PA982 http://w3.tw.ute.com/pub/cs/sdk/pa982/Pa982SDK.zip RH767 http://w3.tw.ute.com/pub/cs/sdk/RH767/RH767_CE5_SDK.zip...
  • Page 13: Usi.dll – Unitech Scanner Interface Dll

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

    "CHECKPARITY"="1" Return: BOOL: TRUE : OK FALSE : Failure 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 default it will disable the scanner. Function call: void USI_Unregister();...
  • Page 15: Returns The System Error Code

    2.6 Returns the system error code Function Description: Returns the system error code, which is returned by GetLastError. It will also return the description of the error in buffer if it is not NULL. Function call: DWORD USI_GetLastSysError(LPTSTR buffer, len); Parameter: (output) buffer: LPTSTR:...
  • Page 16: Get Length Of Scanned Data

    BCT_EAN_128 // EAN 128 BCT_UPC_E1 // UPC E1 BCT_UPC_E1_2SUPPS // UPC E1 with 2 Supps BCT_UPC_E1_5SUPPS // UPC E1 with 5 Supps BCT_TRIOPTIC_CODE_39 // TRIOPTIC CODE 39 BCT_BOOKLAND_EAN // Bookland EAN BCT_COUPON_CODE // Coupon Code BCT_STANDARD_2OF5 // Standard 2 of 5 BCT_CODE_11_TELPEN // Code 11 Telpen BCT_CODE_32...
  • Page 17 BCT_EAN_13_5SUPPS EAN 13 with 5 Supps. BCT_MSI_PLESSEY MSI Plessey BCT_EAN_128 EAN 128 BCT_TRIOPTIC_CODE_39 Trioptic Code 39 BCT_BOOKLAND_EAN Bookland EAN BCT_COUPON_CODE Coupon Code BCT_STANDARD_2OF5 Standard 2 of 5 BCT_CODE_11_TELPEN Code 11 or Telpen BCT_CODE_32 Code 32 (Pharmacy Code) BCT_DELTA_CODE Delta Code BCT_LABEL_CODE Label Code IV &...
  • Page 18: 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 19: 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 20: Stop Auto Scanning Function

    2.17 Stop auto scanning function Function Description: Stop auto scanning Function call: void USI_StopAutoScan(); 2.18 Check if auto scanning is enable Function Description: Check if auto scanning function is enabled or not Function call: BOOL USI_IsAutoScanning() Return: BOOL: TRUE: auto-scanning is running FALSE: auto-scanning is disabled.
  • Page 21: Load/Unload Scan2Key.exe

    2.21 Load/Unload Scan2Key.exe Function Description: Load or unload Scan2Key Function call: BOOL S2K_Load(BOOL load, DWORD timeout); Parameter: (input) load: BOOL: TRUE = load Scan2Key FALSE = unload Scan2Key timeout: DWORD: when unload Scan2Key, it will wait until Scan2Key has been removed from memory or timeout specified by this parameter.
  • Page 22: Only Send Single Command Decoding Chip

    2.24 Only send single command decoding chip Function Description: Send command to decoder chip. This is a variation of command HAM_SendCommand. It sends following command to Hamster: (note, only two bytes without BCC) Esc, 0x80+cmd Function call: BOOL HAM_SendCommand1(BYTE cmd); Parameter: (input) cmd: BYTE:...
  • Page 23: Control Command For Decoder Chip (Hamser: 1D Only)

    Control command for decoder chip (Hamser: 1D only) 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 24 low/high,5high/low block_delay Esc,0,4,4,m,S1,BCC S1 is 0_10ms,1 50ms,2 100ms,3 500ms,4 1s,5 3s char_delay Esc,0,4,5,m,S1,BCC S1 is 0_none,1 1ms,2 5ms,3 10ms,4 20ms,5 50ms Function_code Esc,0,4,6,m,S1,BCC S1 is 0 off,1_on No meaning for you Capslock Esc,0,4,7,m,S1,BCC S1 is 0_auto trace,1 lower case,2 upper case No meaning for you Language Esc,0,4,8,m,S1,BCC...
  • Page 25 T2_account_only Esc,0,4,34,m,S1,BCC S1 is 0_NO,1 YES No meaning for you Separator Esc,0,4,35,m,S1,BCC S1 is 1 CHARACTER No meaning for you Must_have_data Esc,0,4,36,m,S1,BCC S1 is 0 YES,1_NO No meaning for you Track1_sequence Esc,0,L,37,m,S1,…Si,BCC Si can be 1 to 16 CHARACTERS No meaning for you Track2_sequence Esc,0,L,38,m,S1,…Si,BCC Si can be 1 to 8 CHARACTERS...
  • Page 26 Code93_min Esc,0,4,62,m,S1,BCC S1 is 1~48:1 (min<=data len) Code93_max Esc,0,4,63,m,S1,BCC S1 is 1~48:48 (data len<=max) Esc,0,4,64,m,S1,BCC S1 is S1.b0 is for Code11_enable,S1.b1 is for Code11 Code11_cdnumber,S1.b2 Code11_cdsend Code11_enable Esc,0,4,65,m,S1,BCC S1 is 0_disable, 1 enable Code11_cdnumber Esc,0,4,66,m,S1,BCC S1 is 0 one check digit,1_two check digits Code11_cdsend Esc,0,4,67,m,S1,BCC S1 is 0 check digit send,1_not send...
  • Page 27 reset the setting area into FF. m=2 is upload setting. Actually you just need the format as bellow: Download: Esc,1,02,91,0,s1,...,s255,BCC Upload: Esc,0,3,91,2,BCC EAN128Brace Esc,0,4,92,m,S1,BCC S1 is =0_disable,1 enable(Remove the brace) Remove AimingTime Esc,0,4,93,m,S1,BCC S1 is =0 0.5s,1_1s,2 1.5s 3 2s •...
  • Page 28: Scanner3.Dll – Backward Compatible Api For Pt930/Pt930S's Scanner3.Dll

    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 Decoder Chip, and then store input data in the system buffer.
  • Page 29: 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 Full Code 39 =01H STD Code 39 =02H EAN-13 =03H UPC-A...
  • Page 30: Scankey3.Dll – Backward Compatible Api For Pt930/Pt930S's Scankey3.Dll

    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 Enable Decoder Function Description: This function will open COM2 port, create a thread to get any barcode input from Decoder Chip, and then send scanner data to keyboard buffer.
  • Page 31: Reset All Symbologies To Default

    int PT_StartScan (VOID) 5.6 Reset all symbologies to default Function Description: This function call will reset decoder chip's symbologies setting to system default value Function call for VC: int PT_ SetToDefault (VOID) Function call for VB: PT_ SetToDefault...
  • Page 32: Unitechapi.dll

    ActiveSync function over RS232 port to let user directly control RS232 port. Unitech also provide several function to enable/disable several system icon and task bar. For WinCE system, it just like Windows OS platform, user can directly tap “Start” button from task bar to setup terminal or execute any application on WinCE terminal, so it mean that operator can change, modify or delete any setting.
  • Page 33: Suspend

    6.3 Suspend Function Description: After called this function, HT6XX/PA96x/PA982 will automatically suspend itself. Function call: void Suspend (void); Disable TaskBar Function Description: This function will hide “TaskBar” and it doesn’t like “Auto Hide” function which is set from Start Settings TaskBar.
  • Page 34: Disable Toolbar On Windows Explorer

    6.8 Disable toolbar on windows explorer Function Description: This function will hide windows explorer’s toolbar Function call: BOOL DisableExploreToolbar (VOID); Return code: =TRUE =FALSE Fail 6.9 Enable toolbar on windows explorer Function Description: This function will enable windows explorer’s toolbar again Function call: BOOL EnsableExploreToolbar (VOID);...
  • Page 35: Sysioapi.dll

    SysIOAPI.DLL This DLL provide hardware relative API for user to control scanner, LED, back-light and PC card slot. API functions are provided through DLL to assist programmer to write application for HT6XX/PA96x/PA982. Two files are essential and provided in SDK, SysIOAPI.LIB and SysIOAPI.H.
  • Page 36: Disable/Enable Power Button

    7.1.4 Disable/enable power button Function Description: To enable / disable power button Function call: void DisablePowerButton(BOOL) Parameter (Input) TRUE = Disable power button. FALSE = Enable power button. 7.1.5 Set keypad utility input mode Function Description: In terminal, there is a utility to emulate full alpha key input, called GetVK. The input mode can be switched by pressing “alpha”...
  • Page 37 7.1.8 Check Function key status (For HT680/PA968 only) Function Description: This function is used to check if function key is enabled or not. Function call: BOOL GetFnKeyStatus(void); Return code: TRUE = Function key is enabled. FALSE = Function key is enabled. 7.1.9 Enable/Disable Function key (For HT680/PA968 only) Function Description:...
  • Page 38: 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 39: Control Trigger Key's Key Event

    7.2.5 Control trigger key’s key event. (FOR PA96x/PA982 Only) 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: TRUE = Enable key event. False = Don’t generate key event.
  • Page 40: Led Related Function

    7.3 LED related function Function Description: There are two LEDs above the screen of HT6XX/PA96x/PA982, red and green LEDs. Only the green LED can be controlled by programmer. Function call: void GoodReadLEDOn(BOOL fON) Parameter(Input) fON: BOOL: TRUE = turn on LED. FALSE = turn off green LED 7.4 Backlight related function There are two backlight controls, screen backlight and keypad backlight.
  • Page 41: Screen Backlight Brightness Control

    7.4.4 Get Keypad Backlight Status (For HT680/PA966/PA962/PA982 only) Function Description: This function returns the status of keyoad backlight. Function call: BOOL GetKeypadLightStatus(void) Return code: TRUE = keypad backlight is on. FALSE = keypad backlight is off. 7.4.5 Screen Backlight Brightness Control Function Description: This function adjusts screen backlight brightness.
  • Page 42: Inquire Wireless Module Status

    7.7 Wireless module related functions 7.7.1 Inquire wireless module status Function Description: This function returns wireless module enable/disable status. Function call: BOOL GetWLANStatus() Return code: TRUE = Module is enabled. FALSE = Module is disabled. 7.7.2 Enable/Disable wireless module Function Description: This function enables/disables wireless module.
  • Page 43: Enable/Disable Pcmcia Or Cf Slot

    7.8.2 Enable/Disable PCMCIA or CF slot Function Description: This function enables/disables PCMCIA or CF slot. PA96x/PA982 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. It takes the same uSocket value as previous products, but reversed internally.
  • Page 44: Inquire Io Slot Status

    7.8.5 Inquire IO slot status Function Description: This function returns slot enable/disable status. It is recommended to use with function GetPCMCIASlotID() for platform independent reason. Function call: BOOL GetPCMCIAStatus1(UINT uSocket) Parameters(Input) uSocket: UINT: slot to be applied. Return bEnable : BOOL: TRUE = specified slot is enabled.
  • Page 45: Enable/Disable Lcd Screen

    7.10 Enable/Disable LCD screen Function Description: Turn on / off LCD screen Function call: void PowerOnColorLCD(BOOL fON) Parameters(Input) fON: BOOL: TRUE = Power on LCD screen FALSE = Power off LCD screen...
  • Page 46: Bluetooth Relative Api - Btapi.dll

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

    RH767 HF reader To programming RH767 HF reader, it needs C++ library. Please get it from below URL. http://w3.adc.unitech.com.tw/pub/cs/SDK/RH767/RFID_SDK.zip And get the sample program from the link. http://w3.tw.ute.com/pub/cs/software/RFID/HF/RFID_HF.zip 9.1 General Function 9.1.1 Get library version Function Description: To get the library version.
  • Page 48: Select Card Type

    9.1.4 Select Card type Function Description: This API change the reader working type with different card type and this should be called before read the card. Function Call: INT32 RDINT_WorkingType (BYTE u8COMPort, BYTE u8Type); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8Type: WT_ISO14443_TypeA WT_ISO14443_TypeB...
  • Page 49: Iso-15693

    9.2 ISO-15693 9.2.1 Inventory Function Description: Set the card to StayQuiet mode and return the card ID. Function Call: INT32 RDINT_ISO15693Inventory(BYTE u8COMPort, BYTE u8Flag, BYTE u8Afi, BYTE u8MaskLen, LPBYTE pu8Mask, LPBYTE pu8Dsfid, LPBYTE pu8Uid); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8Flag: It specifies the actions to be performed by the VICC and whether corresponding fields are present or not.
  • Page 50: Set Ready Mode

    9.2.4 Set Ready Mode Function Description: Set the card to Ready mode for StayQuiet or Select mode. Function Call: INT32 RDINT_ISO15693Reset2Ready(BYTE u8COMPort, BYTE u8Flag, LPBYTE pu8Uid); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8Flag: It specifies the actions to be performed by the VICC and whether corresponding fields are present or not.
  • Page 51: Iso15693 Lock Block

    9.2.7 ISO15693 Lock Block Function Description: Lock the block on ISO15693 tag. Function Call: INT32 RDINT_ISO15693LockBlock(BYTE u8COMPort, BYTE u8Flag, LPBYTE pu8Uid, BYTE u8Block); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8Flag: It specifies the actions to be performed by the VICC and whether corresponding fields are present or not.
  • Page 52: Write Dsfid To Iso15693 Tag

    9.2.10 Write DSFID to ISO15693 Tag Function Description: Write DSFID to the specific ISO15693 tag. Function Call: INT32 RDINT_ISO15693WriteDsfid(BYTE u8COMPort, BYTE u8Flag, LPBYTE pu8Uid, BYTE u8DsfidValue); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8Flag: It specifies the actions to be performed by the VICC and whether corresponding fields are present or not.
  • Page 53: Iso-14443A

    9.3 ISO-14443A 9.3.1 Write Default Key Function Description: Write the default key to reader. Function Call: INT32 RDINT_WriteDefaultKey(BYTE u8COMPort, BYTE u8DefaultKeyIndx, LPBYTE pu8DefaultKey); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8DefaultKeyIndx: The default key index in the reader pu8DefaultKey: The point of the buffer which contain key.
  • Page 54: Iso-14443A Close Card

    9.3.3 ISO-14443A Close Card Function Description: Unlock the ISO-14443A tag. After control the ISO-14443A tag, user should call this API to unlock the tag. Function Call: INT32 RDINT_CloseCard(BYTE u8COMPort); Parameter: u8COMPort: The reader’s COM port number (1 – 255) Return code: Please refer to section 9.5.
  • Page 55: Iso-14443A Read Sector Data

    9.3.5 ISO-14443A Read Sector Data Function Description: Read the specify sector data. Function Call: INT32 RDINT_ReadMifareOneSector(BYTE u8COMPort, BYTE u1KeyType, BYTE u1DefaultKey, BYTE u8DefaultKeyIndx, BYTE u8Sector, LPBYTE pu8Key, LPBYTE pu8Data); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u1KeyType: The private key type.
  • Page 56: Iso-14443A Inventory

    9.3.7 ISO-14443A Inventory Function Description: Read ISO-14443A Tag. Function Call: INT32 RDINT_MifareAutoRequest4Antennas(BYTE u8COMPort, LPBYTE pu8GRLCS); Parameter: u8COMPort: The reader’s COM port number (1 – 255) pu8GRLCS: Receive the read data’s length which in the reader’s buffer. Return code: Please refer to section 9.5. 9.4 ISO-14443B 9.4.1 Select ST Card Function Description:...
  • Page 57: Write Sr176 Card's Block Data

    9.4.4 Write SR176 Card’s Block Data Function Description: Write data to specify SR176 card’s block. Function Call: INT32 RDINT_SR176WriteBlock(BYTE u8COMPort, BYTE u8BlkNo, LPBYTE pu8Data); Parameter: u8COMPort: The reader’s COM port number (1 – 255) u8BlkNo: The block number which user wants to read (Ex: 0, 1, 2…). pu8Data: The data which user wants to write to the block.
  • Page 58: Authenticate Srix4K Card

    9.4.8 Authenticate SRIX4K Card Function Description: Authenticate the specify SRIX4K card. Function Call: INT32 RDINT_SRIX4KAuth(BYTE u8COMPort, LPBYTE pu8Auth); Parameter: u8COMPort: The reader’s COM port number (1 – 255) pu8Auth: The authentication data. Return code: Please refer to section 9.5. 9.4.9 Read SRIX4K Card ID Function Description: Read the SRIX4K card ID.
  • Page 59: Error Code

    9.5 Error Code Name Value Description LRSUCCESS 0x00 Successful completion of request LRSYSTEM 0x01 Unknown error LRLASTCARD 0x02 Last Card Still Present LRNOCARD 0x03 Card is not present LRCTYPE 0x04 Card Type error LRPARAM 0x05 Request Parameter error LRACCESS 0x06 Card access error LRREAD 0x07...
  • Page 60: Rh767 Uhf Reader For Wj

    10 RH767 UHF reader for WJ To programming RH767 UHF reader, it need C# DLL “MPR DLL.dll”. Please get it from below URL. http://w3.adc.unitech.com.tw/pub/cs/SDK/RH767/RFID_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 61: The Function In Mprreader

    10.3 The Function 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 SerialPortName, string BaudRate) 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 62: Rh767 Uhf Reader For Skyetek

    11 RH767 UHF reader for SkyeTek This library “Skeydll.dll” is used to control RH767 RFID Reader. Please get it from below URL. http://w3.adc.unitech.com.tw/pub/cs/SDK/RH767/RFID_SDK.zip 11.1 Connect to RFID reader Function Description: To create a connection with the reader before control it.
  • Page 63: Select Gen2 Tag

    11.4 Select Gen2 Tag Function Description: To only detect EPC Class1 Gen2 tags. Function Call: BOOL SelectGen2Tag (char *szData); Parameter: szData: Receive the Tag ID. Return code: TRUE: Select tag success. FALSE: Select tag fail. 11.5 Read Data from Gen2 Tag’s Blocks Function Description: To read data from Gen2 tag’s blocks.
  • Page 64: Select Iso18000-6B Tag

    11.7 Select ISO18000-6B Tag Function Description: To only detect an ISO18000-6B tag. Function Call: BOOL SelectISO180006BTags (char *szData); Parameter: szData: Receive the Tag ID. Return code: TRUE: Select tag success. FALSE: Select tag fail. 11.8 Read Data from ISO18000-6B Tag’s Block Function Description: To read the data form ISO18000-6B tag’s block.
  • Page 65: Select All Tags Of Any Type

    11.10 Select All Tags of Any Type Function Description: Selecting all supported tags in field. Function Call: BOOL InventoryTag (int *nIndex); Parameter: nIndex: Return the number of tags. Return code: TRUE: Select tag success. FALSE: Select tag fail. 11.11 Get The tags from Command InventoryTag Function Description: Get the tags which read by command InventoryTag.
  • Page 66: Lock Gen2 Tag

    11.13 Lock Gen2 Tag Function Description: Set password protection for the different memory bank of the tag. Function Call: BOOL LockGen2Tag (char *szData); Parameter: szData: The lock value. Return code: TRUE: Lock tag success. FALSE: Lock tag fail. 11.14 Lock ISO18000-6B Tag Function Description: To lock ISO18000-6B blocks.
  • Page 67: Set Reader's Power Level

    11.16 Set Reader’s Power Level Function Description: To set reader’s power level. Function Call: BOOL SetPowerLevel(int nPower, BOOL bSetDefault); Parameter: nPower: The power level. bSetDefault: TRUE for set to the value to EEPROM and FALSE for temporary Return code: TRUE: Set value success.
  • Page 68: Set Reader's Frequency

    11.19 Set Reader’s Frequency Function Description: To set reader’s frequency. Function Call: BOOL SetFrequency(FREQUENCY_TYPE nFrequencyType, char *szFrequency, BOOL bSetDefault); Parameter: nFrequencyType: The frequency type. szSpacing: The frequency value. bSetDefault: TRUE for set to the value to EEPROM and FALSE for temporary Return code: TRUE: Set value success.
  • Page 69: Get Reader's Firmware Version

    11.22 Get Reader’s Firmware Version Function Description: To get reader’s firmware version. Function Call: BOOL GetFWVersion (char * szVersion); Parameter: szVersion: The reader’s firmware version. Return code: TRUE: Get firmware version success. FALSE: Get firmware version fail. 11.23 Get Reader’s LBT Setting Function Description: To get reader’s LBT(listen before talk) setting.
  • Page 70: Rh767 Uhf Reader For Kitty

    This library “RFID18K6CReader.dll” is used to control new RH767 RFID Reader. Please get it from below URL. http://w3.adc.unitech.com.tw/pub/cs/SDK/RH767/Kitty_SDK.zip 12.1 Kitty RFID Reader API Reference To Build the project copy all header file and RFID186KCReader.lib to you project folder, and then include rfidstruct.h and RFID18K6CReaderAPI.h to your project.
  • Page 71: Rfid Reader Configuration

    12.3 RFID Reader Configuration After RFID Reader Interface has been successfully initialized, Developer must open a RFID Reader and then Configure parameters of RFID Reader for the current operation environment. Such as the operation mode, data response format, the power state of RFID Reader and other parameters. 12.3.1 Open RFID Reader Description: Open a RFID Reader for control.
  • Page 72: Set The Response Data's Mode Of The Rfid Reader

    12.3.5 Set the Response Data’s Mode of the RFID Reader Description: Allows the application to control the mode of data reporting for tag-access operations. By default, the reporting mode is set to "normal". RFID18K6CReaderAPI.dll only support “Compact” and “Normal” format. Compact mode contains the minimum amount of data necessary to return the results of tag-protocol operations to the application;...
  • Page 73: Get The Rfid Reader's Low-Level Parameter

    12.3.10 Get the RFID Reader’s Low-Level Parameter Description: Retrieves a low-level RFID Reader module configuration parameter. Function Call: RFID_STATUS RFIDGetConfigurationParameter(INT16U parameter, INT32U *pValue); Parameters: parameter – parameter to retrieve. pValue – pointer to variable that contain the value of configuration parameter. Returns: RFID_STATUS.
  • Page 74: Retrieving Antenna-Port Configuration

    12.4.4 Retrieving Antenna-Port Configuration Description: Retrieve a single logical antenna port's configuration parameters – for example, dwell time, power level, and number of inventory cycles. Even the logical antenna port is disabled. Function Call: RFID_STATUS RFIDGetAntennaPortConfiguration(INT32U antennaPort, RFID_ANTENNA_PORT_CONFIG *pConfig); Parameters: antennaPort –...
  • Page 75: Get Antenna's Response Status

    12.5.2 Get Antenna’s Response Status Description: After the tag access operation executed call this function to retrieve the Antenna's status. In Block mode call this function follow the tag access function; In Non-block mode call this function in application-defined callback function. Function Call: BOOL RFIDGetAntennaStatus(int nAntenna, LPANTENNA_STATUS lpAntennaStatus);...
  • Page 76: Tag Inventory Operation

    12.5.6 Tag Inventory Operation Description: Executes a tag inventory for all tags of interest. If the selection Criteria and post- singulation is specified, tags will be partitioned first. Function Call: void RFIDInventory(RFID_INVENTORY stInventory, LPACCESS_STATUS lpAccessStatus, BOOL bBlock = FALSE, int nTimeout = 3000); Parameters: stInventory –...
  • Page 77: Modify Epc Operation

    12.5.9 Modify EPC Operation Description: Modify the target tag's EPC. Function Call: void RFIDTagWriteEPC(RFID_WRITE_EPC stEPC, LPACCESS_STATUS lpAccessStatus, int nTimeout = 3000); Parameters: stEPC – Contain Modify EPC operation parameters . lpAccessStatus - Contain the operation result. nTimeout - Timeout for the access operation. Returns: None 12.5.10 Tag Kill Operation...
  • Page 78 Returns: RFID_STATUS...
  • Page 79: Tag Post Singulation Operation

    12.5.13 Tag Post Singulation Operation Description: Configures the post-singulation match criteria to be used by the RFID radio module. An application can use post-singulation to filter tags, based upon all or part of the tag's EPC. The post-singualtion match criteria will stay in effect until the next call of post- singulation.(All the tag's access operation will apply to the which has been singulated only.) Function Call:...
  • Page 80: Cancelling A Tag Operation

    12.5.17 Cancelling a Tag Operation Description: Stops a currently-executing tag operation on a RFID Reader. Function Call: RFID_STATUS RFIDCancelOperation (); Parameters: None Returns: RFID_STATUS 12.5.18 Aborting a Tag Operation Description: Terminate a tag operation immediately. Any response packet will be discarded. Function Call: RFID_STATUS RFIDAbortOperation ();...
  • Page 81: Structure Of The Library

    12.7 Structure of the Library 12.7.1 RFID_ANTENNA_PORT_CONFIG Description: The configuration parameters for a logical antenna port. Define: typedef struct { INT32U length; INT32U powerLevel; INT32U dwellTime; INT32U numberInventoryCycles; INT32U physicalRxPort; INT32U physicalTxPort; INT32U antennaSenseThreshold; } RFID_ANTENNA_PORT_CONFIG; Fields: length - The length of the structure in bytes. Must be set to by the application to sizeof(RFID_ANTENNA_PORT_CONFIG) powerLevel - The power level for the logical antenna port's physical transmit antenna.
  • Page 82: Access_Status

    12.7.2 ACCESS_STATUS Description: Contain the information of the tag operation result. Define: typedef struct ACCESS_STATUS_TAG{ FILETIME ftStartTime; FILETIME ftEndTime; INT32U dwResponseMode; INT32U dwOperationMode; INT16U unCommand; DWORD dwErrorCode; DWORD dwStatus; INT16U unAntennas } ACCESS_STATUS, *LPACCESS_STATUS; Fields: ftStartTime – Time of the Tag operation start ftEndTime –...
  • Page 83: Access_Data

    12.7.4 ACCESS_DATA Description: Contain access data of the tag return by the antenna. Define: typedef struct ACCESS_ DATA _TAG{ INT16U unEPCLength; INT16U unRSSI; //The receive signal strength BYTE pnEPC[68]; //PC + EPC + CRC INT16U unDataLength; BYTE pnData[256]; //Access data or access Status } ACCESS_DATA, *LPACCESS_DATA;...
  • Page 84: Rfid_Read

    12.7.6 RFID_READ Description: Tag Read Operation parameters. Define: typedef struct RFID_READ_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; RFID_18K6C_MEMORY_BANK bank; INT16U offset; INT16U count; INT32U accessPassword; }RFID_READ; Fields: hWnd - The Parent window which issue the Tag operation. lpfnStartProc - Application-defined callback function.
  • Page 85: Rfid_Write

    12.7.8 RFID_WRITE Description: Tag write operation’s parameter. Define: typedef struct RFID_WRITE_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; BOOL32 verify; INT32U verifyRetryCount; RFID_18K6C_MEMORY_BANK bank; INT32U accessPassword; INT16U offset; INT16U count; Int16U pnData[8]; }RFID_WRITE; Fields: hWnd – The parent window which issue the Tag operation. lpfnStartProc - Application-defined callback function.
  • Page 86: Rfid_Write_Ex

    12.7.9 RFID_WRITE_EX Description: Tag write extension function's parameter. Define: typedef struct RFID_WRITE_EX_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; BOOL32 verify; INT32U verifyRetryCount; BYTE accessPassword[8]; //password is 8 bytes’ hex char(0~f) BYTE pnEPC[64]; RFID_18K6C_MEMORY_BANK bank; INT16U offset; INT16U count; Int16U pnData[256];...
  • Page 87: Rfid_Kill

    12.7.11 RFID_KILL Description: The structure of Kill a tag. Define: typedef struct RFID_KILL_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; INT32U accessPassword; INT32U killPassword; }RFID_KILL; Fields: hWnd –The Parent window which issue the Tag operation. lpfnStartProc – Application-defined callback function. The RFID Reader Interface call this function before execute Tag operation.
  • Page 88: Rfid_Lock

    12.7.13 RFID_LOCK Description: The structure of Tag locks function. Define: typedef struct RFID_LOCK_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; INT32U accessPassword; INT32U killPasswordPermissions; INT32U accessPasswordPermissions; INT32U epcBankPermissions; INT32U tidBankPermissions; INT32U userBankPermissions; }RFID_LOCK; Fields: hWnd –The Parent window which issue the Tag operation. lpfnStartProc –...
  • Page 89: Rfid_Lock_Ex

    12.7.14 RFID_LOCK_EX Description: Tag Lock extension function's parameter. Define: typedef struct RFID_LOCK_EX_TAG { HWND hWnd; //Parent window RFIDPROC lpfnStartProc; RFIDPROC lpfnStopProc; BYTE accessPassword[8]; INT32U killPasswordPermissions; INT32U accessPasswordPermissions; INT32U epcBankPermissions; INT32U tidBankPermissions; INT32U userBankPermissions; }RFID_LOCK_EX; Fields: hWnd –The same as RFID_LOCK. lpfnStartProc –The same as RFID_LOCK.
  • Page 90: Rfid_Post_Singulation

    12.7.16 RFID_POST_SINGULATION Description: The structure of post-singulation matches criteria. Define: typedef struct RFID_POST_SINGULATION_TAG { INT32U offset; INT32U count; INT8U mask[RFID_18K6C_SINGULATION_MASK_BYTE_LEN]; BOOL32 match; }RFID_POST_SINGULATION; Fields: offset – offset in bits, from the start of the EPC. count –The number of bits in the mask.Alength of zero causes all EPC to match. If (offset + count) falls beyond the end of the mask, the tag is considered non- matching.(valid values are 0 to 396).
  • Page 91: Error Code

    12.8 Error Code There are two types of error codes. One is returned by RFID Library interface indicates RFID library status and the other is return by the RFID module’s firmware contains access operation result. RFID Library status and error codes: Name Value RFID_STATUS_OK...
  • Page 92 Access Operation Result: Value Description 0x00 Success 0x01 Read after write verify failed. 0x02 problem transmitting tag command 0x03 CRC error on tag response to a write 0x04 CRC error on the read packet when verifying the write 0x05 Maximum retry's on the write exceeded 0x06 Failed waiting for read data from tag, possible timeout.
  • Page 93: Support Dot Net Compact Framework

    RFID Reader. The methods in R1000ReaderCF have the same name as their Native implementation. 12.9.2 Programming Model The first is add reference of R1000ReaderCF.dll to your project. C# example: using Unitech.R1000.Reader; using Unitech.R1000.Reader.Constants; using Unitech.R1000.Reader.Structures; //Create and Initialize the RFID Library String strVersion = String.Empty;...
  • Page 94: Useful Function Call – Without Include Sysioapi.dll

    13 Useful function call – without include SysIOAPI.DLL Below API maybe useful for you to control HT6xx/PA96x 13.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); // Power off DWORD dwExtraInfo=0;...
  • Page 95: Get Device Id

    14 Get Device ID In HT6xx/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; TCHAR outBuf[512], deviceID[200];...
  • Page 96: Camera Related Functions (C#)

    17 Camera related functions (C#) Please get C# sample program from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/Camera/CameraDemo_C_Sharp.zip 17.1 Open Camera Function Description: Open camera and initial video resource for encoding / decoding processes. This must be called before any other functions. Function Call: bool OpenCamera();...
  • Page 97: Get Transparent Color Key

    17.5 Get transparent color key Function Description: Get which color is transparent of display context. The transparent pixels will be replaced by camera image. Function Call: int GetColorKey(); Return code: The color key is described by ARGB value. 17.6 Capture Image Function Description: Capture a photo with the specified resolution and store in JPEG file format.
  • Page 98: Stop Capture Video

    17.8 Stop Capture Video Function Description: Stop video capturing. Function Call: bool EndVideoCapture() Return code: TRUE: Success. FALSE: Fail. 17.9 Initial Playback Decoder Function Description: Initial the playback decoder. Function Call: bool InitializeDecoder(string filename, int left, int top, int width, int height); Parameter: filename: Video file path.
  • Page 99: Stop Playback

    17.12 Stop Playback Function Description: Stop playing video. Function Call: void ReleaseAudio();...
  • Page 100: Fingerprint Related Functions

    18 Fingerprint related functions Please get sample program and manual from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/PA968/Fingerprint.zip...
  • Page 101: Gps Related Functions

    19 GPS related functions Please get sample program and manual from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/PA968/GPS_SDK1.01.zip...
  • Page 102: Usi .Net Compact Framework Component

    20 USI .NET Compact Framework Component Please get sample program and manual from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/USICF/usicf_v25.zip...
  • Page 103: Usi Activex Control

    21 USI ActiveX Control Please get binary file and html example from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/USIActiveX/USIActiveX.zip 21.1 Register Control a. Copy Microsoft “REGSVRCE.exe” to device. b. Run “REGSVRCE.exe ScannerActiveX.dll” to register control. c. Warmboot device to apply system change. 21.2 Embedded to html <OBJECT ID="Scanner"...
  • Page 104: Wan Gprs Library

    22 32WAN GPRS library Please get sample program and manual from below URL. http://w3.tw.ute.com/pub/cs/software/Sample_Program/32WAN/32WAN_SDK.zip...
  • Page 105: Update Notes

    23 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 V1.8...

This manual is also suitable for:

Ht6 seriesPa982Rh767

Table of Contents