Get started

This SDK can be used within web applications to manage USB-connected RFID card readers. Our customers typically use this web-sdk to develop web applications that run on Chrome, Microsoft Edge, and Opera browsers.

Requirements

Supporting OS with browser compatibility:

ChromeOS Linux MacOS
Google Chrome Google Chrome Google Chrome
Microsoft Edge Microsoft Edge
Opera

Note: Chromium must be updated to version 115 and above

Limitation: Not supported on Windows.

Known Issue: LUID value is getting changed to “0” after performing reset to factory default for few readers.

Web-SDK Reference

connect

API Name: connect()
A JavaScript interface to connect (). It is an async function. It will open a popup to select the USB device and on click of connect it will return the true.
Parameter: None
Return: True= Success / False = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.connect();

disconnect

API Name: disconnect()
A JavaScript interface to disconnect (). It is async function. It will disconnect the reader.
Parameter: None
Return: True= Success / False = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.disconnect();

getpartNumber

API Name: getPartNumber()
A JavaScript interface to getPartNumber(). It is an async function. Read the device part number string. This is a 24 (MAXPRODUCTNAMESZ) character string such as "RDR80081AKU" and null-terminated
Parameter: None
Return: Part number= Success / False = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
var getPartnumber = await deviceManager.getPartNumber();

writeCFG

API Name: writeCFG()
A JavaScript interface to writeCFG(). It is an async function. A call to this function writes all configuration information in the library memory space to the device for non-volatile storage. Any changed parameters take effect immediately after writeCFG().
Parameter: None
Return: True= Success / False = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.writeCFG();

readCFG

API Name: readCFG()
A JavaScript interface to readCFG(). It is an async function. A call to this function pulls the device configuration information into the library memory space to be manipulated by the get*() and set*() functions. After altering the data, the user must call writeCFG() to write the changes back to the device so they can take effect.
Parameter: None
Return: True= Success / False = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.readCFG();

getActConfig

API Name: getActConfig()
A JavaScript interface to getActConfig(). It is an async function. Get the active configuration (1...N) of the pcProx Plus. For devices that only have one configuration, this will return 1. All devices have one configuration, so one is always valid.
Parameter: None
Return: ActConfig= Success / Sets the error code in lastLib / -1 = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
let getActiveConfig = await deviceManager.getActConfig();

setActConfig

API Name: setActConfig(configurationIndex: number)
A JavaScript interface to setActConfig(). It is an async function. Set the active configuration (0...N) of the pcProx Plus device.
Parameter: ConfigurationIndex
Return: Configuration set into the device = Success / -1= Failure
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.setActConfig(ConfigurationIndex);

getNumBitsofCard

API Name: getNumBitsofCard(configurationIndex: number)
A JavaScript interface to getNumBitsofCard(). It is an async function. This function will return the number of bits of card, Keep the card on reader while calling this function.
Parameter: None
Return: Bits (Number of bits of card) = true/ Failure = false
Example:
var deviceManager = new pcprox.DeviceManager();
var getNotsOfCard = await deviceManager.getNumBitsofCard();

getActiveID

API Name: getActiveID()
JavaScript interface to getActiveID(). It is async function. It will return arrayBuffer of active data from the card "presently on the reader". It is recommended not to call this faster than 250msec, or about twice the data hold time of the active card. Call sooner than 250msec will not be sent to the reader but will return cached data.
Parameter: None
Return: 8-byte integer ArrayBuffer
Example:
var deviceManager = new pcprox.DeviceManager();
var activeID = await deviceManager.getActiveID();

getActiveID32

API Name: getActiveID32()
A JavaScript interface to getActiveID32(). It is async function. It will return the arrayBuffer of card data. This is the 32-byte version of GetActiveID() to get the card ID with up to 255 bits of data. Cards with larger ID's than 64 bits will be truncated with GetActiveID(), so this function is recommended instead.
Parameter: None
Return: 32-byte of integer ArrayBuffer
Example:
var deviceManager = new pcprox.DeviceManager();
var activeID32 = await deviceManager.getActiveID32();

setBeeperVolume

API Name: setBeeperVolume(volume: number)
A JavaScript interface to setBeeperVolume(volume). It is an async function.Sets the volume level for the PcProx Plus reader.
Parameter: Volume: number 0...3
0-off, 1-low, 2-med, 3-High
Return: Set the beeper volume= Success / Throw the error message= Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.setBeeperVolume(volume);

getBeeperVolume

API Name: getBeeperVolume()
A JavaScript interface to getBeeperVolume(). It is an async function. Which gets the volume lavel for the PcProx Plus reader.
Parameter: None
Return:Volume level for the reader= Success / Throw the error message= Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var volume = await deviceManager.getBeeperVolume();

getFirmwareVersion

API Name: getFirmwareVersion(Hardware: number, Module: number)
A JavaScript interface to getFirmwareVersion(). It is an async function. Some devices have multiple firmware versions to report. This function returns the string firmware version of the hardware and module pair. Not all hardware and module are available for all hardware. These return 0 for unavailable. Note: Do not compare version numbers from the pcProx firmware to enable or disable functions in your application as firmware version can change. The firmware version is for reference only.
Parameter: Hardware: number 0 = Main CPU, 1 = Aux Cpu, 2-FF unused
Module: number 0 = Application, 1 = Bootloader, 2 = Modem
Return:Returning the Firmware version like "1.6.9.0"= Success / Throw the error message = Failure
Example:
var deviceManager = new pcprox.DeviceManager();
var firmwareVersion = await deviceManager.getFirmwareVersion(Hardware, Module);

GetFullFWVersion

API Name:GetFullFWVersion()
A JavaScript interface to GetFullFWVersion(). It is an async function. This function reads the device's full Firmware version including the String version number.
Parameter: None
Return:Return the Firmware version = Success / Throw the error message= Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var fullFirmwareVersion = await deviceManager.GetFullFWVersion();

setSepFldData

API Name: setSepFldData(extendedBuffer :[] any)
A JavaScript interface to setSepFldData(). It is an async function. This function set the 128- bit data for FIPS 201 credentials and delimiters for all user defined fields.
Parameter: extendedBuffer :[] any, configuration: number
Extend buffer will contain the FldSepData which we want to set to the device.
Return:Set the credentials and delimiters = Success / Throw the error message= Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.setSepFldData();

getSepFldData

