IDTech Android SDK Guide  1.00.175
API reference for NEO2
com.idtechproducts.device.IDT_NEO2 Class Reference

Public Member Functions

 IDT_NEO2 (OnReceiverListener callback, OnReceiverListenerPIN pincallback, Context context)
 
boolean device_disconnectBLE ()
 
int device_enableBLESearch (DEVICE_TYPE type, String name, int timeout)
 
String getBTLEDeviceAddress ()
 
 IDT_NEO2 (OnReceiverListener callback, OnReceiverListenerPIN pincallback, OnReceiverListenerPINRequest callback2, Context context)
 
 IDT_NEO2 (OnReceiverListener callback, OnReceiverListenerPIN pincallback, OnReceiverListenerPINRequest callback2, OnReceiverListenerLCD lcdcallback, Context context)
 
void device_setNEOGen (int gen)
 
boolean device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType)
 
boolean device_setDeviceType (ReaderInfo.DEVICE_TYPE deviceType, int PID)
 
void setIDT_Device (FirmwareUpdateTool fwTool)
 
DEVICE_TYPE device_getDeviceType ()
 
void registerListen ()
 
void unregisterListen ()
 
void release ()
 
String config_getSDKVersion ()
 
String config_getXMLVersionInfo ()
 
String phone_getInfoManufacture ()
 
String phone_getInfoModel ()
 
void log_setVerboseLoggingEnable (boolean enable)
 
void log_setSaveLogEnable (boolean enable)
 
int log_deleteLogs ()
 
void config_setXMLFileNameWithPath (String path)
 
boolean config_loadingConfigurationXMLFile (boolean updateAutomatically)
 
boolean device_connectWithProfile (StructConfigParameters profile)
 
void device_ConnectWithoutValidation (boolean noValidate)
 
int device_pollForToken (int timeout, ResDataStruct respData)
 
boolean device_connect ()
 
boolean device_isConnected ()
 
int emv_callbackResponsePIN (int mode, byte[] KSN, byte[] PIN)
 
void device_setSymmetric_RKI_URL (String srki_url)
 
int device_startRKI ()
 
int device_startRKI (boolean isDemo)
 
int device_startRKI (String Key, boolean isDemo)
 
int device_startRKI (String Key)
 
int device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags)
 
int device_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean isFastEMV)
 
int device_cancelTransaction ()
 
int device_resetTransaction ()
 
int device_getFirmwareVersion (StringBuilder version)
 
int device_getDeviceTreeVersion (StringBuilder version)
 
int device_pingDevice ()
 
int device_setBluetoothParameters (String name, byte[] oldPassword, byte[] newPassword)
 
int device_setSource (byte[] data)
 
int device_getSource (byte[] data)
 
int device_readFileFromSD (String directoryName, String fileName, int startingOffset, int numBytes, ResDataStruct respData)
 
int config_getSerialNumber (StringBuilder serialNumber)
 
int config_getModelNumber (StringBuilder modNumber)
 
int device_getKSN (byte keyNameIndex, byte[] keySlot, ResDataStruct resKSN)
 
int device_setMerchantRecord (int index, boolean enabled, String merchantID, String merchantURL)
 
int device_getMerchantRecord (int index, ResDataStruct respData)
 
String device_getResponseCodeString (int errorCode)
 
int device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData)
 
int device_sendDataCommand (String cmd, boolean calcLRC, String data, ResDataStruct respData, int timeout)
 
int device_updateFirmware (byte[] data, FIRMWARE_UPDATE_TYPES ft)
 
int device_updateFirmware (String[] commands)
 
int device_getTransactionResults (IDTMSRData cardData)
 
int device_setBurstMode (byte mode)
 
int device_setPollMode (byte mode)
 
int device_controlUserInterface (byte[] values)
 
int device_getRTCDateTime (byte[] dateTime)
 
int device_setRTCDateTime (byte[] dateTime)
 
int device_loadCertCA (byte certType, byte[] CACertDate)
 
int device_rrcUninstallApp (String appName)
 
int device_rrcInstallApp (String appName)
 
int device_rrcRunApp (String appName)
 
int device_rrcDownloadApp (String zipFileName, String appName)
 
int device_rrcConnect ()
 
int device_rrcDisconnect ()
 
int device_getBatteryPercentage (StringBuilder percentage)
 
int icc_getICCReaderStatus (ICCReaderStatusStruct ICCStatus)
 
int icc_powerOnICC (ResDataStruct atrPPS)
 
int icc_passthroughOnICC ()
 
int icc_passthroughOffICC ()
 
int icc_powerOffICC (ResDataStruct respData)
 
int icc_exchangeAPDU (byte[] dataAPDU, ResDataStruct response)
 
int emv_getEMVKernelVersion (StringBuilder version)
 
int emv_getEMVKernelCheckValue (ResDataStruct respData)
 
int emv_getEMVConfigurationCheckValue (ResDataStruct respData)
 
int emv_retrieveApplicationData (String aid, ResDataStruct respData)
 
int emv_removeApplicationData (String aid, ResDataStruct respData)
 
int emv_setApplicationData (String name, byte[] tlv, ResDataStruct respData)
 
int emv_retrieveTerminalData (ResDataStruct respData)
 
int emv_removeTerminalData (ResDataStruct respData)
 
int emv_setTerminalData (byte[] TLV, ResDataStruct respData)
 
int emv_retrieveAidList (ResDataStruct respData)
 
int emv_retrieveCAPK (byte[] capk, ResDataStruct respData)
 
int emv_removeCAPK (byte[] capk, ResDataStruct respData)
 
int emv_setCAPK (byte[] key, ResDataStruct respData)
 
int emv_retrieveCAPKList (ResDataStruct respData)
 
int emv_retrieveCRL (ResDataStruct respData)
 
int emv_removeCRL (byte[] crlList, ResDataStruct respData)
 
int emv_setCRL (byte[] crlList, ResDataStruct respData)
 
int emv_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags, boolean forceOnline)
 
int emv_cancelTransaction (ResDataStruct respData)
 
void emv_setTransactionParameters (double amount, double amtOther, int type, final int timeout, byte[] tags)
 
void emv_lcdControlResponse (byte mode, byte selection)
 
int emv_authenticateTransaction (byte[] tags)
 
int emv_completeTransaction (boolean commError, byte[] authCode, byte[] iad, byte[] tlvScripts, byte[] tags)
 
int emv_retrieveTransactionResult (byte[] tags, Map< String, Map< String, byte[]>> retrievedTags)
 
int emv_setTerminalMajorConfiguration (int configuration)
 
int device_reviewAllSetting (ResDataStruct respData)
 
int msr_defaultAllSetting ()
 
int msr_cancelMSRSwipe ()
 
int msr_startMSRSwipe ()
 
int msr_startMSRSwipe (int timeout)
 
int ctls_retrieveApplicationData (String aid, ResDataStruct respData)
 
int ctls_removeApplicationData (String aid, ResDataStruct respData)
 
int ctls_setApplicationData (byte[] tlv, ResDataStruct respData)
 
int ctls_setConfigurationGroup (byte[] TLV, ResDataStruct respData)
 
int ctls_getConfigurationGroup (int group, ResDataStruct respData)
 
int ctls_getAllConfigurationGroups (ResDataStruct respData)
 
int ctls_removeConfigurationGroup (int group)
 
int ctls_retrieveTerminalData (ResDataStruct respData)
 
int ctls_setTerminalData (byte[] TLV, ResDataStruct respData)
 
int ctls_retrieveAidList (ResDataStruct respData)
 
int ctls_retrieveCAPK (byte[] capk, ResDataStruct respData)
 
int ctls_removeCAPK (byte[] capk, ResDataStruct respData)
 
int ctls_setCAPK (byte[] key, ResDataStruct respData)
 
int ctls_retrieveCAPKList (ResDataStruct respData)
 
int ctls_removeAllApplicationData ()
 
int ctls_removeAllCAPK ()
 
int ctls_startTransaction (double amount, double amtOther, int type, final int timeout, byte[] tags)
 
int ctls_cancelTransaction ()
 
int pin_cancelPINEntry ()
 
int pin_displayMessageGetEncryptedPIN (byte PANKeyType, byte[] PAN, byte PINMaxLen, byte PINMinLen, byte[] LCDMsg, ResDataStruct respData)
 
int pin_getFunctionKey (ResDataStruct respData)
 
int pin_displayMessageGetNumericKey (byte DisplayFlag, byte KeyMaxLen, byte KeyMinLen, byte[] TextDisplayMsg, byte[] DisplayMsgSig, ResDataStruct respData)
 
int pin_displayMessageGetAmount (byte DisplayFlag, byte KeyMaxLen, byte KeyMinLen, byte[] TextDisplayMsg, byte[] DisplayMsgSig, ResDataStruct respData)
 
int felica_authentication (byte[] key)
 
int felica_readWithMac (int blockCnt, byte[] blockList, ResDataStruct respData)
 
int felica_writeWithMac (byte blockNum, byte[] blockData)
 
int felica_read (byte[] serviceCodeList, int blockCnt, byte[] blockList, ResDataStruct respData)
 
int felica_write (byte[] serviceCodeList, int blockCnt, byte[] blockList, byte[] blockData, ResDataStruct respData)
 
int felica_poll (byte[] systemCode, ResDataStruct respData)
 
int felica_requestService (byte[] nodeCode, ResDataStruct respData)
 
int felica_SendCommand (byte command[], ResDataStruct respData)
 
int lcd_clearDisplay ()
 
int lcd_createScreen (String screenName, IDTLCDData returnItem)
 
int lcd_getActiveScreen (IDTLCDData returnItem)
 
int lcd_destroyScreen (String screenName)
 
int lcd_showScreen (String screenName)
 
int lcd_cloneScreen (String screenName, String cloneName, IDTLCDData returnItem)
 
int lcd_updateLabel (String screenName, String objectName, String label)
 
int lcd_updateColor (String screenName, String objectName, byte[] color)
 
int lcd_updatePosition (String screenName, String objectName, byte alignment, int new_xCord, int new_yCord)
 
int lcd_removeItem (String screenName, String objectName)
 
int lcd_storeScreenInfo ()
 
int lcd_loadScreenInfo ()
 
int lcd_clearScreenInfo ()
 
int lcd_getAllScreens (List< IDTLCDData > IDTScreenInfos)
 
int lcd_getAllObjects (String screenName, List< IDTLCDData > IDTScreenInfos)
 
int lcd_queryScreenbyName (String screenName, IDTLCDData returnItem)
 
int lcd_queryObjectbyName (String objectName, List< IDTLCDData > IDTScreenInfos)
 
int lcd_queryScreenbyID (int screenID, IDTLCDData returnItem)
 
int lcd_queryObjectbyID (int objectID, List< IDTLCDData > IDTScreenInfos)
 
int lcd_linkUIWithTransactionMessageId (byte MessageId, String screenName)
 
int lcd_setBacklight (boolean isBacklightOn, byte backlightVal)
 
int lcd_getButtonEvent (IDTLCDData returnItem)
 
int lcd_addButton (String screenName, String buttonName, byte type, byte alignment, int xCord, int yCord, String label, IDTLCDData returnItem)
 
