IDTech Windows SDK Guide  3.2.4.393
API reference for Visual Studio .Net
IDTechSDK.IDT_L80 Class Reference

Public Member Functions

RETURN_CODE device_getFirmwareVersion (ref string response, string ident="")
 
RETURN_CODE device_PKI_RKI (bool isProduction, string ident="", bool performOnForeground=false)
 
RETURN_CODE device_updateDeviceFirmware (byte[] firmwareData, string ident="")
 
RETURN_CODE device_sendPAE (string command, ref string response, int timeout, string ident="")
 
RETURN_CODE device_sendDataCommand (string cmd, bool calcLRC, ref byte[] response, string ident="")
 
RETURN_CODE device_sendDataCommand_ext (string cmd, bool calcLRC, ref byte[] response, int timeout, bool noResponse, string ident="")
 
RETURN_CODE config_getModelNumber (ref string response, string ident="")
 
RETURN_CODE config_getSerialNumber (ref string response, string ident="")
 
bool config_setCmdTimeOutDuration (int newTimeOut, string ident="")
 
RETURN_CODE pin_getEncryptedPIN (int keyType, string PAN, string message, int timeout, bool isAES=false, string ident="")
 
RETURN_CODE pin_getManualPanEntry (bool csc, bool ADR, bool ZIP, string ident="")
 
RETURN_CODE pin_getFunctionKey (string ident="")
 
RETURN_CODE pin_sendBeep (int frequency, int duration, string ident="")
 
RETURN_CODE device_rebootDevice (string ident="")
 
RETURN_CODE pin_setKeypressCapture (bool showKeyValue, string ident="")
 
RETURN_CODE pin_cancelPINEntry (string ident="")
 
RETURN_CODE device_getKeyStatus (ref byte[] status, string ident="")
 
RETURN_CODE pin_promptForKeyInput (string message, byte[] signature, bool maskInput, int minLen, int maxLen, string ident="")
 
RETURN_CODE pin_promptForAmountInput (string message, byte[] signature, bool maskInput, int minLen, int maxLen, string ident="")
 
RETURN_CODE device_setSleepModeTime (int time, string ident="")
 
RETURN_CODE device_enterStopMode (string ident="")
 
RETURN_CODE device_setDateTime (string ident="")
 
RETURN_CODE device_getDateTime (ref byte[] dateTime, string ident="")
 
RETURN_CODE lcd_clearDisplay (int lineNumber, string ident="")
 
RETURN_CODE lcd_clearAllLines (string ident="")
 
RETURN_CODE lcd_savePrompt (int promptNumber, string prompt, string ident="")
 
RETURN_CODE lcd_displayPrompt (int promptNumber, int lineNumber, string ident="")
 
RETURN_CODE lcd_displayMessage (int lineNumber, string message, string ident="")
 
RETURN_CODE lcd_enableBacklight (bool enable, string ident="")
 
RETURN_CODE lcd_getBacklightStatus (ref bool enabled, string ident="")
 
RETURN_CODE config_setBaudRate (int baud, string ident="")
 
RETURN_CODE config_getBaudRate (ref int baud, string ident="")
 
RETURN_CODE device_getRKIStatus (bool isProd, bool isMultiKey, ref string status, ref Dictionary< string, RKI_KEY_TYPE > keys, string ident="")
 
RETURN_CODE device_getAnyRKIStatus (bool isMultiKey, ref string status, ref Dictionary< string, RKI_KEY_TYPE > keys, string ident="")
 
RETURN_CODE device_updateFirmwareFromZip (byte[] zipfile, string ident="", bool isForeground=false)
 
RETURN_CODE device_sendConfigurationFromZip (byte[] zip, string filename, VC_OPERATION_TYPE type, bool matchFW, string ident="", bool isForeground=false)
 
RETURN_CODE device_sendConfiguration (string filename, VC_OPERATION_TYPE type, bool matchFW, string ident="", bool isForeground=false)
 
RETURN_CODE device_readConfigurationToMemory (string memo, Configs.InstallRules rules, List< Configs.DeviceCommand > cmds, string ident="", bool isForeground=false)
 
RETURN_CODE device_getConfigurationFromMemory (ref string json, string ident="")
 
RETURN_CODE device_RemoteKeyInjection (RKI_KEY_TYPE type, string keyName, string ident="", bool performOnForeground=false)
 

Static Public Member Functions