API Name: getSepFldData(configuration: number)
A JavaScript interface to getSepFldData(). It is an async function. This function will get the FIPS 201 credentials and delimiters for all user defined fields.
Parameter: configuration: number (0..3)
Return:Return the 128-bit data for credentials and delimiters for all user defined fields = Success / Throw the error message= Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var sepFldData = await deviceManager.getSepFldData(configuration);

beepNow

API Name: beepNow(count: number, longBeep: boolean)
A JavaScript interface to beepNow(). It is an async function. Call this function with the number of desired short or long beeps.
Parameter: count: number, longBeep: boolean
count 1...N beeps, longBeep = TRUE, short beep = FALSE.
Range 1...5 short beeps and 1...2 long beeps
Return:Reader will beep according to the count & longBeep= Success / Throw the error message = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
await deviceManager.beepNow(count, longBeep);

getMaxConfig

API Name: getMaxConfig()
A JavaScript interface to getMaxConfig(). It is an async function. Get number of pcProx Plus Reader Configurations.
Parameter: None
Return:0, 1...N -- 0 for pcProx, 1 to N where N is max N-1 Config for pcProx Plus. = Success / Throw the error message = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var maxConfig = await deviceManager.getMaxConfig();

getCardType

API Name: getCardType()
A JavaScript interface to getCardType(). It is an async function. This function will get the Card Type 0X0000...0XFFFE for the given configuration.
Parameter: None
Return:0..0xFFFE for valid card types. = Success / Throw the error message = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var cardType = await deviceManager.getCardType();

getLibVersion

API Name: getLibVersion()
A JavaScript interface to getLibVersion(). It is an async function. Get the version of the web-sdk. This does not communicate with any device.
Parameter: None
Return:This will return arrayBuffer = Success / Throw the error message = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var version = await deviceManager.getLibVersion(); // version [1,0,0]
Version [0] - Major // 1
version [1] - Minor // 0
version [2] - build // 0

getLibraryVersion_Beta

API Name: getLibraryVersion_Beta()
A JavaScript interface to getLibraryVersion_Beta(). It is an async function. This function read the SDK beta version character string such as "Beta".
Parameter: None
Return:This will return arrayBuffer = Success / Throw the error message = Failure.
Example:
This will return character string = Success / Throw the error message = Failure.
Example: -
var deviceManager = new pcprox.DeviceManager();
version = 1.0.0Beta
var version = await deviceManager.getLibraryVersion_Beta(); // Beta

GetFWFileName

API Name: GetFWFileName()
A JavaScript interface to GetFWFileName(). It is an async function. This function read the device firmware filename.
Parameter: None
Return:Returns the Firmware Filename = Success / Throw the error message = Failure.
Example: -
var deviceManager = new pcprox.DeviceManager();
var fwFileName = await deviceManager.GetFWFileName();

getCardPriority

API Name: getCardPriority()
Get the Card Type Priority for the active configuration. A long integer is used to detect errors. The Priority is 0 or 1, and a -1 indicates an error.
Parameter: None
Return: 0 = Low priority, 1 = high priority, -1 = error.
Example: -
var deviceManager = new pcprox.DeviceManager();
var cardPriority = await deviceManager.getCardPriority();

setCardTypePriority

API Name: setCardTypePriority(cardType: number, cardPriority: number)
Set the Card Type 0x0000..0xFFFF for the active configuration. Card types not understood by the device firmware are ignored and will return as (0x0000) Off. The priority bit if non zero sets this configuration to have priority over other configurations that are set to zero. The priority allows dual frequency cards or multiple cards to read in a predictable manner. Only one configuration should have the priority bit set, otherwise unpredicatble results may occur on multiple card reads.
Parameter: cardType: number (decimal), cardPriority: number (0 = Low priority, 1 = high priority)
Return: Returns TRUE = Success / Throw the error message = False.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.setCardTypePriority(cardType, cardPriority);

getQueuedID

API Name: getQueuedID(clearUID: number, clearHold: number)
Read the Queued ID data from the reader. This returns the last card read by the reader, age and overrun counter. The age is is from 0 - 0x0FFFF in 48msec units. The max time is 52 minutes. The overrun is the number of cards read before the UID was transferred to the PC. It is recommended not to call this faster than 250msec, or about twice the data hold time of the active card
Parameter: clearUID: number, clearHold: number
If clearUID is set then the card, and overrun counters will be cleared for the next read. Older firmware sets the age to zero, newer firmware sets the age to 0xFFFF. If clearHold is set then the reader is ready to read another card immediately
Return: Returns TRUE = Success / Throw the error message = False.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.getQueuedID(clearUID, clearHold);

getQueuedID_index

API Name: getQueuedID_index(index: number)
Return specific part of the data read by getQueuedID() getQueuedID() actually gets data from the reader, this functions just marshalls the data back to the caller. GetQueuedID_index()
Parameter:index: number (index 0..35)
Return: index 0..31 = Bytes 0..31 of the UserID
index 32 = short Number of bits read 0-256.
index 33 = short Age (16 bits) 0 - 65,535 48msec ticks or 0 to 52 minutes.
index 34 = short Overrun counter number of cards before UID transferred to PC.
index 35 = short lockout timer 0-256 (0=ready to read).
Overrun clips at 255, and age at 0x0FFFF.

Example: -
var deviceManager = new pcprox.DeviceManager();
var getQueuedIDIndex = await deviceManager.getQueuedID_index(index);

resetFactoryDflts

API Name: resetFactoryDflts()
This sets the devices configuration to the Factory Default values. It is like a WriteCfg() call. Before returning to the caller, this function calls ReadCfg() to reload the configuration information (which may have changed) into the library memory. The GetLastLibErr() return will either the ReadCfg() error code or Success. This takes about 1200msec on USB and longer for serial devices
Parameter:None
Return: Returns TRUE = Success / Throw the error message = False.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.resetFactoryDflts();

Known Issue: LUID value is getting changed to “0” after performing reset to factory default for few readers.

isBLEPresent

API Name: isBLEPresent()
A JavaScript interface to isBLEPresent(). It is an async function.Checks if a BLE device is present.
Parameter:Configuration: number (0...3) Return: Returns TRUE = Success / Throw the error message = False.
Example: -
var deviceManager = new pcprox.DeviceManager();
var isBlePresent = await deviceManager.isBLEPresent();

setBLEConfiguration

