10#ifndef _ZW_SERIALAPI_H_
11#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
60#define FUNC_ID_SERIAL_API_GET_INIT_DATA 0x02
61#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION 0x03
62#define FUNC_ID_APPLICATION_COMMAND_HANDLER 0x04
63#define FUNC_ID_ZW_GET_CONTROLLER_CAPABILITIES 0x05
66#define FUNC_ID_SERIAL_API_SET_TIMEOUTS 0x06
67#define FUNC_ID_SERIAL_API_GET_CAPABILITIES 0x07
68#define FUNC_ID_SERIAL_API_SOFT_RESET 0x08
71#define FUNC_ID_ZW_GET_PROTOCOL_VERSION 0x09
74#define FUNC_ID_SERIAL_API_STARTED 0x0A
75#define FUNC_ID_SERIAL_API_SETUP 0x0B
77#define FUNC_ID_SERIAL_API_APPL_NODE_INFORMATION_CMD_CLASSES 0x0C
79#define FUNC_ID_ZW_SEND_DATA_EX 0x0E
80#define FUNC_ID_ZW_SEND_DATA_MULTI_EX 0x0F
82#define FUNC_ID_ZW_SET_RF_RECEIVE_MODE 0x10
83#define FUNC_ID_ZW_SET_SLEEP_MODE 0x11
84#define FUNC_ID_ZW_SEND_NODE_INFORMATION 0x12
85#define FUNC_ID_ZW_SEND_DATA 0x13
86#define FUNC_ID_ZW_SEND_DATA_MULTI 0x14
87#define FUNC_ID_ZW_GET_VERSION 0x15
90#define FUNC_ID_ZW_SEND_DATA_ABORT 0x16
92#define FUNC_ID_ZW_RF_POWER_LEVEL_SET 0x17
93#define FUNC_ID_ZW_SEND_DATA_META 0x18
96#define FUNC_ID_ZW_RESERVED_SD 0x19
97#define FUNC_ID_ZW_RESERVED_SDM 0x1A
98#define FUNC_ID_ZW_RESERVED_SRI 0x1B
100#define FUNC_ID_ZW_SET_ROUTING_INFO 0x1B
102#define FUNC_ID_ZW_GET_RANDOM 0x1C
103#define FUNC_ID_ZW_RANDOM 0x1D
104#define FUNC_ID_ZW_RF_POWER_LEVEL_REDISCOVERY_SET 0x1E
106#define FUNC_ID_MEMORY_GET_ID 0x20
107#define FUNC_ID_MEMORY_GET_BYTE 0x21
108#define FUNC_ID_MEMORY_PUT_BYTE 0x22
109#define FUNC_ID_MEMORY_GET_BUFFER 0x23
110#define FUNC_ID_MEMORY_PUT_BUFFER 0x24
112#define FUNC_ID_SERIAL_API_GET_APPL_HOST_MEMORY_OFFSET 0x25
113#define FUNC_ID_DEBUG_OUTPUT 0x26
116#define FUNC_ID_AUTO_PROGRAMMING 0x27
118#define FUNC_ID_NVR_GET_VALUE 0x28
120#define FUNC_ID_NVM_GET_ID 0x29
121#define FUNC_ID_NVM_EXT_READ_LONG_BUFFER 0x2A
122#define FUNC_ID_NVM_EXT_WRITE_LONG_BUFFER 0x2B
123#define FUNC_ID_NVM_EXT_READ_LONG_BYTE 0x2C
124#define FUNC_ID_NVM_EXT_WRITE_LONG_BYTE 0x2D
125#define FUNC_ID_NVM_BACKUP_RESTORE 0x2E
127#define FUNC_ID_ZW_NVR_GET_APP_VALUE 0x2F
129#define FUNC_ID_CLOCK_SET 0x30
130#define FUNC_ID_CLOCK_GET 0x31
131#define FUNC_ID_CLOCK_CMP 0x32
132#define FUNC_ID_RTC_TIMER_CREATE 0x33
133#define FUNC_ID_RTC_TIMER_READ 0x34
134#define FUNC_ID_RTC_TIMER_DELETE 0x35
135#define FUNC_ID_RTC_TIMER_CALL 0x36
137#define FUNC_ID_CLEAR_TX_TIMERS 0x37
138#define FUNC_ID_GET_TX_TIMERS 0x38
140#define FUNC_ID_ZW_CLEAR_NETWORK_STATS 0x39
141#define FUNC_ID_ZW_GET_NETWORK_STATS 0x3A
142#define FUNC_ID_ZW_GET_BACKGROUND_RSSI 0x3B
143#define FUNC_ID_ZW_SET_LISTEN_BEFORE_TALK_THRESHOLD 0x3C
144#define FUNC_ID_NVM_EXT_BACKUP_RESTORE 0x3D
149#define FUNC_ID_FIRMWARE_UPDATE 0x3E
151#define FUNC_ID_ZW_REMOVE_NODE_ID_FROM_NETWORK 0x3F
153#define FUNC_ID_ZW_SET_LEARN_NODE_STATE 0x40
154#define FUNC_ID_ZW_GET_NODE_PROTOCOL_INFO 0x41
155#define FUNC_ID_ZW_SET_DEFAULT 0x42
156#define FUNC_ID_ZW_NEW_CONTROLLER 0x43
158#define FUNC_ID_ZW_REPLICATION_COMMAND_COMPLETE 0x44
159#define FUNC_ID_ZW_REPLICATION_SEND_DATA 0x45
161#define FUNC_ID_ZW_ASSIGN_RETURN_ROUTE 0x46
162#define FUNC_ID_ZW_DELETE_RETURN_ROUTE 0x47
163#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE 0x48
164#define FUNC_ID_ZW_REQUEST_NODETYPE_NEIGHBOR_UPDATE 0x68
165#define FUNC_ID_ZW_APPLICATION_UPDATE 0x49
168#define FUNC_ID_ZW_APPLICATION_CONTROLLER_UPDATE 0x49
170#define FUNC_ID_ZW_ADD_NODE_TO_NETWORK 0x4A
171#define FUNC_ID_ZW_REMOVE_NODE_FROM_NETWORK 0x4B
172#define FUNC_ID_ZW_CREATE_NEW_PRIMARY 0x4C
173#define FUNC_ID_ZW_CONTROLLER_CHANGE 0x4D
175#define FUNC_ID_ZW_RESERVED_FN 0x4E
178#define FUNC_ID_ZW_ASSIGN_PRIORITY_RETURN_ROUTE 0x4F
181#define FUNC_ID_ZW_SET_LEARN_MODE 0x50
184#define FUNC_ID_ZW_ASSIGN_SUC_RETURN_ROUTE 0x51
185#define FUNC_ID_ZW_ENABLE_SUC 0x52
186#define FUNC_ID_ZW_REQUEST_NETWORK_UPDATE 0x53
187#define FUNC_ID_ZW_SET_SUC_NODE_ID 0x54
188#define FUNC_ID_ZW_DELETE_SUC_RETURN_ROUTE 0x55
189#define FUNC_ID_ZW_GET_SUC_NODE_ID 0x56
190#define FUNC_ID_ZW_SEND_SUC_ID 0x57
193#define FUNC_ID_ZW_ASSIGN_PRIORITY_SUC_RETURN_ROUTE 0x58
196#define FUNC_ID_ZW_REDISCOVERY_NEEDED 0x59
198#define FUNC_ID_ZW_REQUEST_NODE_NEIGHBOR_UPDATE_OPTION 0x5A
201#define FUNC_ID_ZW_SUPPORT9600_ONLY 0x5B
205#define FUNC_ID_ZW_REQUEST_NEW_ROUTE_DESTINATIONS 0x5C
206#define FUNC_ID_ZW_IS_NODE_WITHIN_DIRECT_RANGE 0x5D
209#define FUNC_ID_ZW_EXPLORE_REQUEST_INCLUSION 0x5E
210#define FUNC_ID_ZW_EXPLORE_REQUEST_EXCLUSION 0x5F
212#define FUNC_ID_ZW_REQUEST_NODE_INFO 0x60
213#define FUNC_ID_ZW_REMOVE_FAILED_NODE_ID 0x61
214#define FUNC_ID_ZW_IS_FAILED_NODE_ID 0x62
215#define FUNC_ID_ZW_REPLACE_FAILED_NODE 0x63
218#define FUNC_ID_ZW_SET_ROUTING_MAX_6_00 0x65
221#define FUNC_ID_ZW_IS_PRIMARY_CTRL 0x66
223#define FUNC_ID_ZW_AES_ECB 0x67
225#define FUNC_ID_TIMER_START 0x70
226#define FUNC_ID_TIMER_RESTART 0x71
227#define FUNC_ID_TIMER_CANCEL 0x72
228#define FUNC_ID_TIMER_CALL 0x73
231#define FUNC_ID_ZW_FIRMWARE_UPDATE_NVM 0x78
234#define FUNC_ID_GET_ROUTING_TABLE_LINE 0x80
235#define FUNC_ID_GET_TX_COUNTER 0x81
236#define FUNC_ID_RESET_TX_COUNTER 0x82
237#define FUNC_ID_STORE_NODEINFO 0x83
238#define FUNC_ID_STORE_HOMEID 0x84
241#define FUNC_ID_LOCK_ROUTE_RESPONSE 0x90
242#ifdef ZW_ROUTING_DEMO
244#define TRANSMIT_ROUTED_ATTEMPT 0x08
245#define FUNC_ID_ZW_SEND_DATA_ROUTE_DEMO 0x91
249#define FUNC_ID_ZW_GET_PRIORITY_ROUTE 0x92
250#define FUNC_ID_ZW_SET_PRIORITY_ROUTE 0x93
252#define FUNC_ID_ZW_GET_LAST_WORKING_ROUTE 0x92
253#define FUNC_ID_ZW_SET_LAST_WORKING_ROUTE 0x93
256#define FUNC_ID_SERIAL_API_TEST 0x95
258#define FUNC_ID_SERIAL_API_EXT 0x98
261#define FUNC_ID_ZW_SECURITY_SETUP 0x9C
262#define FUNC_ID_APPLICATION_SECURITY_EVENT 0x9D
265#define FUNC_ID_SERIAL_API_APPL_SLAVE_NODE_INFORMATION 0xA0
270#define FUNC_ID_APPLICATION_SLAVE_COMMAND_HANDLER 0xA1
271#define FUNC_ID_ZW_SEND_SLAVE_NODE_INFORMATION 0xA2
272#define FUNC_ID_ZW_SEND_SLAVE_DATA 0xA3
273#define FUNC_ID_ZW_SET_SLAVE_LEARN_MODE 0xA4
274#define FUNC_ID_ZW_GET_VIRTUAL_NODES 0xA5
275#define FUNC_ID_ZW_IS_VIRTUAL_NODE 0xA6
276#define FUNC_ID_ZW_RESERVED_SSD 0xA7
280#define FUNC_ID_APPLICATION_COMMAND_HANDLER_BRIDGE 0xA8
282#define FUNC_ID_ZW_SEND_DATA_BRIDGE 0xA9
284#define FUNC_ID_ZW_SEND_DATA_META_BRIDGE 0xAA
285#define FUNC_ID_ZW_SEND_DATA_MULTI_BRIDGE 0xAB
288#define FUNC_ID_PWR_SETSTOPMODE 0xB0
289#define FUNC_ID_PWR_CLK_PD 0xB1
290#define FUNC_ID_PWR_CLK_PUP 0xB2
291#define FUNC_ID_PWR_SELECT_CLK 0xB3
292#define FUNC_ID_ZW_SET_WUT_TIMEOUT 0xB4
293#define FUNC_ID_ZW_IS_WUT_KICKED 0xB5
295#define FUNC_ID_ZW_WATCHDOG_ENABLE 0xB6
296#define FUNC_ID_ZW_WATCHDOG_DISABLE 0xB7
297#define FUNC_ID_ZW_WATCHDOG_KICK 0xB8
299#define FUNC_ID_ZW_SET_EXT_INT_LEVEL 0xB9
300#define FUNC_ID_ZW_INT_EXT_LEVEL_SET 0xB9
303#define FUNC_ID_ZW_RF_POWER_LEVEL_GET 0xBA
304#define FUNC_ID_ZW_GET_NEIGHBOR_COUNT 0xBB
305#define FUNC_ID_ZW_ARE_NODES_NEIGHBOURS 0xBC
307#define FUNC_ID_ZW_TYPE_LIBRARY 0xBD
308#define FUNC_ID_ZW_SEND_TEST_FRAME 0xBE
309#define FUNC_ID_ZW_GET_PROTOCOL_STATUS 0xBF
311#define FUNC_ID_ZW_SET_PROMISCUOUS_MODE 0xD0
313#define FUNC_ID_PROMISCUOUS_APPLICATION_COMMAND_HANDLER 0xD1
316#define FUNC_ID_ZW_WATCHDOG_START 0xD2
317#define FUNC_ID_ZW_WATCHDOG_STOP 0xD3
319#define FUNC_ID_ZW_SET_ROUTING_MAX 0xD4
322#define FUNC_ID_ZW_GET_ROUTING_MAX 0xD5
324#define FUNC_ID_PM_STAY_AWAKE 0xD7
325#define FUNC_ID_PM_CANCEL 0xD8
329#define FUNC_ID_ZW_NETWORK_MANAGEMENT_SET_MAX_INCLUSION_REQUEST_INTERVALS 0xD6
331#define FUNC_ID_ZW_INITIATE_SHUTDOWN 0xD9
333#define FUNC_ID_SERIAL_API_GET_LR_NODES 0xDA
335#define FUNC_ID_GET_LR_CHANNEL 0xDB
336#define FUNC_ID_SET_LR_CHANNEL 0xDC
338#define FUNC_ID_ZW_SET_LR_VIRTUAL_IDS 0xDD
340#define FUNC_ID_GET_DCDC_CONFIG 0xDE
341#define FUNC_ID_SET_DCDC_CONFIG 0xDF
344#define FUNC_ID_ZW_NUNIT_CMD 0xE0
345#define FUNC_ID_ZW_NUNIT_INIT 0xE1
346#define FUNC_ID_ZW_NUNIT_LIST 0xE2
347#define FUNC_ID_ZW_NUNIT_RUN 0xE3
348#define FUNC_ID_ZW_NUNIT_END 0xE4
350#define FUNC_ID_ENABLE_RADIO_PTI 0xE7
351#define FUNC_ID_GET_RADIO_PTI 0xE8
353#define FUNC_ID_SEND_NOP 0xE9
356#define FUNC_ID_ZW_GET_MANUFACTURER_INFO 0xEA
359#define FUNC_ID_SERIAL_API_POWER_MANAGEMENT 0xEE
360#define FUNC_ID_SERIAL_API_READY 0xEF
363#define FUNC_ID_PROPRIETARY_0 0xF0
364#define FUNC_ID_PROPRIETARY_1 0xF1
365#define FUNC_ID_PROPRIETARY_2 0xF2
366#define FUNC_ID_PROPRIETARY_3 0xF3
367#define FUNC_ID_PROPRIETARY_4 0xF4
368#define FUNC_ID_PROPRIETARY_5 0xF5
369#define FUNC_ID_PROPRIETARY_6 0xF6
370#define FUNC_ID_PROPRIETARY_7 0xF7
371#define FUNC_ID_PROPRIETARY_8 0xF8
372#define FUNC_ID_PROPRIETARY_9 0xF9
373#define FUNC_ID_PROPRIETARY_A 0xFA
374#define FUNC_ID_PROPRIETARY_B 0xFB
375#define FUNC_ID_PROPRIETARY_C 0xFC
376#define FUNC_ID_PROPRIETARY_D 0xFD
377#define FUNC_ID_PROPRIETARY_E 0xFE
380#define FUNC_ID_UNKNOWN 0xFF
FIRMWARE_UPDATE_NVM_T
Definition ZW_SerialAPI.h:45
nvm_backup_restore_addr_size_t
Definition ZW_SerialAPI.h:386
@ FIRMWARE_UPDATE_NVM_UPDATE_CRC16
Definition ZW_SerialAPI.h:49
@ FIRMWARE_UPDATE_NVM_INIT
Definition ZW_SerialAPI.h:46
@ FIRMWARE_UPDATE_NVM_IS_VALID_CRC16
Definition ZW_SerialAPI.h:50
@ FIRMWARE_UPDATE_NVM_UNKNOWN
Definition ZW_SerialAPI.h:52
@ FIRMWARE_UPDATE_NVM_GET_NEW_IMAGE
Definition ZW_SerialAPI.h:48
@ FIRMWARE_UPDATE_NVM_WRITE
Definition ZW_SerialAPI.h:51
@ FIRMWARE_UPDATE_NVM_SET_NEW_IMAGE
Definition ZW_SerialAPI.h:47
@ NVM_BACKUP_RESTORE_ADDR_SIZE
2 bytes for the legacy NVM backup & restore command
Definition ZW_SerialAPI.h:387
@ NVM_EXT_BACKUP_RESTORE_ADDR_SIZE
4 bytes for the extended NVM backup & restore command
Definition ZW_SerialAPI.h:388