Try the app notes in the SDK

The easiest way to get started with the SDK is trying the app notes. They provide you with sample implementations for the most common use cases. Every app note consists of a C file with working code and a comment section describing its purpose.

Use the corresponding demo configuration

Some app note folders contain a demo configuration in BALCFG format. Make sure you transfer this configuration to your test reader when trying the app note.

Try precompiled app notes

For Windows, you can find precompiled app notes at /binaries/winXX/release that you can run right away.

Compile from source

At /appnotes, you can find the source code that you can compile yourself.

Prerequisites

Windows

  1. Unzip the SDK to the folder baltech_sdk.
  2. Change to baltech_sdk.
  3. Run the following command:

    • For 32-bit applications: XXX/baltech_sdk> cmake -A Win32 -B visualstudio/win32
    • For 64-bit applications: XXX/baltech_sdk> cmake -A x64 -B visualstudio/win64

This will generate the Visual Studio solution file
XXX/baltech_sdk/visualstudio/winXX/baltech_sdk.sln.

macOS

  1. Unzip the SDK to the folder baltech_sdk.
  2. Change to baltech_sdk.
  3. Run the following command:
XXX/baltech_sdk$ cmake -G Xcode -B xcode

This will generate the file XXX/baltech_sdk/xcode/baltech_sdk.xcodeproj. You can open it in Xcode.

If you get the error message No CMAKE_C_COMPILER could be found, please enter the following line when building for the first time:

$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer`

Executables of the app notes and shared object files of BRP Communication Library will reside in /binaries/mac64.

Linux

  1. Unzip the SDK to the folder baltech_sdk.
  2. Change to baltech_sdk.
  3. Run the following command sequence:
XXX/baltech_sdk$ cmake -B makefiles
XXX/baltech_sdk$ cd makefiles 
XXX/baltech_sdk/makefiles$ make 

Executables of the app notes and shared object files of BRP Communication Library will reside in /binaries/linux64.

In addition, the following steps are required:

  • Make sure the development libraries for udev are installed (e.g. libudev-devcall_made on Ubuntu 18.04LTS).
  • Do you use USB HID, virtual COM port, or RS-232, and your process isn't running as root? Then assign the process permissions to access the reader.