9#ifndef _ZW_SERIALAPI_H_
10#define _ZW_SERIALAPI_H_
34#define GET_INIT_DATA_FLAG_SLAVE_API 0x01
35#define GET_INIT_DATA_FLAG_TIMER_SUPPORT 0x02
36#define GET_INIT_DATA_FLAG_CONTROLLER_STATUS 0x04
37#define GET_INIT_DATA_FLAG_SECONDARY_CTRL 0x04
38#define GET_INIT_DATA_FLAG_IS_SUC 0x08
61#define FUNC_ID_SERIAL_API_GET_INIT_DATA 0x02
62#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION 0x03
63#define FUNC_ID_APPLICATION_COMMAND_HANDLER 0x04
64#define FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES 0x05
67#define FUNC_ID_SERIAL_API_SET_TIMEOUTS 0x06
68#define FUNC_ID_SERIAL_API_GET_CAPABILITIES 0x07
69#define FUNC_ID_SERIAL_API_SOFT_RESET 0x08
72#define FUNC_ID_ZW_GET_PROTOCOL_VERSION 0x09
75#define FUNC_ID_SERIAL_API_STARTED 0x0A
76#define FUNC_ID_SERIAL_API_SETUP 0x0B
78#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0x0C
80#define FUNC_ID_ZW_SEND_DATA_EX 0x0E
81#define FUNC_ID_ZW_SEND_DATA_MULTI_EX 0x0F
83#define FUNC_ID_ZW_SET_RF_RECEIVE_MODE 0x10
84#define FUNC_ID_ZW_SET_SLEEP_MODE 0x11
85#define FUNC_ID_ZW_SEND_NODE_INFORMATION 0x12
86#define FUNC_ID_ZW_SEND_DATA 0x13
87#define FUNC_ID_ZW_SEND_DATA_MULTI 0x14
88#define FUNC_ID_ZW_GET_VERSION 0x15
91#define FUNC_ID_ZW_SEND_DATA_ABORT 0x16
93#define FUNC_ID_ZW_RF_POWER_LEVEL_SET 0x17
94#define FUNC_ID_ZW_SEND_DATA_META 0x18
97#define FUNC_ID_ZW_RESERVED_SD 0x19
98#define FUNC_ID_ZW_RESERVED_SDM 0x1A
99#define FUNC_ID_ZW_RESERVED_SRI 0x1B
101#define FUNC_ID_ZW_SET_ROUTING_INFO 0x1B
103#define FUNC_ID_ZW_GET_RANDOM 0x1C
104#define FUNC_ID_ZW_RANDOM 0x1D
105#define FUNC_ID_ZW_RF_POWER_LEVEL_REDISCOVERY_SET 0x1E
107#define FUNC_ID_MEMORY_GET_ID 0x20
108#define FUNC_ID_MEMORY_GET_BYTE 0x21
109#define FUNC_ID_MEMORY_PUT_BYTE 0x22
110#define FUNC_ID_MEMORY_GET_BUFFER 0x23
111#define FUNC_ID_MEMORY_PUT_BUFFER 0x24
113#define FUNC_ID_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0x25
114#define FUNC_ID_DEBUG_OUTPUT 0x26
117#define FUNC_ID_AUTO_PROGRAMMING 0x27
119#define FUNC_ID_NVR_GET_VALUE 0x28
121#define FUNC_ID_NVM_GET_ID 0x29
122#define FUNC_ID_NVM_EXT_READ_LONG_BUFFER 0x2A
123#define FUNC_ID_NVM_EXT_WRITE_LONG_BUFFER 0x2B
124#define FUNC_ID_NVM_EXT_READ_LONG_BYTE 0x2C
125#define FUNC_ID_NVM_EXT_WRITE_LONG_BYTE 0x2D
126#define FUNC_ID_NVM_BACKUP_RESTORE 0x2E
128#define FUNC_ID_ZW_NVR_GET_APP_VALUE 0x2F
130#define FUNC_ID_CLOCK_SET 0x30
131#define FUNC_ID_CLOCK_GET 0x31
132#define FUNC_ID_CLOCK_CMP 0x32
133#define FUNC_ID_RTC_TIMER_CREATE 0x33
134#define FUNC_ID_RTC_TIMER_READ 0x34
135#define FUNC_ID_RTC_TIMER_DELETE 0x35
136#define FUNC_ID_RTC_TIMER_CALL 0x36
138#define FUNC_ID_CLEAR_TX_TIMERS 0x37
139#define FUNC_ID_GET_TX_TIMERS 0x38
141#define FUNC_ID_ZW_CLEAR_NETWORK_STATS 0x39
142#define FUNC_ID_ZW_GET_NETWORK_STATS 0x3A
143#define FUNC_ID_ZW_GET_BACKGROUND_RSSI 0x3B
144#define FUNC_ID_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD 0x3C
145#define FUNC_ID_NVM_EXT_BACKUP_RESTORE 0x3D
146#define FUNC_ID_ZW_REMOVE_NODE_ID_FROM_NETWORK 0x3F
148#define FUNC_ID_ZW_SET_LEARN_NODE_STATE 0x40
149#define FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO 0x41
150#define FUNC_ID_ZW_SET_DEFAULT 0x42
151#define FUNC_ID_ZW_NEW_CONTROLLER 0x43
153#define FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE 0x44
154#define FUNC_ID_ZW_REPLICATION_SEND_DATA 0x45
156#define FUNC_ID_ZW_ASSIGN_RETURN_ROUTE 0x46
157#define FUNC_ID_ZW_DELETE_RETURN_ROUTE 0x47
158#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 0x48
159#define FUNC_ID_ZW_REQUEST_NODETYPE_NEIGHBOR_UPDATE 0x68
160#define FUNC_ID_ZW_APPLICATION_UPDATE 0x49
163#define FUNC_ID_ZW_APPLICATION_CONTROLLER_UPDATE 0x49
165#define FUNC_ID_ZW_ADD_NODE_TO_NETWORK 0x4A
166#define FUNC_ID_ZW_REMOVE_NODE_FROM_NETWORK 0x4B
167#define FUNC_ID_ZW_CREATE_NEW_PRIMARY 0x4C
168#define FUNC_ID_ZW_CONTROLLER_CHANGE 0x4D
170#define FUNC_ID_ZW_RESERVED_FN 0x4E
173#define FUNC_ID_ZW_ASSIGN_PRIORITY_RETURN_ROUTE 0x4F
176#define FUNC_ID_ZW_SET_LEARN_MODE 0x50
179#define FUNC_ID_ZW_ASSIGN_SUC_RETURN_ROUTE 0x51
180#define FUNC_ID_ZW_ENABLE_SUC 0x52
181#define FUNC_ID_ZW_REQUEST_NETWORK_UPDATE 0x53
182#define FUNC_ID_ZW_SET_SUC_NODE_ID 0x54
183#define FUNC_ID_ZW_DELETE_SUC_RETURN_ROUTE 0x55
184#define FUNC_ID_ZW_GET_SUC_NODE_ID 0x56
185#define FUNC_ID_ZW_SEND_SUC_ID 0x57
188#define FUNC_ID_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE 0x58
191#define FUNC_ID_ZW_REDISCOVERY_NEEDED 0x59
193#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE_OPTION 0x5A
196#define FUNC_ID_ZW_SUPPORT9600_ONLY 0x5B
200#define FUNC_ID_ZW_REQUEST_NEW_ROUTE_DESTINATIONS 0x5C
201#define FUNC_ID_ZW_IS_NODE_WITHIN_DIRECT_RANGE 0x5D
204#define FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION 0x5E
205#define FUNC_ID_ZW_EXPLORE_REQUEST_EXCLUSION 0x5F
207#define FUNC_ID_ZW_REQUEST_NODE_INFO 0x60
208#define FUNC_ID_ZW_REMOVE_FAILED_NODE_ID 0x61
209#define FUNC_ID_ZW_IS_FAILED_NODE_ID 0x62
210#define FUNC_ID_ZW_REPLACE_FAILED_NODE 0x63
213#define FUNC_ID_ZW_SET_ROUTING_MAX_6_00 0x65
216#define FUNC_ID_ZW_IS_PRIMARY_CTRL 0x66
218#define FUNC_ID_ZW_AES_ECB 0x67
220#define FUNC_ID_TIMER_START 0x70
221#define FUNC_ID_TIMER_RESTART 0x71
222#define FUNC_ID_TIMER_CANCEL 0x72
223#define FUNC_ID_TIMER_CALL 0x73
226#define FUNC_ID_ZW_FIRMWARE_UPDATE_NVM 0x78
229#define FUNC_ID_GET_ROUTING_TABLE_LINE 0x80
230#define FUNC_ID_GET_TX_COUNTER 0x81
231#define FUNC_ID_RESET_TX_COUNTER 0x82
232#define FUNC_ID_STORE_NODEINFO 0x83
233#define FUNC_ID_STORE_HOMEID 0x84
236#define FUNC_ID_LOCK_ROUTE_RESPONSE 0x90
237#ifdef ZW_ROUTING_DEMO
239#define TRANSMIT_ROUTED_ATTEMPT 0x08
240#define FUNC_ID_ZW_SEND_DATA_ROUTE_DEMO 0x91
244#define FUNC_ID_ZW_GET_PRIORITY_ROUTE 0x92
245#define FUNC_ID_ZW_SET_PRIORITY_ROUTE 0x93
247#define FUNC_ID_ZW_GET_LAST_WORKING_ROUTE 0x92
248#define FUNC_ID_ZW_SET_LAST_WORKING_ROUTE 0x93
251#define FUNC_ID_SERIAL_API_TEST 0x95
253#define FUNC_ID_SERIAL_API_EXT 0x98
256#define FUNC_ID_ZW_SECURITY_SETUP 0x9C
257#define FUNC_ID_APPLICATION_SECURITY_EVENT 0x9D
260#define FUNC_ID_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 0xA0
265#define FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER 0xA1
266#define FUNC_ID_ZW_SEND_SLAVE_NODE_INFORMATION 0xA2
267#define FUNC_ID_ZW_SEND_SLAVE_DATA 0xA3
268#define FUNC_ID_ZW_SET_SLAVE_LEARN_MODE 0xA4
269#define FUNC_ID_ZW_GET_VIRTUAL_NODES 0xA5
270#define FUNC_ID_ZW_IS_VIRTUAL_NODE 0xA6
271#define FUNC_ID_ZW_RESERVED_SSD 0xA7
275#define FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE 0xA8
277#define FUNC_ID_ZW_SEND_DATA_BRIDGE 0xA9
279#define FUNC_ID_ZW_SEND_DATA_META_BRIDGE 0xAA
280#define FUNC_ID_ZW_SEND_DATA_MULTI_BRIDGE 0xAB
283#define FUNC_ID_PWR_SETSTOPMODE 0xB0
284#define FUNC_ID_PWR_CLK_PD 0xB1
285#define FUNC_ID_PWR_CLK_PUP 0xB2
286#define FUNC_ID_PWR_SELECT_CLK 0xB3
287#define FUNC_ID_ZW_SET_WUT_TIMEOUT 0xB4
288#define FUNC_ID_ZW_IS_WUT_KICKED 0xB5
290#define FUNC_ID_ZW_WATCHDOG_ENABLE 0xB6
291#define FUNC_ID_ZW_WATCHDOG_DISABLE 0xB7
292#define FUNC_ID_ZW_WATCHDOG_KICK 0xB8
294#define FUNC_ID_ZW_SET_EXT_INT_LEVEL 0xB9
295#define FUNC_ID_ZW_INT_EXT_LEVEL_SET 0xB9
298#define FUNC_ID_ZW_RF_POWER_LEVEL_GET 0xBA
299#define FUNC_ID_ZW_GET_NEIGHBOR_COUNT 0xBB
300#define FUNC_ID_ZW_ARE_NODES_NEIGHBOURS 0xBC
302#define FUNC_ID_ZW_TYPE_LIBRARY 0xBD
303#define FUNC_ID_ZW_SEND_TEST_FRAME 0xBE
304#define FUNC_ID_ZW_GET_PROTOCOL_STATUS 0xBF
306#define FUNC_ID_ZW_SET_PROMISCUOUS_MODE 0xD0
308#define FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER 0xD1
311#define FUNC_ID_ZW_WATCHDOG_START 0xD2
312#define FUNC_ID_ZW_WATCHDOG_STOP 0xD3
314#define FUNC_ID_ZW_SET_ROUTING_MAX 0xD4
317#define FUNC_ID_ZW_GET_ROUTING_MAX 0xD5
319#define FUNC_ID_PM_STAY_AWAKE 0xD7
320#define FUNC_ID_PM_CANCEL 0xD8
324#define FUNC_ID_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS 0xD6
326#define FUNC_ID_ZW_INITIATE_SHUTDOWN 0xD9
328#define FUNC_ID_SERIAL_API_GET_LR_NODES 0xDA
330#define FUNC_ID_GET_LR_CHANNEL 0xDB
331#define FUNC_ID_SET_LR_CHANNEL 0xDC
333#define FUNC_ID_ZW_SET_LR_VIRTUAL_IDS 0xDD
335#define FUNC_ID_GET_DCDC_CONFIG 0xDE
336#define FUNC_ID_SET_DCDC_CONFIG 0xDF
339#define FUNC_ID_ZW_NUNIT_CMD 0xE0
340#define FUNC_ID_ZW_NUNIT_INIT 0xE1
341#define FUNC_ID_ZW_NUNIT_LIST 0xE2
342#define FUNC_ID_ZW_NUNIT_RUN 0xE3
343#define FUNC_ID_ZW_NUNIT_END 0xE4
345#define FUNC_ID_ENABLE_RADIO_PTI 0xE7
346#define FUNC_ID_GET_RADIO_PTI 0xE8
348#define FUNC_ID_SEND_NOP 0xE9
351#define FUNC_ID_SERIAL_API_POWER_MANAGEMENT 0xEE
352#define FUNC_ID_SERIAL_API_READY 0xEF
355#define FUNC_ID_PROPRIETARY_0 0xF0
356#define FUNC_ID_PROPRIETARY_1 0xF1
357#define FUNC_ID_PROPRIETARY_2 0xF2
358#define FUNC_ID_PROPRIETARY_3 0xF3
359#define FUNC_ID_PROPRIETARY_4 0xF4
360#define FUNC_ID_PROPRIETARY_5 0xF5
361#define FUNC_ID_PROPRIETARY_6 0xF6
362#define FUNC_ID_PROPRIETARY_7 0xF7
363#define FUNC_ID_PROPRIETARY_8 0xF8
364#define FUNC_ID_PROPRIETARY_9 0xF9
365#define FUNC_ID_PROPRIETARY_A 0xFA
366#define FUNC_ID_PROPRIETARY_B 0xFB
367#define FUNC_ID_PROPRIETARY_C 0xFC
368#define FUNC_ID_PROPRIETARY_D 0xFD
369#define FUNC_ID_PROPRIETARY_E 0xFE
373#define FUNC_ID_UNKNOWN 0xFF
FIRMWARE_UPDATE_NVM_T
Definition ZW_SerialAPI.h:46
nvm_backup_restore_addr_size_t
Definition ZW_SerialAPI.h:380
@ FIRMWARE_UPDATE_NVM_UPDATE_CRC16
Definition ZW_SerialAPI.h:50
@ FIRMWARE_UPDATE_NVM_INIT
Definition ZW_SerialAPI.h:47
@ FIRMWARE_UPDATE_NVM_IS_VALID_CRC16
Definition ZW_SerialAPI.h:51
@ FIRMWARE_UPDATE_NVM_UNKNOWN
Definition ZW_SerialAPI.h:53
@ FIRMWARE_UPDATE_NVM_GET_NEW_IMAGE
Definition ZW_SerialAPI.h:49
@ FIRMWARE_UPDATE_NVM_WRITE
Definition ZW_SerialAPI.h:52
@ FIRMWARE_UPDATE_NVM_SET_NEW_IMAGE
Definition ZW_SerialAPI.h:48
@ NVM_BACKUP_RESTORE_ADDR_SIZE
2 bytes for the legacy NVM backup & restore command
Definition ZW_SerialAPI.h:381
@ NVM_EXT_BACKUP_RESTORE_ADDR_SIZE
4 bytes for the extended NVM backup & restore command
Definition ZW_SerialAPI.h:382