static bool useSerialPort (int port)
 
static bool useSerialPortLinux (string path)
 
static bool useSerialPortLinux (string path, int baud)
 
static int getCommandTimeout (string ident="")
 
static void setCommandTimeout (int milliseconds, string ident="")
 
static bool useSerialPort (int port, int baud, string ident="")
 
static bool closeSerialPort ()
 
static bool closeUSB (string ident="")
 
static void initSC ()
 
static void setCallback (CallBack my_Callback)
 
static void setCallback (IntPtr my_Callback, SynchronizationContext context)
 
static String SDK_Version ()
 
static void lcd_retrieveMessage (DisplayMessages.DISPLAY_MESSAGE_LANGUAGE lang, DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER id, ref string line1, ref string line2)
 

Properties

static IDT_L80 SharedController [get]
 

Member Function Documentation

static bool IDTechSDK.IDT_L80.closeSerialPort ( )
static

Close Serial Port Interface

Instructs SDK to close the Serial Port if connected to L80

Returns
bool TRUE=successful, FALSE=failure
static bool IDTechSDK.IDT_L80.closeUSB ( string  ident = "")
static

Close USB

Instructs SDK to close the USB if connected to L80

Returns
bool TRUE=successful, FALSE=failure
RETURN_CODE IDTechSDK.IDT_L80.config_getBaudRate ( ref int  baud,
string  ident = "" 
)

Get Baud Rate

Gets the buad rate for RS-232 communication.

Parameters
baud
  • 2 = 2400
  • 3 = 4800
  • 4 = 9600
  • 6 = 19200
  • 7 = 38400
  • 9 = 115200
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.config_getModelNumber ( ref string  response,
string  ident = "" 
)

Polls device for Model Number

Parameters
responseReturns Model Number
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.config_getSerialNumber ( ref string  response,
string  ident = "" 
)

Polls device for Serial Number

Parameters
responseReturns Serial Number
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.config_setBaudRate ( int  baud,
string  ident = "" 
)

Set Baud Rate

Sets the buad rate for RS-232 communication.

Parameters
baud
  • 2 = 2400
  • 3 = 4800
  • 4 = 9600
  • 6 = 19200
  • 7 = 38400
  • 9 = 115200
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
bool IDTechSDK.IDT_L80.config_setCmdTimeOutDuration ( int  newTimeOut,
string  ident = "" 
)

Command Acknowledgement Timout

Sets the amount of seconds to wait for an {ACK} to a command before a timeout. Responses should normally be received under one second. Default is 3 seconds

Parameters
newTimeOutTimout value. Valid range 1 - 60 seconds
Returns
Success flag. Determines if value was set and in range.
RETURN_CODE IDTechSDK.IDT_L80.device_enterStopMode ( string  ident = "")

Enter Stop Mode

Set device enter to stio mode. In stop mode, LCD display and backlight is off. Stop mode reduces power consumption to the lowest possible level. A unit in stop mode can only be woken up by a physical key press.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_getAnyRKIStatus ( bool  isMultiKey,
ref string  status,
ref Dictionary< string, RKI_KEY_TYPE >  keys,
string  ident = "" 
)

Get RKI Status Polls the RKI servers to validate device RKI eligiblity. Note: if device type is known in advance (production or demo device), it is more efficient to use device_getRKIStatus instead

Parameters
isMultiKeyTrue = MultiKey, False = SingleKey
statusRKI status returned as a string
keysReturns all available keys
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_getConfigurationFromMemory ( ref string  json,
string  ident = "" 
)

Read Device Configuration From Memory Retrieves the ViVOconfig configuration data from memory after a successful device_readConfigurationToMemory

Parameters
jsonReturns the .json file data that can be saved to disk
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_getDateTime ( ref byte[]  dateTime,
string  ident = "" 
)

Get Date Time

Gets current system date and time of the device.

Parameters
dateTimeThe date time returned as follows:
  • byte 0: Year 00-99
  • byte 1: Month 01-12
  • byte 2: Date 01-31
  • byte 3: Hour 00-23
  • byte 4: Minute 00-59
  • byte 5: Second 00-59
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_getFirmwareVersion ( ref string  response,
string  ident = "" 
)

Polls device for Firmware Version

Parameters
responseResponse returned of Firmware Version
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.device_getKeyStatus ( ref byte[]  status,
string  ident = "" 
)

Get Key Status

Gets the status of loaded keys

