Software Development Kit (SDK)

Solution to communicate with Codeks hardware


1. Intruduction

The Codeks Software Development Kit (SDK) offers solution to communicate with Codeks hardware line using a Codeks SDK .dll from any .dll enabled development solution.

2. Security

Every command which is sent to the Codeks hardware (controller) is crypted and scrambled. Analyzing (sniffing) the traffic and copying commands won't work.

3. Basic information to start

To start developing your own solution with Codeks .dll you need:

  • any kind of hardware from Codeks line
  • development solution (like .NET, Delphi, etc.) which supports .dll importing
  • Codeks SDK .dll file

4. SDK includes

  • introduction and operation description
  • extended documentation of every SDK function
  • c++ basic examples
  • Visual Studio 2010 application example, using Codeks SDK

5. Basic application example

Feedback from our customers, who tested SDK, was very positive, although there were some indication that first-step usage is to complicated. That is why we have developed basic examples (open/close communication; read/write users; reset the device) in Visual Studio 2010 c++/c# so you can immediately start using the SDK in your application.

6. Blocker - free & simple utility

Customers use Codeks SDK for complex or simple solutions, like reading events. In simple solutions they don't want to use System and other tables for configuration of the controller. That is why we developed a simple and free utility called Blocker. With Blocker you can search/discover controllers, set network configuration (IP, DNS, network gateway settings), define Access & Users in a simple way, without SDK / system table writing.

You only use the basic application example where you already have all the source code needed for reading events and writing users.


1. Can I use the SDK for communication over TCP/IP?

Yes, you can use V9SDKSocketOpen for communication over TCP/IP.

2. We would have many controllers, 100 or more, connected trough SDK. Is it possible to use the SDK simultaneously in different application threads?

Yes, the SDK library supports multi-threaded communication. That is why you have multiple lines of communication in SDK library. On each index/line of communication you can have up to 255 controllers. You can have up to 255 communication indexes/lines.

Thread specific. One thread opens one communication line and 255 controllers, another thread opens new communication line (index).

3. Which kind of communication do you support, push or pull?

We support both, push or pull.

4. What is the maximum number of users (first name, last name, card number)?

It depends of the product. Please see specification of products for specific number.

5. Can you expand memory for additional user in Regis?

Yes, you can expand users memory for Regis up to 13.000 users. Please keep in mind that writes and reads are a bit slower in this event.

6. Do you support Unicode user names?

Yes, Codeks hardware and software fully supports Unicode characters.

7. We need the SDK library and C# example. It can be something simple as loading 10.000 dummy users into the controller?

We have developed basic examples (open/close communication; read/write users; reset the device) in Visual Studio 2010 c++/c# so you can immediately start using the SDK in your program.

8. How to change IP address in REGIS in easie way?

You can write to System table over WriteTable SDK library or use Blocker, which is a free & simple utility for simple configuration of controllers. Blocker is free & bundled with SDK library.

9. Is there possibility to set the Default Gateway for network traffic and subnet mask?

Yes, you can define Default Gateway and subnet mask using System table or Blocker utility.

10. What is the maximum number of writes to flash?

The maximum number of writes to flash is 10.000. This means if you will write all users twice per day, 365 days = 730 writes per year. It will last 13 years this way.

11. How long it takes to load users table with 10.000 records over TCP/IP?

Updating 10.000 users over TCP/IP takes 1,5 seconds and 15 seconds over serial.

12. Is there any possibility to get the protocol instead of the SDK please?

No, you can not get protocol itself. Although, our SDK is a wrapper for V9 protocol. SDK generates proper start and end of package. Then whole package is encrypted and scrambled and sent to controller. Apart from that it's a low level SDK, where you have full control of connect, disconnect, reset, reading and writing. You have full access to all tables, including System tables where you can change all settings of controller.

We use SDK in our software, so we don't need to take care of the proper start / end of the package and so on.

13. Do you use the complete ID number (40 bits) of EM transponder?

Currently we use 32 bits, although we can modify to 40 bits. Please contact us for more information.

14. I need sector reading from MIFARE?

We do support reading sector in MIFARE.

15. Can we freely configure the screen layouts (icons, etc.)?

Yes, this is our strong advantage as screen layout is very configurable. Please find part of screen documentation in the gallery. There is limitation, there can only be 1 text area on the screen (area where you can write custom messages).

We do support unicode. Fonts are in vector format, so you can set the size (x,y) and spacing. As I said, the screen layout is our strong point.

16. Can we display our own messages on the screen from a PC in online mode?

Yes, you can display your own messages.

17. Do you support showing pictures on hardware?

Pictures are not supported yet, although it will be implemented in future software releases as the hardware supports JPEG. Please contact us if you need this urgently.

18. The controller should not accept any card until some button is selected first. Is this possible?

Yes, you can accomplish this with time intervals that all require buttons.

19. What is the price for the SDK?

The SDK itself is a free package which comes standard when you buy our hardware.