API Name: setBLEConfiguration()
A JavaScript interface to setBLEConfiguration(). It is an async function, that sets the BTLE configuration of the reader.
Parameter:configurationIndex: number
0:BTLE off/125KHz-13.56MHz radios off.
1:BTLE off/125KHz-13.56MHz radios on.
2:BTLE on/125KHz-13.56MHz radios off.
3:BTLE on/125KHz-13.56MHz radios on.
4:BTLE off/125KHz-13.56MHz radios toggle.
others, BTLE off/125KHz-13.56MHz radios off.
Return: Returns TRUE = Success / Throw the error message = False.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.setBLEConfiguration();

getBLEConfiguration

API Name: getBLEConfiguration()
A JavaScript interface to getBLEConfiguration(). It is an async function, gets the BLE configuration of the reader.
Parameter:None
Return: 0 for BTLE off/125KHz-13.56MHz radios off
1 for BTLE off/125KHz-13.56MHz radios on
2 for BTLE on/125KHz-13.56MHz radios off
3 for BTLE on/125KHz-13.56MHz radios on

Example: -
var deviceManager = new pcprox.DeviceManager();
var bleConfig = await deviceManager.getBLEConfiguration();

getDID

API Name: getDID(configuration: number)
A JavaScript interface to getBLEConfiguration(). Return the firmware version Major,Minor,Build as bits 15..8 Bits 7..4 and bits 3..0 respectively.
Parameter:configuration
Return: Returns the Firmware version of the current active device.

Example: -
var configuration = new pcprox.Configuration();
var deviceID = await configuration.getDID();
var major = (deviceID >> 8 & 255).toString(16);
var minor = (deviceID >> 4 & 15).toString(16);
var build = (deviceID & 5).toString(16);

getLuid

API Name: getLuid()
A JavaScript interface to getLuid(). it will get Logical Unit ID from last ReadCfg() of device
Parameter:None
Return: LUID a user defined 16-bit ID (0-65536) to be associated with the current selected device

Example: -
var configuration = new pcprox.Configuration();
var luid = await configuration.getLuid();

setLuid

API Name: setLuid(luid: number)
A JavaScript interface to setLuid(). Set Logical unit ID to device.
Parameter:luid: number
Return: TRUE = Success / lastLibErr = Failure

Example: -
var configuration = new pcprox.Configuration();
await configuration.setLuid(luid);

getAZERTYShiftLock

API Name: getAZERTYShiftLock(configuration: number)
A JavaScript interface to getAZERTYShiftLock(). Get the state of the Shift Lock. Some keyboards such as French keyboards have a shift lock key in place of the US caps lock key.
Parameter:configuration (0..3)
Return: TRUE = Success / lastLibErr = Failure

Example: -
var configuration = new pcprox.Configuration();
var azertyShiftLock = await configuration.getAZERTYShiftLock();

setAZERTYShiftLock

API Name: setAZERTYShiftLock(value: number, configuration: number)
A JavaScript interface to setAZERTYShiftLock(). Get the state of the Shift Lock. Some keyboards such as French keyboards have a shift lock key in place of the US caps lock key.
Parameter:AZERTYShiftLock value (1 = true, 0 = false), configuration (0..3)
Return: TRUE = Success / lastLibErr = Failure

Example: -
var configuration = new pcprox.Configuration();
var azertyShiftLock = await configuration.setAZERTYShiftLock(value, configuration);

getExtendedPrecisionMath

API Name: getExtendedPrecisionMath(configuration: number)
A JavaScript interface to getExtendedPrecisionMath(). Return the state of the extended precision math flag. This affects the FAC value when it is longer than 32 bits.
Parameter:configuration (0..3)
Return: TRUE = Success / lastLibErr = Failure

Example: -
var configuration = new pcprox.Configuration();
var extendedPreMath = await configuration.getExtendedPrecisionMath(configuration);

setExtendedPrecisionMath

API Name: setExtendedPrecisionMath(value: number, configuration: number)
A JavaScript interface to setExtendedPrecisionMath(). Set the state of the extended precision math flag. This affects the FAC value when it is longer than 32 bits.
Parameter:extendedPrecisionMath value (1 = true, 0 = false), configuration (0..3)
Return: TRUE = Success / lastLibErr = Failure

Example: -
var configuration = new pcprox.Configuration();
var extendedPreMath = await configuration.setExtendedPrecisionMath(configuration);

readDevCfgFmFile

API Name: readDevCfgFmFile(file: File)
Open and read an ASCII file and load the setting into the library memory. The device can be flashed by calling WriteCfg().
Parameter:File
Return:TRUE / Success ASCII file was read / FALSE file may be invalid.
Example: -
var deviceManager = new pcprox.DeviceManager();
var isFileRead = await deviceManager.readDevCfgFmFile(file);
await deviceManager.writeCFG();

readDevCfgFromSecureFile

API Name: readDevCfgFromSecureFile(file: File)
It will check whether the secure Key which is present in the file is valid or not. Then it will Open and read an ASCII file and load the setting into the library memory. The device can be flashed by calling WriteCfg().
Parameter:File
Return:TRUE / Success ASCII file was read / FALSE file may be invalid or CRC is invalid.
Example: -
var deviceManager = new pcprox.DeviceManager();
var isSecureFileRead = await deviceManager.readDevCfgFromSecureFile(file);
await deviceManager.writeCFG();

writeDevCfgToFile

API Name: writeDevCfgToFile(filename: string)
Write an ASCII file with all the setting of most recent the device setting read by ReadCfg(). This writes the buffered data held by the library to a file. The user should call ReadCfg() or WriteCfg() to make sure the correct values are sync'ed with the device memory.
Parameter:filename (string)
Return:TRUE / Success file was written. / FALSE was not written.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.readCFG();
var isFileCreated = await deviceManager.writeDevCfgToFile(fileName);

writeDevCfgToSecureFile

API Name: writeDevCfgToSecureFile(filename: string)
Write an ASCII file with all the setting of most recent the device setting read by ReadCfg(). This writes the buffered data held by the library to a file. The user should call ReadCfg() or WriteCfg() to make sure the correct values are sync'ed with the device memory.
Parameter:filename (string)
Return:TRUE / Success file was written. / FALSE was not written.
Example: -
var deviceManager = new pcprox.DeviceManager();
await deviceManager.readCFG();
var isSecureFileCreated = await deviceManager.writeDevCfgToSecureFile(fileName);

GetLastLibErr

API Name: getLastLibErr()
A JavaScript interface to getLastLibErr(). It is an async function. Returns the last library error code (see Library Error Codes) for the active device. The last error code is valid until another library call is made. This does not reset the last library error code. When a function returns FALSE and has failed, it is good practice to call this function to check the error code.
Parameter: None
Return: Error code= Success
Example:
var deviceManager = new pcprox.DeviceManager();
var errorCode = await deviceManager.getLastLibErr();