Parameters
statusbyte 0: PIN DUKPT Key, 1 Exists, 0 None, 0xFF STOP byte 1: PIN Master Key, 1 Exists, 0 None byte 2: PIN Session Key, 1 Exists, 0 None byte 3: Account/MSR DUKPT Key, Does not support, always 0 byte 4: Account/ICC DUKPT Key, Does not support, always 0 byte 5: Admin DUKPT Key, 1 Exists, 0 None, 0xFF STOP
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.device_getRKIStatus ( bool  isProd,
bool  isMultiKey,
ref string  status,
ref Dictionary< string, RKI_KEY_TYPE >  keys,
string  ident = "" 
)

Get RKI Status From Specified Server Polls the RKI server to validate device RKI eligiblity

Parameters
isProdTRUE = poll production RKI server, FALSE = poll demo RKI server
isMultiKeyTrue = MultiKey, False = SingleKey
statusRKI status returned as a string
keysReturns dictionary of available keys
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_PKI_RKI ( bool  isProduction,
string  ident = "",
bool  performOnForeground = false 
)

Start PKI Remote Key Injection

Starts a PKI remote key injection request with IDTech RKI servers. Set/Get RKI url with IDT_Device.RKI_URL.

Parameters
isProductionTRUE = Production RKI, FALSE = Demo RKI
identDevice ID to send command to. If not specified, current SDK default device will be used.
performOnForegroundTRUE = block until done
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_readConfigurationToMemory ( string  memo,
Configs.InstallRules  rules,
List< Configs.DeviceCommand >  cmds,
string  ident = "",
bool  isForeground = false 
)

Read Device Configuration To Memory Executes a ViVOconfig read of device settings and stores the results in memory

Once a ViVOconfig read starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_READ_CONFIG_SUCCESS = Read process completed successfully. Execute device_getConfigurationFromMemory to retrieve the configuration data
  • RETURN_CODE_SDK_VIVOCONFIG_READ_CONFIG_FAILED = Read process FAILED.

    Parameters
    memoOptional: populates the memo field of the captured .json file
    rulesOptional: populates the .json file with available install rules
    cmdsOptional: populates the .json file with commands to execute
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_rebootDevice ( string  ident = "")

Reboot Device

Executes a command to restart the device.

  • Card data is cleared, resetting card status bits.
  • Response data of the previous command is cleared.
  • Resetting firmware.

    Parameters
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    Returns
    RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_RemoteKeyInjection ( RKI_KEY_TYPE  type,
string  keyName,
string  ident = "",
bool  performOnForeground = false 
)

Remote Key Injection Performs a remote key injection for the device

Parameters
typeRemote Key Injection Type
keyNameName of key (optional)
identDevice ID to send command to. If not specified, current SDK default device will be used.
performOnForegroundTRUE = block during process (default is false)
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_sendConfiguration ( string  filename,
VC_OPERATION_TYPE  type,
bool  matchFW,
string  ident = "",
bool  isForeground = false 
)

Send Configuration Executes a ViVOconfig update or verify to a device

Once a ViVOconfig write or verify starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS = Verification process completed successfully. No differences found.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS_WITH_WARNING = Verification process completed with warnings.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_FAILED = Verification process FAILED
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS = Write process completed successfully.
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS_WITH_WARNING = Write process completed with warnings
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_FAILED = Write process FAILED

    Parameters
    filenameThe .json configuration file to update the device with NOTE: You can also use this parameter to pass the path of where the .json file is located at on local storage instead
    filenameThe name of the .json configuration file
    typeVC_OPERATION_TYPE
  • VC_OPERATION_TYPE_WRITE = Write File To Device, Hash must validate
  • VC_OPERATION_TYPE_VERIFY = Verify Device With File
  • VC_OPERATION_TYPE_WRITE_IGNORE_HASH = Write File To Device, Ignore Hash
  • VC_OPERATION_TYPE_WRITE_FIX_HASH = Write File To Device, Fix Hash If Necessary
    Parameters
    matchFWTRUE = Device FW must match file FW, FALSE = Don't validate device FW against file
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_sendConfigurationFromZip ( byte[]  zip,
string  filename,
VC_OPERATION_TYPE  type,
bool  matchFW,
string  ident = "",
bool  isForeground = false 
)

Send Configuration From Zip Executes a ViVOconfig update or verify to a device using files from a .zip archive

