Programmer's99875629 Owner's manual
Table Of Contents
- Table of Contents
- 1 Introduction
- 2 Connection Types
- 3 Command Set
- 3.1 About Big Block Data Mode
- 3.2 About SRED / Non-SRED Firmware
- 3.3 About Commands Tagged As “MAC”
- 3.4 General Feature Reports
- 3.4.1 Report 0x01 – Response ACK
- 3.4.2 Report 0x02 – End Session
- 3.4.3 Report 0x03 – Request Swipe Card
- 3.4.4 Report 0x04 – Request PIN Entry
- 3.4.5 Report 0x05 – Cancel Command
- 3.4.6 Report 0x06 – Request User Selection
- 3.4.7 Report 0x07 – Display Message
- 3.4.8 Report 0x08 – Request Device Status
- 3.4.9 Report 0x09 – Set Device Configuration
- 3.4.10 Report 0x09 – Get Device Configuration
- 3.4.11 Report 0x0A – Request MSR Data
- 3.4.12 Report 0x0B – Get Challenge
- 3.4.13 Report 0x0D – Send Session Data - Amount
- 3.4.14 Report 0x0D – Send Session Data - PAN
- 3.4.15 Report 0x0E – Get Information
- 3.4.16 Report 0x0F – Login/Authenticate
- 3.4.17 Report 0x0F – Logout
- 3.4.18 Report 0x10 – Send Big Block Data to Device
- 3.4.19 Report 0x11 – Request Manual Card Entry
- 3.4.20 Report 0x14 – Request User Data Entry
- 3.4.21 Report 0x1A – Request Device Information
- 3.4.22 Report 0x1C – Set/Get BLE Power Configuration (BLE Only)
- 3.4.23 Report 0x1D – Set BLE Module Control Data (BLE Only)
- 3.4.24 Report 0x1E – Set iAP Protocol Info (30-pin Only)
- 3.4.25 Report 0x1E – Get iAP Protocol Info (30-pin Only)
- 3.4.26 Report 0x1F – Request Clear Text User Data Entry
- 3.4.27 Report 0x30 – Set / Get KSN
- 3.4.28 Report 0x31 – Set KSN Encrypted Data
- 3.4.29 Report 0x32 – Set BIN Table Data (MAC)
- 3.4.30 Report 0x32 – Get BIN Table Data
- 3.4.31 Report 0xFF – Device Reset
- 3.5 General Input Reports
- 3.5.1 Report 0x20 – Device State Report
- 3.5.2 Report 0x21 – User Data Entry Response Report
- 3.5.3 Report 0x22 – Card Status Report
- 3.5.4 Report 0x23 – Card Data Report
- 3.5.5 Report 0x24 – PIN Response Report
- 3.5.6 Report 0x25 – User Selection Response Report
- 3.5.7 Report 0x27 – Display Message Done Report
- 3.5.8 Report 0x29 – Send Big Block Data to Host
- 3.5.9 Report 0x2A – Delayed Response ACK
- 3.5.10 Report 0x2B – Test Response
- 3.5.11 Report 0x2D –BLE Module Control Data (BLE Only)
- 3.5.12 Report 0x2E – Clear Text User Data Entry Response Report
- 3.6 EMV-Related Reports
- 3.6.1 Report 0x2C – EMV Cardholder Interaction Status Report
- 3.6.2 Report 0xA1 – Set or Get EMV Tag(s) (MAC)
- 3.6.3 Report 0xA2 – Request Start EMV Transaction
- 3.6.4 Report 0xA4 – Acquirer Response (MAC)
- 3.6.5 Report 0xA5 – Set or Get CA Public Key (MAC)
- 3.6.6 Report 0xA8 – Get Kernel Info
- 3.6.7 Report 0xAB – Request EMV Transaction Data (MAC)
- 3.6.8 Report 0xAC – Merchant Bypass PIN Command
- Appendix A Examples
- Appendix B Terminology
- Appendix C Status and Message Table
- Appendix D MagTek Custom EMV Tags
- Appendix E Configurations
- Appendix F Error Codes
- Appendix G User-Defined Messages
- Appendix H Factory Defaults
- Appendix I Language and Country Codes
- Appendix J BLE Module Control Data
- J.1 BLE Module Configuration Properties
- J.1.1 Get property command
- J.1.2 Set property command
- J.1.3 Software ID property
- J.1.4 Bluetooth Device Address property
- J.1.5 Bluetooth Device Name property
- J.1.6 Configuration Revision property
- J.1.7 Power Timeout property
- J.1.8 Power Control property
- J.1.9 Advertising Control property
- J.1.10 Passkey property
- J.1.11 Desired Minimum Connection Interval Property
- J.1.12 Desired Maximum Connection Interval Property
- J.1.13 Desired Slave Latency Property
- J.1.14 Desired Supervision Timeout Property
- J.1.15 Connection Parameter Update Request Control Property
- J.2 Other Commands
- J.1 BLE Module Configuration Properties