Error Code Table

Error Description Error code in Hex Error code in number
USBConnect 0x00010000 65536
FailedReadCfgLoop 0x00011000 69632
readCFG 0x00020000 131072
writeCFG 0x00040000 262144
ReadCfgNotCalled 0x00100002 1048578
CouldNotOpenHID 0x00000003 3
DeviceNotOpened 0x00000200 512
GetNULLmodule 0x00000102 258
SetNULLmodule 0x00000202 514
ModuleCallFail 0x00000103 259

GetFlags

Returns ConfigurationFlags object for the given configuration index. ConfigurationFlags contains:

  • async getCfgFlags_bFixLenDsp(configuration):

    It will return whether the send fixed length FAC/ID is set or not.

  • async getCfgFlags_bFrcBitCntEx(configuration):

    It will return whether the read bit count to be exact to be valid is set or not.

  • async getCfgFlags_bStripFac(configuration):

    It returns whether the stripping of the FAC from the ID (not discarded) is set or not.

  • async getCfgFlags_bSndFac(configuration):

    It returns whether the send FAC (if stripped from data) is set or not.

  • async getCfgFlags_bUseDelFac2Id(configuration):

    It gives the delimiter placed between FAC and ID on send.

  • async getCfgFlags_bNoUseELChar(configuration):

    It gives the termination keystroke set i.e. the last character after card ID (default to ENTER).

  • async getCfgFlags_bSndOnRx(configuration):

    It sends valid ID as soon as it is received (iIDLockOutTm timer not used).

  • async getCfgFlags_bHaltKBSnd(configuration):

    When set true, it does not send keys to USB i.e. it disables key strokes.

  • Note: You must call ReadCfg() first.
    Parameter: Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
    return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
    Example:
    var deviceManager = new pcprox.DeviceManager();
    var configurationFlags = new pcprox.ConfigurationFlags();
    deviceManager.readCFG();
    await configurationFlags.{API-NAME}(configurationIndex);
    var getbFixLenDsp = await configurationFlags.getCfgFlags_bFixLenDsp(configurationIndex)

SetFlags

Sets ConfigurationFlags object for the given configuration index. ConfigurationFlags contains:

  • async setCfgFlags_bFixLenDsp(value, configuration):

    If set to true it will set the FAC digits and the ID digits to the number specified by the user.

  • async setCfgFlags_bFrcBitCntEx(value, configuration):

    It forces the read bit count to be exact to be valid.

  • async setCfgFlags_bStripFac(value, configuration):

    It sets the stripping of the FAC from the ID (not discarded).

  • async setCfgFlags_bSndFac(value, configuration):

    When true, it allows to Send the FAC (if stripped from data).

  • async setCfgFlags_bUseDelFac2Id(value, configuration):

    It puts a delimiter between FAC and ID on send.

  • async setCfgFlags_bNoUseELChar(value, configuration):

    It sets the termination keystroke i.e. the last character after card ID (default to ENTER).

  • async setCfgFlags_bSndOnRx(value, configuration):

    It sends valid ID as soon as it is received (iIDLockOutTm timer not used).

  • async setCfgFlags_bHaltKBSnd(value, configuration):

    When set true,it dies not send keys to USB i.e. it disables key strokes.

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
return: A Boolean for the flags= Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var configurationFlags = new pcprox.ConfigurationFlags();
await configurationFlags.{API-NAME}(flagValue, configurationIndex);
await configurationFlags.setCfgFlags_bFixLenDsp(flagValue, configurationIndex); deviceManager.writeCfg();

GetFlags2

Returns ConfigurationFlags2 object for the given configuration index. ConfigurationFlags2 contains:

  • async getCfgFlags2_bUseLeadChrs(configuration: number):

    It returns whether the Use leading chars in ID KB send is set or not.

  • async getCfgFlags2_bDspHex(configuration: number):

    It returns whether display ID as ASCII Hex [not ASCII decimal] is set or not.

  • async getCfgFlags2_bWiegInvData(configuration: number):

    It returns whether the wiegand data on pins is inverted or not.

  • async getCfgFlags2_bUseInvDataF(configuration: number):

    It returns whether the bWiegInvData flag over hardware setting is set or not.

  • async getCfgFlags2_bRevWiegBits(configuration: number):

    It returns whether the reverse the Wiegand read bits is set or not.

  • async getCfgFlags2_bBeepID(configuration: number):

    It returns whether the beep when ID is received is set or not.

  • async getCfgFlags2_bRevBytes(configuration: number):

    It returns whether the reverse the byte order (CSN reader) is set or not.

Note: You must call ReadCfg() first.
Parameter: Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var configurationFlags2 = new pcprox.ConfigurationFlags2();
deviceManager.readCFG();
await configurationFlags2.{API-NAME}(configurationIndex);
var getbFixLenDsp = await configurationFlags2.getCfgFlags2_bUseLeadChrs(configurationIndex)

SetFlags2

Sets ConfigurationFlags2 object for the given configuration index. ConfigurationFlags2 contains:

  • async setCfgFlags2_bUseLeadChrs(value, configuration):

    It is set to Use leading chars in ID KB send.

  • async setCfgFlags2_bDspHex(value, configuration):

    It is set to display ID as ASCII Hex [not ASCII decimal].

  • async setCfgFlags2_bWiegInvData(value, configuration):

    It is set if wiegand data on pins is inverted.

  • async setCfgFlags2_bUseInvDataF(value, configuration):

    It is set to use the bWiegInvData flag over hardware setting.

  • async setCfgFlags2_bRevWiegBits(value, configuration):

    It is set to reverse the Wiegand read bits.

  • async setCfgFlags2_bBeepID(value, configuration):

    It is set to let the device beep when ID is received.

  • async setCfgFlags2_bRevBytes(value, configuration):

    It is set to reverse the byte order (CSN reader).

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
return: A Boolean for the flags= Success / Sets the error code in lastLibErr = Failure.
Example:
var configurationFlags2 = new pcprox.ConfigurationFlags2();
await configurationFlags2.{API-NAME}(flagValue, configurationIndex);
await configurationFlags2.setCfgFlags2_bUseLeadChrs(flagValue, configurationIndex)

GetFlags3

