10#ifndef _ZW_CONTROLLER_API_H_
11#define _ZW_CONTROLLER_API_H_
29#define ADD_NODE_CONTROLLER 2
30#define ADD_NODE_SLAVE 3
31#define ADD_NODE_EXISTING 4
32#define ADD_NODE_STOP 5
33#define ADD_NODE_STOP_FAILED 6
34#define ADD_NODE_RESERVED 7
35#define ADD_NODE_HOME_ID 8
36#define ADD_NODE_SMART_START 9
38#define ADD_NODE_MODE_MASK 0x0F
39#define ADD_NODE_OPTION_NORMAL_POWER 0x80
40#define ADD_NODE_OPTION_NETWORK_WIDE 0x40
41#define ADD_NODE_OPTION_LR 0x20
42#define ADD_NODE_OPTION_NO_FL_SEARCH 0x10
45#define ADD_NODE_STATUS_LEARN_READY 1
46#define ADD_NODE_STATUS_NODE_FOUND 2
47#define ADD_NODE_STATUS_ADDING_SLAVE 3
48#define ADD_NODE_STATUS_ADDING_CONTROLLER 4
49#define ADD_NODE_STATUS_PROTOCOL_DONE 5
50#define ADD_NODE_STATUS_DONE 6
51#define ADD_NODE_STATUS_FAILED 7
52#define ADD_NODE_STATUS_FIND_NEIGHBORS_DONE 11
53#define ADD_NODE_STATUS_NOT_PRIMARY 0x23
56#define REMOVE_NODE_ANY ADD_NODE_ANY
57#define REMOVE_NODE_CONTROLLER ADD_NODE_CONTROLLER
58#define REMOVE_NODE_SLAVE ADD_NODE_SLAVE
59#define REMOVE_NODE_STOP ADD_NODE_STOP
61#define REMOVE_NODE_MODE_MASK ADD_NODE_MODE_MASK
62#define REMOVE_NODE_OPTION_NORMAL_POWER ADD_NODE_OPTION_NORMAL_POWER
63#define REMOVE_NODE_OPTION_NETWORK_WIDE ADD_NODE_OPTION_NETWORK_WIDE
66#define REMOVE_NODE_ID_ANY 0
69#define REMOVE_NODE_STATUS_LEARN_READY ADD_NODE_STATUS_LEARN_READY
70#define REMOVE_NODE_STATUS_NODE_FOUND ADD_NODE_STATUS_NODE_FOUND
71#define REMOVE_NODE_STATUS_REMOVING_SLAVE ADD_NODE_STATUS_ADDING_SLAVE
72#define REMOVE_NODE_STATUS_REMOVING_CONTROLLER ADD_NODE_STATUS_ADDING_CONTROLLER
73#define REMOVE_NODE_STATUS_DONE ADD_NODE_STATUS_DONE
74#define REMOVE_NODE_STATUS_FAILED ADD_NODE_STATUS_FAILED
77#define CREATE_PRIMARY_START ADD_NODE_CONTROLLER
78#define CREATE_PRIMARY_STOP ADD_NODE_STOP
79#define CREATE_PRIMARY_STOP_FAILED ADD_NODE_STOP_FAILED
82#define CONTROLLER_CHANGE_START ADD_NODE_CONTROLLER
83#define CONTROLLER_CHANGE_STOP ADD_NODE_STOP
84#define CONTROLLER_CHANGE_STOP_FAILED ADD_NODE_STOP_FAILED
87#define LEARN_MODE_STARTED ADD_NODE_STATUS_LEARN_READY
88#define LEARN_MODE_DONE ADD_NODE_STATUS_DONE
89#define LEARN_MODE_FAILED ADD_NODE_STATUS_FAILED
92#define REQUEST_NEIGHBOR_UPDATE_STARTED 0x21
93#define REQUEST_NEIGHBOR_UPDATE_DONE 0x22
94#define REQUEST_NEIGHBOR_UPDATE_FAILED 0x23
97#define UPDATE_STATE_SUC_ID 0x10
98#define UPDATE_STATE_DELETE_DONE 0x20
99#define UPDATE_STATE_NEW_ID_ASSIGNED 0x40
100#define UPDATE_STATE_ROUTING_PENDING 0x80
101#define UPDATE_STATE_NODE_INFO_REQ_FAILED 0x81
102#define UPDATE_STATE_NODE_INFO_REQ_DONE 0x82
103#define UPDATE_STATE_NOP_POWER_RECEIVED 0x83
104#define UPDATE_STATE_NODE_INFO_RECEIVED 0x84
105#define UPDATE_STATE_NODE_INFO_SMARTSTART_HOMEID_RECEIVED 0x85
106#define UPDATE_STATE_INCLUDED_NODE_INFO_RECEIVED 0x86
107#define UPDATE_STATE_NODE_INFO_SMARTSTART_HOMEID_RECEIVED_LR 0x87
110#define NEIGHBORS_ID_INVALID 0xFE
111#define NEIGHBORS_COUNT_FAILED 0xFF
115#define NOT_PRIMARY_CONTROLLER 1
119#define NO_CALLBACK_FUNCTION 2
122#define FAILED_NODE_NOT_FOUND 3
125#define FAILED_NODE_REMOVE_PROCESS_BUSY 4
126#define FAILED_NODE_REMOVE_FAIL 5
128#define ZW_FAILED_NODE_REMOVE_STARTED 0
129#define ZW_NOT_PRIMARY_CONTROLLER (1 << NOT_PRIMARY_CONTROLLER)
130#define ZW_NO_CALLBACK_FUNCTION (1 << NO_CALLBACK_FUNCTION)
131#define ZW_FAILED_NODE_NOT_FOUND (1 << FAILED_NODE_NOT_FOUND)
132#define ZW_FAILED_NODE_REMOVE_PROCESS_BUSY (1 << FAILED_NODE_REMOVE_PROCESS_BUSY)
133#define ZW_FAILED_NODE_REMOVE_FAIL (1 << FAILED_NODE_REMOVE_FAIL)
138#define ZW_FAILED_NODE_REMOVED 1
139#define ZW_FAILED_NODE_NOT_REMOVED 2
142#define ZW_FAILED_NODE_REPLACE 3
144#define ZW_FAILED_NODE_REPLACE_DONE 4
145#define ZW_FAILED_NODE_REPLACE_FAILED 5
149#define ZW_SUC_UPDATE_DONE 0x00
150#define ZW_SUC_UPDATE_ABORT 0x01
151#define ZW_SUC_UPDATE_WAIT 0x02
152#define ZW_SUC_UPDATE_DISABLED 0x03
153#define ZW_SUC_UPDATE_OVERFLOW 0x04
155#define ZW_SUC_SET_SUCCEEDED 0x05
156#define ZW_SUC_SET_FAILED 0x06
159#define ZW_SUC_FUNC_NODEID_SERVER 0x01
162#define CONTROLLER_IS_SECONDARY 0x01
163#define CONTROLLER_ON_OTHER_NETWORK 0x02
164#define CONTROLLER_NODEID_SERVER_PRESENT 0x04
167#define CONTROLLER_IS_REAL_PRIMARY 0x08
169#define CONTROLLER_IS_SUC 0x10
170#define NO_NODES_INCLUDED 0x20
173#define ZW_RF_SPEED_NONE 0x0000
174#define ZW_RF_SPEED_9600 0x0001
175#define ZW_RF_SPEED_40K 0x0002
176#define ZW_RF_SPEED_100K 0x0003
177#define ZW_RF_SPEED_100KLR 0x0004
178#define ZW_RF_SPEED_MASK 0x0007
181#define ZW_LR_CHANNEL_A 0x01
182#define ZW_LR_CHANNEL_B 0x02
183#define ZW_LR_CHANNEL_AUTO 0xFF
186#define GET_ROUTING_INFO_REMOVE_BAD 0x80
187#define GET_ROUTING_INFO_REMOVE_NON_REPS 0x40
188#define ZW_GET_ROUTING_INFO_ANY ZW_RF_SPEED_NONE
189#define ZW_GET_ROUTING_INFO_9600 ZW_RF_SPEED_9600
190#define ZW_GET_ROUTING_INFO_40K ZW_RF_SPEED_40K
191#define ZW_GET_ROUTING_INFO_100K ZW_RF_SPEED_100K
192#define ZW_GET_ROUTING_INFO_100KLR ZW_RF_SPEED_100KLR
193#define ZW_GET_ROUTING_INFO_SPEED_MASK ZW_RF_SPEED_MASK
196#define NODEINFO_LISTENING_SUPPORT 0x80
198#define NODEINFO_ROUTING_SUPPORT 0x40
201#define NODEINFO_OPTIONAL_FUNC_SUPPORT 0x80
204#define NODEINFO_ZWAVE_SENSOR_MODE_WAKEUP_1000 0x40
205#define NODEINFO_ZWAVE_SENSOR_MODE_WAKEUP_250 0x20
208typedef struct _LEARN_INFO_T_
219typedef struct _LEARN_INFO_SMARTSTART_
222 uint8_t nodeInfoLength;
225} LEARN_INFO_SMARTSTART;
227typedef void (*learn_mode_callback_t)(LEARN_INFO_T *);
232#define INIF_OPTIONS_TX_REASON_MASK 0x03
237typedef struct _CONTROLLER_UPDATE_INCLUDED_NODE_INFORMATION_FRAME_
239 uint8_t bINIFrxStatus;
241} CONTROLLER_UPDATE_INCLUDED_NODE_INFORMATION_FRAME;
246#define ROUTECACHE_LINE_CONF_SIZE 1
247#define ROUTECACHE_LINE_SIZE (MAX_REPEATERS + ROUTECACHE_LINE_CONF_SIZE)
250#define ROUTECACHE_LINE_REPEATER_0_INDEX 0
251#define ROUTECACHE_LINE_REPEATER_1_INDEX 1
252#define ROUTECACHE_LINE_REPEATER_2_INDEX 2
253#define ROUTECACHE_LINE_REPEATER_3_INDEX 3
254#define ROUTECACHE_LINE_CONF_INDEX 4
257#define ZW_PRIORITY_ROUTE_SPEED_9600 ZW_RF_SPEED_9600
258#define ZW_PRIORITY_ROUTE_SPEED_40K ZW_RF_SPEED_40K
259#define ZW_PRIORITY_ROUTE_SPEED_100K ZW_RF_SPEED_100K
263#define ZW_PRIORITY_ROUTE_APP_PR 0x10
265#define ZW_PRIORITY_ROUTE_ZW_LWR 0x01
267#define ZW_PRIORITY_ROUTE_ZW_NLWR 0x02
270#define ZW_LAST_WORKING_ROUTE_SPEED_9600 ZW_PRIORITY_ROUTE_SPEED_9600
271#define ZW_LAST_WORKING_ROUTE_SPEED_40K ZW_PRIORITY_ROUTE_SPEED_40K
272#define ZW_LAST_WORKING_ROUTE_SPEED_100K ZW_PRIORITY_ROUTE_SPEED_100K
#define HOMEID_LENGTH
Number of bytes in a homeID.
Definition ZW_transport_api.h:42
#define NODEPARM_MAX
max. number of parameters
Definition ZW_transport_api.h:41
uint16_t node_id_t
Node ID type.
Definition zpal_radio.h:230
Definition ZW_basis_api.h:50