Test VHL file and VHL command parameters

Once you have your VHL file created, you can test it right on your computer using BALTECH ID-engine Explorer. This test is helpful in 2 ways:

  • You verify that the VHL file is correct.
  • You verify the memory location parameters you'll later need to run the commands VHL.Readcall_made and VHL.Writecall_made in your application.

For this how-to, we'll use VHL.Read as an example.

To test the VHL file with the VHL.Read command:

  1. Connect a test reader to your computer.
  2. Transfer the draft configuration containing the VHL file to your test reader.
  3. Open BALTECH ID-engine Explorer.
  4. Click the reader, then click Select.

    • If several interfaces are shown for the reader, please select HID.
    • Connecting an Ethernet reader currently only works in maintenance mode or with PKI encryption (learn more).

    Screenshot: Select a reader in BALTECH ID-engine Explorer

  5. Open the Test VHL tab.

  6. Place a test project card on the reader.
  7. Click Select Card.

    • Reselect = False selects the next card in the field. If there's only 1 card in the field and you've already selected it, you'll get an error.
    • Reselect = True ignores everything since you last clicked Select Card and starts all over again.

    Learn morecall_made about the VHL.Select command and reselect options.

    If you use VHL & Autoread, this step will later be performed autonomously by the reader.

    You'll see the UID and card type read by the reader.

    Screenshot: Test VHL tab in BALTECH ID-engine Explorer showing the UID and type of a test card

  8. If you've added more than 1 VHL file, select the one you want to test from the drop-down.

  9. Specify the memory location you want to read. This can be any subsection of the memory location defined in your VHL file.
    To do so, specify the Address of First Byte and Number of Bytes.

    These will later be the Adr and Len parameters for the VHL.Read command.

    To check which section of the memory location you need to access, you can analyze the card structure of certain card types.

    What exactly do I need to specify here?

    Card type What you've specified in the VHL file What you can specify during testing
    ISO 15693 Number of blocks and their size
    Example
    - 5 blocks
    - 4 bytes per block
    Any range of bytes within the combined block size (in this case 20 bytes)
    Examples
    - First byte 4 with number of bytes <= 16
    - First byte 10 with number of bytes <=10
    LEGIC Segment and address range
    Example
    - Segment: 5
    - Start byte: 0
    - Length: 6
    Any subrange within this address range
    Examples
    - First byte 1 with number of bytes <= 5
    - First byte 2 with number of bytes <= 4
    MIFARE Classic Sector Any range of bytes within this sector.
    Bytes are numbered consecutively across blocks. Trailer blocks and block 0 will be omitted, i.e. the following block order is used: 1,2,4,5,6,8, etc. (0,3,7, etc. are omitted)
  10. Click Read.

  11. The data read from the card is shown in the right section of the window.

    This test output may differ from the output in your host system

    In ID-engine Explorer, the number read from the card is always displayed in ASCII decimal encoding. Your host system may use a different encoding. In this case, please order device settings that convert the number accordingly and keep in mind that the output in ID-engine Explorer won't match the output in your host system (learn more).

    Screenshot: Test VHL tab in BALTECH ID-engine Explorer showing the example read results

  12. To keep editing the VHL file, close ID-engine Explorer, make your changes in ConfigEditor, and transfer the updated configuration to the reader. Then you can retest the VHL file in ID-engine Explorer.

    Always close ID-engine Explorer before going back to ConfigEditor, and then reopen ID-engine Explorer for testing. Otherwise, the reader will be blocked and can't be accessed from ID-engine Explorer.