int lcd_addEthernet (String screenName, String objectName, byte alignment, int xCord, int yCord, IDTLCDData returnItem)
 
int lcd_addLED (String screenName, String objectName, byte alignment, int xCord, int yCord, IDTLCDData returnItem, byte[] LED)
 
int lcd_addText (String screenName, String objectName, byte alignment, int xCord, int yCord, int width, int height, byte fontID, byte[] color, String label, IDTLCDData returnItem)
 
int lcd_addImage (String screenName, String objectName, byte alignment, int xCord, int yCord, String filename, IDTLCDData returnItem)
 
int lcd_addVideo (String screenName, String objectName, byte alignment, int xCord, int yCord, String filename, IDTLCDData returnItem)
 
int lcd_addExtVideo (String screenName, String objectName, byte alignment, int xCord, int yCord, byte loop, byte numVideos, String filenames, IDTLCDData returnItem)
 
String createFastEMVData (IDTEMVData emvData)
 
int forwardTransaction (WorldpayListener callback, String forwardID, String password, boolean bypassProcessing)
 

Static Public Member Functions

static IDT_Device getSDKInstance ()
 
static void useUSBIntentFilter ()
 
static IDT_Device getIDT_Device ()
 
static boolean device_setPackageDownloadDelay (int delay)
 
static int device_getPackageDownloadDelay ()
 
static void emv_allowFallback (boolean allow)
 
static void emv_setAutoAuthenticateTransaction (boolean auto)
 
static boolean emv_getAutoAuthenticateTransaction ()
 
static void emv_setAutoCompleteTransaction (boolean auto)
 
static boolean emv_getAutoCompleteTransaction ()
 

Constructor & Destructor Documentation

◆ IDT_NEO2() [1/3]

com.idtechproducts.device.IDT_NEO2.IDT_NEO2 ( OnReceiverListener  callback,
OnReceiverListenerPIN  pincallback,
Context  context 
)

It is the constructor of the main class IDT_VP3600. When it is called, the SDK will create the Instance for IDT_VP3600 device. The interface OnReceiverListner needs to be implemented in the application.

Parameters
callbackOnReceiverListener callback
pincallbackOnReceiverListenerPIN pincallback
contextApplication context

◆ IDT_NEO2() [2/3]

com.idtechproducts.device.IDT_NEO2.IDT_NEO2 ( OnReceiverListener  callback,
OnReceiverListenerPIN  pincallback,
OnReceiverListenerPINRequest  callback2,
Context  context 
)

It is the constructor of the main class IDT_VP3600. When it is called, the SDK will create the Instance for IDT_VP3600 device. The interface OnReceiverListner needs to be implemented in the application.

Parameters
callbackOnReceiverListener callback
pincallbackOnReceiverListenerPIN pincallback
pincallbackOnReceiverListenerPINRequest pin request callback
contextApplication context

◆ IDT_NEO2() [3/3]

com.idtechproducts.device.IDT_NEO2.IDT_NEO2 ( OnReceiverListener  callback,
OnReceiverListenerPIN  pincallback,
OnReceiverListenerPINRequest  callback2,
OnReceiverListenerLCD  lcdcallback,
Context  context 
)

It is the constructor of the main class IDT_VP3600. When it is called, the SDK will create the Instance for IDT_VP3600 device. The interface OnReceiverListner needs to be implemented in the application.

Parameters
callbackOnReceiverListener callback
pincallbackOnReceiverListenerPIN pincallback
pincallbackOnReceiverListenerPINRequest pin request callback
lcdcallbackOnReceiverListenerLCD lcdcallback
contextApplication context

Member Function Documentation

◆ config_getModelNumber()

int com.idtechproducts.device.IDT_NEO2.config_getModelNumber ( StringBuilder  modNumber)

Get the model number of device.

Parameters
modNumberreturns Model Number string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_getSDKVersion()

String com.idtechproducts.device.IDT_NEO2.config_getSDKVersion ( )

READER CONFIG API LIST Get the version of SDK.

       for version string.
Returns
the string of the SDK version.
See also
ErrorCode

◆ config_getSerialNumber()

int com.idtechproducts.device.IDT_NEO2.config_getSerialNumber ( StringBuilder  serialNumber)

Get the serial number of device.

Parameters
serialNumberreturns Serial Number string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ config_getXMLVersionInfo()

String com.idtechproducts.device.IDT_NEO2.config_getXMLVersionInfo ( )

Get XML configuration version.

Returns
the version info.

◆ config_loadingConfigurationXMLFile()

boolean com.idtechproducts.device.IDT_NEO2.config_loadingConfigurationXMLFile ( boolean  updateAutomatically)

Load XML Configuration File.

Parameters
updateAutomatically
Returns
none

◆ config_setXMLFileNameWithPath()

void com.idtechproducts.device.IDT_NEO2.config_setXMLFileNameWithPath ( String  path)

set XML Configuration File Name with the full path.

Parameters
pathXML Configuration File Name.
Returns
none

◆ createFastEMVData()

String com.idtechproducts.device.IDT_NEO2.createFastEMVData ( IDTEMVData  emvData)

Create Fast EMV Data

At the completion of a Fast EMV Transaction, after the final card decision is returned and the IDTEMVData object is provided, sending that emvData object to this method will return string data that represents the Fast EMV data that would be returned from and IDTech FastEMV over KB protocol

Parameters
emvDataThe IDTEMVData object populated with card data.
Returns
Fast EMV String data

◆ ctls_cancelTransaction()

int com.idtechproducts.device.IDT_NEO2.ctls_cancelTransaction ( )

Cancel CTLS (or MSR) Transaction

Cancels the currently executing CTLS transaction (or MSR swipe request).

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_getAllConfigurationGroups()

int com.idtechproducts.device.IDT_NEO2.ctls_getAllConfigurationGroups ( ResDataStruct  respData)

Retrieve All Configuration Groups

Returns all the Configuration Groups installed on the terminal for CTLS.

Parameters
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no Application data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_getConfigurationGroup()

int com.idtechproducts.device.IDT_NEO2.ctls_getConfigurationGroup ( int  group,
ResDataStruct  respData 
)

Get Configuration Group

Retrieves the Configuration for the specified Group.

Parameters
groupConfiguration Group
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no Application data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_removeAllApplicationData()

int com.idtechproducts.device.IDT_NEO2.ctls_removeAllApplicationData ( )

Remove all Application Data

Removes all the Application Data

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_removeAllCAPK()

int com.idtechproducts.device.IDT_NEO2.ctls_removeAllCAPK ( )

Remove All Certificate Authority Public Key

Removes all CAPK

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_removeApplicationData()

int com.idtechproducts.device.IDT_NEO2.ctls_removeApplicationData ( String  aid,
ResDataStruct  respData 
)

Remove Application Data

Removes the Application Data as specified by the AID name passed as a parameter

Parameters
aidAid file to remove.
respDataStatus Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_removeCAPK()

int com.idtechproducts.device.IDT_NEO2.ctls_removeCAPK ( byte []  capk,
ResDataStruct  respData 
)

Remove Certificate Authority Public Key

Removes the CAPK as specified by the RID/Index

Parameters
capk6 byte CAPK = 5 bytes RID + 1 byte INDEX
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_removeConfigurationGroup()

int com.idtechproducts.device.IDT_NEO2.ctls_removeConfigurationGroup ( int  group)

Remove Configuration Group

Removes the Configuration as specified by the Group. Must not by group 0

Parameters
groupConfiguration Group
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_retrieveAidList()

int com.idtechproducts.device.IDT_NEO2.ctls_retrieveAidList ( ResDataStruct  respData)

Retrieve Aid List

Returns all the AID names installed on the terminal.

Parameters
respDataArray of AID string names passed back in ResDataStruct.stringArray. Status Code in ResDataStruct.statusCode. If no AIDs exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_retrieveApplicationData()

int com.idtechproducts.device.IDT_NEO2.ctls_retrieveApplicationData ( String  aid,
ResDataStruct  respData 
)

Retrieve Application Data

Retrieves the TLV values of a provide AID.

Parameters
aidAid file to retrieve.
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_retrieveCAPK()

int com.idtechproducts.device.IDT_NEO2.ctls_retrieveCAPK ( byte []  capk,
ResDataStruct  respData 
)

Retrieve Certificate Authority Public Key

Retrieves the CAPK as specified by the RID/Index passed as a parameter.

Parameters
capk6 bytes CAPK = 5 bytes RID + 1 byte Index
respDatakey Response returned in ResDataStruct.resData: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_retrieveCAPKList()

int com.idtechproducts.device.IDT_NEO2.ctls_retrieveCAPKList ( ResDataStruct  respData)

Retrieve the Certificate Authority Public Key list

Returns all the CAPK RID and Index installed on the terminal.

Parameters
respDataResDataStruct.resData = [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_retrieveTerminalData()

int com.idtechproducts.device.IDT_NEO2.ctls_retrieveTerminalData ( ResDataStruct  respData)

Retrieve Terminal Data

Retrieves the TLV values of a the terminal.

Parameters
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no terminal data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_setApplicationData()

int com.idtechproducts.device.IDT_NEO2.ctls_setApplicationData ( byte []  tlv,
ResDataStruct  respData 
)

Set Application Data by AID

Sets the Application Data for CTLS as specified by the TLV data

Parameters
tlvApplication data in TLV format The first tag of the TLV data must be the group number (FFE4). The second tag of the TLV data must be the AID (9F06)

Example valid TLV, for Group #2, AID a0000000035010: "ffe401029f0607a0000000051010ffe10101ffe50110ffe30114ffe20106"

Parameters
respDataerror code will be stored in respData.statusCode
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
See also
ErrorCode

◆ ctls_setCAPK()

int com.idtechproducts.device.IDT_NEO2.ctls_setCAPK ( byte []  key,
ResDataStruct  respData 
)

Set Certificate Authority Public Key

Sets the CAPK as specified by the CAKey structure

Parameters
keyCAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_setConfigurationGroup()

int com.idtechproducts.device.IDT_NEO2.ctls_setConfigurationGroup ( byte []  TLV,
ResDataStruct  respData 
)

Set Configuration Data for AID Group

Sets the Configuration Data for CTLS as specified by the TLV data

Parameters
TLVConfiguration data in TLV format The first tag of the TLV data must be the group number (FFE4). A second tag must exist
respDataerror code will be stored in respData.statusCode
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
See also
ErrorCode

◆ ctls_setTerminalData()

int com.idtechproducts.device.IDT_NEO2.ctls_setTerminalData ( byte []  TLV,
ResDataStruct  respData 
)

Set Terminal Data

Sets the Terminal Data as specified by the TerminalData structure passed as a parameter

Parameters
TLVTerminalData configuration file.
respDataStatus Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ ctls_startTransaction()

int com.idtechproducts.device.IDT_NEO2.ctls_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags 
)

Start CTLS (or MSR) Transaction Request

Authorizes the CTLS (or MSR) transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37 For SmartTap, pass the tag FFEE08 with the value 0200 For Apple VAS, pass the tag FFEE06 with the value 9F220201009F2604000000009F2B050100000000DF010101
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_cancelTransaction()

int com.idtechproducts.device.IDT_NEO2.device_cancelTransaction ( )

