The purpose of the Z-Wave Plus Application Framework is to facilitate the implementation of robust Z-Wave Plus Compliant products.
The Z-Wave Application Framework:
As a result, the process of creating new Z-Wave applications is streamlined, typically taking less than a week or two for most new devices.
The Z-Wave SDK comes with the Application Framework for fast prototyping of your application. After downloading the SDK, decompress the SDK archive and then move to: SDK > ProductPlus > MyProductPlus. This directory contains necessary scripts to generate a sample Z-Wave application.
Application Framework included for fast application prototyping (Sample Code Libraries)
The Application Framework delivers Command Class modules that can be reused between applications.
The framework provides a number of modules:
Transport Layer The Transport Layer handles security, fragmentation of long payloads, delivery of bundled commands, etc.
Application command class handlers The Application command class handlers, handle parsing and frame composition for the application.
It also handle mutex protected transmit buffers.
Utils Utils provides helper modules for I/O handling, battery monitoring and firmware.
Application Framework is split in two folders /ApplicationCommandHandlers/ and /ApplicationUtilities/.
/ApplicationCommandHandlers/ contains command class modules. All command class modules share a protected transmit buffer provided by the ZW_tx_mutex module.
ZW_tx_mutex module implements two transmit buffers, one for request calls and one for response calls.
/ApplicationUtilities/ contains utility modules and interfaces to the Transport layer.
Some of the modules are used for simple MMI-setup such as button and LED handling. Other modules as association_plus, battery_monitor, battery_plus and ota_util are more complex utility modules which interface to command classes and the client application.
The last group is the Transport layer which takes care of transport; secure as well as non-secure.
The Transport layer API interface is identical for secure and non-secure transport.
The first step in Z-Wave development is setting up the development environment. To start Z-Wave application development you need:
As Keil compiler and Z-Wave tools are compatible with Microsoft Windows OS, we highly recommend to use WIndows based PC.
Start with downloading the latest Z-Wave SDK. Unpack the downloaded file.
The next step is to setting up the development environment.
To learn more about setting up the development environment refer to the 500 Series Environment User Guide.
For this example we assume that Keil compiler version 9.54a located at C:\KEIL\C51 and Z-Wave SDK is located at C:\SDK\.