Once a ViVOconfig write or update starts, all messages will be returned to the callback as DeviceState.ViVOconfig. The ViVOconfig operation is complete when the return code from a DeviceState.ViVOconfig message is one of the following values:

  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS = Verification process completed successfully. No differences found.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_SUCCESS_WITH_WARNING = Verification process completed with warnings.
  • RETURN_CODE_SDK_VIVOCONFIG_VERIFY_FAILED = Verification process FAILED
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS = Write process completed successfully.
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_SUCCESS_WITH_WARNING = Write process completed with warnings
  • RETURN_CODE_SDK_VIVOCONFIG_WRITE_FAILED = Write process FAILED

    Parameters
    zip.Zip archive containing the .json configuration file and also any associated image assets NOTE: You can also use this parameter to pass the path of where the .zip file is located at on local storage instead
    filenameThe name of the .json configuration file
    typeVC_OPERATION_TYPE
  • VC_OPERATION_TYPE_WRITE = Write File To Device, Hash must validate
  • VC_OPERATION_TYPE_VERIFY = Verify Device With File
  • VC_OPERATION_TYPE_WRITE_IGNORE_HASH = Write File To Device, Ignore Hash
  • VC_OPERATION_TYPE_WRITE_FIX_HASH = Write File To Device, Fix Hash If Necessary
    Parameters
    matchFWTRUE = Device FW must match file FW, FALSE = Don't validate device FW against file
    identDevice ID to send command to. If not specified, current SDK default device will be used.
    isForegroundIf TRUE, will block program until update complete. Otherwise, FALSE performs update on background.
    Returns
    RETURN_CODE: Values can be parsed with errorCode.getErrorString(). When no data is available, return code = RETURN_CODE_NO_DATA_AVAILABLE
RETURN_CODE IDTechSDK.IDT_L80.device_sendDataCommand ( string  cmd,
bool  calcLRC,
ref byte[]  response,
string  ident = "" 
)

Send a data command to the device

Sends a command to the device.

Parameters
cmdString representation of command to execute
calcLRCIf TRUE, this will wrap command with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}'
responseResponse data
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_sendDataCommand_ext ( string  cmd,
bool  calcLRC,
ref byte[]  response,
int  timeout,
bool  noResponse,
string  ident = "" 
)

Send a data command to the device - extended

Sends a command to the device.

Parameters
cmdString representation of command to execute
calcLRCIf TRUE, this will wrap command as NGA with start/length/lrc/sum/end: '{STX}{Len_Low}{Len_High} data {CheckLRC} {CheckSUM} {ETX}'
responseResponse data
timeoutTimeout value waiting for response, in milliseconds (1000 = 1 second)
noResponseif TRUE, this will not wait for a response and immediately return SUCCESS
calcITPIf TRUE, this will wrap command as ITP with start/end/lrc: '{STX} data {ETX}{CheckLRC}'
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_sendPAE ( string  command,
ref string  response,
int  timeout,
string  ident = "" 
)

Send Payment Application Engine Command

Executes a PAE command

Parameters
commandASCII command string, should start with "*PAE"
responsecommand response
timeouttimeout waiting for PAE response
ipOptional IP address when connected via TCP/IP
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.device_setDateTime ( string  ident = "")

Set Date Time

Set current system date and time to the device.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_setSleepModeTime ( int  time,
string  ident = "" 
)

Set Sleep Mode Timer

Set device enter to sleep mode after the given time. In sleep mode, LCD display and backlight is off. Sleep mode reduces power consumption to the lowest possible level. A unit in Sleep mode can only be woken up by a physical key press.

Parameters
timeEnter sleep time value, in second.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.device_updateDeviceFirmware ( byte[]  firmwareData,
string  ident = "" 
)

Update Firmware

Updates the firmware .

Parameters
firmwareDataSigned binary data of a firmware file provided by IDTech
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()

After you pass the firmwareData file, a new thread will start to execute the firmware download. You will receive status of the progress through callbacks to the IDTechSDK.Callback() delegate. The following parameters will be passed back:

  • sender = IDT_DEVICE_Types.IDT_DEVICE_AUGUSTA
  • state = DeviceState.FirmwareUpdate
  • transactionResultCode = status of the firmware update (starting, entering bootloader, applying update, block success, firmware success)
  • data = File Progress. Four bytes, with bytes [0][1] = current block, and bytes [2][3] = total blocks. 0x00030010 = block 3 of 16