Cancel Device Transaction

Cancels the currently executing Device transaction.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_connect()

boolean com.idtechproducts.device.IDT_NEO2.device_connect ( )

Connect the device.

This will attempt to connect to reader. For audio connection: it will first attempt to set the IDTech reader to the correct baud rate compatible with the Android Audio hardware Then it will attempt to recognize the reader that is attached by polling for model information

Returns
true: success, false: fail.

◆ device_ConnectWithoutValidation()

void com.idtechproducts.device.IDT_NEO2.device_ConnectWithoutValidation ( boolean  noValidate)

Set connection mode to connect to the device without validation

This will tell the SDK to connect to a reader with supplied device type For audio connection: it will not attempt to set the IDTech reader to the correct baud rate compatible with the Android Audio hardware and will assume the hardware baud rate is correct. It will not attempt to validate an IDTech reader is connected. It will assume an IDTech reader is connected and charged

NOTE: It is left to the integrator to make the decision to validate the reader is connected. One method is execute device_getFirmware and evaluate the response. If there is a response, then a reader from IDTech. If it is an expected response (known firmware string), then the specific reader model can be verified.

Parameters
noValidateTRUE = no validation, FALSE = validate (normal operation)
Returns
none.

◆ device_connectWithProfile()

boolean com.idtechproducts.device.IDT_NEO2.device_connectWithProfile ( StructConfigParameters  profile)

connect the device with Profile.

Parameters
profilethe profile is the one which is the result from Auto config.
Returns
true: success, false: fail.

◆ device_controlUserInterface()

int com.idtechproducts.device.IDT_NEO2.device_controlUserInterface ( byte []  values)

Control User Interface

Controls the User Interface: Display, Beep, LED

Parameters
valuesFour bytes to control the user interface Byte[0] = LCD Message Messages 00-07 are normally controlled by the reader.
  • 00h: Idle Message (Welcome)
  • 01h: Present card (Please Present Card)
  • 02h: Time Out or Transaction cancel (No Card)
  • 03h: Transaction between reader and card is in the middle (Processing...)
  • 04h: Transaction Pass (Thank You)
  • 05h: Transaction Fail (Fail)
  • 06h: Amount (Amount $ 0.00 Tap Card)
  • 07h: Balance or Offline Available funds (Balance $ 0.00) Messages 08-0B are controlled by the terminal
  • 08h: Insert or Swipe card (Use Chip & PIN)
  • 09h: Try Again(Tap Again)
  • 0Ah: Tells the customer to present only one card (Present 1 card only)
  • 0Bh: Tells the customer to wait for authentication/authorization (Wait)
  • FFh: indicates the command is setting the LED/Buzzer only. Byte[1] = Beep Indicator
  • 00h: No beep
  • 01h: Single beep
  • 02h: Double beep
  • 03h: Three short beeps
  • 04h: Four short beeps
  • 05h: One long beep of 200 ms
  • 06h: One long beep of 400 ms
  • 07h: One long beep of 600 ms
  • 08h: One long beep of 800 ms Byte[2] = LED Number
  • 00h: LED 0 (Power LED) 01h: LED 1
  • 02h: LED 2
  • 03h: LED 3
  • FFh: All LEDs Byte[3] = LED Status
  • 00h: LED Off
  • 01h: LED On
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

◆ device_disconnectBLE()

boolean com.idtechproducts.device.IDT_NEO2.device_disconnectBLE ( )

Disconnect from BLE -

Will disconnect from existing BLE connection.

Returns
status: True = valid current connection can be shut down False = connection doesn't exist, or error shutting down connection.

◆ device_enableBLESearch()

int com.idtechproducts.device.IDT_NEO2.device_enableBLESearch ( DEVICE_TYPE  type,
String  name,
int  timeout 
)

Searches for Bluetooth Device

Parameters
typeDevice Type to search for
nameBluetooth Device Name or MAC Address
timeoutScanning timeout, in milliseconds
Returns
error code 0 = Success 1 = Invalid DEVICE_TYPE 2 = Bluetooth LE is not supported on this device 3 = Bluetooth LE is not available 4 = Bluetooth LE is not enabled 5 = Device not paired. Please pair first

◆ device_getBatteryPercentage()

int com.idtechproducts.device.IDT_NEO2.device_getBatteryPercentage ( StringBuilder  percentage)

DEVICE INFO API Get the Battery Percentage of device.

Parameters
percentagefor battery percentage string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getDeviceTreeVersion()

int com.idtechproducts.device.IDT_NEO2.device_getDeviceTreeVersion ( StringBuilder  version)

DEVICE INFO API Get the device tree version of device.

Parameters
versionfor version string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getDeviceType()

DEVICE_TYPE com.idtechproducts.device.IDT_NEO2.device_getDeviceType ( )

Gets type of device

◆ device_getFirmwareVersion()

int com.idtechproducts.device.IDT_NEO2.device_getFirmwareVersion ( StringBuilder  version)

DEVICE INFO API Get the firmware version of device.

Parameters
versionfor version string.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getKSN()

int com.idtechproducts.device.IDT_NEO2.device_getKSN ( byte  keyNameIndex,
byte []  keySlot,
ResDataStruct  resKSN 
)

Get the Account DUKPT Key KSN of device.

Parameters
10-byteKSN
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode Get KSN

Get the Account DUKPT Key KSN of device.

Parameters
keyNameIndex1 byte Key Name Index 0x14 – LCL-KEK 0x01 – Pin encryption Key 0x02 - Data encryption Key 0x05 – MAC DUKPT Key
keySlot2 bytes Key Slot Indicate different slots of a certain Key Name Example: slot =5 (0x00 0x05), slot=300 (0x01 0x2C)
resKSNResponse returned in resKSN.resData: 1 byte Key State: 00h : Unused (Slot is supported but no key injected) 01h : Valid (A valid key is available in this slot) 02h : End of life (The key on their slot has reached end of life) FFh : Not Available (This slot is not supported) 1 byte KSN Length (optional): Value is 10 to indicate TDES PIN DUKPT Key, Value is 12 to indicate AES PIN DUKPT Key 10 or 12 bytes KSN (optional): DUKPT Key KSN (Hex) Length is 10 bytes Hex to indicate TDES PIN DUKPT Key, Length is 12 bytes Hex to indicate AES PIN DUKPT Key
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getMerchantRecord()

int com.idtechproducts.device.IDT_NEO2.device_getMerchantRecord ( int  index,
ResDataStruct  respData 
)

Get Merchant Record

Sets the burst mode for the device.

Parameters
respDataresponse data from reader. Merchant Record Index: 1 byte enabled: 1 byte Merchant ID: 32 bytes Length of Merchant URL: 1 byte Merchant URL: 64 bytes
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getPackageDownloadDelay()

static int com.idtechproducts.device.IDT_NEO2.device_getPackageDownloadDelay ( )
static

Gets the package download delay for Bluetooth Tells the SDK what delay should be used during the package download for Bluetooth

Returns
the delay time interval in ms

◆ device_getResponseCodeString()

String com.idtechproducts.device.IDT_NEO2.device_getResponseCodeString ( int  errorCode)

Get Response Code String

Interpret a response code and return string description.

Parameters
errorCodeError code, range 0x0000 - 0xFFFF, example 0x0300
Returns
Verbose error description

◆ device_getRTCDateTime()

int com.idtechproducts.device.IDT_NEO2.device_getRTCDateTime ( byte []  dateTime)

get RTC date and time of the device

Parameters
dateTime<dateTime data>=""> is: 6 byte data for yyMMddHHmmss in hex. For example 0x171003102543 stands for 2017 Oct 3rd 10:25:43
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getSource()

int com.idtechproducts.device.IDT_NEO2.device_getSource ( byte []  data)

Get Source for RTC/LCD/Buzzer/LED

Get the source for RTC/LCD/Buzzer/LED on the ViVOpay reader.

Parameters
datathe 2-byte source configuration for RTC/LCD/Buzzer/LED

Data Byte1 Definition:

Bit7 Bit6 | Bit5 Bit4 | Bit3 Bit2 | Bit1 Bit0

Reserved | RTC | LCD | Buzzer

Buzzer: 00 Don’t use Buzzer 01 Use Buzzer from ViVOpay reader 10 Use Buzzer from external source 11 Use Buzzer from both reader and external source

LCD: 00 Don’t use LCD 01 Use LCD from ViVOpay reader 10 Use LCD from external source 11 Use LCD from both reader and external source

RTC: 00 Don’t use RTC 01 Use RTC from ViVOpay reader 10 Not allowed 11 Not allowed

Data Byte2 Definition:

Bit7 Bit6 | Bit5 Bit4 | Bit3 Bit2 | Bit1 Bit0

Reserved | Reserved | Power LED | Transaction LED

Transaction LED: 00 Don’t use transaction LED 01 Use transaction LED from ViVOpay reader 10 Use transaction LED from external source 11 Use transaction LED from both reader and external source

Power LED: 00 Don’t use power LED 01 Use power LED from ViVOpay reader 10 Use power LED from external source 11 Use power LED from both reader and external source

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_getTransactionResults()

int com.idtechproducts.device.IDT_NEO2.device_getTransactionResults ( IDTMSRData  cardData)

DEVICE INFO API Update the firmware of device through the zip file.

Parameters
zipFilenameThe zip file name that includes the file Metadata.json and the firmware fm files.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode Get Transaction Results Gets the transaction results when the reader is functioning in "Auto Poll" mode
Parameters
cardDataThe transaction results
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_isConnected()

boolean com.idtechproducts.device.IDT_NEO2.device_isConnected ( )

get the status if the device connected.

Returns
true: connected, false: disconnected

◆ device_loadCertCA()

int com.idtechproducts.device.IDT_NEO2.device_loadCertCA ( byte  certType,
byte []  CACertDate 
)

Use this function to load CA Cert (Intermediate Certificate)

Parameters
certTypeApplication CA: 0x00 TLS CA: 0x01
CACertDateMulti bytes CA cert data
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ device_pingDevice()

int com.idtechproducts.device.IDT_NEO2.device_pingDevice ( )

Ping Device

Pings the reader. If connected, returns success. Otherwise, returns timeout.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_pollForToken()

int com.idtechproducts.device.IDT_NEO2.device_pollForToken ( int  timeout,
ResDataStruct  respData 
)

Poll for Token

Polls for a PICC

Parameters
timeouttimeout in milliseconds, must be multiple of 10 milliseconds. 30, 120, 630, or 1150 for example.
respDataResponse data will be stored in respData. 1 byte of card type, and the Serial Number (or the UID) of the PICC if available.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_readFileFromSD()

int com.idtechproducts.device.IDT_NEO2.device_readFileFromSD ( String  directoryName,
String  fileName,
int  startingOffset,
int  numBytes,
ResDataStruct  respData 
)

Read Out File from SD Card This command retrieves a file from the SD card of the reader.

Parameters
directoryNameDirectory Name. No longer than 32 bytes. If null, root directory is listed
fileNameFile name string. No longer than 32 bytes. A ASCII string terminated by 0x00.
startingOffsetStarting offset in the file to retrieve
numBytesNumber of bytes of file data to retrieve
respDataReturns file data in ResDataStruct.resData. Status Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_resetTransaction()