Returns ConfigurationFlags3 object for the given configuration index. ConfigurationFlags3 contains:

  • async getCfgFlags3_bUseNumKP(configuration: number):

    Euro Keyboard flag.

  • async getCfgFlags3_bSndSFON(configuration: number):

    Split format ON = 1, old combined scheme = 0.

  • async getCfgFlags3_bSndSFFC(configuration: number):

    It allows to send FAC as hexadecimal number in keystroke output. 0 = FAC Decimal, 1 = FAC Hex.

  • async getCfgFlags3_bSndSFID(configuration: number):

    It allows to send ID as hexadecimal number in keystroke output. 0 = ID as decimal, 1 = ID as hex.

  • async getCfgFlags3_bPrxProEm(configuration: number):

    Emulate serial data format to match HID Corp. Prox Pro reader by sending a 2 byte checksum after the card data.

  • async getCfgFlags3_bUse64Bit(configuration: number):

    It sets the Extended precison math on for ID. 0 = 32-bit, 1 = 64-bit.

  • async getCfgFlags3_bNotBootDev(configuration: number):

    USB Enum: 0=BootDevice, 1=NOTBootDevice.

  • async getCfgFlags3_bLowerCaseHex(configuration: number):

    Keystroke out the card data in lowercase hexadecimal. 0 = uppercase hexadecimal, 1 = lowercase hexadecimal.

Note: You must call ReadCfg() first.
Parameter: Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var configurationFlags3 = new pcprox.ConfigurationFlags3();
deviceManager.readCFG();
await configurationFlags3.{API-NAME}(configurationIndex);
var getbFixLenDsp = await configurationFlags3.getCfgFlags3_bUseNumKP(configurationIndex)

SetFlags3

Sets ConfigurationFlags3 object for the given configuration index. ConfigurationFlags3 contains:

  • await setCfgFlags3_bUseNumKP(value, configuration):

    Euro Keyboard flag.

  • await setCfgFlags3_bSndSFON(value, configuration):

    Split format ON = 1, old combined scheme = 0.

  • await setCfgFlags3_bSndSFFC(value, configuration):

    It allows to send FAC as hexadecimal number in keystroke output. 0 = FAC Decimal, 1 = FAC Hex.

  • await setCfgFlags3_bSndSFID(value, configuration):

    It allows to send ID as hexadecimal number in keystroke output. 0 = ID as decimal, 1 = ID as hex.

  • await setCfgFlags3_bPrxProEm(value, configuration):

    Emulate serial data format to match HID Corp. Prox Pro reader by sending a 2 byte checksum after the card data.

  • await setCfgFlags3_bUse64Bit(value, configuration):

    It sets the Extended precison math on for ID. 0 = 32-bit, 1 = 64-bit.

  • await setCfgFlags3_bNotBootDev(value, configuration):

    USB Enum: 0=BootDevice, 1=NOTBootDevice.

  • await setCfgFlags3_bLowerCaseHex(value, configuration):

    Keystroke out the card data in lowercase hexadecimal. 0 = uppercase hexadecimal, 1 = lowercase hexadecimal.

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
return: A Boolean for the flags= Success / Sets the error code in lastLibErr = Failure.
Example:
var configurationFlags3 = new pcprox.ConfigurationFlags3();
var deviceManager = new pcprox.DeviceManager();
await configurationFlags3.{API-NAME}(flagValue, configurationIndex);
await configurationFlags3.setCfgFlags3_bUseNumKP(flagValue, configurationIndex)
deviceManager.writeCfg();

GetIDBitCnts

Returns IdBitCounts object for the given configuration index. IdBitCounts contains:

  • await getIDBitCnts_iLeadParityBitCnt(configurationIndex):

    It gives the number of most significant bits stripped. The number should be in range 0..15 for single config readers, 0..142 otherwise

  • await getIDBitCnts_iTrailParityBitCnt(configurationIndex):

    It gives the number of least significant bits stripped. The number should be in range 0..15 for single config readers, 0..142 otherwise

  • await getIDBitCnts_iIDBitCnt(configurationIndex):

    It gives the value of id bit field count which should be in range 0..255

  • await getIDBitCnts_iTotalBitCnt(configurationIndex):

    It gives the value of the total bit counts that can be read by the device. The value should be in range 26..255

Note: You must call ReadCfg() first.
Parameter: configurationIndex 0..N-1, where N stands for maximum configuration.
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var idBItCounts = new pcprox.IdBItCounts();
deviceManager.readCFG();
await idBItCounts.{API-NAME}(configurationIndex);
var iLeadParityBitCnt = await idBItCounts.getIDBitCnts_iLeadParityBitCnt(configurationIndex)

SetIDBitCnts

Sets IdBitCounts object for the given configuration index.IdBitCounts contains:

  • await setIDBitCnts_iLeadParityBitCnt(flagValue, configurationIndex):

    It strips the most significant bits from the output of the card, as per the value passed in arguments. The value should be in range 0..15 for single config readers, 0..142 otherwise

  • await setIDBitCnts_iTrailParityBitCnt(flagValue, configurationIndex):

    It strips the least significant bits from the output of the card, as per the value passed in arguments. The value should be in range 0..15 for single config readers, 0..142 otherwise

  • await setIDBitCnts_iIDBitCnt(flagValue, configurationIndex):

    It sets the id field bit count as per the argument passed with it. The value should be in range 1..255

  • await setIDBitCnts_iTotalBitCnt(flagValue, configurationIndex):

    It sets the value in argument to the total bits that can only be read by the card. The value should be in range 26..255

Parameter: FlagValue, Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
Return: A Boolean for the flags= Success / Sets the error code in lastLibErr = Failure.
var idBItCounts = new pcprox.IdBItCounts();;
var deviceManager = new pcprox.DeviceManager();
await idBItCounts.{API-NAME}(flagValue, configurationIndex);
await idBItCounts.setIDBitCnts_iLeadParityBitCnt(flagValue, configurationIndex)
deviceManager.writeCfg();

SetTimeParms

