Z-Wave Basis API#

This section defines functions that are implemented in all Z Wave nodes.

Modules#

_APPL_NODE_TYPE_

_NODE_TYPE_

_NODEINFO_

RSSI_LEVELS

Application Node Info

Enumerations#

enum
APPLICATION_RUNNING
APPLICATION_POWER_DOWN
APPLICATION_TEST
}

Return values of ApplicationInit.

enum
E_NETWORK_LEARN_MODE_DISABLE = 0
E_NETWORK_LEARN_MODE_INCLUSION = 1
E_NETWORK_LEARN_MODE_EXCLUSION = 2
E_NETWORK_LEARN_MODE_EXCLUSION_NWE = 3
E_NETWORK_LEARN_MODE_INCLUSION_SMARTSTART = 4
E_NETWORK_LEARN_MODE_COUNT
}

Network modes that can be set by ZAF_setNetworkLearnMode.

enum
E_SYSTEM_TYPE_NON_LISTENING = APPLICATION_NODEINFO_NOT_LISTENING
E_SYSTEM_TYPE_LISTENING = APPLICATION_NODEINFO_LISTENING
E_SYSTEM_TYPE_FLIRS = 0x02
}

Typedefs#

typedef struct _APPL_NODE_TYPE_

Node type structure used in ApplicationNodeInformation.

typedef struct _NODE_TYPE_
typedef struct _NODEINFO_

Node info stored within the non-volatile memory This are the first (protocol part) payload bytes from the Node Infomation frame.

Functions#

ApplicationInit(zpal_reset_reason_t eResetReason)

ApplicationInit() MUST be defined by the application.

void

Initialize the Z-Wave protocol stack.

void

Early startup of Z-Wave platform features.

uint16_t

Gets Z-Wave Protocol Build number.

const uint8_t *

Gets Z-Wave Protocol git hash.

Macros#

#define
SYSTEM_TYPE_LISTENING_MASK E_SYSTEM_TYPE_LISTENING
#define
SYSTEM_TYPE_FLIRS_MASK E_SYSTEM_TYPE_FLIRS

Enumeration Documentation#

_APPLICATION_STATUS_#

_APPLICATION_STATUS_

Return values of ApplicationInit.

Enumerator
APPLICATION_RUNNING

Application started normally.

APPLICATION_POWER_DOWN

Application started in special mode: Scheduler started, but Z-Wave protocol task did not.

APPLICATION_TEST

Test only, not to be used in production.


_E_NETWORK_LEARN_MODE_ACTION_#

_E_NETWORK_LEARN_MODE_ACTION_

Network modes that can be set by ZAF_setNetworkLearnMode.

Enumerator
E_NETWORK_LEARN_MODE_DISABLE

Disable learn process.

E_NETWORK_LEARN_MODE_INCLUSION

Enable the learn process to do an inclusion.

E_NETWORK_LEARN_MODE_EXCLUSION

Enable the learn process to do an exclusion.

E_NETWORK_LEARN_MODE_EXCLUSION_NWE

Enable the learn process to do an network wide exclusion.

E_NETWORK_LEARN_MODE_INCLUSION_SMARTSTART

Enable the learn process to do an SMARTSTART inclusion.

E_NETWORK_LEARN_MODE_COUNT

_E_SYSTEM_TYPE_#

_E_SYSTEM_TYPE_

DeprecatedUse Application Node Info instead

Enumerator
E_SYSTEM_TYPE_NON_LISTENING
E_SYSTEM_TYPE_LISTENING
E_SYSTEM_TYPE_FLIRS

Typedef Documentation#

ZW_APPLICATION_STATUS#

typedef enum _APPLICATION_STATUS_ ZW_APPLICATION_STATUS

Return values of ApplicationInit.


APPL_NODE_TYPE#

typedef struct _APPL_NODE_TYPE_ APPL_NODE_TYPE

Node type structure used in ApplicationNodeInformation.


NODE_TYPE#

typedef struct _NODE_TYPE_ NODE_TYPE

NODEINFO#

typedef struct _NODEINFO_ NODEINFO

Node info stored within the non-volatile memory This are the first (protocol part) payload bytes from the Node Infomation frame.


E_NETWORK_LEARN_MODE_ACTION#

typedef enum _E_NETWORK_LEARN_MODE_ACTION_ E_NETWORK_LEARN_MODE_ACTION

Network modes that can be set by ZAF_setNetworkLearnMode.


E_SYSTEM_TYPE#

typedef enum _E_SYSTEM_TYPE_ E_SYSTEM_TYPE

DeprecatedUse Application Node Info instead

DeprecatedUse APPLICATION_NODEINFO_LISTENING instead


Function Documentation#

ApplicationInit#

ZW_APPLICATION_STATUS ApplicationInit (zpal_reset_reason_t eResetReason)

ApplicationInit() MUST be defined by the application.

Parameters
TypeDirectionArgument NameDescription
zpal_reset_reason_t[in]eResetReason

The reason that triggered a reset/boot of the firmware. For instance, external pin, wake up timer, power on, etc. Please see zpal_reset_reason_t.

This function will be invoked by the Z-Wave stack during boot.

ApplicationInit() is invoked before the scheduler starts.

ApplicationInit() MUST invoke ZW_ApplicationRegisterTask() as a minimum.

Returns

  • The Z-Wave stack acts differently depending on the returned value. If APPLICATION_RUNNING is returned, everything will boot normally. If APPLICATION_POWER_DOWN is returned, the Z-Wave stack will NOT start, but the scheduler will start.


sl_zwave_protocol_startup#

void sl_zwave_protocol_startup (void )

Initialize the Z-Wave protocol stack.

Parameters
TypeDirectionArgument NameDescription
voidN/A

sl_zwave_platform_startup#

void sl_zwave_platform_startup (void )

Early startup of Z-Wave platform features.

Parameters
TypeDirectionArgument NameDescription
voidN/A

ZW_GetProtocolBuildNumber#

uint16_t ZW_GetProtocolBuildNumber (void )

Gets Z-Wave Protocol Build number.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • Z-Wave Protocol Build number


ZW_GetProtocolGitHash#

const uint8_t * ZW_GetProtocolGitHash (void )

Gets Z-Wave Protocol git hash.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • uint8_t* Z-Wave Protocol git hash