kdrive is a cross-platform C++ software component library. It defines a complete ecosystem for the rapid development of KNX applications on platforms with POSIX (like) operating systems, such as Linux, Windows / WinCE and iOS.
The current release is kdrive-13.1.0 (2013-03-13)
The following features are currently available:
KNX Interface Drivers
- IP Tunnelling
- IP Routing
- FT1.2 Serial
- Tiny Serial
KNX Management Client Services
Complete range of management client services, including services for Easy Push Button and Easy Controller modes. Support for connection-oriented and connection-less services. Example services, not limited to:
- Property Value Read
- Property Value Write
- Property Description Read
- Function Property Command
- Function Property State Read
- User Memory Read
- User Memory Write
- and so on...
- Individual Address Prog Mode Read
- Individual Address Prog Mode Write
- Network Parameter Write
- Domain Address Serial Number Read
- Domain Address Serial Number Write
- Domain Address Selective Read
- and so on...
The Object Server is a data respository for KNX Datapoint Values and provides specific support for KNX runtime group telegrams. The Object Server can be configured by API or by file.
Encode and decode KNX Telegrams using the KNX Telegram Formatters.
Encode and decode KNX Datapoint types, including KNX 2 Byte Float.
The library is supported on the following platforms:
- Windows (from XP onwards)
- Windows CE
- Mac OS X
The primary kdrive Application Programming Interface (API) is the C++ class interface offered by each of the kdrive components. In addition however there are a number of additional libraries that offer their own API's based on (often a subset) of the kdrive API. These include the kdriveExpress library (C API), an experimental kdriveExpressCom library (Microsoft Com+ DLL) and a number of language wrappers, such as .NET or Python.
The kdrive C++ SDK is a component-based SDK and can be configured for a range of requirements, in either a binary or source distribution. Please contact us for more information regarding component license and pricing.
kdriveExpress SDK: C Bindings
kdriveExpress Library is a C interface to (a subset of) the kdrive C++ components. It currently exposes the kdriveAccess and kdriveServices libraries. The kdriveAccess library enables software to communicate with a KNX Interface Devices, such as the KNX USB Interface 310 or the KNX IP Interface 730 from Weinzierl Engineering. The kdriveServices library implements KNX management services, such as PropertyValueRead and PropertyValueWrite for example.
There is also a .NET DLL available with a similar API for developing applications with C# and VB.NET. Samples are also provided.
The library is free to use with Weinzierl KNX Interface Devices and the complete SDK can be downloaded here.
The kdrive BAOS Binary SDK is a C++ implementation of the KNX BAOS Binary Protocol.
kdriveDemoClient is a Qt application based on the kdrive C++ components. It implements the following functionality:
- Access Ports: USB, IP, FT1.2, TinySerial
- KNX Telegram Bus Monitor
- Management Client Services
- Object Server