Example code starting a firmware update

OpenFileDialog diag = new OpenFileDialog(ident);
diag.Filter = "NGA FW Files|*.fm";
if (diag.ShowDialog() == DialogResult.OK)
{
byte[] file = File.ReadAllBytes(diag.FileName, ident);
RETURN_CODE rt = IDT_Device.SharedController.device_updateDeviceFirmware(file, ident);
if (rt == RETURN_CODE.RETURN_CODE_DO_SUCCESS)
{
//Was a success
}
else
{
//Error starting firmware download
}
}

Example monitoring firmware update status / success

private void MessageCallBack(IDTechSDK.IDT_DEVICE_Types type, DeviceState state, byte[] data, IDTTransactionData cardData, EMV_Callback emvCallback, RETURN_CODE transactionResultCode, string ident = "")
{
switch (state)
{
case DeviceState.FirmwareUpdate:
switch (transactionResultCode)
{
case RETURN_CODE.RETURN_CODE_FW_STARTING_UPDATE:
SetOutputText("Starting Firmware Update\n", ident);
break;
case RETURN_CODE.RETURN_CODE_DO_SUCCESS:
SetOutputText("Firmware Update Successful\n", ident);
break;
case RETURN_CODE.RETURN_CODE_APPLYING_FIRMWARE_UPDATE:
SetOutputText("Applying Firmware Update....\n", ident);
break;
case RETURN_CODE.RETURN_CODE_ENTERING_BOOTLOADER_MODE:
SetOutputText("Entering Bootloader Mode....\n", ident);
break;
case RETURN_CODE.RETURN_CODE_BLOCK_TRANSFER_SUCCESS:
int start = data[0] * 0x100 + data[1];
int end = data[2] * 0x100 + data[3];
SetOutputText("Sent block " + start.ToString() + " of " + end.ToString() + "\n", ident);
break;
default:
SetOutputText("Firmware Update Error Code: " + "0x" + String.Format("{0:X}", (ushort)transactionResultCode) + ": " + IDTechSDK.errorCode.getErrorString(transactionResultCode) + "\r\n", ident);
break;
}
break;
}
}
RETURN_CODE IDTechSDK.IDT_L80.device_updateFirmwareFromZip ( byte[]  zipfile,
string  ident = "",
bool  isForeground = false 
)

Update Firmware From Zip

Performs one or more device firmware updates from firmware files passed as a compressed archive with a valid configuration file (.json format)

Parameters
zipfileZip file containing on or more firmware update files and a .json configuration file
identDevice ID to send command to. If not specified, current SDK default device will be used.
isForegroundIf TRUE, will block program until firmware update complete. Otherwise, FALSE performs FW update on background.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString(string ident = "")
static int IDTechSDK.IDT_L80.getCommandTimeout ( string  ident = "")
static

Get Command Timeout

Gets the default timeout (in milliseconds) waiting for a blocking command response

Return values
timeTime
RETURN_CODE IDTechSDK.IDT_L80.lcd_clearAllLines ( string  ident = "")

Clear LCD Display

Clears all lines of the LCD Display.

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_clearDisplay ( int  lineNumber,
string  ident = "" 
)

Clear LCD Display Line

Clears the line number of the LCD Display.

Parameters
lineNumberLine number to clear (1-4)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_displayMessage ( int  lineNumber,
string  message,
string  ident = "" 
)

Display Message on Line

Displays a message on a display line.

Parameters
lineNumberLine number to display message on (1-4)
messageMessage to display
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_displayPrompt ( int  promptNumber,
int  lineNumber,
string  ident = "" 
)

Display Prompt on Line

Displays a message prompt from L80 memory.

Parameters
promptNumberPrompt number (0-9)
lineNumberLine number to display message prompt (1-4)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_enableBacklight ( bool  enable,
string  ident = "" 
)

Enable/Disable LCD Backlight

Turns on/off the LCD back lighting.

Parameters
enableTRUE = turn ON backlight, FALSE = turn OFF backlight
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_getBacklightStatus ( ref bool  enabled,
string  ident = "" 
)

Get Backlight Status

Returns the status of the LCD back lighting.

Parameters
enabledTRUE = Backlight is ON, FALSE = Backlight is OFF
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
static void IDTechSDK.IDT_L80.lcd_retrieveMessage ( DisplayMessages.DISPLAY_MESSAGE_LANGUAGE  lang,
DisplayMessages.DISPLAY_MESSAGE_IDENTIFIER  id,
ref string  line1,
ref string  line2 
)
static