int com.idtechproducts.device.IDT_NEO2.device_resetTransaction ( )

Reset Transaction

Abruptly terminates the currently executing device transaction. Does not produce any further transaction data or notifications after executing.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_reviewAllSetting()

int com.idtechproducts.device.IDT_NEO2.device_reviewAllSetting ( ResDataStruct  respData)

Review All Configuration Settings

it returns the current values for all the parameters that can be set using the Set Configuration command. Each parameter is returned as a TLV data object.

Parameters
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcConnect()

int com.idtechproducts.device.IDT_NEO2.device_rrcConnect ( )

Use this function to allow a host to establish an RRC connection to a reader

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcDisconnect()

int com.idtechproducts.device.IDT_NEO2.device_rrcDisconnect ( )

Use this function to allow a host to terminate its existing RRC connection to a reader

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcDownloadApp()

int com.idtechproducts.device.IDT_NEO2.device_rrcDownloadApp ( String  zipFileName,
String  appName 
)

Use this function to transfer a compressed application file from a host to the reader, extracts it, and performs signature verification on its contents.

Parameters
zipFileNameThe zip file name
appNameApplication Name in ASCII
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcInstallApp()

int com.idtechproducts.device.IDT_NEO2.device_rrcInstallApp ( String  appName)

Use this function to install an application on a reader device

Parameters
appNameApplication Name in ASCII
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcRunApp()

int com.idtechproducts.device.IDT_NEO2.device_rrcRunApp ( String  appName)

Use this function to run an application on a reader device

Parameters
appNameApplication Name in ASCII
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_rrcUninstallApp()

int com.idtechproducts.device.IDT_NEO2.device_rrcUninstallApp ( String  appName)

Use this function to uninstall an application on a reader device

Parameters
appNameApplication Name in ASCII
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_sendDataCommand() [1/2]

int com.idtechproducts.device.IDT_NEO2.device_sendDataCommand ( String  cmd,
boolean  calcLRC,
String  data,
ResDataStruct  respData 
)

Sends a Direct Command Sends a NEO IDG ViVOtech 2.0 command

Parameters
cmdTwo bytes command (including subCommand) as per NEO IDG Reference Guide (UniPayIII)
calcLRCNot used for IDG devices
dataCommand data (if applicable) for IDG devices
respDataReturns response ResDataStruct.resData. Status Code in ResDataStruct.statusCode
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_sendDataCommand() [2/2]

int com.idtechproducts.device.IDT_NEO2.device_sendDataCommand ( String  cmd,
boolean  calcLRC,
String  data,
ResDataStruct  respData,
int  timeout 
)

Sends a Direct Command Sends a NEO IDG ViVOtech 2.0 command

Parameters
cmdTwo bytes command (including subCommand) as per NEO IDG Reference Guide (UniPayIII)
calcLRCNot used for IDG devices
dataCommand data (if applicable) for IDG devices
respDataReturns response in ResDataStruct.resData. Status Code in ResDataStruct.statusCode
timeoutCommand timeout in seconds
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setBluetoothParameters()

int com.idtechproducts.device.IDT_NEO2.device_setBluetoothParameters ( String  name,
byte []  oldPassword,
byte []  newPassword 
)

Retrieves Audio Jack setting.

Parameters
respDatathe response will be stored in respData.resData respData.resData[0]: baud rate of the device connected.
respData.resData[1]: level option of the device output signals.
respData.resData[2]: the number of prefix "55", and end with "66".
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode Set Bluetooth Parameters

Sets the Bluetooth parameters for the device.

Parameters
nameThe string of the Bluetooth ID of the device
oldPassword6 bytes of the old password
newPassword6 bytes of the new password
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setBurstMode()

int com.idtechproducts.device.IDT_NEO2.device_setBurstMode ( byte  mode)

Set Burst Mode

Sets the burst mode for the device.

Parameters
mode0 = OFF, 1 = Always On, 2 = Auto Exit
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setDeviceType() [1/2]

boolean com.idtechproducts.device.IDT_NEO2.device_setDeviceType ( ReaderInfo.DEVICE_TYPE  deviceType)

Defines connection Bluetooth

Parameters
deviceTypeDEVICE_TYPE.DEVICE_NEO2_BT

◆ device_setDeviceType() [2/2]

boolean com.idtechproducts.device.IDT_NEO2.device_setDeviceType ( ReaderInfo.DEVICE_TYPE  deviceType,
int  PID 
)

Defines connection USB

Parameters
deviceTypeDEVICE_TYPE.DEVICE_NEO2_USB

◆ device_setMerchantRecord()

int com.idtechproducts.device.IDT_NEO2.device_setMerchantRecord ( int  index,
boolean  enabled,
String  merchantID,
String  merchantURL 
)

Set Merchant Record

Sets the burst mode for the device.

Parameters
indexMerchant Record Index. The valid value is 1–6.
enabled1: The Merchant ID is valid, 0: The Merchant ID is not valid.
merchantIDThe tag is 9F25.
merchantURLThe tag is 9F29.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setNEOGen()

void com.idtechproducts.device.IDT_NEO2.device_setNEOGen ( int  gen)

Set the generation for the NEO 2 or 3 readers

Parameters
genThe generation of the NEO 2/3 readers. 2: NEO 2, 3: NEO 3

◆ device_setPackageDownloadDelay()

static boolean com.idtechproducts.device.IDT_NEO2.device_setPackageDownloadDelay ( int  delay)
static

Sets the package download delay for Bluetooth Tells the SDK what delay should be used during the package download for Bluetooth

Parameters
delaytime interval in ms from 20 to 50
Returns
true if success, false if failed

◆ device_setPollMode()

int com.idtechproducts.device.IDT_NEO2.device_setPollMode ( byte  mode)

Set Poll Mode

Sets the poll mode for the device. Auto Poll keeps reader active, Poll On Demand only polls when requested by terminal

Parameters
mode0 = Auto Poll, 1 = Poll On Demand
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

◆ device_setRTCDateTime()

int com.idtechproducts.device.IDT_NEO2.device_setRTCDateTime ( byte []  dateTime)

set RTC date and time of the device

Parameters
dateTime<dateTime data>=""> is: 6 byte data for yyMMddHHmmss in hex. For example 0x171003102543 stands for 2017 Oct 3rd 10:25:43
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setSource()

int com.idtechproducts.device.IDT_NEO2.device_setSource ( byte []  data)

Set Source for RTC/LCD/Buzzer/LED

Set up the source for RTC/LCD/Buzzer/LED on the ViVOpay reader.

Parameters
datathe 2-byte source configuration for RTC/LCD/Buzzer/LED

Data Byte1 Definition:

Bit7 Bit6 | Bit5 Bit4 | Bit3 Bit2 | Bit1 Bit0

Reserved | RTC | LCD | Buzzer

Buzzer: 00 Don’t use Buzzer 01 Use Buzzer from ViVOpay reader 10 Use Buzzer from external source 11 Use Buzzer from both reader and external source

LCD: 00 Don’t use LCD 01 Use LCD from ViVOpay reader 10 Use LCD from external source 11 Use LCD from both reader and external source

RTC: 00 Don’t use RTC 01 Use RTC from ViVOpay reader 10 Not allowed 11 Not allowed

Data Byte2 Definition:

Bit7 Bit6 | Bit5 Bit4 | Bit3 Bit2 | Bit1 Bit0

Reserved | Reserved | Power LED | Transaction LED

Transaction LED: 00 Don’t use transaction LED 01 Use transaction LED from ViVOpay reader 10 Use transaction LED from external source 11 Use transaction LED from both reader and external source

Power LED: 00 Don’t use power LED 01 Use power LED from ViVOpay reader 10 Use power LED from external source 11 Use power LED from both reader and external source

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_setSymmetric_RKI_URL()

void com.idtechproducts.device.IDT_NEO2.device_setSymmetric_RKI_URL ( String  srki_url)

Set symmetric RKI URL.

Parameters
srki_urlThe URL for symmetric RKI

◆ device_startRKI() [1/4]

int com.idtechproducts.device.IDT_NEO2.device_startRKI ( )

Start remote key injection.

Returns
success or error code.
See also
ErrorCode

◆ device_startRKI() [2/4]

int com.idtechproducts.device.IDT_NEO2.device_startRKI ( boolean  isDemo)

Start remote key injection.

Parameters
isDemoTRUE: for demo unit, FALSE: for production unit.
Returns
success or error code.
See also
ErrorCode

◆ device_startRKI() [3/4]

int com.idtechproducts.device.IDT_NEO2.device_startRKI ( String  Key,
boolean  isDemo 
)

Start remote key injection with Selectable Key.

Parameters
KeySelectable Key.
isDemoTRUE: for demo unit, FALSE: for production unit.
Returns
success or error code.
See also
ErrorCode

◆ device_startRKI() [4/4]

int com.idtechproducts.device.IDT_NEO2.device_startRKI ( String  Key)

Start remote key injection with Selectable Key.

Returns
success or error code.
See also
ErrorCode

◆ device_startTransaction() [1/2]

int com.idtechproducts.device.IDT_NEO2.device_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags 
)

Use Gen2 or Gen4 server.

Parameters
isGen2TRUR: use Gen2 URL, FALSE: use Gen4 URL start Auto Config to search the profile.
strXMLFilenameInput the customized XML file as the templates to search the profile.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode stop Auto Config.
Returns
null. Start Device Transaction Request

Authorizes the MSR (or CTLS) or EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_startTransaction() [2/2]

int com.idtechproducts.device.IDT_NEO2.device_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags,
boolean  isFastEMV 
)

Start Device Transaction Request

Authorizes the MSR (or CTLS) or EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37
isFastEMVIf TRUE, it will populate the IDTTransactionData.fastEMV with ASCII data similar to IDTech FastEMV KB output, after performing an auto-authenticate and auto-complete with ResultCode = Could Not Contact Host
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_updateFirmware() [1/2]

int com.idtechproducts.device.IDT_NEO2.device_updateFirmware ( byte []  data,
FIRMWARE_UPDATE_TYPES  ft 
)

DEVICE INFO API Update the firmware of device.

Parameters
datafor all the block data of the firmware fm file.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ device_updateFirmware() [2/2]

int com.idtechproducts.device.IDT_NEO2.device_updateFirmware ( String []  commands)

DEVICE INFO API Update the firmware of device.

Parameters
commandsfor all the lines/commands of the firmware text file.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_allowFallback()

static void com.idtechproducts.device.IDT_NEO2.emv_allowFallback ( boolean  allow)
static

Allow fallback for EMV transactions. Default is TRUE

Parameters
allowTRUE = allow fallback, FALSE = don't allow fallback

◆ emv_authenticateTransaction()

int com.idtechproducts.device.IDT_NEO2.emv_authenticateTransaction ( byte []  tags)

Authenticate EMV Transaction Request

Authenticates the EMV transaction for an ICC card. Execute this after receiving response with result code 0x10 to emv_startTransaction

The tags will be returned in the callback routine.

Parameters
tagsTLV stream that can be used to update the following values:
  • 9F02: Amount
  • 9F03: Other amount
  • 9C: Transaction type
  • 5F57: Account type In addition tag DFEE1A can be sent to specify tag list to include in results. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_callbackResponsePIN()

