= BAOS SDK :author: Weinzierl Engineering GmbH :email: info@weinzierl.de ifdef::env-github,env-browser[:outfilesuffix: .adoc]
== Introduction
The BAOS Binary SDK is a C++ implementation of the KNX BAOS Binary Protocol. The class library aligns itself with the KNX BAOS Binary protocol, and for each protocol message type a corresponding class is available to send and receive the message data. In addition several convenience classes are provided to interpret the information, such as a Datapoint class for converting the raw byte stream into a specific parameter type. It is currently supported on the following platforms:
In addition to the native {cpp} classes a Managed {cpp} wrapper is also included to provide some level of integration with the .net languages, such as C# and Visual Basic.NET.
The KNX BAOS Binary SDK supports the BAOS Protocol version 1.2 as the 2.x versions.
== Contents
The SDK contains:
cmake:: utility files used by the cmake build system. docs:: SDK documentation dotnet:: .NET bindings ets:: ETS3/4 Project file (used by the Samples) kdrive:: the kdrive BAOS C++ implementation samples:: {cpp}, C# and vb sample files thirdparty:: open-source Poco platform abstraction library
== Supported Interfaces
== Requirements
CMake >= 3.0 + http://www.cmake.org/
Boost C++ (Header only) + http://www.boost.org/
Qt 5 + Optional. Needed for PushButton sample + http://www.qt.io
=== Compiling
==== Linux
==== Windows
mkdir build cd build cmake -DBOOST_ROOT=D:\boost\boost_1_57_0 -DCMAKE_BUILD_TYPE=Release -DWZSDK_STATIC=1 -DWZSDK_SAMPLES=1 -DWZSDK_SAMPLES_QT=0 -G "Visual Studio 12 2013" ../
===== C# bindings
To include the C# bindings in the build process, add the -DWZSDK_BINDINGS=1 option to the cmake command
After successful building the kdriveBAOS_dotnetd.dll
and kdriveBAOS_dotnet.dll
files can be found inside the /build/bin/Debug
or /build/bin/Release
folders
To create the intellisense file kdriveBAOS_dotnet.xml you need to enable the xml documentation generation. See http://msdn.microsoft.com/en-us/library/ms173501%28v=vs.90%29.aspx
== User Guide
See <<docs/User_Guide/User_Guide#,docs/User_Guide/User_Guide.adoc>> and for Raspbian <<docs/Raspbian#,docs/Raspbian.adoc>>
== API Documentation
== Copyright and Licensing
See <<LICENSE,LICENSE>>