2 - Connection Types
DynaPro Mini| PIN Encryption Device | Programmer’s Reference (Commands)
Page 21
Bit
7
6
5
4
3
2
1
0
Byte 1..n
Command/Response as defined in section 3 Command Set.
IMPORTANT: Generally, iOS commands must be transmitted in MSB (big endian) order.
By convention, this document gives commands in LSB (little endian) order.
2.3 How to Use BLE Connections
This section provides information about developing software for a BLE-capable host that needs to
interface with the device using Bluetooth Low Energy (BLE). In this arrangement, the device will act as
a BLE server/peripheral, and the host will act as a client/central. The custom software wraps commands
in simple Get/Set wrappers, and should use whatever BLE library is appropriate for the chosen software
development framework. For example, iOS custom apps use Apple’s CoreBluetooth Framework, for
which sample code is available in the form of Apple’s Temperature Sensor app; see
https://developer.apple.com/library/IOS/samplecode/TemperatureSensor/Introduction/Intro.html.
Because the command set is common to all connection types, it is also helpful to read section 2.1.1 About
HID Usages to become familiar with the types of available commands.
In its default configuration, the BLE module can be toggled between Advertising and not Advertising (for
example, for airline travel) as follows:
If the device is Advertising, press and hold the power button for 7 seconds or longer to reset the BLE
module and turn Advertising off. The device will also reset to this state if the battery completely
discharges.
If the device is not Advertising, press and release the power button, or connect the device to USB
power.
Some of the details described in this section may be abstracted by the libraries in the chosen development
framework. For general information about BLE and the associated terms, see the Bluetooth specifications
found at https://www.bluetooth.org/Technical/Specifications/adopted.htm.
The general steps for a host to communicate with the device via BLE are as follows. Refer to Table 2-3
for details about each BLE Characteristic (in this case, “Application” refers to the device):
1) If the device has been recently reset or has had its battery replaced, re-enable BLE Advertising by
pressing and releasing the power button or connecting the device to USB power.
2) Scan for nearby BLE peripherals advertising the desired GATT service UUID.
3) If multiple devices of the desired type are available, examine each device’s name property. A
specific device’s default name is a constant, equal to the product name plus a dash and the least
significant 4 digits of its Bluetooth address.
4) Establish a BLE connection with the device. If the device is not already powered on, it will start
powering on when the host establishes a connection. The power-on sequence takes about 10 seconds.
Any application data the host sends before the power-on sequence is complete will be lost.
5) Pair with the device using passkey 000000. In many cases this step is user-driven.
6) Configure the device to notify the host when the Application Data To Host Length
characteristic changes. The host should then use this notification as a trigger to read the
Application Data To Host characteristic and process incoming data from the device. The
specific method to enable notifications for a characteristic is different in different BLE development
libraries. For example, iOS code would be similar to [servicePeripheral
setNotifyValue:YES forCharacteristic:characteristic].