int com.idtechproducts.device.IDT_NEO2.emv_callbackResponsePIN ( int  mode,
byte []  KSN,
byte []  PIN 
)

Callback Response PIN Request

Provides PIN data to the kernel after a callback was received pinRequest delegate.

Parameters
modePIN Mode:
  • EMV_PIN_MODE_CANCEL = 0X00,
  • EMV_PIN_MODE_ONLINE_PIN_DUKPT = 0X01,
  • EMV_PIN_MODE_ONLINE_PIN_MKSK = 0X02,
  • EMV_PIN_MODE_OFFLINE_PIN = 0X03
KSNKey Serial Number. If no pairing and PIN is plaintext, value is nil
PINPIN data, encrypted. If no pairing, PIN will be sent plaintext
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ emv_cancelTransaction()

int com.idtechproducts.device.IDT_NEO2.emv_cancelTransaction ( ResDataStruct  respData)

Cancel EMV Transaction

Cancels the currently executing EMV transaction.

Parameters
respDataerror code will be stored in respData.statusCode
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_completeTransaction()

int com.idtechproducts.device.IDT_NEO2.emv_completeTransaction ( boolean  commError,
byte []  authCode,
byte []  iad,
byte []  tlvScripts,
byte []  tags 
)

Complete EMV Transaction Request

Completes the EMV transaction for an ICC card when online authorization request is received from emv_authenticateTransaction

The tags will be returned in the callback routine.

Parameters
commErrorCommunication error with host. Set to TRUE if host was unreachable, or FALSE if host response received. If Communication error, authCode, iad, tlvScripts can be null.
authCodeAuthorization code from host. Two bytes. Example 0x3030. (Tag value 8A). Required
iadIssuer Authentication Data, if any. Example 0x11223344556677883030 (tag value 91).
tlvScripts71/72 scripts, if any
tagsAdditional TLV data to return with transaction results (if any)
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getAutoAuthenticateTransaction()

static boolean com.idtechproducts.device.IDT_NEO2.emv_getAutoAuthenticateTransaction ( )
static

Gets Auto Authentication for EMV Transactions Check the boolean value of Auto Authentication.

◆ emv_getAutoCompleteTransaction()

static boolean com.idtechproducts.device.IDT_NEO2.emv_getAutoCompleteTransaction ( )
static

Gets Auto Completion for EMV Transactions Check the boolean value of Auto Completion.

◆ emv_getEMVConfigurationCheckValue()

int com.idtechproducts.device.IDT_NEO2.emv_getEMVConfigurationCheckValue ( ResDataStruct  respData)

Get EMV Kernel configuration check value info

Parameters
respDataResponse returned of Kernel configuration check value info
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getEMVKernelCheckValue()

int com.idtechproducts.device.IDT_NEO2.emv_getEMVKernelCheckValue ( ResDataStruct  respData)

Get EMV Kernel check value info

Parameters
respDataResponse returned of Kernel check value info will be stored in respData.resData
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_getEMVKernelVersion()

int com.idtechproducts.device.IDT_NEO2.emv_getEMVKernelVersion ( StringBuilder  version)

Polls device for EMV Kernel Version

Parameters
versionResponse returned of Kernel Version
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_lcdControlResponse()

void com.idtechproducts.device.IDT_NEO2.emv_lcdControlResponse ( byte  mode,
byte  selection 
)

Callback Response LCD Display

Provides menu selection responses to the kernel after a callback was received lcdDisplay delegate.

Parameters
modeThe choices are as follows
  • 0x00 Cancel
  • 0x01 Menu Display
  • 0x02 Normal Display get Function Key supply either 0x43 ('C') for Cancel, or 0x45 ('E') for Enter/accept
  • 0x08 Language Menu Display
selectionLine number in hex (0x01, 0x02), or 'C'/'E' of function key
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

◆ emv_removeApplicationData()

int com.idtechproducts.device.IDT_NEO2.emv_removeApplicationData ( String  aid,
ResDataStruct  respData 
)

Remove Application Data

Removes the Application Data as specified by the AID name passed as a parameter

Parameters
aidAid file to remove.
respDataStatus Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeCAPK()

int com.idtechproducts.device.IDT_NEO2.emv_removeCAPK ( byte []  capk,
ResDataStruct  respData 
)

Remove Certificate Authority Public Key

Removes the CAPK as specified by the RID/Index

Parameters
capk6 byte CAPK = 5 bytes RID + 1 byte INDEX
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeCRL()

int com.idtechproducts.device.IDT_NEO2.emv_removeCRL ( byte []  crlList,
ResDataStruct  respData 
)

Remove Certificate Revocation List Entries

Removes CRLEntries as specified by the RID and Index and serial number passed as 9 bytes

Parameters
crlListcontaining the list of CRL to remove: [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number]
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_removeTerminalData()

int com.idtechproducts.device.IDT_NEO2.emv_removeTerminalData ( ResDataStruct  respData)

Remove Terminal Data

Removes the Terminal Data.

Parameters
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveAidList()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveAidList ( ResDataStruct  respData)

Retrieve Aid List

Returns all the AID names installed on the terminal.

Parameters
respDataArray of AID string names passed back in ResDataStruct.stringArray. Status Code in ResDataStruct.statusCode. If no AIDs exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveApplicationData()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveApplicationData ( String  aid,
ResDataStruct  respData 
)

Retrieve Application Data

Retrieves the TLV values of a provide AID.

Parameters
aidAid file to retrieve.
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no application data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCAPK()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveCAPK ( byte []  capk,
ResDataStruct  respData 
)

Retrieve Certificate Authority Public Key

Retrieves the CAPK as specified by the RID/Index passed as a parameter.

Parameters
capk6 bytes CAPK = 5 bytes RID + 1 byte Index
respDataResponse returned in ResDataStruct.resData: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus] Where:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCAPKList()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveCAPKList ( ResDataStruct  respData)

Retrieve the Certificate Authority Public Key list

Returns all the CAPK RID and Index installed on the terminal.

Parameters
respDataResDataStruct.resData = [key1][key2]...[keyn], each key 6 bytes where key = 5 bytes RID + 1 byte index
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveCRL()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveCRL ( ResDataStruct  respData)

Retrieve the Certificate Revocation List

Returns the CRL entries on the terminal.

Parameters
respDatakey Response returned in ResDataStruct.resData: list [CRL1][CRL2]...[CRLn], each CRL 9 bytes where CRL = 5 bytes RID + 1 byte index + 3 bytes serial number
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveTerminalData()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveTerminalData ( ResDataStruct  respData)

Retrieve Terminal Data

Retrieves the TLV values of a the terminal.

Parameters
respDataReturns TLV in ResDataStruct.resData. Status Code in ResDataStruct.statusCode. If no terminal data exists, status code will be 0x60
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_retrieveTransactionResult()

int com.idtechproducts.device.IDT_NEO2.emv_retrieveTransactionResult ( byte []  tags,
Map< String, Map< String, byte[]>>  retrievedTags 
)

Retrieve Transaction Results

Retrieves specified EMV tags from the currently executing transaction.

Parameters
tagsTags to be retrieved. Example 0x9F028A will retrieve tags 9F02 and 8A
retrievedTagsAll requested tags returned as unencrypted, encrypted and masked tags. The tlv Map will contain a Map with key "tags" that has the unencrypted tag data, a Map with the key "masked" that has the masked tag data, and a Map with the key "encrypted" that has the encrypted tag data
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ emv_setApplicationData()

int com.idtechproducts.device.IDT_NEO2.emv_setApplicationData ( String  name,
byte []  tlv,
ResDataStruct  respData 
)

Set Application Data

Sets the Application Data as specified by the application name and TLV data

Parameters
nameApplication name, 10-32 ASCII hex characters representing 5-16 bytes Example "a0000000031010"
tlvApplication data in TLV format.
respDataStatus Code in ResDataStruct.statusCode. If AID list is full, status code will be 0x61. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setAutoAuthenticateTransaction()

static void com.idtechproducts.device.IDT_NEO2.emv_setAutoAuthenticateTransaction ( boolean  auto)
static

Sets Auto Authentication for EMV Transactions Tells the SDK to automatically execute Authenticate Transaction after StartEMV Transaction. TRUE by default

Parameters
autotrue = auto authentication on false = auto authentication off

◆ emv_setAutoCompleteTransaction()

static void com.idtechproducts.device.IDT_NEO2.emv_setAutoCompleteTransaction ( boolean  auto)
static

Sets Auto Completion for EMV Transactions Tells the SDK to automatically execute Complete Transaction after EMV Authentication. FALSE by default

Parameters
autotrue = auto complete on false = auto complete off

◆ emv_setCAPK()

int com.idtechproducts.device.IDT_NEO2.emv_setCAPK ( byte []  key,
ResDataStruct  respData 
)

Set Certificate Authority Public Key

Sets the CAPK as specified by the CAKey structure

Parameters
keyCAKey format: [5 bytes RID][1 byte Index][1 byte Hash Algorithm][1 byte Encryption Algorithm][20 bytes HashValue][4 bytes Public Key Exponent][2 bytes Modulus Length][Variable bytes Modulus][2 bytes MAC Length][Variable bytes MAC Data] Where:
  • Hash Algorithm: The only algorithm supported is SHA-1.The value is set to 0x01
  • Encryption Algorithm: The encryption algorithm in which this key is used. Currently support only one type: RSA. The value is set to 0x01.
  • HashValue: Which is calculated using SHA-1 over the following fields: RID & Index & Modulus & Exponent
  • Public Key Exponent: Actually, the real length of the exponent is either one byte or 3 bytes. It can have two values: 3 (Format is 0x00 00 00 03), or 65537 (Format is 0x00 01 00 01)
  • Modulus Length: LenL LenH Indicated the length of the next field.
  • Modulus: This is the modulus field of the public key. Its length is specified in the field above.
  • MAC Length: LenL LenH Indicated the length of the next field. For Non-PCI device, it is 0x00 0x00. For PCI device, it is 0x1E 0x00.
  • MAC Data: For Non-PCI device, i does not exist. For PCI device, it is 30 bytes data consists of [2 bytes MAC Value Length][16 bytes MAC Value][2 bytes MAC Key KSN Length][10 bytes MAC Key KSN] Where:
    • MAC Value Length: 0x10 0x00
    • MAC value: MAC-HOST.
    • MAC Key KSN Length: 0x0A 0x00
    • MAC Key KSN: MAC DUKPT Key KSN
respDataStatus Code in ResDataStruct.statusCode.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setCRL()

int com.idtechproducts.device.IDT_NEO2.emv_setCRL ( byte []  crlList,
ResDataStruct  respData 
)

Set Certificate Revocation List

Sets the CRL

Parameters
crlListEntries containing the RID, Index, and serial numbers to set [CRL1][CRL2]...[CRLn] where each [CRL] is 9 bytes: [5 bytes RID][1 byte CAPK Index][3 bytes serial number]
respDataerror code will be stored in respData.statusCode
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setTerminalData()

int com.idtechproducts.device.IDT_NEO2.emv_setTerminalData ( byte []  TLV,
ResDataStruct  respData 
)

