Beyond the standard read, write, and format operations, you want to perform card-type-specific operations, e.g. increment or decrement counters.
What are low-level commands?
Low-level commands are designed for a specific card type. They let you make use of the full feature scope of your project cards. While they're powerful, they also come with certain drawbacks you should be aware of:
- High development effort: Even for simple operations, you need to run a series of commands, which increases complexity.
- Potential performance loss: This is the case for certain card systems and especially if the host protocol is slow. Performance loss is due to the large number of commands per operation, the time to wait for the each response, and the fact that large data volumes must be transmitted in several batches.
- Card-type-specific implementation: Your application won't work with a different card type.
- Custom retry mechanisms and error handling: In contrast to our card-type-independent command set VHL, you need to take care of this yourself, especially with regard to potential connection loss due to particularities of the reader's operating volume.
Extensive knowledge of card type required: We assume you are familiar with the specification for the relevant card type.
We cannot provide card-type-specific support.
How it works
- The reader acts as a pass-through and doesn't intervene in the communication with the card: It directly forwards your commands to the card and all card responses back to the host.
- Control reader feedback (e.g. LED and beeper) and other hardware functionality directly via the host.
Exceptional cases requiring a configuration
In the vast majority of cases, you won't need to configure the reader. A configuration is only necessary if one or both of the following apply:
- USB HID (recommended with the SDK)
- USB virtual COM port (recommended when not using the SDK, required for RDP)
- Ethernet (client only)
Use APDU via VHL if you want to interact with ISO 14443-4 cards.
Set up SDK
The easiest way to send low-level commands via BRP is the BALTECH SDK, available for Windows, macOS, and Linux.
Alternative for unsupported platforms
To set up the SDK:
- Downloadcall_made the SDK from our website.
- Get familiar with its components. We recommend you get started by trying out the app notes.
- Integrate the SDK into your application.
- Set up a protocol stack to be able to run commands.
Commands for specific actions: In our overview of supported card types, you can find the commands available per card type.
Generic commands: If the command you're looking for isn't available, use the generic commands below to transmit a command from the card type specification on the bit level. The reader will forward this bit-level command as is.
Card type Generic command FeliCa Felica.GenericCmdcall_made ISO 14443 Type A Iso14a.TransparentCmdcall_made ISO 14443 Type B Iso14b.TransparentCmdcall_made ISO 14443-3 emulation CardEmu.TransparentCmdcall_made ISO 14443-4 emulation Iso14CE.ExchangeCardAPDUcall_made ISO 15693 Iso15.TransparentCmdcall_made ISO 7816 Iso78.ExchangeApducall_made LEGIC Legic.TransparentCommand4000call_made
Reader hardware control
There are various commands to control the reader hardware. You can e.g. control reader feedback (e.g. LED and beeper), reboot the reader, check its firmware version, etc.
That's it for the development part. You can now install the readers (and, if necessary, deploy the configuration) as described here.
Troubleshooting & support
Got stuck somewhere along the way? Don't worry, we'll help you troubleshoot: