CONFIDENTIAL
Instruction
Z-Wave 500 Series SDK Contents v6.81.01
Document No.: INS13933
Version: 3
Description: -
Written By: JFR;COLSEN;TRO;BBR
Date: 2018-03-06
Reviewed By: JFR;TRO;ABR;EFH;SSE;COLSEN;JKA;LTHOMSEN
Restrictions: Partners Only
Approved by:
Date CET Initials Name Justification 2018-03-06 14:02:00 NTJ Niels Thybo Johansen
This document is the property of Silicon Labs. The data contained herein, in whole or in part, may not be duplicated, used or disclosed outside the recipient for any purpose. This restriction does not limit the recipient's right to use information contained in the data if it is obtained from another source without restriction.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page ii of vi
CONFIDENTIAL
REVISION RECORD
Doc. Rev
Date By Pages affected Brief description of changes
1 20170227 COLSEN ALL Initial draft based on INS13477-8 Z-Wave 500 Series SDK Contents v6.71.01
1 20170510 COLSEN Section 4.1.4 Changed triple press to press for learn mode.
1 20170524 TRO Section 4.5.4 Change button interface
1 20170623 TRO Section 4.3.1 Added sensor type variants
1 20170719 JFR Section 3 & 4 Removed intermediate apps
1 20170728 JFR Section 4.1.3 Changed Version CC version from 2 to 3.
1 20170801 TRO Section 4.10.4 Remove LED indication from Wall Controller
1 20170803 TRO Section 4 Add documentation states a Security Enabled Z-Wave Controller must be used in order to fully utilize the product.
1 20170804 TRO Section 4.6 Remove module ZDB5202 from Power strip
1 20170825 TRO Section 4.10 Wall Controller support ZDB5101
1 20170904 COLSEN Section 4.10.1 Removed Switch and Switch Multilevel from Wall Controller NIFs.
2 20171121 JFR Section 4.5.1 Section 4.1.3 Section 4.1.3, 4.5 & 4.6 Section 3.1 & 3.4.1
Added Basic CC to list of command classes. Changed Central Scene CC version from 2 to 3. Added information about supported mode of Notification. Added MyProductPlus binaries
2 20171127 COLSEN 4.1.3, 4.5 & 4.6 Added information about supported mode of Notification.
2 20171211 COLSEN 4 Updated support of Supervision in NIF tables.
2 20180130 COLSEN 4.2.4 Update buttons table for Door Lock.
2 20180215 COLSEN 4.6.3, 4.10.3 Updated endpoint lifelines.
2 20180222 COLSEN 4.1.5 Squashed “Documentation related to devices from multiple manufacturers” to be one section applying for all applications.
2 20180222 COLSEN 4.6.4 Updated description of button S6 for Power Strip (Overload detection).
3 20180306 BBR All Added Silicon Labs template
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page iii of vi
CONFIDENTIAL
Table of Contents
1 ABBREVIATIONS ................................................................................................................................. 1
2 INTRODUCTION ................................................................................................................................... 3
2.1 Purpose .............................................................................................................................................. 3 2.2 Audience and prerequisites ................................................................................................................ 3
3 SOFTWARE COMPONENTS ............................................................................................................... 4
3.1 Directory Structure SDK 6.8x.0x ........................................................................................................ 4 3.2 Boards Supported .............................................................................................................................. 6 3.3 Z-Wave ............................................................................................................................................... 7
3.3.1 Include ...................................................................................................................................... 7 3.3.2 I/O Defines ............................................................................................................................... 8 3.3.3 Libraries.................................................................................................................................... 8
3.3.3.1 Bootloader ........................................................................................................................ 9 3.3.3.2 Bridge Controller.............................................................................................................10 3.3.3.3 Portable Controller .........................................................................................................10 3.3.3.4 Static Controller ..............................................................................................................10 3.3.3.5 Static Controller Single ...................................................................................................10 3.3.3.6 Enhanced 232 Slave ......................................................................................................11 3.3.3.7 Production Test DUT ......................................................................................................11 3.3.3.8 Production Test Generator .............................................................................................11 3.3.3.9 Routing Slave .................................................................................................................11 3.3.3.10 External non-volatile memory .........................................................................................12 3.3.3.11 Variable initialization .......................................................................................................12 3.3.3.12 Library S2 .......................................................................................................................12 3.3.3.13 RF frequency ..................................................................................................................12
3.4 ProductPlus ......................................................................................................................................13 3.4.1 Bin ..........................................................................................................................................13
3.4.1.1 DoorLockKeyPad ...........................................................................................................13 3.4.1.2 MyProductPlus ...............................................................................................................14 3.4.1.3 PowerStrip ......................................................................................................................15 3.4.1.4 ProdTestDUT ..................................................................................................................15 3.4.1.5 ProdTestGen ..................................................................................................................15 3.4.1.6 SensorPIR ......................................................................................................................15 3.4.1.7 SerialAPI_Controller_Bridge ..........................................................................................16 3.4.1.8 SerialAPI_Controller_Portable .......................................................................................16 3.4.1.9 SerialAPI_Controller_Static ............................................................................................17 3.4.1.10 SerialAPI_Controller_Static_Single ................................................................................17 3.4.1.11 SerialAPI_Slave_Enhanced_232 ...................................................................................18 3.4.1.12 SerialAPI_Slave_Routing ...............................................................................................18 3.4.1.13 SwitchOnOff ...................................................................................................................18 3.4.1.14 WallController .................................................................................................................19
3.4.2 ApplicationCommandHandlers ..............................................................................................20 3.4.3 ApplicationUtilities ..................................................................................................................22 3.4.4 DoorLockKeyPad ...................................................................................................................23 3.4.5 MyProductPlus .......................................................................................................................23 3.4.6 PowerStrip ..............................................................................................................................23 3.4.7 SensorPIR ..............................................................................................................................23 3.4.8 SerialAPIPlus .........................................................................................................................23 3.4.9 SwitchOnOff ...........................................................................................................................24 3.4.10 WallController .........................................................................................................................24
3.5 Tools .................................................................................................................................................25
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page iv of vi
CONFIDENTIAL
3.5.1 FixBootCRC ...........................................................................................................................25 3.5.2 FixPatchCRC .........................................................................................................................25 3.5.3 HexTools ................................................................................................................................25 3.5.4 IMAToolBox ............................................................................................................................25 3.5.5 IncDep ....................................................................................................................................25 3.5.6 KeypairGeneration .................................................................................................................25 3.5.7 Make .......................................................................................................................................25 3.5.8 Mergehex ...............................................................................................................................25 3.5.9 Python ....................................................................................................................................26 3.5.10 TextTools................................................................................................................................26 3.5.11 uVisionProjectGenerator ........................................................................................................26
4 Z-WAVE PLUS APPLICATIONS ........................................................................................................27
4.1 Z-Wave Plus Framework ..................................................................................................................28 4.1.1 Application Command Handlers ............................................................................................29 4.1.2 Transport Layer ......................................................................................................................29 4.1.3 Supported command classes .................................................................................................30 4.1.4 General user interface ............................................................................................................30 4.1.5 Documentation related to devices from multiple manufacturers ............................................30
4.2 Door Lock Key Pad ..........................................................................................................................31 4.2.1 Announced Command Classes in NIF ...................................................................................32 4.2.2 Basic Command Class mapping ............................................................................................32 4.2.3 Association groups .................................................................................................................33 4.2.4 Usage of buttons on ZDP03A ................................................................................................33 4.2.5 LED status on ZDP03A ..........................................................................................................33 4.2.6 Firmware update and external NVM ......................................................................................33 4.2.7 Z-Wave Certification ...............................................................................................................34
4.3 My Product Plus ...............................................................................................................................35 4.3.1 My Product Plus sensor type variants ....................................................................................35 4.3.2 Announced Command Classes in NIF ...................................................................................35 4.3.3 Basic Command Class mapping ............................................................................................36 4.3.4 Association groups .................................................................................................................37 4.3.5 MyProduct Files .....................................................................................................................37 4.3.6 Firmware update and external NVM ......................................................................................38 4.3.7 Z-Wave Certification ...............................................................................................................38
4.4 Switch On/Off ...................................................................................................................................39 4.4.1 Announced Command Classes in NIF ...................................................................................40 4.4.2 Basic Command Class mapping ............................................................................................40 4.4.3 Association groups .................................................................................................................40 4.4.4 Usage of buttons on ZDP03A ................................................................................................41 4.4.5 LED status on ZDP03A ..........................................................................................................41 4.4.6 Firmware update and external NVM ......................................................................................41 4.4.7 Z-Wave Certification ...............................................................................................................41
4.5 Sensor PIR .......................................................................................................................................42 4.5.1 Announced Command Classes in NIF ...................................................................................43 4.5.2 Basic Command Class mapping ............................................................................................43 4.5.3 Association groups .................................................................................................................44 4.5.4 Usage of buttons on ZDP03A ................................................................................................44 4.5.5 LED status on ZDP03A ..........................................................................................................44 4.5.6 Z-Wave Certification ...............................................................................................................44
4.6 Power Strip .......................................................................................................................................45 4.6.1 Announced Command Classes in NIF ...................................................................................46 4.6.2 Basic Command Class mapping ............................................................................................47 4.6.3 Association groups .................................................................................................................48 4.6.4 Usage of buttons on ZDP03A ................................................................................................49 4.6.5 LED status on ZDP03A ..........................................................................................................49 4.6.6 Z-Wave Certification ...............................................................................................................49
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page v of vi
CONFIDENTIAL
4.7 Production Test DUT ........................................................................................................................50 4.7.1 Production Test DUT Files .....................................................................................................51
4.8 Production Test Generator ...............................................................................................................52 4.8.1 Production Test Generator Files ............................................................................................54
4.9 Serial API Applications .....................................................................................................................54 4.10 Wall Controller ..................................................................................................................................55
4.10.1 Announced Command Classes in NIF ...................................................................................56 4.10.2 Basic Command Class mapping ............................................................................................58 4.10.3 Association groups .................................................................................................................59 4.10.4 Usage on ZDP03A .................................................................................................................61 4.10.5 How to configure associations to Wall Controller...................................................................61
4.10.5.1 Non-multi-channel encapsulated configuration ..............................................................62 4.10.5.2 Encapsulated configuration ............................................................................................63
4.10.6 Z-Wave Certification ...............................................................................................................63
5 DEVELOPMENT COMPONENTS ......................................................................................................64
5.1 Z-Wave Development Platform ZDP03A .........................................................................................64 5.2 Hardware development components for 500 Series ........................................................................65
REFERENCES ...........................................................................................................................................66
INDEX .........................................................................................................................................................67
List of Figures
Figure 1, Z-Wave Plus Application Framework. ........................................................................................ 28 Figure 2. Prod_Test_DUT test program flow. ............................................................................................ 50 Figure 3. Wall Controller endpoints/buttons on ZDP03A. .......................................................................... 58 Figure 4. The Z-Wave Development Platform ZDP03A. ........................................................................... 64
List of Tables
Table 1. 500 Series development boards hex files naming......................................................................... 6 Table 2. Functionality covered by the Z-Wave Plus applications. ............................................................. 27 Table 3. Door Lock Key Pad command classes announced in NIF depending on state .......................... 32 Table 4. Door Lock Key Pad buttons interface .......................................................................................... 33 Table 5. Door Lock Key Pad LED status interface .................................................................................... 33 Table 6. Door Lock Key Pad external NVM data backward compatibility ................................................. 34 Table 7. My Product Plus command classes announced in NIF depending on state. .............................. 36 Table 8. My Product Plus external NVM data backward compatibility ...................................................... 38 Table 9. On/Off Switch Command Classes announced in NIF depending on state ................................. 40 Table 10. On/Off Switch push buttons interface ........................................................................................ 41 Table 11. On/Off Switch LED status interface ........................................................................................... 41 Table 12. PIR Sensor command classes announced in NIF depending on state ..................................... 43 Table 13. PIR Sensor buttons interface..................................................................................................... 44 Table 14. PIR Sensor LED status interface ............................................................................................... 44 Table 15. Power Strip command classes announced in NIF depending on state ..................................... 46 Table 16. Power Strip push buttons interface ........................................................................................... 49 Table 17. Power Strip LED status interface .............................................................................................. 49 Table 18. Production Test Generator LED interface ................................................................................. 52 Table 19. Wall Controller command classes announced in NIF depending on state ................................ 56 Table 20. Wall Controller push buttons interface ...................................................................................... 61
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page vi of vi
CONFIDENTIAL
Table 21. 500 Series development boards and interfaces ........................................................................ 65
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 1 of 67
CONFIDENTIAL
1 ABBREVIATIONS
Abbreviation Explanation
ACK Acknowledge
AES The Advanced Encryption Standard is a symmetric block cipher algorithm.
AGI Association Group Information command class
ANZ Australia/New Zealand
API Application Programming Interface
ASIC Application Specific Integrated Circuit
CC Command Class
CSA Client-Side Authentication
DLL Dynamic Link Library
DUT Device Under Test
ERTT Enhanced Reliability Test Tool
EU Europe
GNU An organization devoted to the creation and support of Open Source software
HEX S-Record hex file extension (*.hex) for programs to be downloaded the first time using a programmer because it contains both bootloader and Firmware Update Meta Data Command Class implementation. The bootloader can support S-Record hex file or compressed hex file format.
HK Hong Kong
HW Hardware
IL Israel
IMA Installation and Maintenance Application that typical resides on the gateway
IN India
IR Infrared
JP Japan
KR South Korea
LBT Listen Before Talk
MY Malaysia
NVM Non-volatile memory
OTA Over the air (e.g. making a firmware update wireless). Also used as S-Record hex file extension (*.ota) for programs to be sent over the air achieving a firmware update of the device in question. The device must of course have a bootloader supporting the S-Record hex file format.
OTW Over the wire (e.g. making a firmware update via the serial API interface)
OTZ Used as compressed hex file extension (*.otz) for programs to be sent over the air (OTA) achieving a firmware update of the device in question. The device must of course have a bootloader supporting the compressed hex file format.
RF Radio Frequency
RSSI Received Signal Strength Indicator
RU Russia
S0 Security Command Class
S2 Security 2 Command Class
SDK Z-Wave Software Developer’s Kit includes software and related software documentation.
SSA Server-Side Authentication
TI Test Interface for test and debugging purposes.
UPnP Universal Plug and Play
US United States
USB Universal Serial Bus
UZB USB v2.0 full speed low power CDC-ACM compliant Z-Wave adapter
VCP Virtual COM Port
XML eXtensible Markup Language
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 2 of 67
CONFIDENTIAL
Abbreviation Explanation
ZDK Z-Wave Developer’s Kit includes hardware, software and documentation.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 3 of 67
CONFIDENTIAL
2 INTRODUCTION
2.1 Purpose
The purpose of this document is to describe the contents on the Z-Wave Software Developer’s Kit (SDK). Document contains also a description of all embedded applications including user guide or reference to relevant document.
2.2 Audience and prerequisites
The audience is Z-Wave Partners.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 4 of 67
CONFIDENTIAL
3 SOFTWARE COMPONENTS
The Z-Wave development software packet consists of a protocol part, applications and a number of tools used for developing and building the code.
3.1 Directory Structure SDK 6.8x.0x
The development software is organized in the following directory structure:
/ - ProductPlus
- ApplicationCommandHandlers - ApplicationUtilities - Bin
- DoorLockKeyPad - MyProductPlus - PowerStrip - ProdTestDUT - ProdTestGen - SensorPIR - SerialAPI_Controller_Bridge - SerialAPI_Controller_Portable - SerialAPI_Controller_Static - SerialAPI_Controller_Static_Single - SerialAPI_Slave_Enhanced_232 - SerialAPI_Slave_Routing - SwitchOnOff - WallController
- DoorLockKeyPad - MyProductPlus - PowerStrip - ProdTestDUT - ProdTestGen - SensorPIR - SerialAPIPlus - SwitchOnOff - WallController
- Tools - FixBootCRC - FixPatchCRC - HexTools - IMAToolbox
- PC - Source
- IncDep - KeypairGeneration - Make - Mergehex - Python - TextTools
- sed-1-4-5 - uVisionProjectGenerator
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 5 of 67
CONFIDENTIAL
- Z-Wave - include - IO_defines - lib
- bootloader_ZW050x - controller_bridge_ZW050x - controller_bridge_ZW050x_3CH - controller_portable_ZW050x - controller_portable_ZW050x_3CH - controller_static_single_ZW050x - controller_static_single_ZW050x_3CH - controller_static_ZW050x - controller_static_ZW050x_3CH - ext_nvm - init_vars - lib2 - rf_freq - slave_enhanced_232_ZW050x - slave_enhanced_232_ZW050x_3CH - slave_prodtest_dut_ZW050x - slave_prodtest_dut_ZW050x_3CH - slave_prodtest_gen_ZW050x - slave_prodtest_gen_ZW050x_3CH - slave_routing_ZW050x - slave_routing_ZW050x_3CH
This directory structure contains all the tools and applications needed, except the recommended Keil software, which must be purchased separately. More information about where and how to buy the Keil software development components are described in [12].
Note! Recommending leaving the directory structure as is due to compiler and linker issues.
The majority of the above mentioned Z-Wave specific tools and application are briefly described in the following sections.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 6 of 67
CONFIDENTIAL
3.2 Boards Supported
The SDK support a number of different boards as shown in the table below.
Table 1. 500 Series development boards hex files naming
Development board Module/chip used Hex file name
ZDB5101
ZM5101 *_ZW050x_y*.hex
*_ZW050x_USBVCP_y*.hex
ZDB3502
SD3502 *_ZW050x_y*.hex
*_ZW050x_USBVCP_y*.hex
ZDB5202
ZM5202/SD3502 (300 series interface)
*_ZW050x_y*.hex (See note below)
Note: USBVCP hex files do not support ZM5202. Calibration hex files for Z-Wave have dedicated ZM5202 hex files.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 7 of 67
CONFIDENTIAL
3.3 Z-Wave
The Z-Wave header files and libraries are the software files needed for building a Z-Wave enabled product. The files are organized in directories used for building Z-Wave controllers and slaves respectively.
3.3.1 Include
The Z-Wave\include directory contains Z-Wave header files needed for interfacing to the Z-Wave protocol and hardware peripherals that reside on the 500 Series Single Chip.
The Z-Wave protocol related header files are as follows:
ZW_controller_api.h Portable Controller interface. This header should be used together with the Controller Library.
Macro defines.
Include all necessary header files.
ZW_controller_bridge_api.h Bridge controller interface. This header should be used together with the Bridge Controller Library.
Macro defines.
Includes all necessary header files.
ZW_controller_static_api.h Static Controller interface. This header should be used together with the Static Controller Library.
Macro defines.
Includes all necessary header files.
ZW_sensor_api.h Sensor interface.
Macro defines.
Includes all other necessary header files.
ZW_slave_32_api.h Slave interface for ZMXXXX-RE Z-Wave module.
Macro defines.
Include all header files.
ZW_slave_api.h Slave interface.
Macro defines.
Includes all other necessary header files.
ZW_slave_routing_api.h Routing and Enhanced 232 slave nodes interface.
Macro definitions.
Includes all other necessary header files.
ZW_basis_api.h Z-Wave Application general software interface.
Interface to common Z-Wave functions.
ZW_transport_api.h Transfer of data via Z-Wave protocol.
ZW_classcmd.h Defines for device and command classes used to obtain interoperability between Z-Wave enabled products from different vendors, for a detailed description refer to [4], [5], [6], [7], [8], [15], [16] and [11].
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 8 of 67
CONFIDENTIAL
The hardware peripherals related header files are as follows:
config_lib.h This header file contains defines for library version in a generalized way.
ISD51.h This header file contains defines and functions for the In-System Debugger for 8051 based microcontrollers modified for Silicon Labs ZW050x.
ZW_adcdriv_api.h This header file contains defines and functions interfacing to the 500 Series Single Chip built-in analog to digital converter.
ZW_aes_api.h This header file contains defines and functions interfacing to the 500 Series Single Chip built-in AES-128 engine.
… See comments in header files.
ZW050x.h Inventra 8051 SFR defines for the Z-Wave ZW050x RF transceiver.
3.3.2 I/O Defines
The Z-Wave\IO_defines directory contains hardware definition files needed for building an application e.g. the development controller application.
AppRFSetup.c This file defines the normal and low power transmission levels. Change levels here if necessary.
ZW_app_version.a51 Makes the version for the application accessible from the library file during linking.
ZW_evaldefs.h This file contains definitions of the connector pins on the controller board.
ZW_L51_BANK.a51 This file enables code bank switching.
ZW_pindefs.h This file contains definitions of the connector pins on the Z-Wave module, and macros for accessing the I/O pins. Refer to [10] regarding a detail description.
ZW_portdefs.h This file contains I/O port initialization vectors on the Z-Wave ASIC.
ZW_segment_tail.a51 This file enables use of XDATA located in SRAM part of the code area.
ZW_strings_rf050x.h/c Attributes for RF table.
3.3.3 Libraries
The Z-Wave\lib directory structure contains all the supported libraries.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 9 of 67
CONFIDENTIAL
3.3.3.1 Bootloader
The lib\bootloader_ZW050x directory contains a bootloader that is used in connection with OTA firmware update. The directory contains the following file:
ZW_bootloader_ZW050x.lib This file is linked together with the Z-Wave protocol and API library.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 10 of 67
CONFIDENTIAL
3.3.3.2 Bridge Controller
The lib\controller_bridge_ZW050x… directory contains all files needed for building a non-secure Z-Wave bridge controller application. The directory contains the following files:
ZW_controller_bridge_ZW050x.lib ZW_controller_bridge_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave bridge controller application should be linked together with. JP and KR use the 3CH variant.
3.3.3.3 Portable Controller
The lib\controller_portable_ZW050x… directory contains all files needed for building a non-secure Z-Wave controller application. The directory contains the following files:
ZW_controller_portable_ZW050x.lib ZW_controller_portable_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave portable controller application should be linked together with. JP and KR use the 3CH variant.
3.3.3.4 Static Controller
The lib\controller_static_ZW050x… directory contains all files needed for building a non-secure Z-Wave static controller application. The directory contains the following files:
ZW_controller_static_ZW050x.lib ZW_controller_static_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave static controller application should be linked together with. JP and KR use the 3CH variant.
3.3.3.5 Static Controller Single
The lib\controller_static_single_ZW050x… directory contains all files needed for building a Z-Wave static single controller application. ERTT application uses this library because it supports suppression of retransmission. Notice that the PC based Controller now supports the ERTT functionality.
WARNING: Do not use this library in product applications
The directory contains the following files:
ZW_controller_static_single_ZW050x.lib ZW_controller_static_single_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave static controller single application should be linked together with. JP and KR use the 3CH variant.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 11 of 67
CONFIDENTIAL
3.3.3.6 Enhanced 232 Slave
The lib\slave_enhanced_232_ZW050x… directory contains all files needed for building a non-secure and secure S0/S2 Z-Wave enhanced 232 slave node application. The directory contains the following files:
ZW_slave_enhanced_232_ZW050x.lib ZW_slave_enhanced_232_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave enhanced 232 slave application should be linked together with. JP and KR use the 3CH variant.
3.3.3.7 Production Test DUT
The lib\slave_prodtest_dut_ZW050x… directory contains all files needed for building a production test DUT application on a Z-Wave module. The directory contains the following files:
ZW_slave_prodtest_dut_ZW050x.lib ZW_slave_prodtest_dut_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module modules that a Z-Wave production test DUT application should be linked together with. JP and KR use the 3CH variant.
3.3.3.8 Production Test Generator
The lib\slave_prodtest_gen_ZW050x… directory contains all files needed for building a production test generator application on a Z-Wave module. The directory contains the following files:
ZW_slave_prodtest_gen_ZW050x.lib ZW_slave_prodtest_gen_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module modules that a Z-Wave production test generator application should be linked together with. JP and KR use the 3CH variant.
3.3.3.9 Routing Slave
The lib\slave_routing_ZW050x… directory contains all files needed for building a non-secure Z-Wave routing slave node application on a Z-Wave module. The directory contains the following files:
ZW_slave_routing_ZW050x.lib ZW_slave_routing_ZW050x_3CH.lib
These files are the compiled Z-Wave protocol and API library for a 500 Series based module that a Z-Wave routing slave application should be linked together with. JP and KR use the 3CH variant.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 12 of 67
CONFIDENTIAL
3.3.3.10 External non-volatile memory
The lib\ext_nvm directory contains external non-volatile memory (NVM) drivers, which can be used to substitute default driver in library.
The default driver uses SPI1 and P2.5 to access external NVM. The driver adapt automatically to the external NVM in question or uses data in NVR. Regarding supported NVMs, refer to [17]
WARNING: Currently it is not possible to substitute default driver in library/bootloader by linking one of the object files.
3.3.3.11 Variable initialization
The lib\init_vars directory contains an init_vars.obj object file, which replaces the standard Keil initialization procedure. This reduces the time to detect whether a wakeup beam is present or not by postponing initialization. Initialization happens only in case the wakeup beam is addressed to the node in question.
3.3.3.12 Library S2
The lib\libs2 directory contains the S2 Security-specific libraries. These libraries are linked into all S2 enabled targets.
The directory contains the following files:
LIBS2CRYPTO.LIB: Cryptographic functions used by S2.
LIBS2_SLAVE.LIB: S2 transport system and inclusion state machine for slave libraries.
3.3.3.13 RF frequency
The lib\rf_freq directory contains all the possible RF initialization object files ZW_rf_050x_xx.obj:
ZW_rf_050x_ALL.obj – Contains all frequencies (Used by Zniffer and Production Test Generator)
ZW_rf_050x_ANZ.obj – Australia/New Zealand
ZW_rf_050x_CN.obj – China
ZW_rf_050x_EU.obj – Europe
ZW_rf_050x_HK.obj – Hong Kong
ZW_rf_050x_IL.obj – Israel
ZW_rf_050x_IN.obj – India
ZW_rf_050x_JP.obj – Japan
ZW_rf_050x_KR.obj – South Korea
ZW_rf_050x_MY.obj – Malaysia
ZW_rf_050x_RU.obj – Russia
ZW_rf_050x_US.obj – US
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 13 of 67
CONFIDENTIAL
3.4 ProductPlus
The ProductPlus directory contains Z-Wave Plus applications for a number of different product examples. Both source code and precompiled files ready for download are supplied.
3.4.1 Bin
The ProductPlus\Bin directory structure contains the precompiled code of the Z-Wave Plus applications and the hex files needed to download to the Z-Wave 500 Series Single Chip via the Z-Wave Programmer.
The table in section 3.1 show the hex files naming for Z-Wave Development Boards used in conjunction with the Z-Wave Development Platform ZDP03A. Refer to section 5.1 regarding RS232 and USB numbering on ZDP03A. Refer to section 3.3.3.11 regarding frequency notation y.
3.4.1.1 DoorLockKeyPad
The ProductPlus\Bin\DoorLockKeyPad directory contains all files needed for running a Z-Wave Plus Door Lock with Keypad (both non-secure and secure S0/S2) application on a Z-Wave module. The Z-Wave Plus application is based on the enhanced 232 slave library. The directory contains the following files:
DoorLockKeyPad_slave_enhanced_232_OTA_SSA _ZW050x_y_TI_WITH_BOOTLOADER.hex
Door Lock with Keypad hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB. TI denotes that Test Interface is enabled. SSA denotes that server-side authentication is used, which is the highest security level in S2.
DoorLockKeyPad_slave_enhanced_232_OTA_SSA _ZW050x_y_TI.otz
Door Lock with Keypad OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
DoorLockKeyPad_slave_enhanced_232_OTA_CSA _ZW050x_y_TI_WITH_BOOTLOADER.hex
Door Lock with Keypad hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB. TI denotes that Test Interface is enabled. CSA denotes that client-side authentication, which is used when upgrading devices to support S2.
DoorLockKeyPad_slave_enhanced_232_OTA_CSA _ZW050x_y_TI.otz
Door Lock with Keypad OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 14 of 67
CONFIDENTIAL
3.4.1.2 MyProductPlus
The ProductPlus\Bin\MyProductPlus directory contains all files needed to develop a Z-Wave Plus application (both non-secure and secure S0/S2) using a minimum framework. MyProductPlus application supports three different types of devices:
Always on device.
Battery device supporting Battery CC
Battery device supporting Battery and Wake Up CC
The MyProductPlus application is missing device type specific command classes before it is a real device. Application is based on the enhanced 232 slave library. The directory contains the following files:
MyProductPlus_slave_enhanced _232_OTA_ZW050x_y_WITH_BOOTLOADER.hex
MyProductPlus (Always on device) hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB.
MyProductPlus _slave_enhanced _232_OTA_ZW050x_y.otz
MyProductPlus OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
MyProductPlus_Battery_slave_enhanced _232_OTA_ZW050x_y_WITH_BOOTLOADER.hex
MyProductPlus (Battery device supporting Battery CC) hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB.
MyProductPlus_Battery_slave_enhanced _232_OTA_ZW050x_y.otz
MyProductPlus OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
MyProductPlus_Battery_wakeUp_slave_enhanced _232_OTA_ZW050x_y_WITH_BOOTLOADER.hex
MyProductPlus (Battery device supporting Battery and Wake Up CC) hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB.
MyProductPlus_Battery_wakeUp_slave_enhanced _232_OTA_ZW050x_y.otz
MyProductPlus OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 15 of 67
CONFIDENTIAL
3.4.1.3 PowerStrip
The ProductPlus\Bin\PowerStrip directory contains all files needed for running a Z-Wave Plus Power Strip (both non-secure and secure S0/S2) application on a Z-Wave module. The Z-Wave Plus application is based on the enhanced 232 slave library. The directory contains the following files:
PowerStrip_slave_enhanced_232_OTA _ZW050x_y_TI_WITH_BOOTLOADER.hex
Power Strip hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB. TI denotes that Test Interface is enabled.
PowerStrip_slave_enhanced_232_OTA _ZW050x_y_TI.otz
Power Strip OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
3.4.1.4 ProdTestDUT
The ProductPlus\Bin\ProdTestDUT directory contains all files needed for running a production test device under test (DUT) application on a Z-Wave module. The directory contains the following files:
prodtestdut_ZW050x_y.hex Production test DUT hex files for y frequency versions.
3.4.1.5 ProdTestGen
The ProductPlus\Bin\ProdTestGen directory contains all files needed for running a production test generator application on a Z-Wave module. The directory contains the following files:
prodtestgen_ZW050x_ALL.hex prodtestgen_ZW050x_ALL_3CH.hex
Production test generator hex files for all frequency versions. JP and KR uses 3CH.
3.4.1.6 SensorPIR
The ProductPlus\Bin\SensorPIR directory contains all files needed for running a Z-Wave Plus PIR Sensor (both non-secure and secure S0/S2) application on a Z-Wave module. The Z-Wave Plus application is based on the routing slave library and supports therefore not OTA firmware update. The directory contains the following files:
SensorPIR_Battery_slave_routing _ZW050x_y.hex
PIR Sensor hex files for y frequency versions.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 16 of 67
CONFIDENTIAL
3.4.1.7 SerialAPI_Controller_Bridge
The ProductPlus\Bin\SerialAPI_Controller_Bridge directory contains all files needed for running a serial API based bridge controller (both non-secure and secure S0/S2) application on a Z-Wave module. The directory contains the following files:
serialapi_controller_bridge_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_controller_bridge_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
Serialapi_controller_bridge_OTW_ZW050x _y_WITH_BOOTLOADER.hex serialapi_controller_bridge_OTW_ZW050x _USBVCP_y_WITH_BOOTLOADER.hex
RS232 1 / USB 2 port (ZDP03A) based serial API hex files supporting OTW firmware update for y frequency versions. Hex file comprises of application and bootloader supporting OTZ hex files. This hex file MUST be used first time when programming the device. The OTW functionality requires an external NVM equal to or bigger than 256 KB.
Serialapi_controller_bridge_OTW_ZW050x _y.otz serialapi_controller_bridge_OTW_ZW050x _USBVCP_y.otz
RS232 1 / USB 2 port (ZDP03A) based serial API OTZ hex files supporting OTW firmware update for y frequency versions. Hex file comprises of only application. This hex file MUST be used when doing OTW firmware update.
3.4.1.8 SerialAPI_Controller_Portable
The ProductPlus\Bin\SerialAPI_Controller_Portable directory contains all files needed for running a serial API based portable controller (both non-secure and secure S0/S2) application on a Z-Wave module. The directory contains the following files:
serialapi_controller_portable_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_controller_portable_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
Serialapi_controller_portable_OTW_ZW050x _y_WITH_BOOTLOADER.hex serialapi_controller_portable_OTW_ZW050x _USBVCP_y_WITH_BOOTLOADER.hex
RS232 1 / USB 2 port (ZDP03A) based serial API hex files supporting OTW firmware update for y frequency versions. Hex file comprises of application and bootloader supporting OTZ hex files. This hex file MUST be used first time when programming the device. The OTW functionality requires an external NVM equal to or bigger than 256 KB.
Serialapi_controller_portable_OTW_ZW050x _y.otz serialapi_controller_portable_OTW_ZW050x
RS232 1 / USB 2 port (ZDP03A) based serial API OTZ hex files supporting OTW firmware update for y frequency versions. Hex file comprises of only application. This hex file MUST be used
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 17 of 67
CONFIDENTIAL
_USBVCP_y.otz when doing OTW firmware update.
3.4.1.9 SerialAPI_Controller_Static
The ProductPlus\Bin\SerialAPI_Controller_Static directory contains all files needed for running a serial API based static controller (both non-secure and secure S0/S2) application on a Z-Wave module. The directory contains the following files:
serialapi_controller_static_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_controller_static_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
Serialapi_controller_static_OTW_ZW050x _y_WITH_BOOTLOADER.hex serialapi_controller_static_OTW_ZW050x _USBVCP_y_WITH_BOOTLOADER.hex
RS232 1 / USB 2 port (ZDP03A) based serial API hex files supporting OTW firmware update for y frequency versions. Hex file comprises of application and bootloader supporting OTZ hex files. This hex file MUST be used first time when programming the device. The OTW functionality requires an external NVM equal to or bigger than 256 KB.
Serialapi_controller_static_OTW_ZW050x _y.otz serialapi_controller_static_OTW_ZW050x _USBVCP_y.otz
RS232 1 / USB 2 port (ZDP03A) based serial API OTZ hex files supporting OTW firmware update for y frequency versions. Hex file comprises of only application. This hex file MUST be used when doing OTW firmware update.
3.4.1.10 SerialAPI_Controller_Static_Single
The ProductPlus\Bin\SerialAPI_Controller_Static_Single directory contains the embedded code for the Enhanced Reliability Test Tool (ERTT). Notice that the PC based Controller now supports the ERTT functionality.
WARNING: Do not use this Serial API application in product applications
The directory contains the following files:
serialapi_controller_static_single_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_controller_static_single_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 18 of 67
CONFIDENTIAL
3.4.1.11 SerialAPI_Slave_Enhanced_232
The ProductPlus\Bin\SerialAPI_Slave_Enhanced_232 directory contains all files needed for running a serial API based enhanced 232 slave (both non-secure and secure S0/S2) application on a Z-Wave module. The directory contains the following files:
serialapi_slave_enhanced_232_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_slave_enhanced_232_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
Serialapi_slave_enhanced_232_OTW_ZW050x _y_WITH_BOOTLOADER.hex serialapi_slave_enhanced_232_OTW_ZW050x _USBVCP_y_WITH_BOOTLOADER.hex
RS232 1 / USB 2 port (ZDP03A) based serial API hex files supporting OTW firmware update for y frequency versions. Hex file comprises of application and bootloader supporting OTZ hex files. This hex file MUST be used first time when programming the device. The OTW functionality requires an external NVM equal to or bigger than 128 KB.
Serialapi_slave_enhanced_232_OTW_ZW050x _y.otz serialapi_slave_enhanced_232_OTW_ZW050x _USBVCP_y.otz
RS232 1 / USB 2 port (ZDP03A) based serial API OTZ hex files supporting OTW firmware update for y frequency versions. Hex file comprises of only application. This hex file MUST be used when doing OTW firmware update.
3.4.1.12 SerialAPI_Slave_Routing
The ProductPlus\Bin\SerialAPI_Slave_Routing directory contains all files needed for running a serial API based routing slave (both non-secure and secure S0/S2) application on a Z-Wave module. The routing slave does not use external NVM. The directory contains the following files:
serialapi_slave_routing_ZW050x_y.hex RS232 1 port (ZDP03A) based serial API hex files for y frequency versions.
Serialapi_slave_routing_ZW050x_USBVCP _y.hex
USB 2 port (ZDP03A) based serial API hex files for y frequency versions. USBVCP hex files do not support ZM5202.
3.4.1.13 SwitchOnOff
The ProductPlus\Bin\SensorPIR directory contains all files needed for running a Z-Wave Plus On/Off Switch (both non-secure and secure S0/S2) application on a Z-Wave module. The Z-Wave Plus application is based on the enhanced 232 slave library. The directory contains the following files:
SwitchOnOff_slave_enhanced_232_OTA _ZW050x_y_TI_WITH_BOOTLOADER.hex
On/Off Switch hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 19 of 67
CONFIDENTIAL
Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB. TI denotes that Test Interface is enabled.
SwitchOnOff_slave_enhanced_232_OTA _ZW050x_y_TI.otz
On/Off Switch OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
3.4.1.14 WallController
The ProductPlus\Bin\WallController directory contains all files needed for running a Z-Wave Plus Wall Controller (both non-secure and secure S0/S2) application on a Z-Wave module. The Z-Wave Plus application is based on the enhanced 232 slave library. The directory contains the following files:
WallController_slave_enhanced_232 _ZW050x_y_TI.otz
Wall Controller hex files for y frequency versions. TI denotes that Test Interface is enabled.
WallController_slave_enhanced_232_OTA _ZW050x_y_TI_WITH_BOOTLOADER.hex
Wall Controller hex files for y frequency versions. Download this file first time using ZwaveProgrammer because it contains both bootloader supporting OTZ hex files and Firmware Update Meta Data CC implementation. The OTW functionality requires an external NVM equal to or bigger than 128 KB. TI denotes that Test Interface is enabled.
WallController_slave_enhanced_232_OTA _ZW050x_y_TI.otz
Wall Controller OTZ hex files for y frequency versions. Download this file over the air (OTA) subsequent because it contains not the bootloader.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 20 of 67
CONFIDENTIAL
3.4.2 ApplicationCommandHandlers
In addition to Command Class specific modules, the folder “ProductPlus\ApplicationCommandHandlers” contains general purpose functions by the ApplicationCommandHandler function.
Files Description
config_app.h This header file contains definitions saved in NVM. It is used for Firmware Update (APP_MANUFACTURER_ID and APP_FIRMWARE_ID) and Application version handling.
Config_release.bat The BAT file is a helper file for the build environment. Instead of using “make xx” use “mk xx”.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 21 of 67
CONFIDENTIAL
ZW_tx_mutex.h ZW_tx_mutex.c
This module allocates protected transmit-buffers used to send data. The mutex buffer MUST be used correctly to ensure safe access to the transmit buffer. All Command class handler modules use mutex buffers to send data.
There are two types of buffers, one for Set/Get commands (Request commands) and one for Response commands.
Example of using a Response buffer: GetResponseBuffer()
returns a pointer to the buffer and ZCB_ResponseJobStatus() releases the buffer again. It is possible for the application to
get status of the SendData() by calling
GetResponseBufferCb( pCB). If Transport_SendResponse() failed is it up to the user to free the buffer
{
/*Get pointer to buffer and check it is not NULL*/
ZW_APPLICATION_TX_BUFFER *pTxBuf =
GetResponseBuffer();
If(NULL != pTxBuf)
{
/*Fill out buffer*/
pTxBuf->ZW_BasicReportFrame.cmdClass =
COMMAND_CLASS_BASIC;
pTxBuf->ZW_BasicReportFrame.cmd = BASIC_REPORT;
pTxBuf->ZW_BasicReportFrame.value = 0;
/*Send data through transport layer. Remember to
free
Buffer if Transport_SendResponse failed!*/
if(FALSE == Transport_SendResponse(
sourceNode,
(BYTE *)pTxBuf,
sizeof(ZW_BASIC_REPORT_FRAME),
option,
ZCB_ResponseJobStatus))
{
/*Job failed, free transmit-buffer pTxBuf */
FreeResponseBuffer();
}
}
}
CommandClassXxx.c CommandClassXxx.h
The files contain code for command class Xxx implementation. Add new command class implementations using the same framework.
ZW_plus_version.h Z-Wave Plus Framework version and revision.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 22 of 67
CONFIDENTIAL
3.4.3 ApplicationUtilities
The ProductPlus\ApplicationUtilities directory contains some helpful functions that are used by several of the applications.
Files Description
ota_util.c/h OTA module for firmware update
one_button.c/h
p_button.c/h
keyman.c/h
Buttons utilities
ZW_TransportLayer.h
ZW_TransportEndpoint.c/h
ZW_TransportMulticast.c/h
ZW_TransportSecProtocol.c/h
ZW_classcmd_ex.h
endpoint_lookup.c/h
Transport layer
association_plus.c/h Association manager module for Zwave+ apps.
Battery_monitor.c/h
battery_non_zero_vars.c
battery_plus.c/h
Battery module.
-Low battery monitoring module
-Non zero Memory for Battery module
-Handling sleep timeout and wakeup
config_app.h ApplicationUtilities version and revision
ctrl_learn.c/h
slave_learn_plus.c
Connection module:
-Handle Learn-mode for Controller device
-Handle Learn-mode for Slave device
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 23 of 67
CONFIDENTIAL
ZW_bootloader_descriptor.c
ZW_firmware_bank1_mark.c
ZW_firmware_bank2_mark.c
ZW_firmware_bank3_mark.c
ZW_nvm_descriptor.c
ZW_firmware_descriptor_addr.c
ZW_firmware_size.c
ZW_product_id_enum.h
Boot loader module
manufacturer_specific_device_id.c/h Manufacturer specific device ID
ZW_cmd_class_list.c/h Node Info List utilities
ZW_ev_scheduler.c/h
port_monitor.c/h
ZW_portpin_api.h
Event scheduler tools.
Multilevel_switch.c/h Multilevel-switch utility module
notification.c/h Notification utility module
3.4.4 DoorLockKeyPad
The ProductPlus\DoorLockKeyPad directory contains source code for a Z-Wave Plus Door Lock with Key Pad application on a Z-Wave module. For further information, refer to section 4.1.5.
3.4.5 MyProductPlus
The ProductPlus\MyProductPlus directory contains source code for a Z-Wave module. For further information, refer to section 4.3.
3.4.6 PowerStrip
The ProductPlus\PowerStrip directory contains source code for a Z-Wave Plus Power Strip application. For further information, refer to section 4.6.
3.4.7 SensorPIR
The ProductPlus\SensorPIR directory contains source code for a Z-Wave Plus PIR Sensor application on a Z-Wave module. For further information, refer to section 4.5.
3.4.8 SerialAPIPlus
The ProductPlus\SerialAPIPlus directory contains source code for the Serial API applications. For further information about the Serial API, refer to section 4.9.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 24 of 67
CONFIDENTIAL
3.4.9 SwitchOnOff
The ProductPlus\SwitchOnOff directory contains source code for a Z-Wave Plus On/Off Switch application. For further information, refer to section 4.4.
3.4.10 WallController
The ProductPlus\WallController directory contains source code for a Z-Wave Plus Wall Controller application. For further information, refer to section 4.9.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 25 of 67
CONFIDENTIAL
3.5 Tools
The Tools directory contains various tools needed for building and debugging the applications. All tools in this directory can freely be used for building Z-Wave applications.
3.5.1 FixBootCRC
This directory contains a tool used when building bootable applications.
3.5.2 FixPatchCRC
This directory contains a tool used when building patchable applications.
3.5.3 HexTools
This directory contains a tool used when building patchable applications.
3.5.4 IMAToolBox
This directory contains the IMA Tool Box supports an installation and maintenance procedure, which can ensure an easy installation and provide an operational qualification of the installation. This tool is used in combination with the SerialAPI_Controller_Static_IMA_... hex file. For detailed information, refer to [1].
The IMAToolBox directory contains the following files:
PC\IMAtoolbox.exe IMA Tool Box application.
PC\Source\... IMAtoolbox PC source code.
3.5.5 IncDep
This directory contains a python script that is used for making dependency files when building the applications.
3.5.6 KeypairGeneration
This directory contains Linux source code showing how to generate a keypair (PUK and PRK) based on curve25519. For implementation details refer to [19] and here is keypair generation to other platforms also described.
3.5.7 Make
This directory contains a DOS/Windows version of the GNU make utility. The make utility is used for building the applications.
3.5.8 Mergehex
This directory contains a tool used for merging two files in Intel hex format. The tool is used for building external non-volatile memory files in the code.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 26 of 67
CONFIDENTIAL
3.5.9 Python
This directory contains a python scripting language interpreter. Python is used for various purposes in the code build process.
3.5.10 TextTools
This directory contains the sed stream editor used to modify text strings during the make process.
3.5.11 uVisionProjectGenerator
This directory contains uVision Project Generator program; the program generate uVision projects when running the makefile from a DOS prompt.
The uVisionProjectGenerator directory contains the following files:
__init__.py j.py MakePatch.bat och51.bat uv-find-segment-end.bat uVisionProjectGenerator.exe
uVision Project Generator application files.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 27 of 67
CONFIDENTIAL
4 Z-WAVE PLUS APPLICATIONS
The SDK includes Z-Wave Plus slave applications which are implemented according to the Z-Wave Plus specifications [4], [5], [6], [7], [8], [15] and [16]:
Door Lock with Key Pad
My Product
On/Off Switch
PIR Sensor
Power Strip
Wall controller
All applications are built on the Z-Wave Plus Framework [13]. For secure inclusion use a PC Based Controller v5 and SerialAPI dongle firmware delivered in SDK. Associations must be configured to examine all the features in the Z-Wave Plus embedded applications. Setting up associations is supported fully by the PC based Controller v5 and not older versions of the PC based Controller.
Please see the following table for an overview of the functionality covered by the applications.
Table 2. Functionality covered by the Z-Wave Plus applications.
Functionality Door Lock Key Pad
Power Strip
Sensor PIR
Switch On/Off
Wall Controller
Primary Func. Always On Slave
(AOS)
Listening Sleeping Slave (LSS)
Reporting Sleeping Slave (RSS)
Routing Slave
Enhanced 232 Slave
Battery
Endpoints
Security S2 Access V
S2 Authenticated
S2 Unauthenticated
S2 SSA
S2 CSA S0
Primary CCs Door Lock
User Code Binary Switch
Multilevel Switch
Notification
Central Scene
Firmware Update
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 28 of 67
CONFIDENTIAL
Devkit v6.8x.0x includes Smart Start functionality in protocol. For Smart Start secure inclusion, applications need to be included with PC Controller and Serial API controller delivered in Devkit v6.80.00. For classic secure inclusion, both Devkit v6.7x and v6.8x.0x PcController and Serial-API controller are usable.
In Devkit v6.7x.0x is the Framework updated to handle multicast addressing and a device can both be non-securely and securely added to a network. This feature has an impact on Framework API’s with respect to single-cast addressing and addressing a group for nodes. Association module is update to handle security level for each association and to deliver group addressing. Security S0 module in Transport-layer is moved to the Z-Wave protocol.
Because of development board ZDP03A pin layout is button S3 removed from all sample applications. Port 23 is used to both key S3 and SPI communication to external NVM. Button S5 is removed from WallController. Port 21 is used for S5 button and UART 0 communication.
4.1 Z-Wave Plus Framework
The purpose of the Z-Wave Plus Framework is to facilitate the implementation of robust Z-Wave Plus Compliant products. The framework provides a number of modules:
“Transport Layer” handles multicast and endpoint encapsulation.
“Application command class handlers” handle parsing and frame composition for the application.
“Utils” provides helper modules for association, AGI, I/O handling, battery monitoring and firmware update “OTA”
The figure below outlines the Z-Wave Plus Framework modules.
Figure 1, Z-Wave Plus Application Framework.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 29 of 67
CONFIDENTIAL
4.1.1 Application Command Handlers
The Z-Wave Plus Framework simplifies command processing as parsing and transmission of Z-Wave frames is no longer handled directly by the application.
The folder “/ApplicationCommandHandlers/” provides modules for handle parsing and frame
composition for each individual Command Class. Each module provides a command class specific API for the application.
API Request Calls return a status code JOB_STATUS, indicating if the call was successful. The value JOB_STATUS_BUSY is returned if the transmit buffer was occupied or if the
ZW_SendData() call failed.
The value JOB_STATUS_SUCCESS is returned if the frame was sent. A function callback pointer must be specified when issuing certain API calls.
Example of a request API call:
JOB_STATUS CmdClassBasicSetSend(…,VOID_CALLBACKFUNC(pCbFunc)(BYTE val));
The Application command handlers use the ZW_tx_mutex module to allocate a protected transmit buffer for composition of frames. Please read chapter 3.4.1.13, ZW_tx_mutex.c/h for protected transmit buffers.
The application must define proper mappings to relevant Application command handlers in the SDK
function Transport_ApplicationCommandHandler.
4.1.2 Transport Layer
Transport Layer encapsulates Z-Wave protocol API for handling secure and non-secure data traffic, and endpoint encapsulation. It also handles which command classes should send secure and non-secure frames dependent of security level. For Battery devices is timeout extended dependent for the in/out- going traffic. Transport layer module includes files:
ZW_TransportLayer.h
ZW_TransportEndpoint.c/h
ZW_TransportMulticast.c/h
ZW_TransportSecProtocol.c/h
ZW_classcmd_ex.h
Endpoint_lookup.h/c
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 30 of 67
CONFIDENTIAL
4.1.3 Supported command classes
The following table lists all command classes and their versions currently supported by the Z-Wave+ Application Framework.
Command Class Name Version Name Version
Association 2 Multilevel Switch 4
Association Group Information (AGI) 1 Notification 8
Basic 2 Powerlevel 1
Battery 1 Security 1
Binary Switch 1 Security 2 1
Central Scene 3 Supervision 1
Device Reset Locally 1 Switch All 1
Door Lock 2 Transport Service 2
Firmware Update Meta Data 4 User Code 1
Manufacturer Specific 2 Version 3
Multi Channel 4 Wake Up 2
Multi Channel Association 3 Z-Wave Plus Info 2
Only the “push mode” of Notification Command Class is tested.
4.1.4 General user interface
The following user interface applies to all the Z-Wave+ sample applications.
Button Action Description
RST Press Resets the firmware of an application (like losing power). All volatile memory will be cleared.
S1 Press Enter learn mode (sending node info frame) to add/remove the device.
Removing the device from a network will reset it.
Hold for 10 seconds Device is reset and a Device Reset Locally Notification is sent via Lifeline.
4.1.5 Documentation related to devices from multiple manufacturers
All applications can be operated in any Z-Wave network with other Z-Wave certified devices from other manufacturers. All non-battery operated nodes within the network will act as repeaters regardless of vendor to increase reliability of the network.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 31 of 67
CONFIDENTIAL
4.2 Door Lock Key Pad
The Door Lock with Key Pad application shows a lock implementation that has a built-in keypad. It will support user codes to open a door and thereby eliminate the need for traditional keys. Typically, it is possible to both lock and unlock the door remotely through the Z-Wave protocol.
The Door Lock with Key Pad application is based on:
Role Type: Listening Sleeping Slave (LSS)
Device Type: Door Lock Keypad
Supported security keys: S0 and S2_ACCESS o The Door Lock Key Pad features depends on the security level.
Library: Enhanced 232 slave
Supported module(s): ZDP03A platform configured with a ZDB5101 board.
The full set of features only work when securely added to a network by a controller supporting security.
Graphical representation (Icon Types):
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 32 of 67
CONFIDENTIAL
4.2.1 Announced Command Classes in NIF
The Door Lock with Keypad application implements a number of mandatory and optional command classes. The table below show announced command classes in NIF depending on state of device.
Table 3. Door Lock Key Pad command classes announced in NIF depending on state
Command Class Not added Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support
DEVICE_RESET_LOCALLY Support
SECURITY Support Support Support
SECURITY_2 Support Support Support
BATTERY Support
POWERLEVEL Support
VERSION Support
DOOR_LOCK Support
USER_CODE Support
ASSOCIATION Support
MULTI_CHANNEL_ASSOCIATION Support
ASSOCIATION_GRP_INFO Support
SUPERVISION Support Support Support
FIRMWARE_UPDATE_MD Support
Not implemented Door lock functionality: o Operation mode o Door Lock condition o Inside Door Handle Mode o Inside Door Handle State o Functionality handling Lock timeout.
4.2.2 Basic Command Class mapping
Basic Command Class is not mapped to any of the supported command classes.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 33 of 67
CONFIDENTIAL
4.2.3 Association groups
ID Name Node count
Description
1 Lifeline 5 Supports the following command classes:
Device Reset Locally: triggered upon reset.
Battery: triggered upon low battery.
Door Lock: triggered upon a change in door lock operation.
2 Doorlock Op
5 Nodes associated will receive a Door Lock Operation report upon Door Lock Operations.
4.2.4 Usage of buttons on ZDP03A
Table 4. Door Lock Key Pad buttons interface
Button Action Description
S2 Button up/down If the outside door handle state is active:
Button down sets the outside door handle mode active.
Button up sets the outside door handle mode inactive.
S4 Press Activates the keypad which in real is the Test Interface. If connected to the Test Interface, a terminal will show when and how to input the user code. The default user code is “0000”.
Hw-reset
”reset” Sends Battery Report.
4.2.5 LED status on ZDP03A
Table 5. Door Lock Key Pad LED status interface
LED Description
D1 Latch, (Led on -> latch closed [bit 1])/ (Led off -> latch open[bit 0])
D2 Bolt, (Led on -> Bolt locked [bit 0])/ (Led off -> bolt unlocked [bit 1])
D3 User code input is active, (4 key presses)
4.2.6 Firmware update and external NVM
When upgrading the old firmware on the Z-Wave module it is important to understand that old data (both protocol and application) in external NVM is unchanged. The new firmware must therefore be able to use the same data in external NVM to avoid re-installation of the device. New data fields must be appended to the existing ones to assure backward compatibility.
The table below show backward compatibility of data in external NVM when upgrading Door Lock Keypad from one SDK to another one.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 34 of 67
CONFIDENTIAL
Table 6. Door Lock Key Pad external NVM data backward compatibility
New Firmware
Old Firmware
SDK 6.51.00 SDK 6.51.01 SDK 6.51.02 SDK 6.51.03 SDK 6.51.05
Prot. Appl. Prot. Appl. Prot. Appl. Prot. Appl. Prot. Appl.
SDK 6.51.00 Yes Yes No No No No No No No No
SDK 6.51.01 - - Yes Yes Yes Yes Yes No Yes No
SDK 6.51.02 - - - - Yes Yes Yes No Yes No
SDK 6.51.03 - - - - - - Yes Yes Yes No
SDK 6.51.05 - - - - - - - - Yes Yes
For SDKs 6.51.00-02 application data definitions in external NVM was located in multiple files (association_plus.h and battery_plus.h). During linking the files could be shuffled around breaking backward compatibility wrt. Application data layout in external NVM. This defect was registered as TO #5277.
SDK 6.51.03 fixed TO #5277 by moving all external NVM far variables to eeprom.h file in a common struct s_nvmApplDescriptor_. Appending new variables to struct ensured backward compatibility.
Array size in BYTE EEOFFSET_ASSOCIATION_START_far[ASSOCIATION_SIZE]; was changed in the common struct s_nvmApplDescriptor_.for SDK 6.51.05. This broke backward compatibility because EEOFFSET_ASSOCIATION_START_far was not located at the end of the struct.
4.2.7 Z-Wave Certification
The Door Lock with Key Pad passes certification. However, the key pad functionality is very simple due to lack of push buttons on the ZDP03A hardware.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 35 of 67
CONFIDENTIAL
4.3 My Product Plus
The My Product Plus contains the minimum framework to begin developing a Z-Wave Plus application. This application supports a broad range of libraries and boards. Check first if one of the product specific applications suite your needs better because it is often easier to modify the existing code than building one from scratch based on My Product.
The My Product Plus application is based on:
Role Type: -
Device Type: -
Supported security keys: S0 and S2_UNAUTHENTICATION
Library: Enhanced 232 slave
4.3.1 My Product Plus sensor type variants
The My Product Plus can be built in 3 sensor type variants.
Always on device.
Battery device supporting Battery CC
Battery device supporting Battery and Wake Up CC. See Table 7.
4.3.2 Announced Command Classes in NIF
This device supports no other command classes than the mandatory ones. The table below show announced command classes in NIF depending sensor type variants.
Sensor type variants are present in the make system and can be displayed in command prompt by typing "mk help":
NON_BATT: Always on device.
BATTERY: Battery device supporting Battery CC.
BATTERY__CC_WAKEUP: Battery device supporting Battery and Wake Up CC.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 36 of 67
CONFIDENTIAL
Table 7. My Product Plus command classes announced in NIF depending on state.
Command Class Not added
Non-secure added
Securely added
Non-secure CC
Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support Support Support
DEVICE_RESET_LOCALLY Support Support Support
SECURITY Support Support Support
SECURITY_2 Support Support Support
POWERLEVEL Support Support Support
VERSION Support Support Support
ASSOCIATION Support Support Support
MULTI_CHANNEL_ASSOCIATION Support Support Support
ASSOCIATION_GRP_INFO Support Support Support
SUPERVISION Support Support Support
FIRMWARE_UPDATE_MD Support Support Support
BATTERY
(SENSOR_TYPE = BATTERY)
Support Support Support
BATTERY
(SENSOR_TYPE = BATTERY__CC_WAKEUP)
Support Support Support
WAKE_UP
(SENSOR_TYPE = BATTERY__CC_WAKEUP)
Support Support Support
Dependent on sensor type command class list is present in 3 variants. Command classes for sensor type NON_BATT is basic for all sensor types and present with background color white. Sensor type BATTERY is background color white and blue. Sensor type BATTERY__CC_WAKEUP is background color white and red.
4.3.3 Basic Command Class mapping
Basic Command Class is not mapped to any of the supported command classes.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 37 of 67
CONFIDENTIAL
4.3.4 Association groups
ID Name Node count Description
1 Lifeline 5 Supports the following command classes:
Device Reset Locally: triggered upon reset.
4.3.5 MyProduct Files
The ProductPlus\MyProductPlus directory contains source code on a Z-Wave module. The application uses also a number of utility functions described in section 4.1.
MK.BAT
Make bat file for building the application in question. To only build applications using EU frequency enter: MK “FREQUENCY=EU” in command prompt.
Makefile
This is the Makefile for the application in question defining the targets built.
config_app.h
This header file contains defines for application version.
eeprom.c / eeprom.h
The eeprom source/header files contains the NVM variable definitions.
MyProduct.h / MyProduct.c
This file contains the source code for the MYProduct. The common API functions such as ApplicationInitHW, ApplicationInitSW, ApplicationNodeInformation, ApplicationPoll, ApplicationSlaveUpdate and ApplicationCommandHandler are defined here.
MyProduct_ZW050x_....Uv2
uVision4 *.Uv2 project files created by makefile system using uVisionProjectGenerator software.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 38 of 67
CONFIDENTIAL
4.3.6 Firmware update and external NVM
When upgrading the old firmware on the Z-Wave module it is important to understand that old data (both protocol and application) in external NVM is unchanged. The new firmware must therefore be able to use the same data in external NVM to avoid re-installation of the device. New data fields must be appended to the existing ones to assure backward compatibility.
The table below show backward compatibility of data in external NVM when upgrading MyProduct application from one SDK to another one.
Table 8. My Product Plus external NVM data backward compatibility
New Firmware
Old Firmware
SDK 6.51.00 SDK 6.51.01 SDK 6.51.02 SDK 6.51.03 SDK 6.51.05
Prot. Appl. Prot. Appl. Prot. Appl. Prot. Appl. Prot. Appl.
SDK 6.51.00 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
SDK 6.51.01 - - Yes Yes Yes Yes Yes Yes Yes Yes
SDK 6.51.02 - - - - Yes Yes Yes Yes Yes Yes
SDK 6.51.03 - - - - - - Yes Yes Yes Yes
SDK 6.51.05 - - - - - - - - Yes Yes
For SDKs 6.51.00-02 application data definitions in external NVM was located in multiple files (association_plus.h and battery_plus.h). During linking the files could be shuffled around breaking backward compatibility wrt. application data layout in external NVM. This defect was registered as TO #5277.
SDK 6.51.03 fixed TO #5277 by moving all external NVM far variables to eeprom.h file in a common struct s_nvmApplDescriptor_. Appending new variables to struct ensured backward compatibility.
4.3.7 Z-Wave Certification
The My Product cannot pass certification because it is not a real product at this stage.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 39 of 67
CONFIDENTIAL
4.4 Switch On/Off
The On/Off Power Switch application shows a switch implementation to turn on any device that is connected to power. Examples include lights, appliances etc.
The On/Off Switch application is based on:
Role Type: Always On Slave (AOS)
Device Type: On/Off Power switch
Supported security keys: S0 and S2_UNAUTHENTICATION o The Switch On/Off features do not depend on the security level.
Library: Enhanced 232 slave
Supported module(s): ZDP03A configured with either a ZDB5101 or ZDB5202 module
Graphical representation (Icon Types):
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 40 of 67
CONFIDENTIAL
4.4.1 Announced Command Classes in NIF
The On/Off Switch application implements a number of mandatory and optional command classes. The table below show announced command classes in NIF depending on state of device.
Table 9. On/Off Switch Command Classes announced in NIF depending on state
Command Class Not added Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support Support Support
DEVICE_RESET_LOCALLY Support Support Support
SECURITY Support Support Support
SECURITY_2 Support Support Support
POWERLEVEL Support Support Support
VERSION Support Support Support
ASSOCIATION Support Support Support
MULTI_CHANNEL_ASSOCIATION Support Support Support
ASSOCIATION_GRP_INFO Support Support Support
SUPERVISION Support Support Support
FIRMWARE_UPDATE_MD Support Support Support
SWITCH_BINARY Support Support Support
4.4.2 Basic Command Class mapping
Basic Command Class is mapped according to [16] for an On/Off Power Switch.
4.4.3 Association groups
ID Name Node count Description
1 Lifeline 5 Supports the following command classes:
Device Reset Locally: triggered upon reset.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 41 of 67
CONFIDENTIAL
4.4.4 Usage of buttons on ZDP03A
Table 10. On/Off Switch push buttons interface
Button Action Description
S2 Press Toggle LED D2.
4.4.5 LED status on ZDP03A
Table 11. On/Off Switch LED status interface
LED Description
D1 This LED is on when the device is in learn mode.
D2 Switch ON/OFF. LED ON indicates SWITCH ON and LED OFF indicates SWITCH OFF.
4.4.6 Firmware update and external NVM
When upgrading the old firmware on the Z-Wave module it is important to understand that old data (both protocol and application) in external NVM is unchanged. The new firmware must therefore be able to use the same data in external NVM to avoid re-installation of the device. New data fields must be appended to the existing ones to assure backward compatibility.
For SDKs 6.51.00-02 application data definitions in external NVM was located in multiple files (association_plus.h and battery_plus.h). During linking the files could be shuffled around breaking backward compatibility wrt. application data layout in external NVM. This defect was registered as TO #5277.
SDK 6.51.03 fixed TO #5277 by moving all external NVM far variables to eeprom.h file in a common struct s_nvmApplDescriptor_. Appending new variables to struct ensured backward compatibility.
4.4.7 Z-Wave Certification
The On/Off Switch passes certification.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 42 of 67
CONFIDENTIAL
4.5 Sensor PIR
The Sensor PIR application shows a presence/movement detector implementation for controlling other devices and for sending notifications.
The Sensor PIR application is based on:
Role Type: Reporting Sleeping Slave (RSS)
Device Type: Sensor – Alarm
Supported security keys: S2_UNAUTHENTICATION
Library: Routing slave
Supported boards: ZDB5101 and ZDB5202
Graphical representation (Icon Types):
Notice: Sensor PIR supports one security command class only due to NVM space shortage when using a routing slave library.
Sensor PIR transmits the following notification types/events:
Home Security o Motion detection (unknown location)
Sensor PIR supports the “push mode” only of Notification CC.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 43 of 67
CONFIDENTIAL
4.5.1 Announced Command Classes in NIF
Sensor PIR implements a number of mandatory and optional command classes. The table below show announced command classes in NIF depending on state of device.
Table 12. PIR Sensor command classes announced in NIF depending on state
Command Class Not added Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support Support Support
DEVICE_RESET_LOCALLY Support Support Support
SECURITY_2 Support Support Support
POWERLEVEL Support Support Support
BATTERY Support Support Support
VERSION Support Support Support
ASSOCIATION Support Support Support
MULTI_CHANNEL_ASSOCIATION Support Support Support
ASSOCIATION_GRP_INFO Support Support Support
SUPERVISION Support Support Support
NOTIFICATION Support Support Support
WAKE_UP Support Support Support
BASIC Control Control Control
4.5.2 Basic Command Class mapping
Basic Command Class is not mapped to any of the supported command classes.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 44 of 67
CONFIDENTIAL
4.5.3 Association groups
ID
Name Node count
Description
1 Lifeline
1 Supports the following command classes:
Device Reset Locally: triggered upon reset.
Battery: triggered upon low battery.
Notification: triggered by pressing button S2. Triggered Notification event type is “NOTIFICATION_TYPE_HOME_SECURITY” and event
“NOTIFICATION_EVENT_HOME_SECURITY_MOTION_DETECTION_UNKNOWN_LOCATION”. After a while Sensor send Notification event type
“NOTIFICATION_TYPE_HOME_SECURITY”, event “NO MORE” (0) with event
parameter “NOTIFICATION_EVENT_HOME_SECURITY_MOTION_DETECTION_UNKNOWN_LOCATION”
2 Basic set
1 Upon pressing button S2, nodes associated in this group will first receive a Basic Set with 0xFF (turn on) and after a while receive a Basic Set with 0x00 (turn off).
4.5.4 Usage of buttons on ZDP03A
Table 13. PIR Sensor buttons interface
Button Action Description
S1 DOWN Learn mode
S2 DOWN “Motion detection”
S4 DOWN Device is reset and a Device Reset Locally Notification is sent via Lifeline.
Hw-reset ”reset” Sends Wake Up Notification.
4.5.5 LED status on ZDP03A
Table 14. PIR Sensor LED status interface
LED Description
D1 Learn mode active
D2-D8 Not used
4.5.6 Z-Wave Certification
Sensor PIR passes certification.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 45 of 67
CONFIDENTIAL
4.6 Power Strip
The Power Strip application shows an extension block implementation to turn on a number of devices that is connected to power. Examples include lights, appliances etc.
The Power strip application is based on:
Role Type: Always On Slave (AOS)
Root device type: generic type switch binary and specific type Power Strip
Supported security keys: S0 and S2_UNAUTHENTICATION
Library: Enhanced 232 slave
Supported module(s): ZDP03A configured with a ZDB5101 module
Endpoint 1 device type: generic type switch binary and specific type On/off power switch
Endpoint 2 device type: generic type switch binary and specific type On/off power switch
Endpoint 3 device type: generic type light dimmer switch and specific type light dimmer switch
Graphical representation (Icon Types):
Power Strip supports the “push mode” only of Notification CC.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 46 of 67
CONFIDENTIAL
4.6.1 Announced Command Classes in NIF
Besides the common mandatory command classes and functionality, this Power Strip application implements additional command classes. The table below show announced command classes in NIF depending on state of device.
Table 15. Power Strip command classes announced in NIF depending on state
Command Class Not added Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support Support Support
DEVICE_RESET_LOCALLY Support Support Support
SECURITY Support Support Support
SECURITY_2 Support Support Support
POWERLEVEL Support Support Support
VERSION Support Support Support
ASSOCIATION Support Support Support
MULTI_CHANNEL_ASSOCIATION Support Support Support
ASSOCIATION_GRP_INFO Support Support Support
MULTI_CHANNEL Support Support Support
SUPERVISION Support Support Support
FIRMWARE_UPDATE_MD Support Support Support
SWITCH_BINARY Support Support Support
SWITCH_MULTILEVEL Support Support Support
NOTIFICATION Support Support Support
The endpoint implements the following command classes.
Endpoints 1-2
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 47 of 67
CONFIDENTIAL
Command Class Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support
SECURITY Support
SECURITY_2 Support
ASSOCIATION Support Support
MULTI_CHANNEL_ASSOCIATION Support Support
ASSOCIATION_GRP_INFO Support Support
SUPERVISION Support Support
SWITCH_BINARY Support Support
NOTIFICATION Support Support
Endpoint 3
Command Class Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support
SECURITY Support
SECURITY_2 Support
ASSOCIATION Support Support
MULTI_CHANNEL_ASSOCIATION Support Support
ASSOCIATION_GRP_INFO Support Support
SUPERVISION Support Support
SWITCH_MULTILEVEL Support Support
NOTIFICATION Support Support
4.6.2 Basic Command Class mapping
Basic Command Class is mapped to:
Binary Switch CC for endpoint 1 & 2.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 48 of 67
CONFIDENTIAL
Multilevel Switch CC for endpoint 3.
4.6.3 Association groups
Backwards compatibility for non-Multi Channel devices, forces the root device AGI table to contain all the association groups mentioned in each of the endpoints AGI tables except from group 1, the Lifeline group.
Root device:
ID Name Node count
Description
1 Lifeline 5 Supports the following command classes:
Device Reset Locally: triggered upon reset.
Notification: triggered by the endpoints
2 alarm EP 1 5 Mirror of endpoint 1, group 2
3 alarm EP 2 5 Mirror of endpoint 2, group 2
4 alarm EP 3 5 Mirror of endpoint 3, group 2
Endpoint 1:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 alarm EP 1 5 Notification report on overload.
Endpoint 2:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 alarm EP 2 5 Notification report on overload.
Endpoint 3:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 alarm EP 3 5 Notification report on overload.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 49 of 67
CONFIDENTIAL
4.6.4 Usage of buttons on ZDP03A
Table 16. Power Strip push buttons interface
Button Button press Description
S2 Key press Switch on/off endpoint 1 by pressing push button
S4 Key press Dimming or switch on/off endpoint 3. Pressing push button turn light on/off and holding push button perform dimming of light (toggle up/down)
S6 Key press Toggles the transmission of an “Overload detected” notification. The first transmission, when enabled, will always be the first in the following list.
The notifications will be transmitted in the following pattern:
1. Notification from endpoint 1: Overload detected 2. Notification from endpoint 1: No event 3. Notification from endpoint 2: Overload detected 4. Notification from endpoint 2: No event 5. Notification from endpoint 3: Overload detected 6. Notification from endpoint 3: No event
One notification will be transmitted every 3rd
second.
NOTICE: Node Info Frame is only send by triple press on ZDP03A S1 button!
4.6.5 LED status on ZDP03A
Table 17. Power Strip LED status interface
LED Description
D1 Endpoint 1 (switch on/off)
D2 Endpoint 2 (switch on/off)
D3-D6 Endpoint 3 (dimmer)
D7-D8 Not used
4.6.6 Z-Wave Certification
The Power Strip passes certification.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 50 of 67
CONFIDENTIAL
4.7 Production Test DUT
The Production Test DUT code for a device under test contains code that demonstrates how the basic tasks of testing devices in a Z-Wave network can be accomplished using the Z-Wave API.
The Z-Wave basis software continually calls the ApplicationPoll function. The ApplicationPoll function contains a state machine, which initiates actions from user input.
The Production Test DUT application is based on the ZW_slave_prodtest_dut library.
This application has two functions that can be used during production test
The radio will start to transmit continuously if the P0.4 (CS_ZW_EE_N) pin on the ZM5202 is pulled low during power up.
If the pin isn’t pulled low the radio will go into receive mode and send acknowledge to all frames send to the module.
The program execution flow is as follows:
Initialize HW
"Enable test"
low ?
Chip pins
shorted ?
Received NOP-
frame ?
Reply ACK frame
Chip pins
interconnected with
module ?
Turn on radio and
transmit CWTurn off radio
YesNo
Yes
No Yes
No
No
Yes
Figure 2. Prod_Test_DUT test program flow.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 51 of 67
CONFIDENTIAL
Immediately after program execution start, the state of the “Enable test” pin (pin P0.4 on the ZW050x) is tested. If the pin is high, “normal” Z-Wave slave code is started, and the DUT will reply to a NOP frame with an ACK frame. This behavior is used during the Link test, where 10 NOP’s are transmitted from the Z-Wave test box and 10 ACK’s are expected from the DUT.
If the “Enable test” pin is low, a test program flow is started.
All pins not used during chip programming and test enabling are tested for shorts. The CPU of the ZW050x writes a “0101…” pattern to its pins and then reads back the state of the pins. If no shorts, the pattern read will be “0101...”. Then a “1010…” pattern is written, and “1010...” is expected when reading back.
The interconnections form the ZW050x chip to the castellation notched of the ZM5202 module are tested. The CPU enables the internal pull-up resistors on the ZW050x chip and sets the pins high. The read back of the pins should then be high. All pins are then set to low, and because of the external 10 kOhm pull down resistors, all pins should be read back as being low. If an interconnection fails, the internal pull up will lead the CPU to read the pin as being high instead of low.
If one of the above tests fails, the radio will be turned off.
If both of the above tests pass, the radio will be turned on to transmit a CW, and the spectrum analyzer is then able to measure the RF frequency and RF output power.
4.7.1 Production Test DUT Files
The ProductPlus\ProdTestDUT directory contains the source code for the Production Test DUT application.
MK.BAT
Make bat file for building the application in question. To only build applications using EU frequency enter: MK “FREQUENCY=EU” in command prompt.
Makefile
This is the Makefile for the application in question defining the targets built.
Config_app.h
This header file contains defines for application version.
prodtestdut.c
This file contains the main source code for the application. Both ApplicationPoll and ApplicationCommandHandler are defined in this file.
prodtestdut.h
This file contains definitions for the prodtestdut application.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 52 of 67
CONFIDENTIAL
4.8 Production Test Generator
The Developer's Kit contains code that demonstrates how the basic tasks of testing devices in a Z-Wave network can be accomplished using the Z-Wave API. The Z-Wave generator is used to verify the TX / RX circuits on Z-Wave enabled products.
A simple generator consists of a ZW050x Interface Module and a Z-Wave Module (ZDB5101, ZDB5202, or ZDB3502).
On the Interface module there are 6 LED diodes, which have these assignments in the Prod_Test_Gen application.
Table 18. Production Test Generator LED interface
LED # Colour Description
D6 Red
D1 Red Error
D2 Red Success
D3 Red Send (flashes during transmission)1
D4 Red -
D5 Red
The push button on the Z-Wave Module is the “Test” button.
After connection to power, the red “Error” LED ‘D1’ on the Interface module will be on.
When the push button is pressed, 10 NOP’s will be transmitted. A device under test (application in production test mode executing ApplicationTestPoll) is expected to verify the reception of each NOP with an ACK. During transmission, the red LED ‘D3’ will flash.
If all NOP’s are replied correctly, the red “Error” LED ‘D1’ will turn off and the red “Success” LED ‘D2’ will turn on and stay on until the next test is conducted. If the DUT does not reply correctly, the red “Error” LED ‘D1’ will turn on and stay on until the next test is conducted.
The Z-Wave basis software continually calls the ApplicationPoll function. The ApplicationPoll function contains a state machine, which initiates actions from user input. The ApplicationCommandHandler function is only called when the Z-Wave basis software receives information for the application.
The Production Test Generator application is based on the ZW_slave_prodtest_gen library.
1 Not used on module ZM5202
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 53 of 67
CONFIDENTIAL
The application is controlled via RS232 (115200,8,N,1) or button with fixed timings: Device will respond to any char received with an ASCII SPACE followed by a command answer or error '!' followed by error information: Following ASCII commands are implemented. Received:
'U': Frequency US is selected sending 9.6kbps on channel 1 Response is: ' US'
'E': Frequency EU is selected sending 9.6kbps on channel 1 Response is: ' EU'
'Z': Frequency ANZ is selected sending 9.6kbps on channel 1 Response is: ' ANZ’
'M': Frequency MY is selected sending 9.6kbps on channel 1 Response is: ' MY'
'I': Frequency IN is selected sending 9.6kbps on channel 1 Response is: ' IN'
'J': Frequency JP is selected sending 100kbps on channel 1 Response is: ' JP’
‘F’ Set frequency by number Any frequency is selected from the table of defined frequencies. The input shall be 2 decimal digits. Response for the first digit is: ' n' Response for the second digit is: ‘ n Frequency selected: nn=FREQUENCY’ (where nn is the selected 2 digits decimal index in the table of defined frequencies.
'S': Start test Response is ' ST'
'C': Set the number of NOPs to send to 1000 Response: ' CO'
'N': Set the destination node ID. Response: ' NI'
'R': Reset the hardware Response: ' RS'
On Unknown: '!' 'received Char'
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 54 of 67
CONFIDENTIAL
4.8.1 Production Test Generator Files
The ProductPlus\ProdTestGen directory contains the source code for the Production Test Generator application.
MK.BAT
Make bat file for building the application in question.
Makefile
This is the Makefile for the application in question defining the targets built.
Config_app.h
This header file contains defines for application version.
prodtestgen.c
This file contains the main source code for the application. Both ApplicationPoll and ApplicationCommandHandler are defined in this file.
prodtestdut.h
This file contains definitions for the prodtestdut application.
4.9 Serial API Applications
For a description of how to develop serial API based host applications refer to [14].
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 55 of 67
CONFIDENTIAL
4.10 Wall Controller
The Wall Controller application shows a push button switch panel implementation to control devices in the Z-Wave network from push buttons (physical or virtual) on a device that is meant to be mounted on a wall. Examples include scene and zone controller, wall mounted AV controllers.
The Wall Controller had four buttons in previous versions. Although endpoints and AGI indicates the number 4 (for the sake of backwards compatibility), the Wall Controller can only handle 3 buttons due to limitations of the ZDP03A hardware. S3 is occupied by external NVM and S5 are occupied by the test interface.
The Wall controller application implements a wall mounted switch that has three individually configurable buttons each mapping to one multilevel endpoint. Each button has support for on/off and dimming.
The application is based on:
Role Type: Always On Slave (AOS)
Root Device Type: generic type Wall Controller and specific type Basic Wall Controller
Supported security keys: S0 and S2_UNAUTHENTICATION and S2_AUTHENTICATION o The Wall Controller features do not depend on the security level.
Library: Enhanced 232 slave
Supported module(s): ZDP03A configured with a ZDB5101 module
Endpoint 1 device type: generic type Wall Controller and specific type Basic Wall Controller
Endpoint 2 device type: generic type Wall Controller and specific type Basic Wall Controller
Endpoint 3 device type: generic type Wall Controller and specific type Basic Wall Controller
Graphical representation (Icon Types):
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 56 of 67
CONFIDENTIAL
4.10.1 Announced Command Classes in NIF
Besides the common mandatory command classes and functionality, this Wall controller application implements additional command classes. The table below show announced command classes in NIF depending on state of device.
Table 19. Wall Controller command classes announced in NIF depending on state
Command Class Not added Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support Support
TRANSPORT_SERVICE Support Support Support
MANUFACTURER_SPECIFIC Support Support Support
DEVICE_RESET_LOCALLY Support Support Support
SECURITY Support Support Support
SECURITY_2 Support Support Support
POWERLEVEL Support Support Support
VERSION Support Support Support
ASSOCIATION Support Support Support
MULTI_CHANNEL_ASSOCIATION Support Support Support
ASSOCIATION_GRP_INFO Support Support Support
MULTI_CHANNEL Support Support Support
SUPERVISION Support Support Support
FIRMWARE_UPDATE_MD Support Support Support
SWITCH_MULTILEVEL Control Control Control
CENTRAL_SCENE Support Support Support
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 57 of 67
CONFIDENTIAL
The endpoint implements the following command classes.
Endpoints 1-4
Command Class Non-secure added Securely added
Non-secure CC Secure CC
ZWAVEPLUS_INFO Support Support
SECURITY Support
SECURITY_2 Support
ASSOCIATION Support Support
MULTI_CHANNEL_ASSOCIATION Support Support
ASSOCIATION_GRP_INFO Support Support
SUPERVISION Support Support
SWITCH MULTILEVEL Controlled Controlled
BASIC Controlled Controlled
Use case:
Wall controller’s four buttons are configurable to control nodes. Each button action is sent over life-line as scene actions. Current figure shows an example of this:
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 58 of 67
CONFIDENTIAL
Figure 3. Wall Controller endpoints/buttons on ZDP03A.
4.10.2 Basic Command Class mapping
Basic CC is mapped according to [16] for a Wall Controller.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 59 of 67
CONFIDENTIAL
4.10.3 Association groups
Backwards compatibility for non-Multi Channel devices forces the root device AGI table to contain all the association groups listed in each of the endpoint’s AGI table except from group 1, the Lifeline group.
Root device:
ID Name Node count
Description
1 Lifeline 5 Supports the following command classes:
Device Reset Locally: triggered upon reset.
Central Scene: triggered by endpoints.
2 Basic set 5 Mirror of endpoint 1, group 2.
3 Multilevel set 5 Mirror of endpoint 1, group 3.
4 Basic set 5 Mirror of endpoint 2, group 2.
5 Multilevel set 5 Mirror of endpoint 2, group 3.
6 Basic set 5 Mirror of endpoint 3, group 2.
7 Multilevel set 5 Mirror of endpoint 3, group 3.
8 Basic set 5 Mirror of endpoint 4, group 2.
9 Multilevel set 5 Mirror of endpoint 4, group 3.
Endpoint 1:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 Button S2 5 Transmits a Basic Set upon pressing S2.
3 Button S2 5 Transmits a Multilevel Start Change when pressing and holding S2 and a Multilevel Stop Change when releasing.
Endpoint 2:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 NOT USED 5 Not used, but kept for backwards compatibility.
3 NOT USED 5 Not used, but kept for backwards compatibility.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 60 of 67
CONFIDENTIAL
Endpoint 3:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 Button S4 5 Transmits a Basic Set upon pressing S4.
3 Button S4 5 Transmits a Multilevel Start Change when pressing and holding S4 and a Multilevel Stop Change when releasing.
Endpoint 4:
ID Name Node count
Description
1 Lifeline 0 Mirror of root device, but without node count.
2 Button S6 5 Transmits a Basic Set upon pressing S6.
3 Button S6 5 Transmits a Multilevel Start Change when pressing and holding S6 and a Multilevel Stop Change when releasing.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 61 of 67
CONFIDENTIAL
4.10.4 Usage on ZDP03A
Table 20. Wall Controller push buttons interface
Switch # Action Function
S2 (EP1)
Press [Root : Group 1] CC Central Scene ”Key Pressed 1 time” (over lifeline)
[EP: Group 2] CC Basic Set
Hold start [Root : Group 1] CC Central Scene ”Key Held Down” (over lifeline)
[EP: Group 3] CC MultiLevel Start
Hold release [Root : Group 1] CC Central Scene ”Key Released” (over lifeline)
[EP: Group 3] CC MultiLevel End
S4 (EP3)
Press [Root : Group 1] CC Central Scene ”key push” (over lifeline)
[EP: Group 2] CC Basic Set
Hold start [Root : Group 1] CC Central Scene ”Key Held Down” (over lifeline)
[EP: Group 3] CC MultiLevel Start
Hold release [Root : Group 1] CC Central Scene ”Key Released” (over lifeline)
[EP: Group 3] CC MultiLevel End
S6 (EP4)
Press [Root : Group 1] CC Central Scene ”key push” (over lifeline)
[EP: Group 2] CC Basic Set
Hold start [Root : Group 1] CC Central Scene ”Key Held Down” (over lifeline)
[EP: Group 3] CC MultiLevel Start
Hold release [Root : Group 1] CC Central Scene ”Key Released” (over lifeline)
[EP: Group 3] CC MultiLevel End
4.10.5 How to configure associations to Wall Controller
Association configuration can be done non-multi-channel encapsulated by using roots mirroring groups present in AGI root table or multi-channel encapsulated for each endpoint.
Controller configures associations:
Wall Controller button 1 switch Power Strip plug 1 on/off by button press.
Wall Controller button 2 switch Power Strip plug 2 on/off by button press.
Wall Controller button 4 switch Power Strip plug 3 on/off by button press.
Wall Controller button 4 dimmer Power Strip plug 3 by button hold.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 62 of 67
CONFIDENTIAL
4.10.5.1 Non-multi-channel encapsulated configuration
Controller configures associations by using Multi-channel Association CC
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 63 of 67
CONFIDENTIAL
4.10.5.2 Encapsulated configuration
Controller configures associations by using Multi-channel Association CC and send it multi-channel encapsulated.
4.10.6 Z-Wave Certification
The Wall Controller passes certification.
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 64 of 67
CONFIDENTIAL
5 DEVELOPMENT COMPONENTS
The SDK contains a number of Z-Wave Development Platforms and Boards used for programming and application development.
5.1 Z-Wave Development Platform ZDP03A
This Z-Wave Developer’s Kit comes with the Z-Wave Development Platform ZDP03A included. This platform is used for application development and as programmer downloading firmware to the Z-Wave Single Chips. The programmer is also used when setting lock bits, programming the external non-volatile memory on the Z-Wave module etc. For details refer to [2].
Figure 4. The Z-Wave Development Platform ZDP03A.
For a detailed description of the ZDP03A Z-Wave Development Platform refer to [2].
UART 1
USB 1
UART 2
USB 2
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 65 of 67
CONFIDENTIAL
5.2 Hardware development components for 500 Series
The 500 Series based embedded application are designed for the ZDP03A Z-Wave Development Platform in combination with a Z-Wave module hosting the application. Some applications use also the AVR processor on ZDP03A as host together with a serial API application running on the Z-Wave module. The Z-Wave modules exist in four variants:
Table 21. 500 Series development boards and interfaces
Development board Module/chip used Interface lines
ZDB5101
ZM5101 2 x UART, 2 x SPI, 1 x USB
ZDB3502
SD3502 1.5 x UART (- UART1 Rx), 2 x SPI,
1 x USB
ZDB5202
ZM5202/SD5302 (300 series interface)
1 x UART0, 2 x SPI0
INS13933-3 Z-Wave 500 Series SDK Contents v6.81.01 2018-03-06
silabs.com | Building a more connected world. Page 66 of 67
CONFIDENTIAL
REFERENCES
[1] SD, INS12712, Instruction, Z-Wave Network Installation and Maintenance Procedure User Guide. [2] SD, DSH11243, Datasheet, ZDP03A Z-Wave Development Platform. [3] SD, APL12955, Application Note, Z-Wave Multi Channel Basics [4] SD, SDS13781, Software Design Specification, Z-Wave Application Command Class
Specification. [5] SD, SDS13782, Software Design Specification, Z-Wave Management Command Class
Specification. [6] SD, SDS13783, Software Design Specification, Z-Wave Transport-Encapsulation Command Class
Specification. [7] SD, SDS13784, Software Design Specification, Z-Wave Network-Protocol Command Class
Specification. [8] SD, SDS13548, Software Design Specification, List of defined Z-Wave Command Classes. [9] SD, APL12956, Application Note, Z-Wave Association Basics [10] SD, INS13954, Instruction, Z-Wave 500 Series Application Programmers Guide v6.8x.0x. [11] SD, SDS10242, Software Design Specification, Z-Wave Device Class Specification. [12] SD, INS12366, Instruction, Working in 500 Series Environment User Guide. [13] SD, SDS13953, Instruction, Z-Wave Plus Application Framework v6.8x.0x. [14] SD, INS12350, Instruction, Serial API Host Appl. Prg. Guide. [15] SD, SDS11846, Software Design Specification, Z-Wave Plus Role Types Specification. [16] SD, SDS11847, Software Design Specification, Z-Wave Plus Device Types Specification. [17] SD, INS12213, Instruction, 500 Series Integration Guide. [18] SD, INS13933, Instruction, Z-Wave 500 Series SDK Contents v6.8x.0x [19] SD, SDS12467, Software Design Specification, 500 Series Z-Wave Chip NVR Flash Page
Contents.
silabs.com | Building a more connected world. Page 67 of 67
CONFIDENTIAL
INDEX
ApplicationTestPoll .................................................................................................................................... 52 Enhanced Reliability Test Tool .................................................................................................................. 17 ERTT ................................................................................................................................................... 10, 17 External non-volatile memory .................................................................................................................... 12 IMA Tool Box ............................................................................................................................................. 25 Low power transmission levels .................................................................................................................... 8 Normal power transmission levels ............................................................................................................... 8 Z-Wave Development Platform ZDP03A ................................................................................................... 64