Retrieve LCD Message

Returns the string value for a message ID returned for LCD messaging

Parameters
langLanguage.
idMessage ID
line1Line 1 string value
line2Line 2 string value
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.lcd_savePrompt ( int  promptNumber,
string  prompt,
string  ident = "" 
)

Save Prompt

Saves a message prompt to L80 memory.

Parameters
promptNumberPrompt number (0-9)
promptPrompt string (up to 20 characters)
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.pin_cancelPINEntry ( string  ident = "")

Cancel PIN Entry

Cancel “Get Function Key” & “Get Encrypted PIN” & “Get Numeric” & “Get Amount”

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.pin_getEncryptedPIN ( int  keyType,
string  PAN,
string  message,
int  timeout,
bool  isAES = false,
string  ident = "" 
)

Get Encrypted PIN

Requests PIN Entry

Parameters
keyType
  • 0x00- MKSK-TDES: External Plaintext PAN
  • 0x01- DUKPT-TDES: External Plaintext PAN
  • 0x10 MKSK-TDES: External Ciphertext PAN
  • 0x11 DUKPT-TDES: External Ciphertext PAN
PANAccount Number
messageMessage to display = timeout
isAESset to TRUE if PEK is AES, not TDES
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.pin_getFunctionKey ( string  ident = "")

Get Function Key

Captures a function key

  • Backspace = B
  • Cancel = C
  • Enter = E
  • * = *
  • # = #
  • Help = ?
  • Function Key 1 = F1
  • Function Key 2 = F2
  • Function Key 3 = F3

Timeout hard wired 3 minutes

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.pin_getManualPanEntry ( bool  csc,
bool  ADR,
bool  ZIP,
string  ident = "" 
)

Get Manual Pan Entry

prompt the user to manually enter a card PAN and Expiry Date (and optionally CSC) from the keypad and return it to the POS.

Parameters
cscRequest CSS
ADRRequest Address
ZIPRequest Zip
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.pin_promptForAmountInput ( string  message,
byte[]  signature,
bool  maskInput,
int  minLen,
int  maxLen,
string  ident = "" 
)

Prompt for Amount Input from Encrypted Message

Prompts for amount input using the secure message data

@param message   Message 
@param signature  Signature, 256 bytes
@param maskInput Mask Input Entry
@param minLen  Minimum input length.  Cannot be less than 1
@param maxLen Maximum input length.  Cannot be greater than 15

Timeout is hardwired to 3 minutes
Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.pin_promptForKeyInput ( string  message,
byte[]  signature,
bool  maskInput,
int  minLen,
int  maxLen,
string  ident = "" 
)

Prompt for Key Input from Encrypted Message

Prompts for a numeric key using the secure encrypted message data

Parameters
messageMessage
signatureSignature, 256 bytes
maskInputTRUE = entry is masked with '*', FALSE = entry is displayed on keypad
minLenMinimum input length. Cannot be less than 1
maxLenMaximum input length. Cannot be greater than 16

Integrators that desire to have custom messages for their application must submit the message request to IDTech with the following information (all fields required)

  • Demo or Production Message Needed:
  • Minimum PIN Requirement:
  • Maximum PIN Requirement:
  • Masking On or Off:
  • Message Text:

The following data can be used as test data

  • message: "Enter Ticket"
  • minLen: 1
  • maxLen: 16
  • maskInput: False
  • signature (demo unit): 80774ED82C8037776108A5E9E6B8F00070E7ADE1A3E6143B59B94EBCB15712DB99ECA2A2193903F8FAEC83A516B2436F0C83EA143BB133620E6F94C7D47272C37657A46D9B49783F5D3DDA46CAECAE168A28D9540D526F8A1D8EC50F1D051FFFC6A22622C99E46A4A6178DA030D25F613119F1C8800A08933696E411742528415B5889E9ABD24BDF2E807A0518C78E87B085218A3A18E291862CDDDFA4B066EB1D4C0747D4800FD35D0DA47C250F7DB44146699B853354081619C8B5FB3B66C293186588DA69CFD654202734408106FAD639EAF2932D8D8611EBA2262728B4047AF1617370D29CDE9DD81B2B7934699F765E50017029A3739813686B194D12E2
  • signature (prod unit): 8CE8E76C978871CCE1001010159F88E4968D8628213E28D9899C4103642608E98AFBEC9BC29746B246E02A2C27566478E1F1C5FB9D0DB328D16A9A2F87216B93AA590D1261255AAC9197007F2F4D18AF2E1DBECC5603339FCD31C12771138687E3608F7DCF835CE2DE8709E317C7E12CD139792E2343683B9FB61819AB698D58A831D90596B3BD8DC1C0F5868E88C328D87C4489E1AD378515B474C5DAEA876762F8D707610190175260BF6292AE910A7CB85C7386AEE30155038F506BDC40D255F4ED269F8A2BA0D764BAC1146C35F7C18347204B74354FDDBC0A83DC2BF2BC34E1A8161C209345122DC56F7963ACDD1183807CAA49D72B1F3CA79AB2CD12C2