Sets TimeParameters for the selected Configuration Index. TimeParameters contains:

  • await setTimeParms_iBitStrmTO(flagValue, configurationIndex):

    Wiegand read T/O after this msec time (4ms).

  • await setTimeParms_iIDHoldTO(flagValue, configurationIndex):

    Card ID valid for this msec time (48ms).

  • await setTimeParms_iIDLockOutTm(flagValue, configurationIndex):

    Squelch repetitive reader reports (usually > 1000) in msec (48msec gran.)

  • await setTimeParms_iUSBKeyPrsTm(flagValue, configurationIndex):

    Sets USB inter-key 'Press' time in 4ms units.

  • await setTimeParms_iUSBKeyRlsTm(flagValue, configurationIndex):

    Sets USB inter-key 'Release' time in 4ms units.

  • await setTimeParms_ExFeatures01(flagValue, configurationIndex):

    Extended Features (big parity Azery ext precision).

  • await setTimeParms_iTPCfgFlg3(flagValue, configurationIndex):

    Set TimeParms member's iTPCfgFlg3 value.

Parameter: FlagValue, Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
var timeParameter = new pcprox.TimeParameter();
var deviceManager = new pcprox.DeviceManager();
await timeParameter.{API-NAME}(flagValue, configurationIndex);
await timeParameter.setTimeParms_iBitStrmTO(flagValue, configurationIndex)
deviceManager.writeCfg();

GetTimeParms

Returns TimeParameters object for the given Configuration index. TimeParameters contains:

  • await getTimeParms_iBitStrmTO(configurationIndex):

    Wiegand read T/O after this msec time (4ms). The range should be 0..1020

  • await getTimeParms_iIDHoldTO(configurationIndex):

    Card ID valid for this msec time (48ms). The range should be 0..12750

  • await getTimeParms_iIDLockOutTm(configurationIndex):

    Squelch repetitive reader reports (usually > 1000) in msec (48msec gran.). The range should be 0..12750

  • await getTimeParms_iUSBKeyPrsTm(configurationIndex):

    It sets USB inter-key 'Press' time in 4ms units. The range should be 0..1020

  • await getTimeParms_iUSBKeyRlsTm(configurationIndex):

    It sets USB inter-key 'Release' time in 4ms units. The range should be 0..1020

  • await getTimeParms_ExFeatures01(configurationIndex):

    It get TimeParms member's iPad5 value or error code

  • await getTimeParms_iTPCfgFlg3(configurationIndex):

    It get TimeParms member's iTPCfgFlg3 value or error code.

Note: You must call ReadCfg() first.
Parameter: configurationIndex 0..N-1, where N stands for maximum configuration
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var timeParameter = new pcprox.TimeParameter();
deviceManager.readCFG();
await timeParameter.{API-NAME}(configurationIndex);
var iBitStrmTO = await timeParameter.getTimeParms_iBitStrmTO(configurationIndex)

GetLEDControl

Get LEDControl object information color red, green, amber, auto or off. LEDControl Contains:

  • await getLEDCtrl_bAppCtrlsLED(configurationIndex):

    It gives true if the control is set to auto mode

  • await getLEDCtrl_iRedLEDState(configurationIndex):

    It gives true if the LED state is set to Red color

  • await getLEDCtrl_iGrnLEDState(configurationIndex):

    It gives true if the LED state is set to Green color

  • await getLEDCtrl_bVolatile(configurationIndex):

    It gives LEDCtrl member's bVolatile value or error code.

  • Color of LED is AMBER when both iGRnLEDState and iRedLEDState are true and bAppCtrlsLED is false

  • LED is turned OFF when bAppCtrlsLED, iGRnLEDState and iRedLEDState are false

Note: You must call ReadCfg() first.
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Throws: SDKException if there is a failure in USB communication.
Example:
var deviceManager = new pcprox.DeviceManager();
var ledCtrl = new pcprox.LedCtrl();
deviceManager.readCFG();
await ledCtrl.{API-NAME}(configurationIndex);
var bAppCtrlsLED = await ledCtrl.getLEDCtrl_bAppCtrlsLED(configurationIndex)

SetLEDControl

Sets LEDControl object information color red, green, amber, auto or off for the given configuration. LEDControl Contains:

  • await setLEDCtrl_bAppCtrlsLED(flagValue, configurationIndex):

    It sets the control to auto mode

  • await setLEDCtrl_iRedLEDState(flagValue, configurationIndex):

    It sets the LED state to Red color

  • await setLEDCtrl_iGrnLEDState(flagValue, configurationIndex):

    It sets the LED state to Green color

  • await setLEDCtrl_bVolatile(flagValue, configurationIndex):

    It sets the LED state to Green color

  • Setting both iGRnLEDState and iRedLEDState to true and bAppCtrlsLED to false changes the LED to AMBER

  • Setting both iGRnLEDState and iRedLEDState to false will turn the LED OFF

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
Throws: SDKException if there is a failure in USB communication.
Example:
var ledCtrl = new pcprox.LedCtrl();
var deviceManager = new pcprox.DeviceManager();
await ledCtrl.{API-NAME}(flagValue, configurationIndex);
await ledCtrl.setLEDCtrl_bAppCtrlsLED(flagValue, configurationIndex)
deviceManager.writeCfg();

GetIDDispParms

To get IdDisplayParameters. IdDisplayParameters conatins:

  • await getIDDispParms_iFACIDDelim(configurationIndex):

    If bStripFac & bSndFac & bUseDelFac2Id, this char is sent between FAC & ID. This delimiter appears as a seperator between FAC and ID in keystroke output

  • await getIDDispParms_iELDelim(configurationIndex):

    If NOT bNoUseELChar, this char when set appears at the end of the ID in keystroked card output

  • await getIDDispParms_iDDispLen(configurationIndex):

    If bFixLenDsp is true, ID is padded with zeros/stripped to achieve this length

  • await getIDDispParms_iFACDispLen(configurationIndex):

    If bFixLenDsp is true, FAC is padded with zeros/stripped to achieve this length

  • await getIDDispParms_iExOutputFormat(configurationIndex):

    This allows to choose one of the two format modes: data format or extend mode(if supported by reader)

Note: You must call ReadCfg() first.
Parameter: configurationIndex 0..N-1, where N stands for maximum configuration
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Throws: SDKException if configurationIndex exceeds maximum Config or if there is a failure in USB communication.
Example:
var deviceManager = new pcprox.DeviceManager();
var idDisplayParameter = new pcprox.IdDisplayParameter();
deviceManager.readCFG();
await idDisplayParameter.{API-NAME}(configurationIndex);
var iFACIDDelim = await getIDDispParms_iFACIDDelim(configurationIndex)

SetIDDispParms