Set Terminal Data

Sets the Terminal Data as specified by the TerminalData structure passed as a parameter

Parameters
TLVTerminalData configuration file.
respDataStatus Code in ResDataStruct.statusCode. If Flash error, status code will be 0x62. Format error status code 0x05
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setTerminalMajorConfiguration()

int com.idtechproducts.device.IDT_NEO2.emv_setTerminalMajorConfiguration ( int  configuration)

Sets the terminal major configuration in ICS .

Parameters
configurationA configuration value, range 1-23
  • 1 = 1C
  • 2 = 2C
  • 3 = 3C
  • 4 = 4C
  • 5 = 5C ...
  • 23 = 23C
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ emv_setTransactionParameters()

void com.idtechproducts.device.IDT_NEO2.emv_setTransactionParameters ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags 
)

Set EMV Transaction Parameters

Set the parameters to be used on EMV transactions for an ICC card when Auto Poll is on and Burst Mode is off

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a string. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method. Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37

◆ emv_startTransaction()

int com.idtechproducts.device.IDT_NEO2.emv_startTransaction ( double  amount,
double  amtOther,
int  type,
final int  timeout,
byte []  tags,
boolean  forceOnline 
)

Start EMV Transaction Request

Authorizes the EMV transaction for an ICC card

The tags will be returned in the callback routine.

Parameters
amountTransaction amount value (tag value 9F02)
amtOtherOther amount value, if any (tag value 9F03)
typeTransaction type (tag value 9C).
timeoutTimeout value in seconds.
tagsAny other tags to be included in the request. Passed as a byte array. Example, tag 9F02 with amount 0x000000000100 would be "9F0206000000000100" If tags 9F02 (amount),9F03 (other amount), or 9C (transaction type) are included, they will take priority over these values supplied as individual parameters to this method.
forceOnlineTRUE = do not allow offline approval, FALSE = allow ICC to approve offline if terminal capable Note: To request tags to be included in default response, use tag DFEE1A, and specify tag list. Example four tags 9F02, 9F36, 95, 9F37 to be included in response = DFEE1A079F029F369f9F37
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_authentication()

int com.idtechproducts.device.IDT_NEO2.felica_authentication ( byte []  key)

FeliCa Authentication Provides a key to be used in a follow up FeliCa Read with MAC (3 blocks max) or Write with MAC (1 block max). This command must be executed before each Read w/MAC or Write w/MAC command

Parameters
key16 byte key used for MAC generation of Read or Write with MAC
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_poll()

int com.idtechproducts.device.IDT_NEO2.felica_poll ( byte []  systemCode,
ResDataStruct  respData 
)

FeliCa Poll for Card

Polls for a Felica Card

Parameters
systemCodeSystem Code. Must be 2 bytes
respDataresponse data will be stored in respData.resData. Poll response as explained in FeliCA Lite-S User's Manual
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_read()

int com.idtechproducts.device.IDT_NEO2.felica_read ( byte []  serviceCodeList,
int  blockCnt,
byte []  blockList,
ResDataStruct  respData 
)

FeliCa Read

Reads up to 4 blocks.

Parameters
serviceCodeListService Code List. Each service code in Service Code List = 2 bytes of data
blockCntNumber of blocks in blockList. Maximum 4 block requests
blockListBlock to read. Each block in blockList = 2 or 3 bytes of data.
respDataBlocks read will be stored in respData.resData. Each block 16 bytes.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_readWithMac()

int com.idtechproducts.device.IDT_NEO2.felica_readWithMac ( int  blockCnt,
byte []  blockList,
ResDataStruct  respData 
)

FeliCa Read with MAC Generation

Reads up to 3 blocks with MAC Generation.  FeliCa Authentication must be performed first
Parameters
blockCntNumber of blocks in blockList. Maximum 3 block requests
blockListBlock to read. Each block in blockList = 2 or 3 bytes of data.
respDataBlocks read will be stored in respData.resData. Each block 16 bytes.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_requestService()

int com.idtechproducts.device.IDT_NEO2.felica_requestService ( byte []  nodeCode,
ResDataStruct  respData 
)

FeliCa Request Service

Request Service for a Felica Card

Parameters
nodeCodeNode Code List. Each node 2 bytes
respDataresponse data will be stored in respData.resData. Response as explained in FeliCA Lite-S User's Manual
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_SendCommand()

int com.idtechproducts.device.IDT_NEO2.felica_SendCommand ( byte  command[],
ResDataStruct  respData 
)

FeliCa Send Command

Send a Felica Command

Parameters
commandCommand data from settlement center to be sent to felica card
respDataresponse data will be stored in respData.resData. Response as explained in FeliCA Lite-S User's Manual
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_write()

int com.idtechproducts.device.IDT_NEO2.felica_write ( byte []  serviceCodeList,
int  blockCnt,
byte []  blockList,
byte []  blockData,
ResDataStruct  respData 
)

FeliCa Write

Writes a block

Parameters
serviceCodeListService Code List. Each service code in Service Code List = 2 bytes of data
blockCntNumber of blocks in blockList. Currently only support 1 block.
blockListBlock list. Each block in blockList = 2 or 3 bytes of data.
blockDataBlock to write. Must be 16 bytes.
respDataIf successful, the Status Flag (2 bytes) is stored in respData.resData. Status flag response as explained in FeliCA Lite-S User's Manual, Section 4.5
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ felica_writeWithMac()

int com.idtechproducts.device.IDT_NEO2.felica_writeWithMac ( byte  blockNum,
byte []  blockData 
)

FeliCa Write with MAC Generation

Writes a block with MAC Generation. FeliCa Authentication must be performed first

Parameters
blockNumNumber of block
blockDataBlock to write. Must be 16 bytes.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ forwardTransaction()

int com.idtechproducts.device.IDT_NEO2.forwardTransaction ( WorldpayListener  callback,
String  forwardID,
String  password,
boolean  bypassProcessing 
)

forwardTransaction Send the saved data to WorldPay and complete the transaction.

Parameters
callbackcallback is the callback to send the results. Should the the same as executeTransaction callback.
forwardID= ID, which could be either unique ID or Memo.
password= password. If null/blank, no password.
bypassProcessing= true means read the file from disk, but don't send to WorldPay, then delete the transaction as if you did send to WorldPay. The purpose of this is to allow them to delete transactions from the storage without sending to WorldPay.
Returns
RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()

◆ getSDKInstance()

static IDT_Device com.idtechproducts.device.IDT_NEO2.getSDKInstance ( )
static

Returns an instance of the currently initialized IDT_Device class.

Returns
IDT_Device instance

◆ icc_exchangeAPDU()

int com.idtechproducts.device.IDT_NEO2.icc_exchangeAPDU ( byte []  dataAPDU,
ResDataStruct  response 
)

Exchange APDU

Sends an APDU packet to the ICC. If successful, response is returned in APDUResult class instance in response parameter.

Parameters
dataAPDUAPDU data packet
responseUnencrypted/encrypted parsed APDU response will be stored in response.resData
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_getICCReaderStatus()

int com.idtechproducts.device.IDT_NEO2.icc_getICCReaderStatus ( ICCReaderStatusStruct  ICCStatus)

Get Reader Status

Returns the reader status

Parameters
ICCStatusPointer that will return with the ICCReaderStatus results. bit 0: 0 = ICC Power Not Ready, 1 = ICC Powered bit 1: 0 = Card not seated, 1 = card seated
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_passthroughOffICC()

int com.idtechproducts.device.IDT_NEO2.icc_passthroughOffICC ( )

Disables pass through mode for ICC. Required when executing transactions (start EMV, start MSR, authenticate transaction)

Returns
success or error code.
See also
ErrorCode

◆ icc_passthroughOnICC()

int com.idtechproducts.device.IDT_NEO2.icc_passthroughOnICC ( )

Enables pass through mode for ICC. Required when direct ICC commands are required (power on/off ICC, exchange APDU)

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ icc_powerOffICC()

int com.idtechproducts.device.IDT_NEO2.icc_powerOffICC ( ResDataStruct  respData)

Power Off ICC

Powers down the ICC

Parameters
respDatathe response code will be stored in respData.statusCode
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode If Success, empty If Failure, ASCII encoded data of error string

◆ icc_powerOnICC()

int com.idtechproducts.device.IDT_NEO2.icc_powerOnICC ( ResDataStruct  atrPPS)

Power up the currently selected microprocessor card in the ICC reader. It follows the ISO7816-3 power up sequence and returns the ATR as its response.

Parameters
atrPPSthe class for ATR string.
the ATR string is following:
  1. 2D01: Card Not Supported;
  2. 2D03: Card Not Supported, wants CRC;
  3. 690D: Command not supported on reader without ICC support;
  4. 8100: ICC error time out on power-up;
  5. 8200: invalid TS character received;
  6. 8500: PPS confirmation error;
  7. 8600: Unsupported F, D, or combination of F and D;
  8. 8700: protocol not supported EMV TD1 out of range;
  9. 8800: power not at proper level;
  10. 8900: ATR length too long;
  11. 8B01: EMV invalid TA1 byte value*;
  12. 8B02: EMV TB1 required*;
  13. 8B03: EMV Unsupported TB1 only 00 allowed*;
  14. 8B04: EMV Card Error, invalid BWI or CWI*;
  15. 8B06: EMV TB2 not allowed in ATR*;
  16. 8B07: EMV TC2 out of range*;
  17. 8B08: EMV TC2 out of range*;
  18. 8B09: per EMV96 TA3 must be > 0xF*;
  19. 8B10: ICC error on power-up;
  20. 8B11: EMV T=1 then TB3 required*;
  21. 8B12: Card Error, invalid BWI or CWI;
  22. 8B13: Card Error, invalid BWI or CWI;
  23. 8B17: EMV TC1/TB3 conflict*;
  24. 8B20: EMV TD2 out of range must be T=1*;
  25. 8C00: TCK error;
  26. A304: connector has no voltage setting;
  27. A305: ICC error on power-up invalid (SBLK(IFSD) exchange;
  28. E301: ICC error after session start
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_addButton()

int com.idtechproducts.device.IDT_NEO2.lcd_addButton ( String  screenName,
String  buttonName,
byte  type,
byte  alignment,
int  xCord,
int  yCord,
String  label,
IDTLCDData  returnItem 
)

Add Button

Adds a button to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add button
buttonNameButton name that will be the target of add button
typeButton Type
  • Large = 0x01
  • Medium = 0x02
  • Invisible = 0x03 (70px by 60 px)
alignmentPosition for Button
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x andy
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for Button, range 0-271
yCordy-coordinate for Button, range 0-479
labelLabel to show on the button. Required for Large/Medium buttons. Not used for Invisible buttons.
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created button
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_addEthernet()

int com.idtechproducts.device.IDT_NEO2.lcd_addEthernet ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
IDTLCDData  returnItem 
)

Add Ethernet Settings

Adds an Ethernet settings to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add widget
objectNameObject name that will be the target of add widget
alignmentPosition for widget
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x and y
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for widget, range 0-271
yCordy-coordinate for widget, range 0-479
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created widget
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20

◆ lcd_addExtVideo()

