The SDK consists of the following components:
- BRP Communication Library (BRP Lib)
- BALTECH API
- Legacy wrapper (for applications using the SDK predecessor "BRPDriver")
BRP Communication Library (BRP Lib)
BRP Lib is a shared library with C functions that provide an easy-to-use transport layer for BRP commands to BALTECH readers.
It's a dynamic library (i.e. provided as a DLL file) and loaded at runtime. This means:
- You can use it regardless of your programming language.
- You can easily upgrade it without touching your executable.
BALTECH API is based on BRP Lib and provides wrapper functions in C for all BRP commands, i.e. they save you the work of dealing with command codes, timeouts, and other details.
It's a static library and included in the application during compilation. This means:
- You can only use it if you develop in C/C++ (C# and Python implementations are planned).
- To upgrade it, you have to recompile your code.
This is by intention: In contrary to BRP Lib, this library does not guarantee stable APIs. Although changes don't occur often, they might require you to change your code, e.g. if an API function has been renamed or the signature has changed.
BRP Lib can be upgraded more easily than BALTECH API. That's why it's possible to upgrade BRP Lib
(even at runtime, e.g. in case of a crucial bug), but still use the old statically linked BALTECH API.
Thus you might work with two different versions at the same time:
brp_get_version() for BRP Communication Library
brp_baltech_api_version() for BALTECH API
Legacy wrapper for BRPDriver.dll
This is a wrapper around
brp_lib.dll. You can use it as a drop-in replacement
for the SDK's deprecated predecessor 2014_brp_driver_dll in existing projects.
Please don't use the wrapper for new projects or when reworking existing ones.
Learn how to implement the legacy wrapper.