Set display parameters IdDisplayParameters to control how the card ID is displayed when keystroked out or sent serially on serial and RS-232 readers.IdDisplayParameters contains:

  • short setIDDispParms_iFACIDDelim(flagValue, configurationIndex):

    If bStripFac & bSndFac & bUseDelFac2Id, this char is sent between FAC & ID. This delimiter appears as a seperator between FAC and ID in keystroke output

  • short setIDDispParms_iELDelim(flagValue, configurationIndex):

    If NOT bNoUseELChar, this char when set appears at the end of the ID in keystroked card output

  • short setIDDispParms_iDDispLen(flagValue, configurationIndex):

    If bFixLenDsp is true, ID is padded with zeros/stripped to achieve this length

  • short setIDDispParms_iFACDispLen(flagValue, configurationIndex):

    If bFixLenDsp is true, FAC is padded with zeros/stripped to achieve this length

  • short setIDDispParms_iExOutputFormat(flagValue, configurationIndex):

    This allows to choose one of the two format modes: data format or extend mode(if supported by reader)

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
var idDisplayParameter = new pcprox.IdDisplayParameter();
var deviceManager = new pcprox.DeviceManager();
await idDisplayParameter.{API-NAME}(flagValue, configurationIndex);
await idDisplayParameter.setIDDispParms_iFACIDDelim(flagValue, configurationIndex)
deviceManager.writeCfg();

GetIDDispParms2

To get IdDisplayParameters2 which contains:

  • short getIDDispParms2_iLeadChrCnt(configurationIndex):

    If bUseLeadChrs, then it is set with lead character counts(<=3). And according to the count, characters can be sent at the beginning of the card data. Three delimiters total are allowed and can be split between leading and trailing characters

  • short getIDDispParms2_iLeadChr0(configurationIndex):

    First Leading character. The char set will be displayed in the beginnning of card data.

  • short getIDDispParms2_iLeadChr1(configurationIndex):

    Second Leading character. If previous lead char is 0 then it will shift to previous position.

  • short getIDDispParms2_iLeadChr2(configurationIndex):

    Third Leading character. If previous lead char is 0 then it will shift to previous position.

  • short getIDDispParms2_iCrdGnChr0(configurationIndex):

    First card gone character. It is sent/ displayed in output when card is gone from the field

  • short getIDDispParms2_iCrdGnChr0(configurationIndex):

    Second card gone character. If the previous card gone char is zero then it will shift to the previous position

Note: You must call ReadCfg() first.
Parameter: configurationIndex 0..N-1, where N stands for maximum configuration
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var idDisplayParameter2 = new pcprox.IdDisplayParameter2();
deviceManager.readCFG();
await idDisplayParameter2.{API-NAME}(configurationIndex);
var iLeadChrCnt = await idDisplayParameter2.getIDDispParms2_iLeadChrCnt(configurationIndex);

SetIDDispParms2

To set IdDisplayParameters2. Mainly controls the leading and trailing delimiters. IdDisplayParameters2 contains:

  • short setIDDispParms2_iLeadChrCnt(flagValue, configurationIndex):

    If bUseLeadChrs, then it is set with lead character counts(<=3). And according to the count, characters can be sent at the beginning of the card data. Three delimiters total are allowed and can be split between leading and trailing characters

  • short setIDDispParms2_iLeadChr0(flagValue, configurationIndex):

    First Leading character. The char set will be displayed in the beginnning of card data.

  • short setIDDispParms2_iLeadChr1(flagValue, configurationIndex):

    Second Leading character. If previous lead char is 0 then it will shift to previous position.

  • short setIDDispParms2_iLeadChr2(flagValue, configurationIndex):

    Third Leading character. If previous lead char is 0 then it will shift to previous position.

  • short setIDDispParms2_iCrdGnChr0(flagValue, configurationIndex):

    First card gone character. It is sent/ displayed in output when card is gone from the field

  • short setIDDispParms2_iCrdGnChr0(flagValue, configurationIndex):

    Second card gone character. If the previous card gone char is zero then it will shift to the previous position

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
Example:
var idDisplayParameter2 = new pcprox.IdDisplayParameter2();
var deviceManager = new pcprox.DeviceManager();
await idDisplayParameter2.{API-NAME}(flagValue, configurationIndex);
await idDisplayParameter2.setIDDispParms2_iLeadChrCnt(flagValue, configurationIndex)
deviceManager.writeCfg();

GetIDDispParms3

To get IdDisplayParameters3 which contains:

  • await getIDDispParms3_iTrailChrCnt:

    It contains the trailing character count(<=3). The sum of iTrailChrCnt and iLeadChrCnt should be (<=3). And according to the count, characters can be sent at the end of the card data (ID).

  • short getIDDispParms3_iTrailChr0(configurationIndex):

    First trailing character. The char set will be displayed in the end of the ID of card data.

  • await getIDDispParms3_iTrailChr1(configurationIndex):

    Second trailing character. If previous trailing char is 0 then it will shift to previous position.

  • await getIDDispParms3_iTrailChr2(configurationIndex):

    Third trailing character. If previous trailing char is 0 then it will shift to previous position.

  • await getIDDispParms3_iTrailChrCnt(configurationIndex):

    Get IDDispParms3 member's iTrailChrCnt value or error code.

  • await getIDDispParms2_iCrdGnChr0(configurationIndex):

    Get IDDispParms2 member's iCrdGnChr0 value or error code.

  • await getIDDispParms2_iCrdGnChr1(configurationIndex):

    . Get IDDispParms2 member's iCrdGnChr1 value or error code.

Note: You must call ReadCfg() first.
Parameter: configurationIndex 0..N-1, where N stands for maximum configuration
return: Give the flag value for the given configuration = Success / Sets the error code in lastLibErr = Failure.
Example:
var deviceManager = new pcprox.DeviceManager();
var idDisplayParameter3 = new pcprox.IdDisplayParameter3();
deviceManager.readCFG();
await idDisplayParameter3.{API-NAME}(configurationIndex);
var iTrailChr0 = await getIDDispParms3_iTrailChr0(configurationIndex);

SetIDDispParms3