int com.idtechproducts.device.IDT_NEO2.lcd_addExtVideo ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
byte  loop,
byte  numVideos,
String  filenames,
IDTLCDData  returnItem 
)

Add Extended Video

Adds a extended video to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add video
objectNameObject name that will be the target of add video
alignmentPosition for Video
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x and y
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for Video, range 0-271
yCordy-coordinate for Video, range 0-479
looploop the videos when it's done. 0: Do not Loop 1: Loop
numVideosnumber of video files, range 1-4
filenamesFilenames of the videos separated by '\0'. Must be available in the sd card.
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created video
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20
video 1

◆ lcd_addImage()

int com.idtechproducts.device.IDT_NEO2.lcd_addImage ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
String  filename,
IDTLCDData  returnItem 
)

Add Image

Adds a image to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add image
objectNameObject name that will be the target of add image
alignmentPosition for Image
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x and y
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for Image, range 0-271
yCordy-coordinate for Image, range 0-479
filenameFilename of the image. Must be available in device memory.
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created image
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20

◆ lcd_addLED()

int com.idtechproducts.device.IDT_NEO2.lcd_addLED ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
IDTLCDData  returnItem,
byte []  LED 
)

Add LED

Adds a LED widget to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add LED
objectNameObject name that will be the target of add LED
alignmentPosition for LED
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x andy
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for LED, range 0-271
yCordy-coordinate for LED, range 0-479
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created widget
LEDMust be 4 bytes, LED 0 = byte 0, LED 1 = byte 1, LED 2 = byte 2, LED 3 = byte 3
  • Value 0 = LED OFF
  • Value 1 = LED Green
  • Value 2 = LED Yellow
  • Value 3 = LED Red
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20

◆ lcd_addText()

int com.idtechproducts.device.IDT_NEO2.lcd_addText ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
int  width,
int  height,
byte  fontID,
byte []  color,
String  label,
IDTLCDData  returnItem 
)

Add text

Adds a text component to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add text
objectNameObject name that will be the target of add text
alignmentPosition for Text
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x and y
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for Text, range 0-271
yCordy-coordinate for Text, range 0-479
widthWidth of text area
heightHeight of text area
fontIDFont ID
colorFour bytes for color, example, Blue = 0xFF000000, Black = 0x00000000
  • Byte 0 = B
  • Byte 1 = G
  • Byte 2 = R
  • Byte 3 = Reserved
labelLabel to show on the text
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created text area
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Font ID Typography Name Font Size
0 RoundBold_12 RoundBold.ttf 12
1 RoundBold_18 RoundBold.ttf 18
2 RoundBold_24 RoundBold.ttf 24
3 RoundBold_36 RoundBold.ttf 36
4 RoundBold_48 RoundBold.ttf 48
5 RoundBold_60 RoundBold.ttf 60
6 RoundBold_72 RoundBold.ttf 72
7 RoundCondensedBold_12 RoundCondensedBold.ttf 12
8 RoundCondensedBold_18 RoundCondensedBold.ttf 18
9 RoundCondensedBold_24 RoundCondensedBold.ttf 24
10 RoundCondensedBold_36 RoundCondensedBold.ttf 36
11 RoundCondensedBold_48 RoundCondensedBold.ttf 48
12 RoundCondensedBold_60 RoundCondensedBold.ttf 60
13 RoundCondensedBold_72 RoundCondensedBold.ttf 72
14 RoundCondensedMedium_12 RoundCondensedMedium_0.ttf 12
15 RoundCondensedMedium_18 RoundCondensedMedium_0.ttf 18
16 RoundCondensedMedium_24 RoundCondensedMedium_0.ttf 24
17 RoundCondensedMedium_36 RoundCondensedMedium_0.ttf 36
18 RoundCondensedMedium_48 RoundCondensedMedium_0.ttf 48
19 RoundCondensedMedium_60 RoundCondensedMedium_0.ttf 60
20 RoundCondensedMedium_72 RoundCondensedMedium_0.ttf 72
21 RoundCondensedSemibold_12 RoundCondensedSemibold.ttf 12
22 RoundCondensedSemibold_18 RoundCondensedSemibold.ttf 18
23 RoundCondensedSemibold_24 RoundCondensedSemibold.ttf 24
24 RoundCondensedSemibold_36 RoundCondensedSemibold.ttf 36
25 RoundCondensedSemibold_48 RoundCondensedSemibold.ttf 48
26 RoundCondensedSemibold_60 RoundCondensedSemibold.ttf 60
27 RoundCondensedSemibold_72 RoundCondensedSemibold.ttf 72
28 RoundMedium_12 RoundMedium.ttf 12
29 RoundMedium_18 RoundMedium.ttf 18
30 RoundMedium_24 RoundMedium.ttf 24
31 RoundMedium_36 RoundMedium.ttf 36
32 RoundMedium_48 RoundMedium.ttf 48
33 RoundMedium_60 RoundMedium.ttf 60
34 RoundMedium_72 RoundMedium.ttf 72
35 RoundSemibold_12 RoundSemibold.ttf 12
36 RoundSemibold_18 RoundSemibold.ttf 18
37 RoundSemibold_24 RoundSemibold.ttf 24
38 RoundSemibold_36 RoundSemibold.ttf 36
39 RoundSemibold_48 RoundSemibold.ttf 48
40 RoundSemibold_60 RoundSemibold.ttf 60
41 RoundSemibold_72 RoundSemibold.ttf 72
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20

◆ lcd_addVideo()

int com.idtechproducts.device.IDT_NEO2.lcd_addVideo ( String  screenName,
String  objectName,
byte  alignment,
int  xCord,
int  yCord,
String  filename,
IDTLCDData  returnItem 
)

Add Video

Adds a video to a selected screen. Must execute lcd_createScreen first to establish a screen to draw on.

Parameters
screenNameScreen name that will be the target of add video
objectNameObject name that will be the target of add video
alignmentPosition for Video
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x and y
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
xCordx-coordinate for Video, range 0-271
yCordy-coordinate for Video, range 0-479
filenameFilename of the video. Must be available in the sd card.
returnItemThe item includes screen ID, object ID, top-left x-coordinate, top-left y-coordinate, bottom-right x-coordinate, bottom-left y-coordinate, which are all assigned to the created video
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
Item Maximum can be created for each screen
Text Area 20
Large Button 8
Medium Button 16
Invisible Button 16
Numeric Entry 1
Ethernet Setting 1
Led widget 1
image 20
video 1

◆ lcd_clearDisplay()

int com.idtechproducts.device.IDT_NEO2.lcd_clearDisplay ( )

Clear Display

Command to clear the display screen on the reader.It returns the display to the currently defined background color and terminates all events

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_clearScreenInfo()

int com.idtechproducts.device.IDT_NEO2.lcd_clearScreenInfo ( )

Clear Screen Info

Clear all current screen information in RAM and flash. And then show'power-on screen'

Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_cloneScreen()

int com.idtechproducts.device.IDT_NEO2.lcd_cloneScreen ( String  screenName,
String  cloneName,
IDTLCDData  returnItem 
)

Clone Screen

Clones an existing screen.

Parameters
screenNameScreen name to clone.
cloneNameName of the cloned screen.
returnItemScreen ID of the cloned screen will be returned in returnItem
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_createScreen()

int com.idtechproducts.device.IDT_NEO2.lcd_createScreen ( String  screenName,
IDTLCDData  returnItem 
)

Create Screen

Creates a new screen.

Parameters
screenNameScreen name to use.
returnItemincludes the Screen ID that was created.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_destroyScreen()

int com.idtechproducts.device.IDT_NEO2.lcd_destroyScreen ( String  screenName)

Destroy Screen

Destroys a previously created inactive screen. The screen cannot be active

Parameters
screenNameScreen name to destroy. The screen number is assigned with lcd_createScreen.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_getActiveScreen()

int com.idtechproducts.device.IDT_NEO2.lcd_getActiveScreen ( IDTLCDData  returnItem)

Get Active Screen

Returns the active screen ID.

Parameters
returnItemincludes the active Screen name.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ lcd_getAllObjects()

int com.idtechproducts.device.IDT_NEO2.lcd_getAllObjects ( String  screenName,
List< IDTLCDData IDTScreenInfos 
)

Get All Objects on Screen

Get all created objects' name on certain screen

Parameters
screenNameScreen name to get all objects
IDTScreenInfosThe list of IDTLCDData that contains all created objects each element includes -objectID of a created object -objectName of a created object
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_getAllScreens()

int com.idtechproducts.device.IDT_NEO2.lcd_getAllScreens ( List< IDTLCDData IDTScreenInfos)

Get All Screens

Get all created screens' name

Parameters
IDTScreenInfosArray of all created screens each element includes -screenID of a created screen -screenName of a created screen
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_getButtonEvent()

int com.idtechproducts.device.IDT_NEO2.lcd_getButtonEvent ( IDTLCDData  returnItem)

Get Button Event

Reports back the ID of the button that encountered a click event after the last Get Button Event.

Parameters
returnItemconbtains screenID, objectID, screenName, objectName, and longPressed of the button event screenID Screen ID of the last clicked button objectID Button ID of the last clicked button screenName Screen Name of the last clicked button screenNameLen Length of screenName objectName Button Name of the last clicked button objectNameLen Length of objectName longPress 1 = Long Press, 0 = Short Press
Returns
RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()

◆ lcd_linkUIWithTransactionMessageId()

int com.idtechproducts.device.IDT_NEO2.lcd_linkUIWithTransactionMessageId ( byte  MessageId,
String  screenName 
)

Link UI with Transaction Message ID

Link an existing Customer UI ID with a specified transaction message ID. During transaction, the linked System UI will be replaced by the linked Customer UI

Parameters
MessageIdTransaction Message ID: Refer to Doc “EMV Display Message ID Assignment” Selection by Customer
screenNameName of the screen (No longer than 32 bytes including the NULL character)
Returns
RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()

◆ lcd_loadScreenInfo()

int com.idtechproducts.device.IDT_NEO2.lcd_loadScreenInfo ( )

Load Screen Info

Load all current screen information from RAM to flash

Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_queryObjectbyID()

int com.idtechproducts.device.IDT_NEO2.lcd_queryObjectbyID ( int  objectID,
List< IDTLCDData IDTScreenInfos 
)

Queery Object by ID

Check if the given object exists or not. If exists, return all screen names which contains the object of the given object ID

Parameters
objectIDID of the checked object
IDTScreenInfosa list of IDTLCDData which contains screen names containing the item
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_queryObjectbyName()

int com.idtechproducts.device.IDT_NEO2.lcd_queryObjectbyName ( String  objectName,
List< IDTLCDData IDTScreenInfos 
)

Queery Object by Name

Check if the given object exists or not. If exists, return all screen names which contains the object of the given object name

Parameters
objectNameName of the checked object
IDTScreenInfosArray of all the screen names that contain the object
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_queryScreenbyID()

int com.idtechproducts.device.IDT_NEO2.lcd_queryScreenbyID ( int  screenID,
IDTLCDData  returnItem 
)

Query Screen by ID

Check if the given screen exists or not

Parameters
screenIDID of the checked screen
returnItemcontains the screenName of the checked screen
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_queryScreenbyName()