Timeout is hardwired to 3 minutes

Parameters
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
RETURN_CODE IDTechSDK.IDT_L80.pin_sendBeep ( int  frequency,
int  duration,
string  ident = "" 
)

Send Beep

Executes a beep request.

Parameters
frequencyFrequency, range 200-20000Hz
durationDuration, range 16-65535ms
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with device_getResponseCodeString
RETURN_CODE IDTechSDK.IDT_L80.pin_setKeypressCapture ( bool  showKeyValue,
string  ident = "" 
)

Set Keypress Capture Mode

If TRUE, each keypress will be broadcast with its value 0-9, B, C, E.  Function completes after timeout, C, or E are received
If FALSE, each keypress will generate a generic keypress notification, with final results being returned after E is pressed, or C/timeout encountered before then.
Parameters
showKeyValueTRUE = broadcast each keypress value, FALSE = only broadcast a key was pressed, not it's value.
identDevice ID to send command to. If not specified, current SDK default device will be used.
Returns
RETURN_CODE: Values can be parsed with errorCode.getErrorString()
static String IDTechSDK.IDT_L80.SDK_Version ( )
static

SDK Version

  • All Devices

Returns the current version of SDK

Returns
Framework version
static void IDTechSDK.IDT_L80.setCallback ( CallBack  my_Callback)
static

Set Callback

Sets the class callback
static void IDTechSDK.IDT_L80.setCallback ( IntPtr  my_Callback,
SynchronizationContext  context 
)
static

Set Callback

Sets the class callback

Parameters
my_CallbackThe callback function to receive the response message from device. defined as follows. public unsafe delegate void MFCCallBack(Parameters parameters, ident);
contextThe context of the UI thread
static void IDTechSDK.IDT_L80.setCommandTimeout ( int  milliseconds,
string  ident = "" 
)
static

Set Command Timeout

Sets the default timeout (in milliseconds) waiting for a blocking command response

Parameters
millisecondsTime
static bool IDTechSDK.IDT_L80.useSerialPort ( int  port)
static

Use Serial Port Interface

Instructs SDK to attempt to use the Serial Port for communication with L80 using default baud rate

Parameters
portSerial Port to use. Example COM1 = 1.
Returns
bool TRUE=successful, FALSE=failure
static bool IDTechSDK.IDT_L80.useSerialPort ( int  port,
int  baud,
string  ident = "" 
)
static

Use Serial Port Interface with baud rate L80

Parameters
portSerial Port to use. Example COM1 = 1.
baudBaud rate to override default. Example 115200;
Returns
bool TRUE=successful, FALSE=failure
static bool IDTechSDK.IDT_L80.useSerialPortLinux ( string  path)
static

Use Serial Port Interface on Linux

Instructs SDK to attempt to use the Serial Port for communication with BTMag using default baud rate on Linux implementations

Parameters
pathPath to use. Example /dev/ttyUSB*
Returns
bool TRUE=successful, FALSE=failure
static bool IDTechSDK.IDT_L80.useSerialPortLinux ( string  path,
int  baud 
)
static

Use Serial Port Interface on Linux with baud rate

Instructs SDK to attempt to use the Serial Port for communication with BTPay on Linux implementations

Parameters
pathPath to use. Example /dev/ttyUSB*
baudBaud rate to override default. Example 115200;
Returns
bool TRUE=successful, FALSE=failure

Property Documentation

IDT_L80 IDTechSDK.IDT_L80.SharedController
staticget

Singleton Instance

Establishes an singleton instance of IDT_L80 class.

Returns
Instance of IDT_L80

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