To set IdDisplayParameters3. Mainly controls the leading and trailing delimiters. IdDisplayParameters3 contains:

  • short iTrailChrCnt:

    It contains the trailing character count(<=3). The sum of iTrailChrCnt and iLeadChrCnt should be (<=3). And according to the count, characters can be sent at the end of the card data (ID).

  • short setIDDispParms3_iTrailChr0(flagValue, configurationIndex):

    First trailing character. The char set will be displayed in the end of the ID of card data.

  • short setIDDispParms3_iTrailChr1(flagValue, configurationIndex):

    Second trailing character. If previous trailing char is 0 then it will shift to previous position.

  • short setIDDispParms3_iTrailChr2(flagValue, configurationIndex):

    Third trailing character. If previous trailing char is 0 then it will shift to previous position.

  • short setIDDispParms3_iTrailChrCnt(flagValue, configurationIndex):

    Set IDDispParms3 member's iTrailChrCnt value.

  • short setIDDispParms2_iCrdGnChr0(flagValue, configurationIndex):

    Set IDDispParms2 member's iCrdGnChr0 value.

  • short setIDDispParms2_iCrdGnChr1(flagValue, configurationIndex):

    Set IDDispParms2 member's iCrdGnChr1 value.

Parameter: FlagValue (1 = true, 0 = false), Configuration (configurationIndex 0..N-1, where N stands for maximum configuration.)
Example:
var idDisplayParameter3 = new pcprox.IdDisplayParameter3();
var deviceManager = new pcprox.DeviceManager();
await idDisplayParameter3.{API-NAME}(flagValue, configurationIndex);
await idDisplayParameter3.setIDDispParms3_iTrailChr0(flagValue, configurationIndex)
deviceManager.writeCfg();

Release Notes

RF IDeas' pcProx® web-sdk, and Proximity Reader.

PcproxAPI-WebSDK release-2.0.1 includes the following APIs.
01) Bug fix for cancel button is not working as expected for HWG & Reset to factory default functionality under Basic-html-example.
02) Bug fix for LUID values are not changing for RDR-30531EKU and RDR-80531BKU.
03) Bug fix for card name is showing “undefined“ instead of "HID iCLASS ID".
04) Bug fix for all the delimiters are not reflecting under Web SDK output while loading the hwg file.
05) Bug fix for format tab settings are not changing when user try to change the data format or Advance settings options.

PcproxAPI-WebSDK release-2.0.0 includes the following APIs.

getCardPriority setCardTypePriority getQueuedID getQueuedID_index
resetFactoryDflts isBLEPresent() setBLEConfiguration getBLEConfiguration
getDID getLuid setLuid getAZERTYShiftLock
setAZERTYShiftLock getExtendedPrecisionMath setExtendedPrecisionMath readDevCfgFmFile
readDevCfgFromSecureFile writeDevCfgToFile writeDevCfgToSecureFile SetFlags3
getFlags3 setIdBitCounts getIdBitCounts setTimeParams
getTimeParams setLedControl getLedControl getIDDispParms
setIDDispParms getIDDispParms2 getIDDispParms3 setIDDispParms3

Below are the some changes in API return type and adding the UI in example side.
01) Bug fix for long beep and Short beep is not working correctly on the HTML example UI.
02) Bug fix for card type does not show the correct card type when the reader is connected on the Angular Example.
03) Bug fix for card type is showing as undefined for configuration 2, when the reader is connected on the HTML UI example and angular example.

PcproxAPI-WebSDK release-1.0.0 includes the following APIs

WriteConfigBlockExtend setSepFldData getCardType GetFlags
SetFlags GetFirmWareVersion() getLibVersion getLibraryVersion_Beta
GetFlags2 SetFlags2 SetBeeperVolume GetBeeperVolume
GetFWFilename SetFlags2 SetBeeperVolume GetBeeperVolume

Below are the some changes in API return type and adding the UI in example side.
01) Updated the readme.
02) Adding Number of Beeps and Long Beep option.
03) Export library name change to pcprox.
04) Adding the the arrayBuffer return type for getActiveID and getActiveID32 API’s.
05) Adding Set Configuration API's on Webassembly(C++) side.
06) Adding write config API on WebAssembly(C++) side.
07) Adding read config and get Configuration API's on WebAssembly(C++) side.
08) Changing the return type of getActiveID() & getActiveID32() as Universal SDK.
09) Adding latest API document file.

PcproxAPI-WebSDK MVP release-0.0.4 includes the following APIs
01) Bug fixed for Incorrect error message is shown without clicking disconnect button, when user try to click on connect button and try to change values and click on write button.
02) Bug fixed for Get Active Configuration was changing after the drop down selection without saving it on the reader.

PcproxAPI-WebSDK MVP release-0.0.4 includes the following APIs
01) Bug fixed for Incorrect error message is shown without clicking disconnect button, when user try to click on connect button and try to change values and click on write button.
02) Bug fixed for Get Active Configuration was changing after the drop down selection without saving it on the reader.

PcproxAPI-WebSDK MVP release-0.0.3 includes the following APIs
01) Bug fixed for Under Data format functionality [-] decrease button is not working for Strip trailing bit count.
02) Bug fixed for document-related error under WebSDK pdf.
03) Bug fixed While entering the Strip Leading bit count and Strip trailing bit count manually, clicking on the write button, and reconnecting the reader, the values are not saved.
04) Bug fixing for angular example.
05) fixed Version is not changed in the package.jSon file under PcProxApiWebSDK folder.
06) Bug fixed User is able to enter alphabets and special characters under strip leading bit count & strip trailing bit count text box.
07) Bug fixed for User is not able to click on ”+” button, when strip leading bit count and trailing bit count text box are empty

PcproxAPI-WebSDK MVP release-0.0.2 includes the following APIs
01) Bug fixed for active configuration is not saved.
02) Bug fixed for popup message.
03) Bug fixed for when user try to click on GetID and GetID32 without connecting the reader then no error message displayed.
04) Bug fixed when clicking on Disconnect button then popup message is not correct.
05) Bug fixed for When user clicks on Write button without connecting the reader, it shows incorrect message as "Write completed".
06) Bug fixed for Under Data format functionality [-] decrease button is not working.
07) Bug fixed for strip leading & strip trailing bit count text box.
08) Added the script for generate package.
09) changing the version for v0.0.2.
10) Added API Document and examples of HTML and Angular in the package.

PcproxAPI-WebSDK-0.0.1 MVP includes the following APIs

usbConnect getActiveID32 setDevTypeSearch usbDisconnect
HaltKBSends GetLastLibErr IDBitCnts_iLeadParityBitCnt IDBitCnts_iTrailParityBitCnt
readCfg writeCfg partnumber activeconfig

Sample Example

There are two sample examples as part of this package implemented in HTML and Angular. These examples serve as reference examples, showcasing the usage of the WEB-SDK API in HTML & Angular. It's important to emphasize that these examples are not intended for production use; rather, they are meant for reference purposes only. Users can study these samples to understand how to integrate the WEB-SDK API into their own HTML and Angular projects.