int com.idtechproducts.device.IDT_NEO2.lcd_queryScreenbyName ( String  screenName,
IDTLCDData  returnItem 
)

Queery Screen by Name

Check if the given screen exists or not

Parameters
screenNameName of the checked screen
returnItemreturn the checking result in returnItem
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_removeItem()

int com.idtechproducts.device.IDT_NEO2.lcd_removeItem ( String  screenName,
String  objectName 
)

Removed Item

Removes a component.

Parameters
screenNameScreen name where to remove the target from.
objectNameIdentifier of the component
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_setBacklight()

int com.idtechproducts.device.IDT_NEO2.lcd_setBacklight ( boolean  isBacklightOn,
byte  backlightVal 
)

Set Backlight

Set backlight percentage. If the percent > 100, it will be rejected. If 0 < percent < 10, backlight percent will be set to 10. If percent == 0, backlight will be turned off

Parameters
backlightValBacklight percent value to be sat
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_showScreen()

int com.idtechproducts.device.IDT_NEO2.lcd_showScreen ( String  screenName)

Show Screen

Displays and makes active a previously created screen.

Parameters
screenNameScreen to display. The screen name is defined with lcd_createScreen.
Returns
RETURN_CODE: Values can be parsed with device_getIDGStatusCodeString()

◆ lcd_storeScreenInfo()

int com.idtechproducts.device.IDT_NEO2.lcd_storeScreenInfo ( )

Store Screen Info

Store all current screen information from RAM to flash

Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_updateColor()

int com.idtechproducts.device.IDT_NEO2.lcd_updateColor ( String  screenName,
String  objectName,
byte []  color 
)

Update Color

Updates the component color, or updates the LED colors if specifying LCD component

Parameters
screenNameScreen name that will be the target of update color
objectNameIdentifier of the component
color
Non LCD Widget: Four bytes for color, example, Blue = 0xFF000000, Black = 0x00000000
  • Byte 0 = B
  • Byte 1 = G
  • Byte 2 = R
  • Byte 3 = Reserved LCD Widget: Four bytes for LED color, byte 0 = LED 0, byte 1 = LED 1, byte 2 = LED2, byte 3 = LED 3
  • Value 0 = LED OFF
  • Value 1 = LED Green
  • Value 2 = LED Yellow
  • Value 3 = LED Red
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_updateLabel()

int com.idtechproducts.device.IDT_NEO2.lcd_updateLabel ( String  screenName,
String  objectName,
String  label 
)

Update Label

Updates the component label.

Parameters
screenNameScreen name that will be the target of update label
objectNameIdentifier of the component
labelLabel to show on the component
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ lcd_updatePosition()

int com.idtechproducts.device.IDT_NEO2.lcd_updatePosition ( String  screenName,
String  objectName,
byte  alignment,
int  new_xCord,
int  new_yCord 
)

Update Position

Updates the component position.

Parameters
screenNameScreen Name that will be the target of update position
objectNameIdentifier of the component
alignmentAlignment for the target
  • 0 = Display object at the horizon center of specified y, while x ignored
  • 1 = Display object at specified x andy
  • 2 = Display object at center of screen, x, y are both ignored
  • 3 = Display object at left of the screen of specified y, while x ignored
  • 4 = Display object at right of the screen of specified y, while x ignored
new_xCordx-coordinate for Text, range 0-271
new_yCordy-coordinate for Text, range 0-479
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString

◆ log_deleteLogs()

int com.idtechproducts.device.IDT_NEO2.log_deleteLogs ( )

delete the log in the root path of SD card.

Returns
number of log files deleted
See also
log_setSaveLogEnable

◆ log_setSaveLogEnable()

void com.idtechproducts.device.IDT_NEO2.log_setSaveLogEnable ( boolean  enable)

Enable/Disable save the log into the root path of SD card.

Parameters
enabletrue: enable save the log, the log includes the .txt text log and .wav signals file. false: disable save the log.
Returns
none
See also
deleteLogs

◆ log_setVerboseLoggingEnable()

void com.idtechproducts.device.IDT_NEO2.log_setVerboseLoggingEnable ( boolean  enable)

Enable/Disable Verbose Logging show in the logcat view window.

Parameters
enabletrue: enable to show the log in the logcat view window. false: disable to show the log in the logcat view window.
Returns
none

◆ msr_cancelMSRSwipe()

int com.idtechproducts.device.IDT_NEO2.msr_cancelMSRSwipe ( )

Disable MSR swipe card.

Cancels MSR swipe request.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_defaultAllSetting()

int com.idtechproducts.device.IDT_NEO2.msr_defaultAllSetting ( )

Default all setting of Mask and Encryption.

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_startMSRSwipe() [1/2]

int com.idtechproducts.device.IDT_NEO2.msr_startMSRSwipe ( )

Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function. The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.

See also
OnReceiverListener
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ msr_startMSRSwipe() [2/2]

int com.idtechproducts.device.IDT_NEO2.msr_startMSRSwipe ( int  timeout)

Enable MSR swipe card. Returns encrypted MSR data or function key value by call back function.
The function swipeMSRData in interface OnReceiverListener will be called if swiping card data received.

See also
OnReceiverListener
Parameters
timeoutSwipe Timeout Value timeout value in seconds; maximum value is 255 seconds. If it is 0, it will be set to 5 seconds.
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ phone_getInfoManufacture()

String com.idtechproducts.device.IDT_NEO2.phone_getInfoManufacture ( )

Get manufacture version.

Returns
the manufacture info

◆ phone_getInfoModel()

String com.idtechproducts.device.IDT_NEO2.phone_getInfoModel ( )

Get phones's model number information.

Returns
the model number information.

◆ pin_cancelPINEntry()

int com.idtechproducts.device.IDT_NEO2.pin_cancelPINEntry ( )

Cancel PIN Entry

Cancels PIN entry request

Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ pin_displayMessageGetAmount()

int com.idtechproducts.device.IDT_NEO2.pin_displayMessageGetAmount ( byte  DisplayFlag,
byte  KeyMaxLen,
byte  KeyMinLen,
byte []  TextDisplayMsg,
byte []  DisplayMsgSig,
ResDataStruct  respData 
)

Display Message and Get Numeric Key

make device display requested message and then get Numeric Key sequence from device.

Parameters
DisplayFlagDisplay Flag reserved
KeyMaxLenThe max length for numeric key. Value is 1-15
KeyMinLenThe min length for numeric key. Value is 1-15
TextDisplayMsgPlaintext Display Message. ASCII code.
DisplayMsgSig256 bytes Display message signed by Numeric Private Key using RSAPSS algorithm. Algorithm:
  1. Calculate 32 bytes Hash for "<Display Flag><Key Max Length>< Key Min Length><Plaintext Display Message>"
  2. Using RSAPSS algorithm calculate the Hash to be 256 bytes Raw Data
  3. Using Numeric Private Key to sign the Raw Data to be 256 bytes signature
respDataStatus Code in ResDataStruct.statusCode.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString()

◆ pin_displayMessageGetEncryptedPIN()

int com.idtechproducts.device.IDT_NEO2.pin_displayMessageGetEncryptedPIN ( byte  PANKeyType,
byte []  PAN,
byte  PINMaxLen,
byte  PINMinLen,
byte []  LCDMsg,
ResDataStruct  respData 
)

Display Message and Get Encrypted PIN

make device display requested message and then get encrypted PIN from device.

Parameters
PANKeyTypePAN and Key Type. 00h – MKSK to encrypt PIN, Internal PAN (from MSR) 01h – DUKPT to encrypt PIN, Internal PAN (from MSR) 10h –MKSK to encrypt PIN, External Plaintext PAN 11h – DUKPT to encrypt PIN, External Plaintext PAN 20h –MKSK to encrypt PIN, External Ciphertext PAN 21h – DUKPT to encrypt PIN, External Ciphertext PAN
PANIf PAN is 00h, this field is not present. ASCII code for digital (30h-39h) If TDES PIN DUKPT Key, length is 16 bytes digital If AES PIN DUKPT Key, length is 12~19 bytes digital Device will check PAN length, if length is error, device will response fail state code
PINMaxLenMax Len of PIN, Value is 4-12
PINMinLenMin Len of PIN, Value is 4-12
LCDMsgIf LCD Length is 00h, this field is not present ASCII code Display Message
respDataStatus Code in ResDataStruct.statusCode.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString()

◆ pin_displayMessageGetNumericKey()

int com.idtechproducts.device.IDT_NEO2.pin_displayMessageGetNumericKey ( byte  DisplayFlag,
byte  KeyMaxLen,
byte  KeyMinLen,
byte []  TextDisplayMsg,
byte []  DisplayMsgSig,
ResDataStruct  respData 
)

Display Message and Get Numeric Key

make device display requested message and then get Numeric Key sequence from device.

Parameters
DisplayFlagDisplay Flag 0 - Display numeric for numeric key on LCD 1 - Display “*” for numeric key on LCD
KeyMaxLenThe max length for numeric key. Value is 1-16
KeyMinLenThe min length for numeric key. Value is 1-16
TextDisplayMsgPlaintext Display Message. ASCII code.
DisplayMsgSig256 bytes Display message signed by Numeric Private Key using RSAPSS algorithm. Algorithm:
  1. Calculate 32 bytes Hash for "<Display Flag><Key Max Length>< Key Min Length><Plaintext Display Message>"
  2. Using RSAPSS algorithm calculate the Hash to be 256 bytes Raw Data
  3. Using Numeric Private Key to sign the Raw Data to be 256 bytes signature
respDataStatus Code in ResDataStruct.statusCode.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString()

◆ pin_getFunctionKey()

int com.idtechproducts.device.IDT_NEO2.pin_getFunctionKey ( ResDataStruct  respData)

Get Function Key

get a single Keypress value from device.

Parameters
respDatathe response data will be stored in respData.resData if available
Returns
success or error code. Values can be parsed with device_getResponseCodeString
See also
ErrorCode

◆ registerListen()

void com.idtechproducts.device.IDT_NEO2.registerListen ( )

General API:registerListen.

registerListen to enable SDK detect the phone jack plug in/off notification

◆ release()

void com.idtechproducts.device.IDT_NEO2.release ( )

release, make the SDK in the idle status.

◆ setIDT_Device()

void com.idtechproducts.device.IDT_NEO2.setIDT_Device ( FirmwareUpdateTool  fwTool)

Sets the Device Type for NEO2 USB devices with the generation number (2 for NEO 2 and 3 for NEO 3) Tells the SDK what device type and PID to configure for For System Use Only

Parameters
fwToolParameter for firmware update

◆ unregisterListen()

void com.idtechproducts.device.IDT_NEO2.unregisterListen ( )

unregisterListen to disable the detect

◆ useUSBIntentFilter()

static void com.idtechproducts.device.IDT_NEO2.useUSBIntentFilter ( )
static

Use USB Intent Filter For USB Devices, you may opt to incorporate an Intent Filter that will automatically start your application when a specific USB device is attached. The SDK must be informed to bypass it's normal Enumeration of USB Devices when an Intent Filter is being use. This function MUST be called BEFORE device_setDeviceType() is executed if a USB Intent Filter is being utilized. https://developer.android.com/guide/topics/connectivity/usb/host.html


The documentation for this class was generated from the following file: