@willieee802/zigbee-herdsman 0.19.2 → 0.34.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/.babelrc.js +0 -4
  2. package/.release-please-manifest.json +1 -2
  3. package/CHANGELOG.md +376 -0
  4. package/README.md +1 -1
  5. package/dist/adapter/adapter.d.ts +61 -61
  6. package/dist/adapter/adapter.d.ts.map +1 -1
  7. package/dist/adapter/adapter.js +158 -146
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +68 -68
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.js +1081 -1060
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  13. package/dist/adapter/deconz/adapter/index.d.ts +2 -2
  14. package/dist/adapter/deconz/adapter/index.js +10 -10
  15. package/dist/adapter/deconz/driver/constants.d.ts +104 -104
  16. package/dist/adapter/deconz/driver/constants.js +55 -55
  17. package/dist/adapter/deconz/driver/driver.d.ts +81 -81
  18. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  19. package/dist/adapter/deconz/driver/driver.js +750 -732
  20. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  21. package/dist/adapter/deconz/driver/frame.d.ts +6 -6
  22. package/dist/adapter/deconz/driver/frame.js +13 -13
  23. package/dist/adapter/deconz/driver/frameParser.d.ts +2 -2
  24. package/dist/adapter/deconz/driver/frameParser.js +443 -443
  25. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  26. package/dist/adapter/deconz/driver/parser.d.ts +12 -12
  27. package/dist/adapter/deconz/driver/parser.js +63 -61
  28. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  29. package/dist/adapter/deconz/driver/writer.d.ts +8 -8
  30. package/dist/adapter/deconz/driver/writer.js +44 -44
  31. package/dist/adapter/ember/adapter/emberAdapter.d.ts +817 -0
  32. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  33. package/dist/adapter/ember/adapter/emberAdapter.js +2981 -0
  34. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -0
  35. package/dist/adapter/ember/adapter/endpoints.d.ts +25 -0
  36. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -0
  37. package/dist/adapter/ember/adapter/endpoints.js +66 -0
  38. package/dist/adapter/ember/adapter/endpoints.js.map +1 -0
  39. package/dist/adapter/ember/adapter/index.d.ts +3 -0
  40. package/dist/adapter/ember/adapter/index.d.ts.map +1 -0
  41. package/dist/adapter/ember/adapter/index.js +6 -0
  42. package/dist/adapter/ember/adapter/index.js.map +1 -0
  43. package/dist/adapter/ember/adapter/oneWaitress.d.ts +97 -0
  44. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  45. package/dist/adapter/ember/adapter/oneWaitress.js +226 -0
  46. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -0
  47. package/dist/adapter/ember/adapter/requestQueue.d.ts +59 -0
  48. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -0
  49. package/dist/adapter/ember/adapter/requestQueue.js +144 -0
  50. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -0
  51. package/dist/adapter/ember/adapter/tokensManager.d.ts +69 -0
  52. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -0
  53. package/dist/adapter/ember/adapter/tokensManager.js +685 -0
  54. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -0
  55. package/dist/adapter/ember/consts.d.ts +198 -0
  56. package/dist/adapter/ember/consts.d.ts.map +1 -0
  57. package/dist/adapter/ember/consts.js +253 -0
  58. package/dist/adapter/ember/consts.js.map +1 -0
  59. package/dist/adapter/ember/enums.d.ts +2184 -0
  60. package/dist/adapter/ember/enums.d.ts.map +1 -0
  61. package/dist/adapter/ember/enums.js +2391 -0
  62. package/dist/adapter/ember/enums.js.map +1 -0
  63. package/dist/adapter/ember/ezsp/buffalo.d.ts +156 -0
  64. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -0
  65. package/dist/adapter/ember/ezsp/buffalo.js +1033 -0
  66. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -0
  67. package/dist/adapter/ember/ezsp/consts.d.ts +116 -0
  68. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -0
  69. package/dist/adapter/ember/ezsp/consts.js +128 -0
  70. package/dist/adapter/ember/ezsp/consts.js.map +1 -0
  71. package/dist/adapter/ember/ezsp/enums.d.ts +879 -0
  72. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -0
  73. package/dist/adapter/ember/ezsp/enums.js +948 -0
  74. package/dist/adapter/ember/ezsp/enums.js.map +1 -0
  75. package/dist/adapter/ember/ezsp/ezsp.d.ts +2664 -0
  76. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  77. package/dist/adapter/ember/ezsp/ezsp.js +6438 -0
  78. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -0
  79. package/dist/adapter/ember/types.d.ts +733 -0
  80. package/dist/adapter/ember/types.d.ts.map +1 -0
  81. package/dist/adapter/ember/types.js +3 -0
  82. package/dist/adapter/ember/types.js.map +1 -0
  83. package/dist/adapter/ember/uart/ash.d.ts +451 -0
  84. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  85. package/dist/adapter/ember/uart/ash.js +1584 -0
  86. package/dist/adapter/ember/uart/ash.js.map +1 -0
  87. package/dist/adapter/ember/uart/consts.d.ts +91 -0
  88. package/dist/adapter/ember/uart/consts.d.ts.map +1 -0
  89. package/dist/adapter/ember/uart/consts.js +100 -0
  90. package/dist/adapter/ember/uart/consts.js.map +1 -0
  91. package/dist/adapter/ember/uart/enums.d.ts +191 -0
  92. package/dist/adapter/ember/uart/enums.d.ts.map +1 -0
  93. package/dist/adapter/ember/uart/enums.js +197 -0
  94. package/dist/adapter/ember/uart/enums.js.map +1 -0
  95. package/dist/adapter/ember/uart/parser.d.ts +10 -0
  96. package/dist/adapter/ember/uart/parser.d.ts.map +1 -0
  97. package/dist/adapter/ember/uart/parser.js +41 -0
  98. package/dist/adapter/ember/uart/parser.js.map +1 -0
  99. package/dist/adapter/ember/uart/queues.d.ts +85 -0
  100. package/dist/adapter/ember/uart/queues.d.ts.map +1 -0
  101. package/dist/adapter/ember/uart/queues.js +212 -0
  102. package/dist/adapter/ember/uart/queues.js.map +1 -0
  103. package/dist/adapter/ember/uart/writer.d.ts +15 -0
  104. package/dist/adapter/ember/uart/writer.d.ts.map +1 -0
  105. package/dist/adapter/ember/uart/writer.js +48 -0
  106. package/dist/adapter/ember/uart/writer.js.map +1 -0
  107. package/dist/adapter/ember/utils/initters.d.ts +20 -0
  108. package/dist/adapter/ember/utils/initters.d.ts.map +1 -0
  109. package/dist/adapter/ember/utils/initters.js +58 -0
  110. package/dist/adapter/ember/utils/initters.js.map +1 -0
  111. package/dist/adapter/ember/utils/math.d.ts +51 -0
  112. package/dist/adapter/ember/utils/math.d.ts.map +1 -0
  113. package/dist/adapter/ember/utils/math.js +102 -0
  114. package/dist/adapter/ember/utils/math.js.map +1 -0
  115. package/dist/adapter/ember/zdo.d.ts +921 -0
  116. package/dist/adapter/ember/zdo.d.ts.map +1 -0
  117. package/dist/adapter/ember/zdo.js +723 -0
  118. package/dist/adapter/ember/zdo.js.map +1 -0
  119. package/dist/adapter/events.d.ts +47 -47
  120. package/dist/adapter/events.js +13 -14
  121. package/dist/adapter/events.js.map +1 -1
  122. package/dist/adapter/ezsp/adapter/backup.d.ts +9 -9
  123. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  124. package/dist/adapter/ezsp/adapter/backup.js +72 -53
  125. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  126. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +61 -59
  127. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  128. package/dist/adapter/ezsp/adapter/ezspAdapter.js +629 -603
  129. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  130. package/dist/adapter/ezsp/adapter/index.d.ts +2 -2
  131. package/dist/adapter/ezsp/adapter/index.js +10 -10
  132. package/dist/adapter/ezsp/driver/commands.d.ts +36 -36
  133. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  134. package/dist/adapter/ezsp/driver/commands.js +2388 -2359
  135. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  136. package/dist/adapter/ezsp/driver/consts.d.ts +10 -10
  137. package/dist/adapter/ezsp/driver/consts.js +13 -13
  138. package/dist/adapter/ezsp/driver/driver.d.ts +106 -103
  139. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/driver.js +731 -639
  141. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  142. package/dist/adapter/ezsp/driver/ezsp.d.ts +105 -96
  143. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  144. package/dist/adapter/ezsp/driver/ezsp.js +651 -586
  145. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  146. package/dist/adapter/ezsp/driver/frame.d.ts +40 -0
  147. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -0
  148. package/dist/adapter/ezsp/driver/frame.js +101 -0
  149. package/dist/adapter/ezsp/driver/frame.js.map +1 -0
  150. package/dist/adapter/ezsp/driver/index.d.ts +3 -3
  151. package/dist/adapter/ezsp/driver/index.js +8 -8
  152. package/dist/adapter/ezsp/driver/multicast.d.ts +12 -12
  153. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  154. package/dist/adapter/ezsp/driver/multicast.js +77 -74
  155. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  156. package/dist/adapter/ezsp/driver/parser.d.ts +11 -12
  157. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  158. package/dist/adapter/ezsp/driver/parser.js +104 -111
  159. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  160. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  161. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  162. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  163. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  164. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  165. package/dist/adapter/ezsp/driver/types/index.js +138 -133
  166. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  167. package/dist/adapter/ezsp/driver/types/named.d.ts +1287 -697
  168. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  169. package/dist/adapter/ezsp/driver/types/named.js +2329 -1726
  170. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  171. package/dist/adapter/ezsp/driver/types/struct.d.ts +270 -251
  172. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  173. package/dist/adapter/ezsp/driver/types/struct.js +803 -708
  174. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  175. package/dist/adapter/ezsp/driver/uart.d.ts +48 -44
  176. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  177. package/dist/adapter/ezsp/driver/uart.js +382 -368
  178. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  179. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  180. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  181. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  182. package/dist/adapter/ezsp/driver/utils/index.d.ts +18 -18
  183. package/dist/adapter/ezsp/driver/utils/index.js +72 -67
  184. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  185. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  186. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  187. package/dist/adapter/ezsp/driver/writer.js +85 -88
  188. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  189. package/dist/adapter/index.d.ts +4 -4
  190. package/dist/adapter/index.js +35 -35
  191. package/dist/adapter/serialPort.d.ts +10 -8
  192. package/dist/adapter/serialPort.d.ts.map +1 -1
  193. package/dist/adapter/serialPort.js +53 -22
  194. package/dist/adapter/serialPort.js.map +1 -1
  195. package/dist/adapter/serialPortUtils.d.ts +12 -12
  196. package/dist/adapter/serialPortUtils.js +18 -18
  197. package/dist/adapter/serialPortUtils.js.map +1 -1
  198. package/dist/adapter/socketPortUtils.d.ts +10 -10
  199. package/dist/adapter/socketPortUtils.js +16 -16
  200. package/dist/adapter/tstype.d.ts +85 -85
  201. package/dist/adapter/tstype.d.ts.map +1 -1
  202. package/dist/adapter/tstype.js +2 -2
  203. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  204. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  205. package/dist/adapter/z-stack/adapter/adapter-backup.js +462 -460
  206. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  207. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  208. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  209. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  210. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  211. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  212. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  213. package/dist/adapter/z-stack/adapter/index.js +8 -8
  214. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  215. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  216. package/dist/adapter/z-stack/adapter/manager.js +482 -476
  217. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  218. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  219. package/dist/adapter/z-stack/adapter/tstype.js +9 -10
  220. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  221. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  222. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  223. package/dist/adapter/z-stack/adapter/zStackAdapter.js +891 -868
  224. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  225. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  226. package/dist/adapter/z-stack/constants/af.js +27 -27
  227. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  228. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  229. package/dist/adapter/z-stack/constants/common.js +292 -289
  230. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  231. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  232. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  233. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  234. package/dist/adapter/z-stack/constants/index.js +47 -47
  235. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  236. package/dist/adapter/z-stack/constants/mac.js +129 -129
  237. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  238. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  239. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  240. package/dist/adapter/z-stack/constants/sys.js +73 -73
  241. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  242. package/dist/adapter/z-stack/constants/util.js +83 -83
  243. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  244. package/dist/adapter/z-stack/constants/utils.js +14 -14
  245. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  246. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  247. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  248. package/dist/adapter/z-stack/models/index.js +17 -17
  249. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  250. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  251. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  252. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  253. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  254. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  255. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  256. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  257. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  258. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  259. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  260. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  261. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  262. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  263. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  264. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  265. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  266. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  267. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  268. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  269. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  270. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  271. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  272. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  273. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  274. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  275. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  276. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  277. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  279. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  280. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  281. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  283. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  284. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  285. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  286. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  287. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  288. package/dist/adapter/z-stack/structs/index.js +20 -20
  289. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  290. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  291. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  292. package/dist/adapter/z-stack/structs/struct.js +296 -295
  293. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  294. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  295. package/dist/adapter/z-stack/structs/table.js +163 -161
  296. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  297. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  298. package/dist/adapter/z-stack/unpi/constants.js +39 -41
  299. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  300. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  301. package/dist/adapter/z-stack/unpi/frame.js +54 -48
  302. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  303. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  304. package/dist/adapter/z-stack/unpi/index.js +37 -37
  305. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  306. package/dist/adapter/z-stack/unpi/parser.js +75 -74
  307. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  308. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  309. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  310. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  311. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  312. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  313. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  314. package/dist/adapter/z-stack/utils/index.js +18 -18
  315. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  316. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  317. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  318. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  319. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  320. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  321. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  322. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  323. package/dist/adapter/z-stack/znp/index.js +10 -10
  324. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  325. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  326. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  327. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  328. package/dist/adapter/z-stack/znp/znp.d.ts +44 -43
  329. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  330. package/dist/adapter/z-stack/znp/znp.js +326 -325
  331. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  332. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  333. package/dist/adapter/z-stack/znp/zpiObject.js +102 -96
  334. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  335. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  336. package/dist/adapter/zigate/adapter/index.js +10 -10
  337. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -69
  338. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  339. package/dist/adapter/zigate/adapter/zigateAdapter.js +689 -678
  340. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  341. package/dist/adapter/zigate/debug.d.ts +7 -7
  342. package/dist/adapter/zigate/debug.d.ts.map +1 -1
  343. package/dist/adapter/zigate/debug.js +19 -22
  344. package/dist/adapter/zigate/debug.js.map +1 -1
  345. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  346. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  347. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  348. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  349. package/dist/adapter/zigate/driver/commandType.js +385 -385
  350. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  351. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  352. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  353. package/dist/adapter/zigate/driver/constants.js +371 -371
  354. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  355. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  356. package/dist/adapter/zigate/driver/frame.js +172 -172
  357. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  358. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  359. package/dist/adapter/zigate/driver/messageType.js +278 -278
  360. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  361. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  362. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  363. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  364. package/dist/adapter/zigate/driver/ziGateObject.js +110 -106
  365. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  366. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  367. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  368. package/dist/adapter/zigate/driver/zigate.js +296 -303
  369. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  370. package/dist/buffalo/buffalo.d.ts +50 -50
  371. package/dist/buffalo/buffalo.js +324 -322
  372. package/dist/buffalo/buffalo.js.map +1 -1
  373. package/dist/buffalo/index.d.ts +3 -3
  374. package/dist/buffalo/index.js +33 -33
  375. package/dist/buffalo/tstype.d.ts +8 -8
  376. package/dist/buffalo/tstype.js +2 -2
  377. package/dist/controller/controller.d.ts +113 -113
  378. package/dist/controller/controller.d.ts.map +1 -1
  379. package/dist/controller/controller.js +641 -619
  380. package/dist/controller/controller.js.map +1 -1
  381. package/dist/controller/database.d.ts +18 -18
  382. package/dist/controller/database.js +96 -93
  383. package/dist/controller/database.js.map +1 -1
  384. package/dist/controller/events.d.ts +58 -58
  385. package/dist/controller/events.d.ts.map +1 -1
  386. package/dist/controller/events.js +108 -101
  387. package/dist/controller/events.js.map +1 -1
  388. package/dist/controller/greenPower.d.ts +12 -12
  389. package/dist/controller/greenPower.js +221 -220
  390. package/dist/controller/greenPower.js.map +1 -1
  391. package/dist/controller/helpers/index.d.ts +2 -2
  392. package/dist/controller/helpers/index.js +28 -28
  393. package/dist/controller/helpers/request.d.ts +21 -22
  394. package/dist/controller/helpers/request.d.ts.map +1 -1
  395. package/dist/controller/helpers/request.js +77 -71
  396. package/dist/controller/helpers/request.js.map +1 -1
  397. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  398. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  399. package/dist/controller/helpers/requestQueue.js +116 -0
  400. package/dist/controller/helpers/requestQueue.js.map +1 -0
  401. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  402. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  403. package/dist/controller/helpers/zclFrameConverter.js +50 -31
  404. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  405. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  406. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  407. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  408. package/dist/controller/index.d.ts +5 -5
  409. package/dist/controller/index.js +8 -8
  410. package/dist/controller/logger-stub.d.ts +6 -6
  411. package/dist/controller/logger-stub.js +2 -2
  412. package/dist/controller/model/device.d.ts +132 -133
  413. package/dist/controller/model/device.d.ts.map +1 -1
  414. package/dist/controller/model/device.js +724 -717
  415. package/dist/controller/model/device.js.map +1 -1
  416. package/dist/controller/model/endpoint.d.ts +128 -131
  417. package/dist/controller/model/endpoint.d.ts.map +1 -1
  418. package/dist/controller/model/endpoint.js +755 -816
  419. package/dist/controller/model/endpoint.js.map +1 -1
  420. package/dist/controller/model/entity.d.ts +14 -14
  421. package/dist/controller/model/entity.js +26 -26
  422. package/dist/controller/model/entity.js.map +1 -1
  423. package/dist/controller/model/group.d.ts +38 -38
  424. package/dist/controller/model/group.d.ts.map +1 -1
  425. package/dist/controller/model/group.js +225 -221
  426. package/dist/controller/model/group.js.map +1 -1
  427. package/dist/controller/model/index.d.ts +5 -5
  428. package/dist/controller/model/index.js +14 -14
  429. package/dist/controller/touchlink.d.ts +19 -19
  430. package/dist/controller/touchlink.js +159 -157
  431. package/dist/controller/touchlink.js.map +1 -1
  432. package/dist/controller/tstype.d.ts +20 -21
  433. package/dist/controller/tstype.d.ts.map +1 -1
  434. package/dist/controller/tstype.js +8 -9
  435. package/dist/controller/tstype.js.map +1 -1
  436. package/dist/index.d.ts +3 -3
  437. package/dist/index.js +33 -33
  438. package/dist/models/backup-storage-legacy.d.ts +26 -26
  439. package/dist/models/backup-storage-legacy.js +2 -2
  440. package/dist/models/backup-storage-unified.d.ts +49 -49
  441. package/dist/models/backup-storage-unified.js +2 -2
  442. package/dist/models/backup.d.ts +37 -37
  443. package/dist/models/backup.js +2 -2
  444. package/dist/models/index.d.ts +4 -4
  445. package/dist/models/index.js +20 -20
  446. package/dist/models/network-options.d.ts +12 -12
  447. package/dist/models/network-options.js +2 -2
  448. package/dist/utils/assertString.d.ts +2 -2
  449. package/dist/utils/assertString.js +8 -8
  450. package/dist/utils/assertString.js.map +1 -1
  451. package/dist/utils/backup.d.ts +20 -20
  452. package/dist/utils/backup.d.ts.map +1 -1
  453. package/dist/utils/backup.js +189 -187
  454. package/dist/utils/backup.js.map +1 -1
  455. package/dist/utils/equalsPartial.d.ts +2 -2
  456. package/dist/utils/equalsPartial.js +11 -11
  457. package/dist/utils/index.d.ts +9 -9
  458. package/dist/utils/index.js +45 -45
  459. package/dist/utils/isNumberArray.d.ts +2 -2
  460. package/dist/utils/isNumberArray.js +6 -6
  461. package/dist/utils/queue.d.ts +11 -11
  462. package/dist/utils/queue.d.ts.map +1 -1
  463. package/dist/utils/queue.js +61 -50
  464. package/dist/utils/queue.js.map +1 -1
  465. package/dist/utils/realpathSync.d.ts +2 -2
  466. package/dist/utils/realpathSync.js +12 -12
  467. package/dist/utils/wait.d.ts +2 -2
  468. package/dist/utils/wait.js +8 -8
  469. package/dist/utils/waitress.d.ts +21 -21
  470. package/dist/utils/waitress.d.ts.map +1 -1
  471. package/dist/utils/waitress.js +68 -61
  472. package/dist/utils/waitress.js.map +1 -1
  473. package/dist/zcl/buffaloZcl.d.ts +41 -41
  474. package/dist/zcl/buffaloZcl.d.ts.map +1 -1
  475. package/dist/zcl/buffaloZcl.js +594 -591
  476. package/dist/zcl/buffaloZcl.js.map +1 -1
  477. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  478. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  479. package/dist/zcl/definition/cluster.d.ts +29 -29
  480. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  481. package/dist/zcl/definition/cluster.js +5520 -5335
  482. package/dist/zcl/definition/cluster.js.map +1 -1
  483. package/dist/zcl/definition/dataType.d.ts +59 -59
  484. package/dist/zcl/definition/dataType.js +64 -64
  485. package/dist/zcl/definition/direction.d.ts +5 -5
  486. package/dist/zcl/definition/direction.js +8 -8
  487. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  488. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  489. package/dist/zcl/definition/foundation.d.ts +11 -11
  490. package/dist/zcl/definition/foundation.js +167 -167
  491. package/dist/zcl/definition/frameControl.d.ts +10 -10
  492. package/dist/zcl/definition/frameControl.js +2 -2
  493. package/dist/zcl/definition/frameType.d.ts +5 -5
  494. package/dist/zcl/definition/frameType.js +8 -8
  495. package/dist/zcl/definition/index.d.ts +13 -13
  496. package/dist/zcl/definition/index.js +51 -51
  497. package/dist/zcl/definition/manufacturerCode.d.ts +1077 -1074
  498. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -1
  499. package/dist/zcl/definition/manufacturerCode.js +1082 -1079
  500. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  501. package/dist/zcl/definition/powerSource.d.ts +4 -4
  502. package/dist/zcl/definition/powerSource.js +12 -12
  503. package/dist/zcl/definition/status.d.ts +38 -38
  504. package/dist/zcl/definition/status.js +41 -41
  505. package/dist/zcl/definition/tstype.d.ts +16 -16
  506. package/dist/zcl/definition/tstype.js +2 -2
  507. package/dist/zcl/index.d.ts +16 -15
  508. package/dist/zcl/index.d.ts.map +1 -1
  509. package/dist/zcl/index.js +55 -55
  510. package/dist/zcl/index.js.map +1 -1
  511. package/dist/zcl/tstype.d.ts +56 -56
  512. package/dist/zcl/tstype.js +9 -10
  513. package/dist/zcl/tstype.js.map +1 -1
  514. package/dist/zcl/utils.d.ts +6 -6
  515. package/dist/zcl/utils.js +164 -165
  516. package/dist/zcl/utils.js.map +1 -1
  517. package/dist/zcl/zclFrame.d.ts +40 -45
  518. package/dist/zcl/zclFrame.d.ts.map +1 -1
  519. package/dist/zcl/zclFrame.js +351 -347
  520. package/dist/zcl/zclFrame.js.map +1 -1
  521. package/dist/zcl/zclHeader.d.ts +9 -0
  522. package/dist/zcl/zclHeader.d.ts.map +1 -0
  523. package/dist/zcl/zclHeader.js +3 -0
  524. package/dist/zcl/zclHeader.js.map +1 -0
  525. package/dist/zcl/zclStatusError.d.ts +5 -5
  526. package/dist/zcl/zclStatusError.js +14 -13
  527. package/dist/zcl/zclStatusError.js.map +1 -1
  528. package/package.json +11 -11
  529. package/release-please-config.json +1 -5
  530. package/tsconfig.json +4 -2
@@ -1,1727 +1,2330 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.EzspSourceRouteOverheadInformation = exports.EzspZllNetworkOperation = exports.EmberZllKeyIndex = exports.EmberZllState = exports.EmberConcentratorType = exports.EmberZdoConfigurationFlags = exports.EmberJoinMethod = exports.EmberCounterType = exports.EmberKeyStatus = exports.EmberDeviceUpdate = exports.EmberKeyStructBitmask = exports.EmberKeyType = exports.EmberCurrentSecurityBitmask = exports.EmberInitialSecurityBitmask = exports.EmberJoinDecision = exports.EzspNetworkScanType = exports.EmberApsOption = exports.EmberBindingType = exports.EmberMacPassthroughType = exports.EmberOutgoingMessageType = exports.EmberIncomingMessageType = exports.EmberNetworkStatus = exports.EmberNodeType = exports.EmberEventUnits = exports.EmberStatus = exports.EzspStatus = exports.EzspMfgTokenId = exports.EzspDecisionId = exports.EzspPolicyId = exports.EmberConfigTxPowerMode = exports.EzspEndpointFlags = exports.EzspExtendedValueId = exports.EzspValueId = exports.EzspConfigId = exports.Bool = exports.SecureEzspSessionId = exports.SecureEzspRandomNumber = exports.EmberGpKeyType = exports.EmberGpSecurityLevel = exports.SecureEzspSecurityLevel = exports.SecureEzspSecurityType = exports.EmberLibraryStatus = exports.EmberEUI64 = exports.EmberMulticastId = exports.EmberPanId = exports.EmberNodeId = exports.EmberRf4ceApplicationCapabilities = exports.EmberRf4ceNodeCapabilities = exports.EmberRf4ceTxOption = exports.NcpResetCode = void 0;
27
- exports.EzspDecisionBitmask = exports.EmberZDOCmd = exports.EmberNetworkInitBitmask = void 0;
28
- /* istanbul ignore file */
29
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
30
- const basic = __importStar(require("./basic"));
31
- const basic_1 = require("./basic");
32
- console.assert(basic.uint8_t);
33
- class NcpResetCode extends basic.uint8_t {
34
- }
35
- exports.NcpResetCode = NcpResetCode;
36
- //Reset and Error Codes for NCP
37
- NcpResetCode.RESET_UNKNOWN_REASON = 0x00;
38
- NcpResetCode.RESET_EXTERNAL = 0x01;
39
- NcpResetCode.RESET_POWER_ON = 0x02;
40
- NcpResetCode.RESET_WATCHDOG = 0x03;
41
- NcpResetCode.RESET_ASSERT = 0x06;
42
- NcpResetCode.RESET_BOOTLOADER = 0x09;
43
- NcpResetCode.RESET_SOFTWARE = 0x0B;
44
- NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT = 0x51;
45
- NcpResetCode.ERROR_UNKNOWN_EM3XX_ERROR = 0x80;
46
- class EmberRf4ceTxOption extends basic.uint8_t {
47
- }
48
- exports.EmberRf4ceTxOption = EmberRf4ceTxOption;
49
- class EmberRf4ceNodeCapabilities extends basic.uint8_t {
50
- }
51
- exports.EmberRf4ceNodeCapabilities = EmberRf4ceNodeCapabilities;
52
- class EmberRf4ceApplicationCapabilities extends basic.uint8_t {
53
- }
54
- exports.EmberRf4ceApplicationCapabilities = EmberRf4ceApplicationCapabilities;
55
- class EmberNodeId extends basic.uint16_t {
56
- }
57
- exports.EmberNodeId = EmberNodeId;
58
- class EmberPanId extends basic.uint16_t {
59
- }
60
- exports.EmberPanId = EmberPanId;
61
- class EmberMulticastId extends basic.uint16_t {
62
- }
63
- exports.EmberMulticastId = EmberMulticastId;
64
- class EmberEUI64 extends (0, basic_1.fixed_list)(8, basic.uint8_t) {
65
- constructor(_value) {
66
- super();
67
- this._value = _value;
68
- if (typeof (_value) === 'string') {
69
- if (_value.startsWith('0x'))
70
- _value = _value.slice(2);
71
- if (_value.length !== 16) {
72
- throw new Error('Incorrect value passed');
73
- }
74
- this._value = Buffer.from(_value, 'hex');
75
- }
76
- else {
77
- if (_value.length !== 8) {
78
- throw new Error('Incorrect value passed');
79
- }
80
- this._value = _value;
81
- }
82
- }
83
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
84
- static deserialize(cls, data) {
85
- const arr = super.deserialize(cls, data);
86
- const r = arr[0];
87
- data = arr[1];
88
- return [Buffer.from(r).reverse(), data];
89
- }
90
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
91
- static serialize(cls, value) {
92
- if (value instanceof EmberEUI64) {
93
- value = value.value;
94
- }
95
- console.assert(cls._length === value.length);
96
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
97
- const val = Buffer.from(value).reverse().map(i => basic.uint8_t.serialize(basic.uint8_t, i)[0]);
98
- return Buffer.from(val);
99
- }
100
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
101
- get value() {
102
- return this._value;
103
- }
104
- toString() {
105
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
106
- return Buffer.from(this._value).toString('hex');
107
- }
108
- }
109
- exports.EmberEUI64 = EmberEUI64;
110
- class EmberLibraryStatus extends basic.uint8_t {
111
- }
112
- exports.EmberLibraryStatus = EmberLibraryStatus;
113
- class SecureEzspSecurityType extends basic.uint32_t {
114
- }
115
- exports.SecureEzspSecurityType = SecureEzspSecurityType;
116
- class SecureEzspSecurityLevel extends basic.uint8_t {
117
- }
118
- exports.SecureEzspSecurityLevel = SecureEzspSecurityLevel;
119
- class EmberGpSecurityLevel extends basic.uint8_t {
120
- }
121
- exports.EmberGpSecurityLevel = EmberGpSecurityLevel;
122
- class EmberGpKeyType extends basic.uint8_t {
123
- }
124
- exports.EmberGpKeyType = EmberGpKeyType;
125
- class SecureEzspRandomNumber extends basic.uint64_t {
126
- }
127
- exports.SecureEzspRandomNumber = SecureEzspRandomNumber;
128
- class SecureEzspSessionId extends basic.uint64_t {
129
- }
130
- exports.SecureEzspSessionId = SecureEzspSessionId;
131
- class Bool extends basic.uint8_t {
132
- }
133
- exports.Bool = Bool;
134
- Bool.false = 0x00; // An alias for zero, used for clarity.
135
- Bool.true = 0x01; // An alias for one, used for clarity.
136
- class EzspConfigId extends basic.uint8_t {
137
- }
138
- exports.EzspConfigId = EzspConfigId;
139
- // Identifies a configuration value.
140
- // The number of packet buffers available to the stack. When set to the
141
- // special value 0xFF, the NCP will allocate all remaining configuration RAM
142
- // towards packet buffers, such that the resulting count will be the largest
143
- // whole number of packet buffers that can fit into the available memory.
144
- EzspConfigId.CONFIG_PACKET_BUFFER_COUNT = 0x01;
145
- // The maximum number of router neighbors the stack can keep track of. A
146
- // neighbor is a node within radio range.
147
- EzspConfigId.CONFIG_NEIGHBOR_TABLE_SIZE = 0x02;
148
- // The maximum number of APS retried messages the stack can be transmitting
149
- // at any time.
150
- EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT = 0x03;
151
- // The maximum number of non-volatile bindings supported by the stack.
152
- EzspConfigId.CONFIG_BINDING_TABLE_SIZE = 0x04;
153
- // The maximum number of EUI64 to network address associations that the
154
- // stack can maintain for the application. (Note, the total number of such
155
- // address associations maintained by the NCP is the sum of the value of
156
- // this setting and the value of ::CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE).
157
- EzspConfigId.CONFIG_ADDRESS_TABLE_SIZE = 0x05;
158
- // The maximum number of multicast groups that the device may be a member
159
- // of.
160
- EzspConfigId.CONFIG_MULTICAST_TABLE_SIZE = 0x06;
161
- // The maximum number of destinations to which a node can route messages.
162
- // This includes both messages originating at this node and those relayed
163
- // for others.
164
- EzspConfigId.CONFIG_ROUTE_TABLE_SIZE = 0x07;
165
- // The number of simultaneous route discoveries that a node will support.
166
- EzspConfigId.CONFIG_DISCOVERY_TABLE_SIZE = 0x08;
167
- // The size of the alarm broadcast buffer.
168
- EzspConfigId.CONFIG_BROADCAST_ALARM_DATA_SIZE = 0x09;
169
- // The size of the unicast alarm buffers allocated for end device children.
170
- EzspConfigId.CONFIG_UNICAST_ALARM_DATA_SIZE = 0x0A;
171
- // Specifies the stack profile.
172
- EzspConfigId.CONFIG_STACK_PROFILE = 0x0C;
173
- // The security level used for security at the MAC and network layers. The
174
- // supported values are 0 (no security) and 5 (payload is encrypted and a
175
- // four-byte MIC is used for authentication).
176
- EzspConfigId.CONFIG_SECURITY_LEVEL = 0x0D;
177
- // The maximum number of hops for a message.
178
- EzspConfigId.CONFIG_MAX_HOPS = 0x10;
179
- // The maximum number of end device children that a router will support.
180
- EzspConfigId.CONFIG_MAX_END_DEVICE_CHILDREN = 0x11;
181
- // The maximum amount of time that the MAC will hold a message for indirect
182
- // transmission to a child.
183
- EzspConfigId.CONFIG_INDIRECT_TRANSMISSION_TIMEOUT = 0x12;
184
- // The maximum amount of time that an end device child can wait between
185
- // polls. If no poll is heard within this timeout, then the parent removes
186
- // the end device from its tables.
187
- EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT = 0x13;
188
- // The maximum amount of time that a mobile node can wait between polls. If
189
- // no poll is heard within this timeout, then the parent removes the mobile
190
- // node from its tables.
191
- EzspConfigId.CONFIG_MOBILE_NODE_POLL_TIMEOUT = 0x14;
192
- // The number of child table entries reserved for use only by mobile nodes.
193
- EzspConfigId.CONFIG_RESERVED_MOBILE_CHILD_ENTRIES = 0x15;
194
- // Enables boost power mode and/or the alternate transmitter output.
195
- EzspConfigId.CONFIG_TX_POWER_MODE = 0x17;
196
- // 0: Allow this node to relay messages. 1: Prevent this node from relaying
197
- // messages.
198
- EzspConfigId.CONFIG_DISABLE_RELAY = 0x18;
199
- // The maximum number of EUI64 to network address associations that the
200
- // Trust Center can maintain. These address cache entries are reserved for
201
- // and reused by the Trust Center when processing device join/rejoin
202
- // authentications. This cache size limits the number of overlapping joins
203
- // the Trust Center can process within a narrow time window (e.g. two
204
- // seconds), and thus should be set to the maximum number of near
205
- // simultaneous joins the Trust Center is expected to accommodate. (Note,
206
- // the total number of such address associations maintained by the NCP is
207
- // the sum of the value of this setting and the value of
208
- // ::CONFIG_ADDRESS_TABLE_SIZE.)
209
- EzspConfigId.CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE = 0x19;
210
- // The size of the source route table.
211
- EzspConfigId.CONFIG_SOURCE_ROUTE_TABLE_SIZE = 0x1A;
212
- // The units used for timing out end devices on their parents.
213
- EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT = 0x1B;
214
- // The number of blocks of a fragmented message that can be sent in a single
215
- // window.
216
- EzspConfigId.CONFIG_FRAGMENT_WINDOW_SIZE = 0x1C;
217
- // The time the stack will wait (in milliseconds) between sending blocks of
218
- // a fragmented message.
219
- EzspConfigId.CONFIG_FRAGMENT_DELAY_MS = 0x1D;
220
- // The size of the Key Table used for storing individual link keys (if the
221
- // device is a Trust Center) or Application Link Keys (if the device is a
222
- // normal node).
223
- EzspConfigId.CONFIG_KEY_TABLE_SIZE = 0x1E;
224
- // The APS ACK timeout value. The stack waits this amount of time between
225
- // resends of APS retried messages.
226
- EzspConfigId.CONFIG_APS_ACK_TIMEOUT = 0x1F;
227
- // The duration of an active scan, in the units used by the 15.4 scan
228
- // parameter (((1 << duration) + 1) * 15ms). This also controls the jitter
229
- // used when responding to a beacon request.
230
- EzspConfigId.CONFIG_ACTIVE_SCAN_DURATION = 0x20;
231
- // The time the coordinator will wait (in seconds) for a second end device
232
- // bind request to arrive.
233
- EzspConfigId.CONFIG_END_DEVICE_BIND_TIMEOUT = 0x21;
234
- // The number of PAN id conflict reports that must be received by the
235
- // network manager within one minute to trigger a PAN id change.
236
- EzspConfigId.CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD = 0x22;
237
- // The timeout value in minutes for how long the Trust Center or a normal
238
- // node waits for the ZigBee Request Key to complete. On the Trust Center
239
- // this controls whether or not the device buffers the request, waiting for
240
- // a matching pair of ZigBee Request Key. If the value is non-zero, the
241
- // Trust Center buffers and waits for that amount of time. If the value is
242
- // zero, the Trust Center does not buffer the request and immediately
243
- // responds to the request. Zero is the most compliant behavior.
244
- EzspConfigId.CONFIG_REQUEST_KEY_TIMEOUT = 0x24;
245
- // This value indicates the size of the runtime modifiable certificate
246
- // table. Normally certificates are stored in MFG tokens but this table can
247
- // be used to field upgrade devices with new Smart Energy certificates.
248
- // This value cannot be set, it can only be queried.
249
- EzspConfigId.CONFIG_CERTIFICATE_TABLE_SIZE = 0x29;
250
- // This is a bitmask that controls which incoming ZDO request messages are
251
- // passed to the application. The bits are defined in the
252
- // EmberZdoConfigurationFlags enumeration. To see if the application is
253
- // required to send a ZDO response in reply to an incoming message, the
254
- // application must check the APS options bitfield within the
255
- // incomingMessageHandler callback to see if the
256
- // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
257
- EzspConfigId.CONFIG_APPLICATION_ZDO_FLAGS = 0x2A;
258
- // The maximum number of broadcasts during a single broadcast timeout
259
- // period.
260
- EzspConfigId.CONFIG_BROADCAST_TABLE_SIZE = 0x2B;
261
- // The size of the MAC filter list table.
262
- EzspConfigId.CONFIG_MAC_FILTER_TABLE_SIZE = 0x2C;
263
- // The number of supported networks.
264
- EzspConfigId.CONFIG_SUPPORTED_NETWORKS = 0x2D;
265
- // Whether multicasts are sent to the RxOnWhenIdle=true address (0xFFFD) or
266
- // the sleepy broadcast address (0xFFFF). The RxOnWhenIdle=true address is
267
- // the ZigBee compliant destination for multicasts.
268
- EzspConfigId.CONFIG_SEND_MULTICASTS_TO_SLEEPY_ADDRESS = 0x2E;
269
- // ZLL group address initial configuration.
270
- EzspConfigId.CONFIG_ZLL_GROUP_ADDRESSES = 0x2F;
271
- // ZLL rssi threshold initial configuration.
272
- EzspConfigId.CONFIG_ZLL_RSSI_THRESHOLD = 0x30;
273
- // The maximum number of pairings supported by the stack. Controllers
274
- // must support at least one pairing table entry while targets must
275
- // support at least five.
276
- EzspConfigId.CONFIG_RF4CE_PAIRING_TABLE_SIZE = 0x31;
277
- // The maximum number of outgoing RF4CE packets supported by the stack.
278
- EzspConfigId.CONFIG_RF4CE_PENDING_OUTGOING_PACKET_TABLE_SIZE = 0x32;
279
- // Toggles the mtorr flow control in the stack.
280
- EzspConfigId.CONFIG_MTORR_FLOW_CONTROL = 0x33;
281
- // Setting the retry queue size.
282
- EzspConfigId.CONFIG_RETRY_QUEUE_SIZE = 0x34;
283
- // Setting the new broadcast entry threshold.
284
- EzspConfigId.CONFIG_NEW_BROADCAST_ENTRY_THRESHOLD = 0x35;
285
- // The length of time, in seconds, that a trust center will store a
286
- // transient link key that a device can use to join its network. A transient
287
- // key is added with a call to emberAddTransientLinkKey. After the transient
288
- // key is added, it will be removed once this amount of time has passed. A
289
- // joining device will not be able to use that key to join until it is added
290
- // again on the trust center. The default value is 300 seconds, i.e., 5
291
- // minutes.
292
- EzspConfigId.CONFIG_TRANSIENT_KEY_TIMEOUT_S = 0x36;
293
- // The number of passive acknowledgements to record from neighbors before we stop
294
- // re-transmitting broadcasts
295
- EzspConfigId.CONFIG_BROADCAST_MIN_ACKS_NEEDED = 0x37;
296
- // The length of time, in seconds, that a trust center will allow a Trust Center
297
- // (insecure) rejoin for a device that is using the well-known link key. This timeout
298
- // takes effect once rejoins using the well-known key has been allowed. This command
299
- // updates the emAllowTcRejoinsUsingWellKnownKeyTimeoutSec value.
300
- EzspConfigId.CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S = 0x38;
301
- class EzspValueId extends basic.uint8_t {
302
- }
303
- exports.EzspValueId = EzspValueId;
304
- // Identifies a value.
305
- // The contents of the node data stack token.
306
- EzspValueId.VALUE_TOKEN_STACK_NODE_DATA = 0x00;
307
- // The types of MAC passthrough messages that the host wishes to receive.
308
- EzspValueId.VALUE_MAC_PASSTHROUGH_FLAGS = 0x01;
309
- // The source address used to filter legacy EmberNet messages when the
310
- // MAC_PASSTHROUGH_EMBERNET_SOURCE flag is set in
311
- // VALUE_MAC_PASSTHROUGH_FLAGS.
312
- EzspValueId.VALUE_EMBERNET_PASSTHROUGH_SOURCE_ADDRESS = 0x02;
313
- // The number of available message buffers.
314
- EzspValueId.VALUE_FREE_BUFFERS = 0x03;
315
- // Selects sending synchronous callbacks in ezsp-uart.
316
- EzspValueId.VALUE_UART_SYNCH_CALLBACKS = 0x04;
317
- // The maximum incoming transfer size for the local node.
318
- EzspValueId.VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE = 0x05;
319
- // The maximum outgoing transfer size for the local node.
320
- EzspValueId.VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE = 0x06;
321
- // A boolean indicating whether stack tokens are written to persistent
322
- // storage as they change.
323
- EzspValueId.VALUE_STACK_TOKEN_WRITING = 0x07;
324
- // A read-only value indicating whether the stack is currently performing a
325
- // rejoin.
326
- EzspValueId.VALUE_STACK_IS_PERFORMING_REJOIN = 0x08;
327
- // A list of EmberMacFilterMatchData values.
328
- EzspValueId.VALUE_MAC_FILTER_LIST = 0x09;
329
- // The Ember Extended Security Bitmask.
330
- EzspValueId.VALUE_EXTENDED_SECURITY_BITMASK = 0x0A;
331
- // The node short ID.
332
- EzspValueId.VALUE_NODE_SHORT_ID = 0x0B;
333
- // The descriptor capability of the local node.
334
- EzspValueId.VALUE_DESCRIPTOR_CAPABILITY = 0x0C;
335
- // The stack device request sequence number of the local node.
336
- EzspValueId.VALUE_STACK_DEVICE_REQUEST_SEQUENCE_NUMBER = 0x0D;
337
- // Enable or disable radio hold-off.
338
- EzspValueId.VALUE_RADIO_HOLD_OFF = 0x0E;
339
- // The flags field associated with the endpoint data.
340
- EzspValueId.VALUE_ENDPOINT_FLAGS = 0x0F;
341
- // Enable/disable the Mfg security config key settings.
342
- EzspValueId.VALUE_MFG_SECURITY_CONFIG = 0x10;
343
- // Retrieves the version information from the stack on the NCP.
344
- EzspValueId.VALUE_VERSION_INFO = 0x11;
345
- // This will get/set the rejoin reason noted by the host for a subsequent
346
- // call to emberFindAndRejoinNetwork(). After a call to
347
- // emberFindAndRejoinNetwork() the host's rejoin reason will be set to
348
- // REJOIN_REASON_NONE. The NCP will store the rejoin reason used by the
349
- // call to emberFindAndRejoinNetwork()
350
- EzspValueId.VALUE_NEXT_HOST_REJOIN_REASON = 0x12;
351
- // This is the reason that the last rejoin took place. This value may only
352
- // be retrieved, not set. The rejoin may have been initiated by the stack
353
- // (NCP) or the application (host). If a host initiated a rejoin the reason
354
- // will be set by default to REJOIN_DUE_TO_APP_EVENT_1. If the application
355
- // wishes to denote its own rejoin reasons it can do so by calling
356
- // ezspSetValue(VALUE_HOST_REJOIN_REASON, REJOIN_DUE_TO_APP_EVENT_X). X is a
357
- // number corresponding to one of the app events defined. If the NCP
358
- // initiated a rejoin it will record this value internally for retrieval by
359
- // ezspGetValue(VALUE_REAL_REJOIN_REASON).
360
- EzspValueId.VALUE_LAST_REJOIN_REASON = 0x13;
361
- // The next ZigBee sequence number.
362
- EzspValueId.VALUE_NEXT_ZIGBEE_SEQUENCE_NUMBER = 0x14;
363
- // CCA energy detect threshold for radio.
364
- EzspValueId.VALUE_CCA_THRESHOLD = 0x15;
365
- // The threshold value for a counter
366
- EzspValueId.VALUE_SET_COUNTER_THRESHOLD = 0x17;
367
- // Resets all counters thresholds to 0xFF
368
- EzspValueId.VALUE_RESET_COUNTER_THRESHOLDS = 0x18;
369
- // Clears all the counters
370
- EzspValueId.VALUE_CLEAR_COUNTERS = 0x19;
371
- // The device RF4CE base channel
372
- EzspValueId.VALUE_RF4CE_BASE_CHANNEL = 0x1A;
373
- // The RF4CE device types supported by the node
374
- EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST = 0x1B;
375
- // The RF4CE profiles supported by the node
376
- EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST = 0x1C;
377
- // Setting this byte enables R21 behavior on the NCP.
378
- EzspValueId.VALUE_ENABLE_R21_BEHAVIOR = 0x29;
379
- // Configure the antenna mode(0-primary,1-secondary,2- toggle on tx ack
380
- // fail).
381
- EzspValueId.VALUE_ANTENNA_MODE = 0x30;
382
- // The GDP binding recipient parameters
383
- EzspValueId.VALUE_RF4CE_GDP_BINDING_RECIPIENT_PARAMETERS = 0x1D;
384
- // The GDP binding push button stimulus received pending flag
385
- EzspValueId.VALUE_RF4CE_GDP_PUSH_BUTTON_STIMULUS_RECEIVED_PENDING_FLAG = 0x1E;
386
- // The GDP originator proxy flag in the advanced binding options
387
- EzspValueId.VALUE_RF4CE_GDP_BINDING_PROXY_FLAG = 0x1F;
388
- // The GDP application specific user s join unti_VALUE_RF4CE_MSO_USER_STRING
389
- // 0x21 The MSO user string
390
- EzspValueId.VALUE_RF4CE_GDP_APPLICATION_SPECIFIC_USER_STRING = 0x20;
391
- // The MSO user string
392
- EzspValueId.VALUE_RF4CE_MSO_USER_STRING = 0x21;
393
- // The MSO binding recipient parameters
394
- EzspValueId.VALUE_RF4CE_MSO_BINDING_RECIPIENT_PARAMETERS = 0x22;
395
- // The NWK layer security frame counter value
396
- EzspValueId.VALUE_NWK_FRAME_COUNTER = 0x23;
397
- // The APS layer security frame counter value
398
- EzspValueId.VALUE_APS_FRAME_COUNTER = 0x24;
399
- // Sets the device type to use on the next rejoin using device type
400
- EzspValueId.VALUE_RETRY_DEVICE_TYPE = 0x25;
401
- // The device RF4CE base channel
402
- EzspValueId.VALUE_RF4CE_BASE_CHANNEL2 = 0x26;
403
- // The RF4CE device types supported by the node
404
- EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST2 = 0x27;
405
- // The RF4CE profiles supported by the node
406
- EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST2 = 0x28;
407
- // Enable or disable packet traffic arbitration.
408
- EzspValueId.VALUE_ENABLE_PTA = 0x31;
409
- // Set packet traffic arbitration configuration options.
410
- EzspValueId.VALUE_PTA_OPTIONS = 0x32;
411
- // Configure manufacturing library options(0-non-CSMA transmits,1-CSMA transmits).
412
- EzspValueId.VALUE_MFGLIB_OPTIONS = 0x33;
413
- EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE = 0x3F;
414
- class EzspExtendedValueId extends basic.uint8_t {
415
- }
416
- exports.EzspExtendedValueId = EzspExtendedValueId;
417
- // Identifies a value based on specified characteristics. Each set of
418
- // characteristics is unique to that value and is specified during the call
419
- // to get the extended value.
420
- // The flags field associated with the specified endpoint.
421
- EzspExtendedValueId.EXTENDED_VALUE_ENDPOINT_FLAGS = 0x00;
422
- // This is the reason for the node to leave the network as well as the
423
- // device that told it to leave. The leave reason is the 1st byte of the
424
- // value while the node ID is the 2nd and 3rd byte. If the leave was caused
425
- // due to an API call rather than an over the air message, the node ID will
426
- // be UNKNOWN_NODE_ID (0xFFFD).
427
- EzspExtendedValueId.EXTENDED_VALUE_LAST_LEAVE_REASON = 0x01;
428
- // This number of bytes of overhead required in the network frame for source
429
- // routing to a particular destination.
430
- EzspExtendedValueId.EXTENDED_VALUE_GET_SOURCE_ROUTE_OVERHEAD = 0x02;
431
- class EzspEndpointFlags extends basic.uint16_t {
432
- }
433
- exports.EzspEndpointFlags = EzspEndpointFlags;
434
- // Flags associated with the endpoint data configured on the NCP.
435
- // Indicates that the endpoint is disabled and NOT discoverable via ZDO.
436
- EzspEndpointFlags.ENDPOINT_DISABLED = 0x00;
437
- // Indicates that the endpoint is enabled and discoverable via ZDO.
438
- EzspEndpointFlags.ENDPOINT_ENABLED = 0x01;
439
- class EmberConfigTxPowerMode extends basic.uint16_t {
440
- }
441
- exports.EmberConfigTxPowerMode = EmberConfigTxPowerMode;
442
- // Values for CONFIG_TX_POWER_MODE.
443
- // Normal power mode and bi-directional RF transmitter output.
444
- EmberConfigTxPowerMode.TX_POWER_MODE_DEFAULT = 0x00;
445
- // Enable boost power mode. This is a high performance radio mode which
446
- // offers increased receive sensitivity and transmit power at the cost of an
447
- // increase in power consumption.
448
- EmberConfigTxPowerMode.TX_POWER_MODE_BOOST = 0x01;
449
- // Enable the alternate transmitter output. This allows for simplified
450
- // connection to an external power amplifier via the RF_TX_ALT_P and
451
- // RF_TX_ALT_N pins. TX_POWER_MODE_BOOST_AND_ALTERNATE 0x03 Enable both
452
- // boost mode and the alternate transmitter output.
453
- EmberConfigTxPowerMode.TX_POWER_MODE_ALTERNATE = 0x02;
454
- class EzspPolicyId extends basic.uint8_t {
455
- }
456
- exports.EzspPolicyId = EzspPolicyId;
457
- // Identifies a policy.
458
- // Controls trust center behavior.
459
- EzspPolicyId.TRUST_CENTER_POLICY = 0x00;
460
- // Controls how external binding modification requests are handled.
461
- EzspPolicyId.BINDING_MODIFICATION_POLICY = 0x01;
462
- // Controls whether the Host supplies unicast replies.
463
- EzspPolicyId.UNICAST_REPLIES_POLICY = 0x02;
464
- // Controls whether pollHandler callbacks are generated.
465
- EzspPolicyId.POLL_HANDLER_POLICY = 0x03;
466
- // Controls whether the message contents are included in the
467
- // messageSentHandler callback.
468
- EzspPolicyId.MESSAGE_CONTENTS_IN_CALLBACK_POLICY = 0x04;
469
- // Controls whether the Trust Center will respond to Trust Center link key
470
- // requests.
471
- EzspPolicyId.TC_KEY_REQUEST_POLICY = 0x05;
472
- // Controls whether the Trust Center will respond to application link key
473
- // requests.
474
- EzspPolicyId.APP_KEY_REQUEST_POLICY = 0x06;
475
- // Controls whether ZigBee packets that appear invalid are automatically
476
- // dropped by the stack. A counter will be incremented when this occurs.
477
- EzspPolicyId.PACKET_VALIDATE_LIBRARY_POLICY = 0x07;
478
- // Controls whether the stack will process ZLL messages.
479
- EzspPolicyId.ZLL_POLICY = 0x08;
480
- EzspPolicyId.TC_REJOINS_USING_WELL_KNOWN_KEY_POLICY = 0x09;
481
- class EzspDecisionId extends basic.uint16_t {
482
- }
483
- exports.EzspDecisionId = EzspDecisionId;
484
- // Identifies a policy decision.
485
- // Send the network key in the clear to all joining and rejoining devices.
486
- EzspDecisionId.ALLOW_JOINS = 0x00;
487
- // Send the network key in the clear to all joining devices. Rejoining
488
- // devices are sent the network key encrypted with their trust center link
489
- // key. The trust center and any rejoining device are assumed to share a
490
- // link key, either preconfigured or obtained under a previous policy.
491
- EzspDecisionId.ALLOW_JOINS_REJOINS_HAVE_LINK_KEY = 0x04;
492
- // Send the network key encrypted with the joining or rejoining device's
493
- // trust center link key. The trust center and any joining or rejoining
494
- // device are assumed to share a link key, either preconfigured or obtained
495
- // under a previous policy. This is the default value for the
496
- // TRUST_CENTER_POLICY.
497
- EzspDecisionId.ALLOW_PRECONFIGURED_KEY_JOINS = 0x01;
498
- // Send the network key encrypted with the rejoining device's trust center
499
- // link key. The trust center and any rejoining device are assumed to share
500
- // a link key, either preconfigured or obtained under a previous policy. No
501
- // new devices are allowed to join.
502
- EzspDecisionId.ALLOW_REJOINS_ONLY = 0x02;
503
- // Reject all unsecured join and rejoin attempts.
504
- EzspDecisionId.DISALLOW_ALL_JOINS_AND_REJOINS = 0x03;
505
- // Take no action on trust center rejoin attempts.
506
- EzspDecisionId.IGNORE_TRUST_CENTER_REJOINS = 0x05;
507
- // BINDING_MODIFICATION_POLICY default decision. Do not allow the local
508
- // binding table to be changed by remote nodes.
509
- EzspDecisionId.DISALLOW_BINDING_MODIFICATION = 0x10;
510
- // BINDING_MODIFICATION_POLICY decision. Allow remote nodes to change
511
- // the local binding table.
512
- EzspDecisionId.ALLOW_BINDING_MODIFICATION = 0x11;
513
- // BINDING_MODIFICATION_POLICY decision. Allows remote nodes to set local
514
- // binding entries only if the entries correspond to endpoints defined on
515
- // the device, and for output clusters bound to those endpoints.
516
- EzspDecisionId.CHECK_BINDING_MODIFICATIONS_ARE_VALID_ENDPOINT_CLUSTERS = 0x12;
517
- // UNICAST_REPLIES_POLICY default decision. The NCP will automatically send
518
- // an empty reply (containing no payload) for every unicast received.
519
- EzspDecisionId.HOST_WILL_NOT_SUPPLY_REPLY = 0x20;
520
- // UNICAST_REPLIES_POLICY decision. The NCP will only send a reply if it
521
- // receives a sendReply command from the Host.
522
- EzspDecisionId.HOST_WILL_SUPPLY_REPLY = 0x21;
523
- // POLL_HANDLER_POLICY default decision. Do not inform the Host when a child
524
- // polls.
525
- EzspDecisionId.POLL_HANDLER_IGNORE = 0x30;
526
- // POLL_HANDLER_POLICY decision. Generate a pollHandler callback when a
527
- // child polls.
528
- EzspDecisionId.POLL_HANDLER_CALLBACK = 0x31;
529
- // MESSAGE_CONTENTS_IN_CALLBACK_POLICY default decision. Include only the
530
- // message tag in the messageSentHandler callback.
531
- EzspDecisionId.MESSAGE_TAG_ONLY_IN_CALLBACK = 0x40;
532
- // MESSAGE_CONTENTS_IN_CALLBACK_POLICY decision. Include both the message
533
- // tag and the message contents in the messageSentHandler callback.
534
- EzspDecisionId.MESSAGE_TAG_AND_CONTENTS_IN_CALLBACK = 0x41;
535
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
536
- // for a Trust Center link key, it will be ignored.
537
- EzspDecisionId.DENY_TC_KEY_REQUESTS = 0x50;
538
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
539
- // for a Trust Center link key, it will reply to it with the corresponding
540
- // key.
541
- EzspDecisionId.ALLOW_TC_KEY_REQUESTS = 0x51;
542
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
543
- // for a Trust Center link key, it will generate a key to send to the
544
- // joiner.
545
- EzspDecisionId.GENERATE_NEW_TC_LINK_KEY = 0x52;
546
- // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
547
- // for an application link key, it will be ignored.
548
- EzspDecisionId.DENY_APP_KEY_REQUESTS = 0x60;
549
- // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
550
- // for an application link key, it will randomly generate a key and send it
551
- // to both partners.
552
- EzspDecisionId.ALLOW_APP_KEY_REQUESTS = 0x61;
553
- // Indicates that packet validate library checks are enabled on the NCP.
554
- EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED = 0x62;
555
- // Indicates that packet validate library checks are NOT enabled on the NCP.
556
- EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_DISABLED = 0x63;
557
- class EzspMfgTokenId extends basic.uint8_t {
558
- }
559
- exports.EzspMfgTokenId = EzspMfgTokenId;
560
- // Manufacturing token IDs used by ezspGetMfgToken().
561
- // Custom version (2 bytes).
562
- EzspMfgTokenId.MFG_CUSTOM_VERSION = 0x00;
563
- // Manufacturing string (16 bytes).
564
- EzspMfgTokenId.MFG_STRING = 0x01;
565
- // Board name (16 bytes).
566
- EzspMfgTokenId.MFG_BOARD_NAME = 0x02;
567
- // Manufacturing ID (2 bytes).
568
- EzspMfgTokenId.MFG_MANUF_ID = 0x03;
569
- // Radio configuration (2 bytes).
570
- EzspMfgTokenId.MFG_PHY_CONFIG = 0x04;
571
- // Bootload AES key (16 bytes).
572
- EzspMfgTokenId.MFG_BOOTLOAD_AES_KEY = 0x05;
573
- // ASH configuration (40 bytes).
574
- EzspMfgTokenId.MFG_ASH_CONFIG = 0x06;
575
- // EZSP storage (8 bytes).
576
- EzspMfgTokenId.MFG_STORAGE = 0x07;
577
- // Radio calibration data (64 bytes). 4 bytes are stored for each of the 16
578
- // channels. This token is not stored in the Flash Information Area. It is
579
- // updated by the stack each time a calibration is performed.
580
- EzspMfgTokenId.STACK_CAL_DATA = 0x08;
581
- // Certificate Based Key Exchange (CBKE) data (92 bytes).
582
- EzspMfgTokenId.MFG_CBKE_DATA = 0x09;
583
- // Installation code (20 bytes).
584
- EzspMfgTokenId.MFG_INSTALLATION_CODE = 0x0A;
585
- // Radio channel filter calibration data (1 byte). This token is not stored
586
- // in the Flash Information Area. It is updated by the stack each time a
587
- // calibration is performed.
588
- EzspMfgTokenId.STACK_CAL_FILTER = 0x0B;
589
- // Custom EUI64 MAC address (8 bytes).
590
- EzspMfgTokenId.MFG_CUSTOM_EUI_64 = 0x0C;
591
- // CTUNE value (2 byte).
592
- EzspMfgTokenId.MFG_CTUNE = 0x0D;
593
- class EzspStatus extends basic.uint8_t {
594
- }
595
- exports.EzspStatus = EzspStatus;
596
- // Status values used by EZSP.
597
- // Success.
598
- EzspStatus.SUCCESS = 0x00;
599
- // Fatal error.
600
- EzspStatus.SPI_ERR_FATAL = 0x10;
601
- // The Response frame of the current transaction indicates the NCP has
602
- // reset.
603
- EzspStatus.SPI_ERR_NCP_RESET = 0x11;
604
- // The NCP is reporting that the Command frame of the current transaction is
605
- // oversized (the length byte is too large).
606
- EzspStatus.SPI_ERR_OVERSIZED_FRAME = 0x12;
607
- // The Response frame of the current transaction indicates the previous
608
- // transaction was aborted (nSSEL deasserted too soon).
609
- EzspStatus.SPI_ERR_ABORTED_TRANSACTION = 0x13;
610
- // The Response frame of the current transaction indicates the frame
611
- // terminator is missing from the Command frame.
612
- EzspStatus.SPI_ERR_MISSING_FRAME_TERMINATOR = 0x14;
613
- // The NCP has not provided a Response within the time limit defined by
614
- // WAIT_SECTION_TIMEOUT.
615
- EzspStatus.SPI_ERR_WAIT_SECTION_TIMEOUT = 0x15;
616
- // The Response frame from the NCP is missing the frame terminator.
617
- EzspStatus.SPI_ERR_NO_FRAME_TERMINATOR = 0x16;
618
- // The Host attempted to send an oversized Command (the length byte is too
619
- // large) and the AVR's spi-protocol.c blocked the transmission.
620
- EzspStatus.SPI_ERR_COMMAND_OVERSIZED = 0x17;
621
- // The NCP attempted to send an oversized Response (the length byte is too
622
- // large) and the AVR's spi-protocol.c blocked the reception.
623
- EzspStatus.SPI_ERR_RESPONSE_OVERSIZED = 0x18;
624
- // The Host has sent the Command and is still waiting for the NCP to send a
625
- // Response.
626
- EzspStatus.SPI_WAITING_FOR_RESPONSE = 0x19;
627
- // The NCP has not asserted nHOST_INT within the time limit defined by
628
- // WAKE_HANDSHAKE_TIMEOUT.
629
- EzspStatus.SPI_ERR_HANDSHAKE_TIMEOUT = 0x1A;
630
- // The NCP has not asserted nHOST_INT after an NCP reset within the time
631
- // limit defined by STARTUP_TIMEOUT.
632
- EzspStatus.SPI_ERR_STARTUP_TIMEOUT = 0x1B;
633
- // The Host attempted to verify the SPI Protocol activity and version
634
- // number, and the verification failed.
635
- EzspStatus.SPI_ERR_STARTUP_FAIL = 0x1C;
636
- // The Host has sent a command with a SPI Byte that is unsupported by the
637
- // current mode the NCP is operating in.
638
- EzspStatus.SPI_ERR_UNSUPPORTED_SPI_COMMAND = 0x1D;
639
- // Operation not yet complete.
640
- EzspStatus.ASH_IN_PROGRESS = 0x20;
641
- // Fatal error detected by host.
642
- EzspStatus.HOST_FATAL_ERROR = 0x21;
643
- // Fatal error detected by NCP.
644
- EzspStatus.ASH_NCP_FATAL_ERROR = 0x22;
645
- // Tried to send DATA frame too long.
646
- EzspStatus.DATA_FRAME_TOO_LONG = 0x23;
647
- // Tried to send DATA frame too short.
648
- EzspStatus.DATA_FRAME_TOO_SHORT = 0x24;
649
- // No space for tx'ed DATA frame.
650
- EzspStatus.NO_TX_SPACE = 0x25;
651
- // No space for rec'd DATA frame.
652
- EzspStatus.NO_RX_SPACE = 0x26;
653
- // No receive data available.
654
- EzspStatus.NO_RX_DATA = 0x27;
655
- // Not in Connected state.
656
- EzspStatus.NOT_CONNECTED = 0x28;
657
- // The NCP received a command before the EZSP version had been set.
658
- EzspStatus.ERROR_VERSION_NOT_SET = 0x30;
659
- // The NCP received a command containing an unsupported frame ID.
660
- EzspStatus.ERROR_INVALID_FRAME_ID = 0x31;
661
- // The direction flag in the frame control field was incorrect.
662
- EzspStatus.ERROR_WRONG_DIRECTION = 0x32;
663
- // The truncated flag in the frame control field was set, indicating there
664
- // was not enough memory available to complete the response or that the
665
- // response would have exceeded the maximum EZSP frame length.
666
- EzspStatus.ERROR_TRUNCATED = 0x33;
667
- // The overflow flag in the frame control field was set, indicating one or
668
- // more callbacks occurred since the previous response and there was not
669
- // enough memory available to report them to the Host.
670
- EzspStatus.ERROR_OVERFLOW = 0x34;
671
- // Insufficient memory was available.
672
- EzspStatus.ERROR_OUT_OF_MEMORY = 0x35;
673
- // The value was out of bounds.
674
- EzspStatus.ERROR_INVALID_VALUE = 0x36;
675
- // The configuration id was not recognized.
676
- EzspStatus.ERROR_INVALID_ID = 0x37;
677
- // Configuration values can no longer be modified.
678
- EzspStatus.ERROR_INVALID_CALL = 0x38;
679
- // The NCP failed to respond to a command.
680
- EzspStatus.ERROR_NO_RESPONSE = 0x39;
681
- // The length of the command exceeded the maximum EZSP frame length.
682
- EzspStatus.ERROR_COMMAND_TOO_LONG = 0x40;
683
- // The UART receive queue was full causing a callback response to be
684
- // dropped.
685
- EzspStatus.ERROR_QUEUE_FULL = 0x41;
686
- // The command has been filtered out by NCP.
687
- EzspStatus.ERROR_COMMAND_FILTERED = 0x42;
688
- // EZSP Security Key is already set
689
- EzspStatus.ERROR_SECURITY_KEY_ALREADY_SET = 0x43;
690
- // EZSP Security Type is invalid
691
- EzspStatus.ERROR_SECURITY_TYPE_INVALID = 0x44;
692
- // EZSP Security Parameters are invalid
693
- EzspStatus.ERROR_SECURITY_PARAMETERS_INVALID = 0x45;
694
- // EZSP Security Parameters are already set
695
- EzspStatus.ERROR_SECURITY_PARAMETERS_ALREADY_SET = 0x46;
696
- // EZSP Security Key is not set
697
- EzspStatus.ERROR_SECURITY_KEY_NOT_SET = 0x47;
698
- // EZSP Security Parameters are not set
699
- EzspStatus.ERROR_SECURITY_PARAMETERS_NOT_SET = 0x48;
700
- // Received frame with unsupported control byte
701
- EzspStatus.ERROR_UNSUPPORTED_CONTROL = 0x49;
702
- // Received frame is unsecure, when security is established
703
- EzspStatus.ERROR_UNSECURE_FRAME = 0x4A;
704
- // Incompatible ASH version
705
- EzspStatus.ASH_ERROR_VERSION = 0x50;
706
- // Exceeded max ACK timeouts
707
- EzspStatus.ASH_ERROR_TIMEOUTS = 0x51;
708
- // Timed out waiting for RSTACK
709
- EzspStatus.ASH_ERROR_RESET_FAIL = 0x52;
710
- // Unexpected ncp reset
711
- EzspStatus.ASH_ERROR_NCP_RESET = 0x53;
712
- // Serial port initialization failed
713
- EzspStatus.ERROR_SERIAL_INIT = 0x54;
714
- // Invalid ncp processor type
715
- EzspStatus.ASH_ERROR_NCP_TYPE = 0x55;
716
- // Invalid ncp reset method
717
- EzspStatus.ASH_ERROR_RESET_METHOD = 0x56;
718
- // XON/XOFF not supported by host driver
719
- EzspStatus.ASH_ERROR_XON_XOFF = 0x57;
720
- // ASH protocol started
721
- EzspStatus.ASH_STARTED = 0x70;
722
- // ASH protocol connected
723
- EzspStatus.ASH_CONNECTED = 0x71;
724
- // ASH protocol disconnected
725
- EzspStatus.ASH_DISCONNECTED = 0x72;
726
- // Timer expired waiting for ack
727
- EzspStatus.ASH_ACK_TIMEOUT = 0x73;
728
- // Frame in progress cancelled
729
- EzspStatus.ASH_CANCELLED = 0x74;
730
- // Received frame out of sequence
731
- EzspStatus.ASH_OUT_OF_SEQUENCE = 0x75;
732
- // Received frame with CRC error
733
- EzspStatus.ASH_BAD_CRC = 0x76;
734
- // Received frame with comm error
735
- EzspStatus.ASH_COMM_ERROR = 0x77;
736
- // Received frame with bad ackNum
737
- EzspStatus.ASH_BAD_ACKNUM = 0x78;
738
- // Received frame shorter than minimum
739
- EzspStatus.ASH_TOO_SHORT = 0x79;
740
- // Received frame longer than maximum
741
- EzspStatus.ASH_TOO_LONG = 0x7A;
742
- // Received frame with illegal control byte
743
- EzspStatus.ASH_BAD_CONTROL = 0x7B;
744
- // Received frame with illegal length for its type
745
- EzspStatus.ASH_BAD_LENGTH = 0x7C;
746
- // Received ASH Ack
747
- EzspStatus.ASH_ACK_RECEIVED = 0x7D;
748
- // Sent ASH Ack
749
- EzspStatus.ASH_ACK_SENT = 0x7E;
750
- // No reset or error
751
- EzspStatus.NO_ERROR = 0xFF;
752
- class EmberStatus extends basic.uint8_t {
753
- }
754
- exports.EmberStatus = EmberStatus;
755
- // Return type for stack functions.
756
- // The generic 'no error' message.
757
- EmberStatus.SUCCESS = 0x00;
758
- // The generic 'fatal error' message.
759
- EmberStatus.ERR_FATAL = 0x01;
760
- // An invalid value was passed as an argument to a function
761
- EmberStatus.BAD_ARGUMENT = 0x02;
762
- // The manufacturing and stack token format in nonvolatile memory is
763
- // different than what the stack expects (returned at initialization).
764
- EmberStatus.EEPROM_MFG_STACK_VERSION_MISMATCH = 0x04;
765
- // The static memory definitions in ember-staticmemory.h are incompatible
766
- // with this stack version.
767
- EmberStatus.INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS = 0x05;
768
- // The manufacturing token format in non-volatile memory is different than
769
- // what the stack expects (returned at initialization).
770
- EmberStatus.EEPROM_MFG_VERSION_MISMATCH = 0x06;
771
- // The stack token format in non-volatile memory is different than what the
772
- // stack expects (returned at initialization).
773
- EmberStatus.EEPROM_STACK_VERSION_MISMATCH = 0x07;
774
- // There are no more buffers.
775
- EmberStatus.NO_BUFFERS = 0x18;
776
- // Specified an invalid baud rate.
777
- EmberStatus.SERIAL_INVALID_BAUD_RATE = 0x20;
778
- // Specified an invalid serial port.
779
- EmberStatus.SERIAL_INVALID_PORT = 0x21;
780
- // Tried to send too much data.
781
- EmberStatus.SERIAL_TX_OVERFLOW = 0x22;
782
- // There was not enough space to store a received character and the
783
- // character was dropped.
784
- EmberStatus.SERIAL_RX_OVERFLOW = 0x23;
785
- // Detected a UART framing error.
786
- EmberStatus.SERIAL_RX_FRAME_ERROR = 0x24;
787
- // Detected a UART parity error.
788
- EmberStatus.SERIAL_RX_PARITY_ERROR = 0x25;
789
- // There is no received data to process.
790
- EmberStatus.SERIAL_RX_EMPTY = 0x26;
791
- // The receive interrupt was not handled in time, and a character was
792
- // dropped.
793
- EmberStatus.SERIAL_RX_OVERRUN_ERROR = 0x27;
794
- // The MAC transmit queue is full.
795
- EmberStatus.MAC_TRANSMIT_QUEUE_FULL = 0x39;
796
- // MAC header FCR error on receive.
797
- EmberStatus.MAC_UNKNOWN_HEADER_TYPE = 0x3A;
798
- // The MAC can't complete this task because it is scanning.
799
- EmberStatus.MAC_SCANNING = 0x3D;
800
- // No pending data exists for device doing a data poll.
801
- EmberStatus.MAC_NO_DATA = 0x31;
802
- // Attempt to scan when we are joined to a network.
803
- EmberStatus.MAC_JOINED_NETWORK = 0x32;
804
- // Scan duration must be 0 to 14 inclusive. Attempt was made to scan with an
805
- // incorrect duration value.
806
- EmberStatus.MAC_BAD_SCAN_DURATION = 0x33;
807
- // emberStartScan was called with an incorrect scan type.
808
- EmberStatus.MAC_INCORRECT_SCAN_TYPE = 0x34;
809
- // emberStartScan was called with an invalid channel mask.
810
- EmberStatus.MAC_INVALID_CHANNEL_MASK = 0x35;
811
- // Failed to scan current channel because we were unable to transmit the
812
- // relevant MAC command.
813
- EmberStatus.MAC_COMMAND_TRANSMIT_FAILURE = 0x36;
814
- // We expected to receive an ACK following the transmission, but the MAC
815
- // level ACK was never received.
816
- EmberStatus.MAC_NO_ACK_RECEIVED = 0x40;
817
- // Indirect data message timed out before polled.
818
- EmberStatus.MAC_INDIRECT_TIMEOUT = 0x42;
819
- // The Simulated EEPROM is telling the application that there is at least
820
- // one flash page to be erased. The GREEN status means the current page has
821
- // not filled above the ERASE_CRITICAL_THRESHOLD. The application should
822
- // call the function halSimEepromErasePage when it can to erase a page.
823
- EmberStatus.SIM_EEPROM_ERASE_PAGE_GREEN = 0x43;
824
- // The Simulated EEPROM is telling the application that there is at least
825
- // one flash page to be erased. The RED status means the current page has
826
- // filled above the ERASE_CRITICAL_THRESHOLD. Due to the shrinking
827
- // availability of write space, there is a danger of data loss. The
828
- // application must call the function halSimEepromErasePage as soon as
829
- // possible to erase a page.
830
- EmberStatus.SIM_EEPROM_ERASE_PAGE_RED = 0x44;
831
- // The Simulated EEPROM has run out of room to write any new data and the
832
- // data trying to be set has been lost. This error code is the result of
833
- // ignoring the SIM_EEPROM_ERASE_PAGE_RED error code. The application must
834
- // call the function halSimEepromErasePage to make room for any further
835
- // calls to set a token.
836
- EmberStatus.SIM_EEPROM_FULL = 0x45;
837
- // A fatal error has occurred while trying to write data to the Flash. The
838
- // target memory attempting to be programmed is already programmed. The
839
- // flash write routines were asked to flip a bit from a 0 to 1, which is
840
- // physically impossible and the write was therefore inhibited. The data in
841
- // the flash cannot be trusted after this error.
842
- EmberStatus.ERR_FLASH_WRITE_INHIBITED = 0x46;
843
- // A fatal error has occurred while trying to write data to the Flash and
844
- // the write verification has failed. The data in the flash cannot be
845
- // trusted after this error, and it is possible this error is the result of
846
- // exceeding the life cycles of the flash.
847
- EmberStatus.ERR_FLASH_VERIFY_FAILED = 0x47;
848
- // Attempt 1 to initialize the Simulated EEPROM has failed. This failure
849
- // means the information already stored in Flash (or a lack thereof), is
850
- // fatally incompatible with the token information compiled into the code
851
- // image being run.
852
- EmberStatus.SIM_EEPROM_INIT_1_FAILED = 0x48;
853
- // Attempt 2 to initialize the Simulated EEPROM has failed. This failure
854
- // means Attempt 1 failed, and the token system failed to properly reload
855
- // default tokens and reset the Simulated EEPROM.
856
- EmberStatus.SIM_EEPROM_INIT_2_FAILED = 0x49;
857
- // Attempt 3 to initialize the Simulated EEPROM has failed. This failure
858
- // means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or
859
- // TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
860
- // properly reload default tokens and reset the Simulated EEPROM.
861
- EmberStatus.SIM_EEPROM_INIT_3_FAILED = 0x4A;
862
- // A fatal error has occurred while trying to write data to the flash,
863
- // possibly due to write protection or an invalid address. The data in the
864
- // flash cannot be trusted after this error, and it is possible this error
865
- // is the result of exceeding the life cycles of the flash.
866
- EmberStatus.ERR_FLASH_PROG_FAIL = 0x4B;
867
- // A fatal error has occurred while trying to erase flash, possibly due to
868
- // write protection. The data in the flash cannot be trusted after this
869
- // error, and it is possible this error is the result of exceeding the life
870
- // cycles of the flash.
871
- EmberStatus.ERR_FLASH_ERASE_FAIL = 0x4C;
872
- // The bootloader received an invalid message (failed attempt to go into
873
- // bootloader).
874
- EmberStatus.ERR_BOOTLOADER_TRAP_TABLE_BAD = 0x58;
875
- // Bootloader received an invalid message (failed attempt to go into
876
- // bootloader).
877
- EmberStatus.ERR_BOOTLOADER_TRAP_UNKNOWN = 0x59;
878
- // The bootloader cannot complete the bootload operation because either an
879
- // image was not found or the image exceeded memory bounds.
880
- EmberStatus.ERR_BOOTLOADER_NO_IMAGE = 0x5A;
881
- // The APS layer attempted to send or deliver a message, but it failed.
882
- EmberStatus.DELIVERY_FAILED = 0x66;
883
- // This binding index is out of range of the current binding table.
884
- EmberStatus.BINDING_INDEX_OUT_OF_RANGE = 0x69;
885
- // This address table index is out of range for the current address table.
886
- EmberStatus.ADDRESS_TABLE_INDEX_OUT_OF_RANGE = 0x6A;
887
- // An invalid binding table index was given to a function.
888
- EmberStatus.INVALID_BINDING_INDEX = 0x6C;
889
- // The API call is not allowed given the current state of the stack.
890
- EmberStatus.INVALID_CALL = 0x70;
891
- // The link cost to a node is not known.
892
- EmberStatus.COST_NOT_KNOWN = 0x71;
893
- // The maximum number of in-flight messages (i.e.
894
- // APS_UNICAST_MESSAGE_COUNT) has been reached.
895
- EmberStatus.MAX_MESSAGE_LIMIT_REACHED = 0x72;
896
- // The message to be transmitted is too big to fit into a single over-the-
897
- // air packet.
898
- EmberStatus.MESSAGE_TOO_LONG = 0x74;
899
- // The application is trying to delete or overwrite a binding that is in
900
- // use.
901
- EmberStatus.BINDING_IS_ACTIVE = 0x75;
902
- // The application is trying to overwrite an address table entry that is in
903
- // use.
904
- EmberStatus.ADDRESS_TABLE_ENTRY_IS_ACTIVE = 0x76;
905
- // Conversion is complete.
906
- EmberStatus.ADC_CONVERSION_DONE = 0x80;
907
- // Conversion cannot be done because a request is being processed.
908
- EmberStatus.ADC_CONVERSION_BUSY = 0x81;
909
- // Conversion is deferred until the current request has been processed.
910
- EmberStatus.ADC_CONVERSION_DEFERRED = 0x82;
911
- // No results are pending.
912
- EmberStatus.ADC_NO_CONVERSION_PENDING = 0x84;
913
- // Sleeping (for a duration) has been abnormally interrupted and exited
914
- // prematurely.
915
- EmberStatus.SLEEP_INTERRUPTED = 0x85;
916
- // The transmit hardware buffer underflowed.
917
- EmberStatus.PHY_TX_UNDERFLOW = 0x88;
918
- // The transmit hardware did not finish transmitting a packet.
919
- EmberStatus.PHY_TX_INCOMPLETE = 0x89;
920
- // An unsupported channel setting was specified.
921
- EmberStatus.PHY_INVALID_CHANNEL = 0x8A;
922
- // An unsupported power setting was specified.
923
- EmberStatus.PHY_INVALID_POWER = 0x8B;
924
- // The packet cannot be transmitted because the physical MAC layer is
925
- // currently transmitting a packet. (This is used for the MAC backoff
926
- // algorithm.) PHY_TX_CCA_FAIL 0x8D The transmit attempt failed because all
927
- // CCA attempts indicated that the channel was busy
928
- EmberStatus.PHY_TX_BUSY = 0x8C;
929
- // The software installed on the hardware doesn't recognize the hardware
930
- // radio type.
931
- EmberStatus.PHY_OSCILLATOR_CHECK_FAILED = 0x8E;
932
- // The expected ACK was received after the last transmission.
933
- EmberStatus.PHY_ACK_RECEIVED = 0x8F;
934
- // The stack software has completed initialization and is ready to send and
935
- // receive packets over the air.
936
- EmberStatus.NETWORK_UP = 0x90;
937
- // The network is not operating.
938
- EmberStatus.NETWORK_DOWN = 0x91;
939
- // An attempt to join a network failed.
940
- EmberStatus.JOIN_FAILED = 0x94;
941
- // After moving, a mobile node's attempt to re-establish contact with the
942
- // network failed.
943
- EmberStatus.MOVE_FAILED = 0x96;
944
- // An attempt to join as a router failed due to a ZigBee versus ZigBee Pro
945
- // incompatibility. ZigBee devices joining ZigBee Pro networks (or vice
946
- // versa) must join as End Devices, not Routers.
947
- EmberStatus.CANNOT_JOIN_AS_ROUTER = 0x98;
948
- // The local node ID has changed. The application can obtain the new node ID
949
- // by calling emberGetNodeId().
950
- EmberStatus.NODE_ID_CHANGED = 0x99;
951
- // The local PAN ID has changed. The application can obtain the new PAN ID
952
- // by calling emberGetPanId().
953
- EmberStatus.PAN_ID_CHANGED = 0x9A;
954
- // An attempt to join or rejoin the network failed because no router beacons
955
- // could be heard by the joining node.
956
- EmberStatus.NO_BEACONS = 0xAB;
957
- // An attempt was made to join a Secured Network using a pre-configured key,
958
- // but the Trust Center sent back a Network Key in-the-clear when an
959
- // encrypted Network Key was required.
960
- EmberStatus.RECEIVED_KEY_IN_THE_CLEAR = 0xAC;
961
- // An attempt was made to join a Secured Network, but the device did not
962
- // receive a Network Key.
963
- EmberStatus.NO_NETWORK_KEY_RECEIVED = 0xAD;
964
- // After a device joined a Secured Network, a Link Key was requested but no
965
- // response was ever received.
966
- EmberStatus.NO_LINK_KEY_RECEIVED = 0xAE;
967
- // An attempt was made to join a Secured Network without a pre-configured
968
- // key, but the Trust Center sent encrypted data using a pre-configured key.
969
- EmberStatus.PRECONFIGURED_KEY_REQUIRED = 0xAF;
970
- // The node has not joined a network.
971
- EmberStatus.NOT_JOINED = 0x93;
972
- // The chosen security level (the value of SECURITY_LEVEL) is not supported
973
- // by the stack.
974
- EmberStatus.INVALID_SECURITY_LEVEL = 0x95;
975
- // A message cannot be sent because the network is currently overloaded.
976
- EmberStatus.NETWORK_BUSY = 0xA1;
977
- // The application tried to send a message using an endpoint that it has not
978
- // defined.
979
- EmberStatus.INVALID_ENDPOINT = 0xA3;
980
- // The application tried to use a binding that has been remotely modified
981
- // and the change has not yet been reported to the application.
982
- EmberStatus.BINDING_HAS_CHANGED = 0xA4;
983
- // An attempt to generate random bytes failed because of insufficient random
984
- // data from the radio.
985
- EmberStatus.INSUFFICIENT_RANDOM_DATA = 0xA5;
986
- // There was an error in trying to encrypt at the APS Level. This could
987
- // result from either an inability to determine the long address of the
988
- // recipient from the short address (no entry in the binding table) or there
989
- // is no link key entry in the table associated with the destination, or
990
- // there was a failure to load the correct key into the encryption core.
991
- // TRUST_CENTER_MASTER_KEY_NOT_SET 0xA7 There was an attempt to form a
992
- // network using commercial security without setting the Trust Center master
993
- // key first.
994
- EmberStatus.APS_ENCRYPTION_ERROR = 0xA6;
995
- // There was an attempt to form or join a network with security without
996
- // calling emberSetInitialSecurityState() first.
997
- EmberStatus.SECURITY_STATE_NOT_SET = 0xA8;
998
- // There was an attempt to set an entry in the key table using an invalid
999
- // long address. An entry cannot be set using either the local device's or
1000
- // Trust Center's IEEE address. Or an entry already exists in the table with
1001
- // the same IEEE address. An Address of all zeros or all F's are not valid
1002
- // addresses in 802.15.4.
1003
- EmberStatus.KEY_TABLE_INVALID_ADDRESS = 0xB3;
1004
- // There was an attempt to set a security configuration that is not valid
1005
- // given the other security settings.
1006
- EmberStatus.SECURITY_CONFIGURATION_INVALID = 0xB7;
1007
- // There was an attempt to broadcast a key switch too quickly after
1008
- // broadcasting the next network key. The Trust Center must wait at least a
1009
- // period equal to the broadcast timeout so that all routers have a chance
1010
- // to receive the broadcast of the new network key.
1011
- EmberStatus.TOO_SOON_FOR_SWITCH_KEY = 0xB8;
1012
- // The message could not be sent because the link key corresponding to the
1013
- // destination is not authorized for use in APS data messages. APS Commands
1014
- // (sent by the stack) are allowed. To use it for encryption of APS data
1015
- // messages it must be authorized using a key agreement protocol (such as
1016
- // CBKE).
1017
- EmberStatus.KEY_NOT_AUTHORIZED = 0xBB;
1018
- // The security data provided was not valid, or an integrity check failed.
1019
- EmberStatus.SECURITY_DATA_INVALID = 0xBD;
1020
- // A ZigBee route error command frame was received indicating that a source
1021
- // routed message from this node failed en route.
1022
- EmberStatus.SOURCE_ROUTE_FAILURE = 0xA9;
1023
- // A ZigBee route error command frame was received indicating that a message
1024
- // sent to this node along a many-to-one route failed en route. The route
1025
- // error frame was delivered by an ad-hoc search for a functioning route.
1026
- EmberStatus.MANY_TO_ONE_ROUTE_FAILURE = 0xAA;
1027
- // A critical and fatal error indicating that the version of the stack
1028
- // trying to run does not match with the chip it is running on. The software
1029
- // (stack) on the chip must be replaced with software that is compatible
1030
- // with the chip.
1031
- EmberStatus.STACK_AND_HARDWARE_MISMATCH = 0xB0;
1032
- // An index was passed into the function that was larger than the valid
1033
- // range.
1034
- EmberStatus.INDEX_OUT_OF_RANGE = 0xB1;
1035
- // There are no empty entries left in the table.
1036
- EmberStatus.TABLE_FULL = 0xB4;
1037
- // The requested table entry has been erased and contains no valid data.
1038
- EmberStatus.TABLE_ENTRY_ERASED = 0xB6;
1039
- // The requested function cannot be executed because the library that
1040
- // contains the necessary functionality is not present.
1041
- EmberStatus.LIBRARY_NOT_PRESENT = 0xB5;
1042
- // The stack accepted the command and is currently processing the request.
1043
- // The results will be returned via an appropriate handler.
1044
- EmberStatus.OPERATION_IN_PROGRESS = 0xBA;
1045
- // This error is reserved for customer application use. This will never be
1046
- // returned from any portion of the network stack or HAL.
1047
- EmberStatus.APPLICATION_ERROR_0 = 0xF0;
1048
- // This error is reserved for customer application use. This will never be
1049
- // returned from any portion of the network stack or HAL.
1050
- EmberStatus.APPLICATION_ERROR_1 = 0xF1;
1051
- // This error is reserved for customer application use. This will never be
1052
- // returned from any portion of the network stack or HAL.
1053
- EmberStatus.APPLICATION_ERROR_2 = 0xF2;
1054
- // This error is reserved for customer application use. This will never be
1055
- // returned from any portion of the network stack or HAL.
1056
- EmberStatus.APPLICATION_ERROR_3 = 0xF3;
1057
- // This error is reserved for customer application use. This will never be
1058
- // returned from any portion of the network stack or HAL.
1059
- EmberStatus.APPLICATION_ERROR_4 = 0xF4;
1060
- // This error is reserved for customer application use. This will never be
1061
- // returned from any portion of the network stack or HAL.
1062
- EmberStatus.APPLICATION_ERROR_5 = 0xF5;
1063
- // This error is reserved for customer application use. This will never be
1064
- // returned from any portion of the network stack or HAL.
1065
- EmberStatus.APPLICATION_ERROR_6 = 0xF6;
1066
- // This error is reserved for customer application use. This will never be
1067
- // returned from any portion of the network stack or HAL.
1068
- EmberStatus.APPLICATION_ERROR_7 = 0xF7;
1069
- // This error is reserved for customer application use. This will never be
1070
- // returned from any portion of the network stack or HAL.
1071
- EmberStatus.APPLICATION_ERROR_8 = 0xF8;
1072
- // This error is reserved for customer application use. This will never be
1073
- // returned from any portion of the network stack or HAL.
1074
- EmberStatus.APPLICATION_ERROR_9 = 0xF9;
1075
- // This error is reserved for customer application use. This will never be
1076
- // returned from any portion of the network stack or HAL.
1077
- EmberStatus.APPLICATION_ERROR_10 = 0xFA;
1078
- // This error is reserved for customer application use. This will never be
1079
- // returned from any portion of the network stack or HAL.
1080
- EmberStatus.APPLICATION_ERROR_11 = 0xFB;
1081
- // This error is reserved for customer application use. This will never be
1082
- // returned from any portion of the network stack or HAL.
1083
- EmberStatus.APPLICATION_ERROR_12 = 0xFC;
1084
- // This error is reserved for customer application use. This will never be
1085
- // returned from any portion of the network stack or HAL.
1086
- EmberStatus.APPLICATION_ERROR_13 = 0xFD;
1087
- // This error is reserved for customer application use. This will never be
1088
- // returned from any portion of the network stack or HAL.
1089
- EmberStatus.APPLICATION_ERROR_14 = 0xFE;
1090
- // This error is reserved for customer application use. This will never be
1091
- // returned from any portion of the network stack or HAL.
1092
- EmberStatus.APPLICATION_ERROR_15 = 0xFF;
1093
- class EmberEventUnits extends basic.uint8_t {
1094
- }
1095
- exports.EmberEventUnits = EmberEventUnits;
1096
- // Either marks an event as inactive or specifies the units for the event
1097
- // execution time.
1098
- // The event is not scheduled to run.
1099
- EmberEventUnits.EVENT_INACTIVE = 0x00;
1100
- // The execution time is in approximate milliseconds.
1101
- EmberEventUnits.EVENT_MS_TIME = 0x01;
1102
- // The execution time is in 'binary' quarter seconds (256 approximate
1103
- // milliseconds each).
1104
- EmberEventUnits.EVENT_QS_TIME = 0x02;
1105
- // The execution time is in 'binary' minutes (65536 approximate milliseconds
1106
- // each).
1107
- EmberEventUnits.EVENT_MINUTE_TIME = 0x03;
1108
- class EmberNodeType extends basic.uint8_t {
1109
- }
1110
- exports.EmberNodeType = EmberNodeType;
1111
- // The type of the node.
1112
- // Device is not joined.
1113
- EmberNodeType.UNKNOWN_DEVICE = 0x00;
1114
- // Will relay messages and can act as a parent to other nodes.
1115
- EmberNodeType.COORDINATOR = 0x01;
1116
- // Will relay messages and can act as a parent to other nodes.
1117
- EmberNodeType.ROUTER = 0x02;
1118
- // Communicates only with its parent and will not relay messages.
1119
- EmberNodeType.END_DEVICE = 0x03;
1120
- // An end device whose radio can be turned off to save power. The
1121
- // application must poll to receive messages.
1122
- EmberNodeType.SLEEPY_END_DEVICE = 0x04;
1123
- // A sleepy end device that can move through the network.
1124
- EmberNodeType.MOBILE_END_DEVICE = 0x05;
1125
- class EmberNetworkStatus extends basic.uint8_t {
1126
- }
1127
- exports.EmberNetworkStatus = EmberNetworkStatus;
1128
- // The possible join states for a node.
1129
- // The node is not associated with a network in any way.
1130
- EmberNetworkStatus.NO_NETWORK = 0x00;
1131
- // The node is currently attempting to join a network.
1132
- EmberNetworkStatus.JOINING_NETWORK = 0x01;
1133
- // The node is joined to a network.
1134
- EmberNetworkStatus.JOINED_NETWORK = 0x02;
1135
- // The node is an end device joined to a network but its parent is not
1136
- // responding.
1137
- EmberNetworkStatus.JOINED_NETWORK_NO_PARENT = 0x03;
1138
- // The node is in the process of leaving its current network.
1139
- EmberNetworkStatus.LEAVING_NETWORK = 0x04;
1140
- class EmberIncomingMessageType extends basic.uint8_t {
1141
- }
1142
- exports.EmberIncomingMessageType = EmberIncomingMessageType;
1143
- // Incoming message types.
1144
- // Unicast.
1145
- EmberIncomingMessageType.INCOMING_UNICAST = 0x00;
1146
- // Unicast reply.
1147
- EmberIncomingMessageType.INCOMING_UNICAST_REPLY = 0x01;
1148
- // Multicast.
1149
- EmberIncomingMessageType.INCOMING_MULTICAST = 0x02;
1150
- // Multicast sent by the local device.
1151
- EmberIncomingMessageType.INCOMING_MULTICAST_LOOPBACK = 0x03;
1152
- // Broadcast.
1153
- EmberIncomingMessageType.INCOMING_BROADCAST = 0x04;
1154
- // Broadcast sent by the local device.
1155
- EmberIncomingMessageType.INCOMING_BROADCAST_LOOPBACK = 0x05;
1156
- // Many to one route request.
1157
- EmberIncomingMessageType.INCOMING_MANY_TO_ONE_ROUTE_REQUEST = 0x06;
1158
- class EmberOutgoingMessageType extends basic.uint8_t {
1159
- }
1160
- exports.EmberOutgoingMessageType = EmberOutgoingMessageType;
1161
- // Outgoing message types.
1162
- // Unicast sent directly to an EmberNodeId.
1163
- EmberOutgoingMessageType.OUTGOING_DIRECT = 0x00;
1164
- // Unicast sent using an entry in the address table.
1165
- EmberOutgoingMessageType.OUTGOING_VIA_ADDRESS_TABLE = 0x01;
1166
- // Unicast sent using an entry in the binding table.
1167
- EmberOutgoingMessageType.OUTGOING_VIA_BINDING = 0x02;
1168
- // Multicast message. This value is passed to emberMessageSentHandler()
1169
- // only. It may not be passed to emberSendUnicast().
1170
- EmberOutgoingMessageType.OUTGOING_MULTICAST = 0x03;
1171
- // Broadcast message. This value is passed to emberMessageSentHandler()
1172
- // only. It may not be passed to emberSendUnicast().
1173
- EmberOutgoingMessageType.OUTGOING_BROADCAST = 0x04;
1174
- class EmberMacPassthroughType extends basic.uint8_t {
1175
- }
1176
- exports.EmberMacPassthroughType = EmberMacPassthroughType;
1177
- // MAC passthrough message type flags.
1178
- // No MAC passthrough messages.
1179
- EmberMacPassthroughType.MAC_PASSTHROUGH_NONE = 0x00;
1180
- // SE InterPAN messages.
1181
- EmberMacPassthroughType.MAC_PASSTHROUGH_SE_INTERPAN = 0x01;
1182
- // Legacy EmberNet messages.
1183
- EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET = 0x02;
1184
- // Legacy EmberNet messages filtered by their source address.
1185
- EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET_SOURCE = 0x04;
1186
- EmberMacPassthroughType.MAC_PASSTHROUGH_APPLICATION = 0x08;
1187
- EmberMacPassthroughType.MAC_PASSTHROUGH_CUSTOM = 0x10;
1188
- EmberMacPassthroughType.MAC_PASSTHROUGH_INTERNAL = 0x80;
1189
- class EmberBindingType extends basic.uint8_t {
1190
- }
1191
- exports.EmberBindingType = EmberBindingType;
1192
- // Binding types.
1193
- // A binding that is currently not in use.
1194
- EmberBindingType.UNUSED_BINDING = 0x00;
1195
- // A unicast binding whose 64-bit identifier is the destination EUI64.
1196
- EmberBindingType.UNICAST_BINDING = 0x01;
1197
- // A unicast binding whose 64-bit identifier is the aggregator EUI64.
1198
- EmberBindingType.MANY_TO_ONE_BINDING = 0x02;
1199
- // A multicast binding whose 64-bit identifier is the group address. A
1200
- // multicast binding can be used to send messages to the group and to
1201
- // receive messages sent to the group.
1202
- EmberBindingType.MULTICAST_BINDING = 0x03;
1203
- class EmberApsOption extends basic.uint16_t {
1204
- }
1205
- exports.EmberApsOption = EmberApsOption;
1206
- // Options to use when sending a message.
1207
- // No options.
1208
- EmberApsOption.APS_OPTION_NONE = 0x0000;
1209
- // UNKNOWN: Discovered while receiving data
1210
- EmberApsOption.APS_OPTION_UNKNOWN = 0x0008;
1211
- // Send the message using APS Encryption, using the Link Key shared with the
1212
- // destination node to encrypt the data at the APS Level.
1213
- EmberApsOption.APS_OPTION_ENCRYPTION = 0x0020;
1214
- // Resend the message using the APS retry mechanism.
1215
- EmberApsOption.APS_OPTION_RETRY = 0x0040;
1216
- // Causes a route discovery to be initiated if no route to the destination
1217
- // is known.
1218
- EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY = 0x0100;
1219
- // Causes a route discovery to be initiated even if one is known.
1220
- EmberApsOption.APS_OPTION_FORCE_ROUTE_DISCOVERY = 0x0200;
1221
- // Include the source EUI64 in the network frame.
1222
- EmberApsOption.APS_OPTION_SOURCE_EUI64 = 0x0400;
1223
- // Include the destination EUI64 in the network frame.
1224
- EmberApsOption.APS_OPTION_DESTINATION_EUI64 = 0x0800;
1225
- // Send a ZDO request to discover the node ID of the destination, if it is
1226
- // not already know.
1227
- EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY = 0x1000;
1228
- // Reserved.
1229
- EmberApsOption.APS_OPTION_POLL_RESPONSE = 0x2000;
1230
- // This incoming message is a ZDO request not handled by the EmberZNet
1231
- // stack, and the application is responsible for sending a ZDO response.
1232
- // This flag is used only when the ZDO is configured to have requests
1233
- // handled by the application. See the CONFIG_APPLICATION_ZDO_FLAGS
1234
- // configuration parameter for more information.
1235
- EmberApsOption.APS_OPTION_ZDO_RESPONSE_REQUIRED = 0x4000;
1236
- // This message is part of a fragmented message. This option may only be set
1237
- // for unicasts. The groupId field gives the index of this fragment in the
1238
- // low-order byte. If the low-order byte is zero this is the first fragment
1239
- // and the high-order byte contains the number of fragments in the message.
1240
- EmberApsOption.APS_OPTION_FRAGMENT = 0x8000;
1241
- class EzspNetworkScanType extends basic.uint8_t {
1242
- }
1243
- exports.EzspNetworkScanType = EzspNetworkScanType;
1244
- // Network scan types.
1245
- // An energy scan scans each channel for its RSSI value.
1246
- EzspNetworkScanType.ENERGY_SCAN = 0x00;
1247
- // An active scan scans each channel for available networks.
1248
- EzspNetworkScanType.ACTIVE_SCAN = 0x01;
1249
- class EmberJoinDecision extends basic.uint8_t {
1250
- }
1251
- exports.EmberJoinDecision = EmberJoinDecision;
1252
- // Decision made by the trust center when a node attempts to join.
1253
- // Allow the node to join. The joining node should have a pre-configured
1254
- // key. The security data sent to it will be encrypted with that key.
1255
- EmberJoinDecision.USE_PRECONFIGURED_KEY = 0x00;
1256
- // Allow the node to join. Send the necessary key (the Network Key in
1257
- // Standard Security mode, the Trust Center Master in High Security mode)
1258
- // in-the-clear to the joining device.
1259
- EmberJoinDecision.SEND_KEY_IN_THE_CLEAR = 0x01;
1260
- // Deny join.
1261
- EmberJoinDecision.DENY_JOIN = 0x02;
1262
- // Take no action.
1263
- EmberJoinDecision.NO_ACTION = 0x03;
1264
- class EmberInitialSecurityBitmask extends basic.uint16_t {
1265
- }
1266
- exports.EmberInitialSecurityBitmask = EmberInitialSecurityBitmask;
1267
- // This is the Initial Security Bitmask that controls the use of various
1268
- // security features.
1269
- // This enables ZigBee Standard Security on the node.
1270
- EmberInitialSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1271
- // This enables Distributed Trust Center Mode for the device forming the
1272
- // network. (Previously known as NO_TRUST_CENTER_MODE)
1273
- EmberInitialSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1274
- // This enables a Global Link Key for the Trust Center. All nodes will share
1275
- // the same Trust Center Link Key.
1276
- EmberInitialSecurityBitmask.TRUST_CENTER_GLOBAL_LINK_KEY = 0x0004;
1277
- // This enables devices that perform MAC Association with a pre-configured
1278
- // Network Key to join the network. It is only set on the Trust Center.
1279
- EmberInitialSecurityBitmask.PRECONFIGURED_NETWORK_KEY_MODE = 0x0008;
1280
- // This denotes that the preconfiguredKey is not the actual Link Key but a
1281
- // Secret Key known only to the Trust Center. It is hashed with the IEEE
1282
- // Address of the destination device in order to create the actual Link Key
1283
- // used in encryption. This is bit is only used by the Trust Center. The
1284
- // joining device need not set this.
1285
- EmberInitialSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1286
- // This denotes that the preconfiguredKey element has valid data that should
1287
- // be used to configure the initial security state.
1288
- EmberInitialSecurityBitmask.HAVE_PRECONFIGURED_KEY = 0x0100;
1289
- // This denotes that the networkKey element has valid data that should be
1290
- // used to configure the initial security state.
1291
- EmberInitialSecurityBitmask.HAVE_NETWORK_KEY = 0x0200;
1292
- // This denotes to a joining node that it should attempt to acquire a Trust
1293
- // Center Link Key during joining. This is only necessary if the device does
1294
- // not have a pre-configured key.
1295
- EmberInitialSecurityBitmask.GET_LINK_KEY_WHEN_JOINING = 0x0400;
1296
- // This denotes that a joining device should only accept an encrypted
1297
- // network key from the Trust Center (using its preconfigured key). A key
1298
- // sent in-the-clear by the Trust Center will be rejected and the join will
1299
- // fail. This option is only valid when utilizing a pre-configured key.
1300
- EmberInitialSecurityBitmask.REQUIRE_ENCRYPTED_KEY = 0x0800;
1301
- // This denotes whether the device should NOT reset its outgoing frame
1302
- // counters (both NWK and APS) when ::emberSetInitialSecurityState() is
1303
- // called. Normally it is advised to reset the frame counter before joining
1304
- // a new network. However in cases where a device is joining to the same
1305
- // network a again (but not using ::emberRejoinNetwork()) it should keep the
1306
- // NWK and APS frame counters stored in its tokens.
1307
- EmberInitialSecurityBitmask.NO_FRAME_COUNTER_RESET = 0x1000;
1308
- // This denotes that the device should obtain its preconfigured key from an
1309
- // installation code stored in the manufacturing token. The token contains a
1310
- // value that will be hashed to obtain the actual preconfigured key. If that
1311
- // token is not valid, then the call to emberSetInitialSecurityState() will
1312
- // fail.
1313
- EmberInitialSecurityBitmask.GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE = 0x2000;
1314
- // This denotes that the
1315
- // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in
1316
- // it containing the trust center EUI64. The device will only join a network
1317
- // and accept commands from a trust center with that EUI64. Normally this
1318
- // bit is NOT set, and the EUI64 of the trust center is learned during the
1319
- // join process. When commissioning a device to join onto an existing
1320
- // network, which is using a trust center, and without sending any messages,
1321
- // this bit must be set and the field
1322
- // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be
1323
- // populated with the appropriate EUI64.
1324
- EmberInitialSecurityBitmask.HAVE_TRUST_CENTER_EUI64 = 0x0040;
1325
- class EmberCurrentSecurityBitmask extends basic.uint16_t {
1326
- }
1327
- exports.EmberCurrentSecurityBitmask = EmberCurrentSecurityBitmask;
1328
- // This is the Current Security Bitmask that details the use of various
1329
- // security features.
1330
- // This denotes that the device is running in a network with ZigBee Standard
1331
- // Security.
1332
- EmberCurrentSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1333
- // This denotes that the device is running in a network with ZigBee High
1334
- // Security.
1335
- EmberCurrentSecurityBitmask.HIGH_SECURITY_MODE = 0x0001;
1336
- // This denotes that the device is running in a network without a
1337
- // centralized Trust Center.
1338
- EmberCurrentSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1339
- // This denotes that the device has a Global Link Key. The Trust Center Link
1340
- // Key is the same across multiple nodes.
1341
- EmberCurrentSecurityBitmask.GLOBAL_LINK_KEY = 0x0004;
1342
- // This denotes that the node has a Trust Center Link Key.
1343
- EmberCurrentSecurityBitmask.HAVE_TRUST_CENTER_LINK_KEY = 0x0010;
1344
- // This denotes that the Trust Center is using a Hashed Link Key.
1345
- EmberCurrentSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1346
- class EmberKeyType extends basic.uint8_t {
1347
- }
1348
- exports.EmberKeyType = EmberKeyType;
1349
- // Describes the type of ZigBee security key.
1350
- // A shared key between the Trust Center and a device.
1351
- EmberKeyType.TRUST_CENTER_LINK_KEY = 0x01;
1352
- // A shared secret used for deriving keys between the Trust Center and a
1353
- // device
1354
- EmberKeyType.TRUST_CENTER_MASTER_KEY = 0x02;
1355
- // The current active Network Key used by all devices in the network.
1356
- EmberKeyType.CURRENT_NETWORK_KEY = 0x03;
1357
- // The alternate Network Key that was previously in use, or the newer key
1358
- // that will be switched to.
1359
- EmberKeyType.NEXT_NETWORK_KEY = 0x04;
1360
- // An Application Link Key shared with another (non-Trust Center) device.
1361
- EmberKeyType.APPLICATION_LINK_KEY = 0x05;
1362
- // An Application Master Key shared secret used to derive an Application
1363
- // Link Key.
1364
- EmberKeyType.APPLICATION_MASTER_KEY = 0x06;
1365
- class EmberKeyStructBitmask extends basic.uint16_t {
1366
- }
1367
- exports.EmberKeyStructBitmask = EmberKeyStructBitmask;
1368
- // Describes the presence of valid data within the EmberKeyStruct structure.
1369
- // The key has a sequence number associated with it.
1370
- EmberKeyStructBitmask.KEY_HAS_SEQUENCE_NUMBER = 0x0001;
1371
- // The key has an outgoing frame counter associated with it.
1372
- EmberKeyStructBitmask.KEY_HAS_OUTGOING_FRAME_COUNTER = 0x0002;
1373
- // The key has an incoming frame counter associated with it.
1374
- EmberKeyStructBitmask.KEY_HAS_INCOMING_FRAME_COUNTER = 0x0004;
1375
- // The key has a Partner IEEE address associated with it.
1376
- EmberKeyStructBitmask.KEY_HAS_PARTNER_EUI64 = 0x0008;
1377
- class EmberDeviceUpdate extends basic.uint8_t {
1378
- }
1379
- exports.EmberDeviceUpdate = EmberDeviceUpdate;
1380
- // The status of the device update.
1381
- EmberDeviceUpdate.STANDARD_SECURITY_SECURED_REJOIN = 0x0;
1382
- EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN = 0x1;
1383
- EmberDeviceUpdate.DEVICE_LEFT = 0x2;
1384
- EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_REJOIN = 0x3;
1385
- EmberDeviceUpdate.HIGH_SECURITY_SECURED_REJOIN = 0x4;
1386
- EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_JOIN = 0x5;
1387
- EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_REJOIN = 0x7;
1388
- class EmberKeyStatus extends basic.uint8_t {
1389
- }
1390
- exports.EmberKeyStatus = EmberKeyStatus;
1391
- // The status of the attempt to establish a key.
1392
- EmberKeyStatus.APP_LINK_KEY_ESTABLISHED = 0x01;
1393
- EmberKeyStatus.APP_MASTER_KEY_ESTABLISHED = 0x02;
1394
- EmberKeyStatus.TRUST_CENTER_LINK_KEY_ESTABLISHED = 0x03;
1395
- EmberKeyStatus.KEY_ESTABLISHMENT_TIMEOUT = 0x04;
1396
- EmberKeyStatus.KEY_TABLE_FULL = 0x05;
1397
- EmberKeyStatus.TC_RESPONDED_TO_KEY_REQUEST = 0x06;
1398
- EmberKeyStatus.TC_APP_KEY_SENT_TO_REQUESTER = 0x07;
1399
- EmberKeyStatus.TC_RESPONSE_TO_KEY_REQUEST_FAILED = 0x08;
1400
- EmberKeyStatus.TC_REQUEST_KEY_TYPE_NOT_SUPPORTED = 0x09;
1401
- EmberKeyStatus.TC_NO_LINK_KEY_FOR_REQUESTER = 0x0A;
1402
- EmberKeyStatus.TC_REQUESTER_EUI64_UNKNOWN = 0x0B;
1403
- EmberKeyStatus.TC_RECEIVED_FIRST_APP_KEY_REQUEST = 0x0C;
1404
- EmberKeyStatus.TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST = 0x0D;
1405
- EmberKeyStatus.TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED = 0x0E;
1406
- EmberKeyStatus.TC_FAILED_TO_SEND_APP_KEYS = 0x0F;
1407
- EmberKeyStatus.TC_FAILED_TO_STORE_APP_KEY_REQUEST = 0x10;
1408
- EmberKeyStatus.TC_REJECTED_APP_KEY_REQUEST = 0x11;
1409
- class EmberCounterType extends basic.uint8_t {
1410
- }
1411
- exports.EmberCounterType = EmberCounterType;
1412
- // Defines the events reported to the application by the
1413
- // readAndClearCounters command.
1414
- // The MAC received a broadcast.
1415
- EmberCounterType.COUNTER_MAC_RX_BROADCAST = 0;
1416
- // The MAC transmitted a broadcast.
1417
- EmberCounterType.COUNTER_MAC_TX_BROADCAST = 1;
1418
- // The MAC received a unicast.
1419
- EmberCounterType.COUNTER_MAC_RX_UNICAST = 2;
1420
- // The MAC successfully transmitted a unicast.
1421
- EmberCounterType.COUNTER_MAC_TX_UNICAST_SUCCESS = 3;
1422
- // The MAC retried a unicast.
1423
- EmberCounterType.COUNTER_MAC_TX_UNICAST_RETRY = 4;
1424
- // The MAC unsuccessfully transmitted a unicast.
1425
- EmberCounterType.COUNTER_MAC_TX_UNICAST_FAILED = 5;
1426
- // The APS layer received a data broadcast.
1427
- EmberCounterType.COUNTER_APS_DATA_RX_BROADCAST = 6;
1428
- // The APS layer transmitted a data broadcast.
1429
- EmberCounterType.COUNTER_APS_DATA_TX_BROADCAST = 7;
1430
- // The APS layer received a data unicast.
1431
- EmberCounterType.COUNTER_APS_DATA_RX_UNICAST = 8;
1432
- // The APS layer successfully transmitted a data unicast.
1433
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_SUCCESS = 9;
1434
- // The APS layer retried a data unicast.
1435
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_RETRY = 10;
1436
- // The APS layer unsuccessfully transmitted a data unicast.
1437
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_FAILED = 11;
1438
- // The network layer successfully submitted a new route discovery to the
1439
- // MAC.
1440
- EmberCounterType.COUNTER_ROUTE_DISCOVERY_INITIATED = 12;
1441
- // An entry was added to the neighbor table.
1442
- EmberCounterType.COUNTER_NEIGHBOR_ADDED = 13;
1443
- // An entry was removed from the neighbor table.
1444
- EmberCounterType.COUNTER_NEIGHBOR_REMOVED = 14;
1445
- // A neighbor table entry became stale because it had not been heard from.
1446
- EmberCounterType.COUNTER_NEIGHBOR_STALE = 15;
1447
- // A node joined or rejoined to the network via this node.
1448
- EmberCounterType.COUNTER_JOIN_INDICATION = 16;
1449
- // An entry was removed from the child table.
1450
- EmberCounterType.COUNTER_CHILD_REMOVED = 17;
1451
- // EZSP-UART only. An overflow error occurred in the UART.
1452
- EmberCounterType.COUNTER_ASH_OVERFLOW_ERROR = 18;
1453
- // EZSP-UART only. A framing error occurred in the UART.
1454
- EmberCounterType.COUNTER_ASH_FRAMING_ERROR = 19;
1455
- // EZSP-UART only. An overrun error occurred in the UART.
1456
- EmberCounterType.COUNTER_ASH_OVERRUN_ERROR = 20;
1457
- // A message was dropped at the network layer because the NWK frame counter
1458
- // was not higher than the last message seen from that source.
1459
- EmberCounterType.COUNTER_NWK_FRAME_COUNTER_FAILURE = 21;
1460
- // A message was dropped at the APS layer because the APS frame counter was
1461
- // not higher than the last message seen from that source.
1462
- EmberCounterType.COUNTER_APS_FRAME_COUNTER_FAILURE = 22;
1463
- // Utility counter for general debugging use.
1464
- EmberCounterType.COUNTER_UTILITY = 23;
1465
- // A message was dropped at the APS layer because it had APS encryption but
1466
- // the key associated with the sender has not been authenticated, and thus
1467
- // the key is not authorized for use in APS data messages.
1468
- EmberCounterType.COUNTER_APS_LINK_KEY_NOT_AUTHORIZED = 24;
1469
- // A NWK encrypted message was received but dropped because decryption
1470
- // failed.
1471
- EmberCounterType.COUNTER_NWK_DECRYPTION_FAILURE = 25;
1472
- // An APS encrypted message was received but dropped because decryption
1473
- // failed.
1474
- EmberCounterType.COUNTER_APS_DECRYPTION_FAILURE = 26;
1475
- // The number of times we failed to allocate a set of linked packet buffers.
1476
- // This doesn't necessarily mean that the packet buffer count was 0 at the
1477
- // time, but that the number requested was greater than the number free.
1478
- EmberCounterType.COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE = 27;
1479
- // The number of relayed unicast packets.
1480
- EmberCounterType.COUNTER_RELAYED_UNICAST = 28;
1481
- // The number of times we dropped a packet due to reaching
1482
- // the preset PHY to MAC queue limit (emMaxPhyToMacQueueLength).
1483
- EmberCounterType.COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED = 29;
1484
- // The number of times we dropped a packet due to the
1485
- // packet-validate library checking a packet and rejecting it
1486
- // due to length or other formatting problems.
1487
- EmberCounterType.COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT = 30;
1488
- // The number of times the NWK retry queue is full and a
1489
- // new message failed to be added.
1490
- EmberCounterType.COUNTER_TYPE_NWK_RETRY_OVERFLOW = 31;
1491
- // The number of times the PHY layer was unable to transmit
1492
- // due to a failed CCA.
1493
- EmberCounterType.COUNTER_PHY_CCA_FAIL_COUNT = 32;
1494
- // The number of times a NWK broadcast was dropped because
1495
- // the broadcast table was full.
1496
- EmberCounterType.COUNTER_BROADCAST_TABLE_FULL = 33;
1497
- // The number of low priority packet traffic arbitration requests.
1498
- EmberCounterType.COUNTER_PTA_LO_PRI_REQUESTED = 34;
1499
- // The number of high priority packet traffic arbitration requests.
1500
- EmberCounterType.COUNTER_PTA_HI_PRI_REQUESTED = 35;
1501
- // The number of low priority packet traffic arbitration requests denied.
1502
- EmberCounterType.COUNTER_PTA_LO_PRI_DENIED = 36;
1503
- // The number of high priority packet traffic arbitration requests denied.
1504
- EmberCounterType.COUNTER_PTA_HI_PRI_DENIED = 37;
1505
- // The number of aborted low priority packet traffic arbitration transmissions.
1506
- EmberCounterType.COUNTER_PTA_LO_PRI_TX_ABORTED = 38;
1507
- // The number of aborted high priority packet traffic arbitration transmissions.
1508
- EmberCounterType.COUNTER_PTA_HI_PRI_TX_ABORTED = 39;
1509
- // A placeholder giving the number of Ember counter types.
1510
- EmberCounterType.COUNTER_TYPE_COUNT = 40;
1511
- class EmberJoinMethod extends basic.uint8_t {
1512
- }
1513
- exports.EmberJoinMethod = EmberJoinMethod;
1514
- // The type of method used for joining.
1515
- // Normally devices use MAC Association to join a network, which respects
1516
- // the "permit joining" flag in the MAC Beacon. For mobile nodes this value
1517
- // causes the device to use an Ember Mobile Node Join, which is functionally
1518
- // equivalent to a MAC association. This value should be used by default.
1519
- EmberJoinMethod.USE_MAC_ASSOCIATION = 0x0;
1520
- // For those networks where the "permit joining" flag is never turned on,
1521
- // they will need to use a ZigBee NWK Rejoin. This value causes the rejoin
1522
- // to be sent without NWK security and the Trust Center will be asked to
1523
- // send the NWK key to the device. The NWK key sent to the device can be
1524
- // encrypted with the device's corresponding Trust Center link key. That is
1525
- // determined by the ::EmberJoinDecision on the Trust Center returned by the
1526
- // ::emberTrustCenterJoinHandler(). For a mobile node this value will cause
1527
- // it to use an Ember Mobile node rejoin, which is functionally equivalent.
1528
- EmberJoinMethod.USE_NWK_REJOIN = 0x1;
1529
- // For those networks where the "permit joining" flag is never turned on,
1530
- // they will need to use a NWK Rejoin. If those devices have been
1531
- // preconfigured with the NWK key (including sequence number) they can use a
1532
- // secured rejoin. This is only necessary for end devices since they need a
1533
- // parent. Routers can simply use the ::USE_NWK_COMMISSIONING join method
1534
- // below.
1535
- EmberJoinMethod.USE_NWK_REJOIN_HAVE_NWK_KEY = 0x2;
1536
- // For those networks where all network and security information is known
1537
- // ahead of time, a router device may be commissioned such that it does not
1538
- // need to send any messages to begin communicating on the network.
1539
- EmberJoinMethod.USE_NWK_COMMISSIONING = 0x3;
1540
- class EmberZdoConfigurationFlags extends basic.uint8_t {
1541
- }
1542
- exports.EmberZdoConfigurationFlags = EmberZdoConfigurationFlags;
1543
- // Flags for controlling which incoming ZDO requests are passed to the
1544
- // application. To see if the application is required to send a ZDO response
1545
- // to an incoming message, the application must check the APS options
1546
- // bitfield within the incomingMessageHandler callback to see if the
1547
- // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
1548
- // Set this flag in order to receive supported ZDO request messages via the
1549
- // incomingMessageHandler callback. A supported ZDO request is one that is
1550
- // handled by the EmberZNet stack. The stack will continue to handle the
1551
- // request and send the appropriate ZDO response even if this configuration
1552
- // option is enabled.
1553
- EmberZdoConfigurationFlags.APP_RECEIVES_SUPPORTED_ZDO_REQUESTS = 0x01;
1554
- // Set this flag in order to receive unsupported ZDO request messages via
1555
- // the incomingMessageHandler callback. An unsupported ZDO request is one
1556
- // that is not handled by the EmberZNet stack, other than to send a 'not
1557
- // supported' ZDO response. If this configuration option is enabled, the
1558
- // stack will no longer send any ZDO response, and it is the application's
1559
- // responsibility to do so.
1560
- EmberZdoConfigurationFlags.APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS = 0x02;
1561
- // Set this flag in order to receive the following ZDO request messages via
1562
- // the incomingMessageHandler callback: SIMPLE_DESCRIPTOR_REQUEST,
1563
- // MATCH_DESCRIPTORS_REQUEST, and ACTIVE_ENDPOINTS_REQUEST. If this
1564
- // configuration option is enabled, the stack will no longer send any ZDO
1565
- // response for these requests, and it is the application's responsibility
1566
- // to do so.
1567
- EmberZdoConfigurationFlags.APP_HANDLES_ZDO_ENDPOINT_REQUESTS = 0x04;
1568
- // Set this flag in order to receive the following ZDO request messages via
1569
- // the incomingMessageHandler callback: BINDING_TABLE_REQUEST, BIND_REQUEST,
1570
- // and UNBIND_REQUEST. If this configuration option is enabled, the stack
1571
- // will no longer send any ZDO response for these requests, and it is the
1572
- // application's responsibility to do so.
1573
- EmberZdoConfigurationFlags.APP_HANDLES_ZDO_BINDING_REQUESTS = 0x08;
1574
- class EmberConcentratorType extends basic.uint16_t {
1575
- }
1576
- exports.EmberConcentratorType = EmberConcentratorType;
1577
- // Type of concentrator.
1578
- // A concentrator with insufficient memory to store source routes for the
1579
- // entire network. Route records are sent to the concentrator prior to every
1580
- // inbound APS unicast.
1581
- EmberConcentratorType.LOW_RAM_CONCENTRATOR = 0xFFF8;
1582
- // A concentrator with sufficient memory to store source routes for the
1583
- // entire network. Remote nodes stop sending route records once the
1584
- // concentrator has successfully received one.
1585
- EmberConcentratorType.HIGH_RAM_CONCENTRATOR = 0xFFF9;
1586
- class EmberZllState extends basic.uint16_t {
1587
- }
1588
- exports.EmberZllState = EmberZllState;
1589
- // ZLL device state identifier.
1590
- // No state.
1591
- EmberZllState.ZLL_STATE_NONE = 0x0000;
1592
- // The device is factory new.
1593
- EmberZllState.ZLL_STATE_FACTORY_NEW = 0x0001;
1594
- // The device is capable of assigning addresses to other devices.
1595
- EmberZllState.ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE = 0x0002;
1596
- // The device is initiating a link operation.
1597
- EmberZllState.ZLL_STATE_LINK_INITIATOR = 0x0010;
1598
- // The device is requesting link priority.
1599
- EmberZllState.ZLL_STATE_LINK_PRIORITY_REQUEST = 0x0020;
1600
- // The device is on a non-ZLL network.
1601
- EmberZllState.ZLL_STATE_NON_ZLL_NETWORK = 0x0100;
1602
- class EmberZllKeyIndex extends basic.uint8_t {
1603
- }
1604
- exports.EmberZllKeyIndex = EmberZllKeyIndex;
1605
- // ZLL key encryption algorithm enumeration.
1606
- // Key encryption algorithm for use during development.
1607
- EmberZllKeyIndex.ZLL_KEY_INDEX_DEVELOPMENT = 0x00;
1608
- // Key encryption algorithm shared by all certified devices.
1609
- EmberZllKeyIndex.ZLL_KEY_INDEX_MASTER = 0x04;
1610
- // Key encryption algorithm for use during development and certification.
1611
- EmberZllKeyIndex.ZLL_KEY_INDEX_CERTIFICATION = 0x0F;
1612
- class EzspZllNetworkOperation extends basic.uint8_t {
1613
- }
1614
- exports.EzspZllNetworkOperation = EzspZllNetworkOperation;
1615
- // Differentiates among ZLL network operations.
1616
- EzspZllNetworkOperation.ZLL_FORM_NETWORK = 0x00; // ZLL form network command.
1617
- EzspZllNetworkOperation.ZLL_JOIN_TARGET = 0x01; // ZLL join target command.
1618
- class EzspSourceRouteOverheadInformation extends basic.uint8_t {
1619
- }
1620
- exports.EzspSourceRouteOverheadInformation = EzspSourceRouteOverheadInformation;
1621
- // Validates Source Route Overhead Information cached.
1622
- // Ezsp source route overhead unknown
1623
- EzspSourceRouteOverheadInformation.SOURCE_ROUTE_OVERHEAD_UNKNOWN = 0xFF;
1624
- class EmberNetworkInitBitmask extends basic.uint16_t {
1625
- }
1626
- exports.EmberNetworkInitBitmask = EmberNetworkInitBitmask;
1627
- // Bitmask options for emberNetworkInit().
1628
- // No options for Network Init
1629
- EmberNetworkInitBitmask.NETWORK_INIT_NO_OPTIONS = 0x0000;
1630
- // Save parent info (node ID and EUI64) in a token during joining/rejoin,
1631
- // and restore on reboot.
1632
- EmberNetworkInitBitmask.NETWORK_INIT_PARENT_INFO_IN_TOKEN = 0x0001;
1633
- class EmberZDOCmd extends basic.uint16_t {
1634
- }
1635
- exports.EmberZDOCmd = EmberZDOCmd;
1636
- // Device and Service Discovery Server Requests
1637
- EmberZDOCmd.NWK_addr_req = 0x0000;
1638
- EmberZDOCmd.IEEE_addr_req = 0x0001;
1639
- EmberZDOCmd.Node_Desc_req = 0x0002;
1640
- EmberZDOCmd.Power_Desc_req = 0x0003;
1641
- EmberZDOCmd.Simple_Desc_req = 0x0004;
1642
- EmberZDOCmd.Active_EP_req = 0x0005;
1643
- EmberZDOCmd.Match_Desc_req = 0x0006;
1644
- EmberZDOCmd.Complex_Desc_req = 0x0010;
1645
- EmberZDOCmd.User_Desc_req = 0x0011;
1646
- EmberZDOCmd.Discovery_Cache_req = 0x0012;
1647
- EmberZDOCmd.Device_annce = 0x0013;
1648
- EmberZDOCmd.User_Desc_set = 0x0014;
1649
- EmberZDOCmd.System_Server_Discovery_req = 0x0015;
1650
- EmberZDOCmd.Discovery_store_req = 0x0016;
1651
- EmberZDOCmd.Node_Desc_store_req = 0x0017;
1652
- EmberZDOCmd.Active_EP_store_req = 0x0019;
1653
- EmberZDOCmd.Simple_Desc_store_req = 0x001A;
1654
- EmberZDOCmd.Remove_node_cache_req = 0x001B;
1655
- EmberZDOCmd.Find_node_cache_req = 0x001C;
1656
- EmberZDOCmd.Extended_Simple_Desc_req = 0x001D;
1657
- EmberZDOCmd.Extended_Active_EP_req = 0x001E;
1658
- EmberZDOCmd.Parent_annce = 0x001F;
1659
- // Bind Management Server Services Responses
1660
- EmberZDOCmd.End_Device_Bind_req = 0x0020;
1661
- EmberZDOCmd.Bind_req = 0x0021;
1662
- EmberZDOCmd.Unbind_req = 0x0022;
1663
- // Network Management Server Services Requests
1664
- // ... TODO optional stuff ...
1665
- EmberZDOCmd.Mgmt_Lqi_req = 0x0031;
1666
- EmberZDOCmd.Mgmt_Rtg_req = 0x0032;
1667
- // ... TODO optional stuff ...
1668
- EmberZDOCmd.Mgmt_Leave_req = 0x0034;
1669
- EmberZDOCmd.Mgmt_Permit_Joining_req = 0x0036;
1670
- EmberZDOCmd.Mgmt_NWK_Update_req = 0x0038;
1671
- // ... TODO optional stuff ...
1672
- // Responses
1673
- // Device and Service Discovery Server Responses
1674
- EmberZDOCmd.NWK_addr_rsp = 0x8000;
1675
- EmberZDOCmd.IEEE_addr_rsp = 0x8001;
1676
- EmberZDOCmd.Node_Desc_rsp = 0x8002;
1677
- EmberZDOCmd.Power_Desc_rsp = 0x8003;
1678
- EmberZDOCmd.Simple_Desc_rsp = 0x8004;
1679
- EmberZDOCmd.Active_EP_rsp = 0x8005;
1680
- EmberZDOCmd.Match_Desc_rsp = 0x8006;
1681
- EmberZDOCmd.Complex_Desc_rsp = 0x8010;
1682
- EmberZDOCmd.User_Desc_rsp = 0x8011;
1683
- EmberZDOCmd.Discovery_Cache_rsp = 0x8012;
1684
- EmberZDOCmd.User_Desc_conf = 0x8014;
1685
- EmberZDOCmd.System_Server_Discovery_rsp = 0x8015;
1686
- EmberZDOCmd.Discovery_Store_rsp = 0x8016;
1687
- EmberZDOCmd.Node_Desc_store_rsp = 0x8017;
1688
- EmberZDOCmd.Power_Desc_store_rsp = 0x8018;
1689
- EmberZDOCmd.Active_EP_store_rsp = 0x8019;
1690
- EmberZDOCmd.Simple_Desc_store_rsp = 0x801A;
1691
- EmberZDOCmd.Remove_node_cache_rsp = 0x801B;
1692
- EmberZDOCmd.Find_node_cache_rsp = 0x801C;
1693
- EmberZDOCmd.Extended_Simple_Desc_rsp = 0x801D;
1694
- EmberZDOCmd.Extended_Active_EP_rsp = 0x801E;
1695
- EmberZDOCmd.Parent_annce_rsp = 0x801F;
1696
- // Bind Management Server Services Responses
1697
- EmberZDOCmd.End_Device_Bind_rsp = 0x8020;
1698
- EmberZDOCmd.Bind_rsp = 0x8021;
1699
- EmberZDOCmd.Unbind_rsp = 0x8022;
1700
- // ... TODO optional stuff ...
1701
- // Network Management Server Services Responses
1702
- EmberZDOCmd.Mgmt_Lqi_rsp = 0x8031;
1703
- EmberZDOCmd.Mgmt_Rtg_rsp = 0x8032;
1704
- // ... TODO optional stuff ...
1705
- EmberZDOCmd.Mgmt_Leave_rsp = 0x8034;
1706
- EmberZDOCmd.Mgmt_Permit_Joining_rsp = 0x8036;
1707
- // ... TODO optional stuff ...
1708
- EmberZDOCmd.Mgmt_NWK_Update_rsp = 0x8038;
1709
- class EzspDecisionBitmask extends basic.uint16_t {
1710
- }
1711
- exports.EzspDecisionBitmask = EzspDecisionBitmask;
1712
- // EZSP Decision bitmask.
1713
- // Disallow joins and rejoins.
1714
- EzspDecisionBitmask.DEFAULT_CONFIGURATION = 0x0000;
1715
- // Send the network key to all joining devices.
1716
- EzspDecisionBitmask.ALLOW_JOINS = 0x0001;
1717
- // Send the network key to all rejoining devices.
1718
- EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS = 0x0002;
1719
- // Send the network key in the clear.
1720
- EzspDecisionBitmask.SEND_KEY_IN_CLEAR = 0x0004;
1721
- // Do nothing for unsecured rejoins.
1722
- EzspDecisionBitmask.IGNORE_UNSECURED_REJOINS = 0x0008;
1723
- // Allow joins if there is an entry in the transient key table.
1724
- EzspDecisionBitmask.JOINS_USE_INSTALL_CODE_KEY = 0x0010;
1725
- // Delay sending the network key to a new joining device.
1726
- EzspDecisionBitmask.DEFER_JOINS = 0x0020;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.EmberZllKeyIndex = exports.EmberZllState = exports.EmberConcentratorType = exports.EmberZdoConfigurationFlags = exports.EmberJoinMethod = exports.EmberCounterType = exports.EmberKeyStatus = exports.EmberDeviceUpdate = exports.EmberKeyStructBitmask = exports.EmberKeyType = exports.EmberCurrentSecurityBitmask = exports.EmberInitialSecurityBitmask = exports.EmberJoinDecision = exports.EzspNetworkScanType = exports.EmberApsOption = exports.EmberBindingType = exports.EmberMacPassthroughType = exports.EmberOutgoingMessageType = exports.EmberIncomingMessageType = exports.EmberNetworkStatus = exports.EmberNodeType = exports.EmberEventUnits = exports.EmberStackError = exports.SLStatus = exports.EmberStatus = exports.EzspStatus = exports.EzspMfgTokenId = exports.EzspDecisionId = exports.EzspPolicyId = exports.EmberConfigTxPowerMode = exports.EzspEndpointFlags = exports.EzspExtendedValueId = exports.EzspValueId = exports.EzspConfigId = exports.Bool = exports.SecureEzspSessionId = exports.SecureEzspRandomNumber = exports.EmberGpKeyType = exports.EmberGpSecurityLevel = exports.SecureEzspSecurityLevel = exports.SecureEzspSecurityType = exports.EmberLibraryStatus = exports.EmberEUI64 = exports.EmberMulticastId = exports.EmberPanId = exports.EmberNodeId = exports.EmberRf4ceApplicationCapabilities = exports.EmberRf4ceNodeCapabilities = exports.EmberRf4ceTxOption = exports.NcpResetCode = void 0;
27
+ exports.EmberDerivedKeyType = exports.EzspDecisionBitmask = exports.EmberZDOCmd = exports.EmberNetworkInitBitmask = exports.EzspSourceRouteOverheadInformation = exports.EzspZllNetworkOperation = void 0;
28
+ /* istanbul ignore file */
29
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
30
+ const basic = __importStar(require("./basic"));
31
+ const basic_1 = require("./basic");
32
+ console.assert(basic.uint8_t);
33
+ class NcpResetCode extends basic.uint8_t {
34
+ //Reset and Error Codes for NCP
35
+ static RESET_UNKNOWN_REASON = 0x00;
36
+ static RESET_EXTERNAL = 0x01;
37
+ static RESET_POWER_ON = 0x02;
38
+ static RESET_WATCHDOG = 0x03;
39
+ static RESET_ASSERT = 0x06;
40
+ static RESET_BOOTLOADER = 0x09;
41
+ static RESET_SOFTWARE = 0x0B;
42
+ static ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT = 0x51;
43
+ static ERROR_UNKNOWN_EM3XX_ERROR = 0x80;
44
+ }
45
+ exports.NcpResetCode = NcpResetCode;
46
+ class EmberRf4ceTxOption extends basic.uint8_t {
47
+ }
48
+ exports.EmberRf4ceTxOption = EmberRf4ceTxOption;
49
+ class EmberRf4ceNodeCapabilities extends basic.uint8_t {
50
+ }
51
+ exports.EmberRf4ceNodeCapabilities = EmberRf4ceNodeCapabilities;
52
+ class EmberRf4ceApplicationCapabilities extends basic.uint8_t {
53
+ }
54
+ exports.EmberRf4ceApplicationCapabilities = EmberRf4ceApplicationCapabilities;
55
+ class EmberNodeId extends basic.uint16_t {
56
+ }
57
+ exports.EmberNodeId = EmberNodeId;
58
+ class EmberPanId extends basic.uint16_t {
59
+ }
60
+ exports.EmberPanId = EmberPanId;
61
+ class EmberMulticastId extends basic.uint16_t {
62
+ }
63
+ exports.EmberMulticastId = EmberMulticastId;
64
+ class EmberEUI64 extends (0, basic_1.fixed_list)(8, basic.uint8_t) {
65
+ _value;
66
+ constructor(_value) {
67
+ super();
68
+ this._value = _value;
69
+ if (typeof (_value) === 'string') {
70
+ if (_value.startsWith('0x'))
71
+ _value = _value.slice(2);
72
+ if (_value.length !== 16) {
73
+ throw new Error('Incorrect value passed');
74
+ }
75
+ this._value = Buffer.from(_value, 'hex');
76
+ }
77
+ else {
78
+ if (_value.length !== 8) {
79
+ throw new Error('Incorrect value passed');
80
+ }
81
+ this._value = _value;
82
+ }
83
+ }
84
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
85
+ static deserialize(cls, data) {
86
+ const arr = super.deserialize(cls, data);
87
+ const r = arr[0];
88
+ data = arr[1];
89
+ return [Buffer.from(r).reverse(), data];
90
+ }
91
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
92
+ static serialize(cls, value) {
93
+ if (value instanceof EmberEUI64) {
94
+ value = value.value;
95
+ }
96
+ console.assert(cls._length === value.length);
97
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
98
+ const val = Buffer.from(value).reverse().map(i => basic.uint8_t.serialize(basic.uint8_t, i)[0]);
99
+ return Buffer.from(val);
100
+ }
101
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
102
+ get value() {
103
+ return this._value;
104
+ }
105
+ toString() {
106
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
107
+ return Buffer.from(this._value).toString('hex');
108
+ }
109
+ }
110
+ exports.EmberEUI64 = EmberEUI64;
111
+ class EmberLibraryStatus extends basic.uint8_t {
112
+ }
113
+ exports.EmberLibraryStatus = EmberLibraryStatus;
114
+ class SecureEzspSecurityType extends basic.uint32_t {
115
+ }
116
+ exports.SecureEzspSecurityType = SecureEzspSecurityType;
117
+ class SecureEzspSecurityLevel extends basic.uint8_t {
118
+ }
119
+ exports.SecureEzspSecurityLevel = SecureEzspSecurityLevel;
120
+ class EmberGpSecurityLevel extends basic.uint8_t {
121
+ }
122
+ exports.EmberGpSecurityLevel = EmberGpSecurityLevel;
123
+ class EmberGpKeyType extends basic.uint8_t {
124
+ }
125
+ exports.EmberGpKeyType = EmberGpKeyType;
126
+ class SecureEzspRandomNumber extends basic.uint64_t {
127
+ }
128
+ exports.SecureEzspRandomNumber = SecureEzspRandomNumber;
129
+ class SecureEzspSessionId extends basic.uint64_t {
130
+ }
131
+ exports.SecureEzspSessionId = SecureEzspSessionId;
132
+ class Bool extends basic.uint8_t {
133
+ static false = 0x00; // An alias for zero, used for clarity.
134
+ static true = 0x01; // An alias for one, used for clarity.
135
+ }
136
+ exports.Bool = Bool;
137
+ class EzspConfigId extends basic.uint8_t {
138
+ // Identifies a configuration value.
139
+ // The number of packet buffers available to the stack. When set to the
140
+ // special value 0xFF, the NCP will allocate all remaining configuration RAM
141
+ // towards packet buffers, such that the resulting count will be the largest
142
+ // whole number of packet buffers that can fit into the available memory.
143
+ static CONFIG_PACKET_BUFFER_COUNT = 0x01;
144
+ // The maximum number of router neighbors the stack can keep track of. A
145
+ // neighbor is a node within radio range.
146
+ static CONFIG_NEIGHBOR_TABLE_SIZE = 0x02;
147
+ // The maximum number of APS retried messages the stack can be transmitting
148
+ // at any time.
149
+ static CONFIG_APS_UNICAST_MESSAGE_COUNT = 0x03;
150
+ // The maximum number of non-volatile bindings supported by the stack.
151
+ static CONFIG_BINDING_TABLE_SIZE = 0x04;
152
+ // The maximum number of EUI64 to network address associations that the
153
+ // stack can maintain for the application. (Note, the total number of such
154
+ // address associations maintained by the NCP is the sum of the value of
155
+ // this setting and the value of ::CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE).
156
+ static CONFIG_ADDRESS_TABLE_SIZE = 0x05;
157
+ // The maximum number of multicast groups that the device may be a member
158
+ // of.
159
+ static CONFIG_MULTICAST_TABLE_SIZE = 0x06;
160
+ // The maximum number of destinations to which a node can route messages.
161
+ // This includes both messages originating at this node and those relayed
162
+ // for others.
163
+ static CONFIG_ROUTE_TABLE_SIZE = 0x07;
164
+ // The number of simultaneous route discoveries that a node will support.
165
+ static CONFIG_DISCOVERY_TABLE_SIZE = 0x08;
166
+ // The size of the alarm broadcast buffer.
167
+ static CONFIG_BROADCAST_ALARM_DATA_SIZE = 0x09;
168
+ // The size of the unicast alarm buffers allocated for end device children.
169
+ static CONFIG_UNICAST_ALARM_DATA_SIZE = 0x0A;
170
+ // Specifies the stack profile.
171
+ static CONFIG_STACK_PROFILE = 0x0C;
172
+ // The security level used for security at the MAC and network layers. The
173
+ // supported values are 0 (no security) and 5 (payload is encrypted and a
174
+ // four-byte MIC is used for authentication).
175
+ static CONFIG_SECURITY_LEVEL = 0x0D;
176
+ // The maximum number of hops for a message.
177
+ static CONFIG_MAX_HOPS = 0x10;
178
+ // The maximum number of end device children that a router will support.
179
+ static CONFIG_MAX_END_DEVICE_CHILDREN = 0x11;
180
+ // The maximum amount of time that the MAC will hold a message for indirect
181
+ // transmission to a child.
182
+ static CONFIG_INDIRECT_TRANSMISSION_TIMEOUT = 0x12;
183
+ // The maximum amount of time that an end device child can wait between
184
+ // polls. If no poll is heard within this timeout, then the parent removes
185
+ // the end device from its tables.
186
+ static CONFIG_END_DEVICE_POLL_TIMEOUT = 0x13;
187
+ // The maximum amount of time that a mobile node can wait between polls. If
188
+ // no poll is heard within this timeout, then the parent removes the mobile
189
+ // node from its tables.
190
+ static CONFIG_MOBILE_NODE_POLL_TIMEOUT = 0x14;
191
+ // The number of child table entries reserved for use only by mobile nodes.
192
+ static CONFIG_RESERVED_MOBILE_CHILD_ENTRIES = 0x15;
193
+ // Enables boost power mode and/or the alternate transmitter output.
194
+ static CONFIG_TX_POWER_MODE = 0x17;
195
+ // 0: Allow this node to relay messages. 1: Prevent this node from relaying
196
+ // messages.
197
+ static CONFIG_DISABLE_RELAY = 0x18;
198
+ // The maximum number of EUI64 to network address associations that the
199
+ // Trust Center can maintain. These address cache entries are reserved for
200
+ // and reused by the Trust Center when processing device join/rejoin
201
+ // authentications. This cache size limits the number of overlapping joins
202
+ // the Trust Center can process within a narrow time window (e.g. two
203
+ // seconds), and thus should be set to the maximum number of near
204
+ // simultaneous joins the Trust Center is expected to accommodate. (Note,
205
+ // the total number of such address associations maintained by the NCP is
206
+ // the sum of the value of this setting and the value of
207
+ // ::CONFIG_ADDRESS_TABLE_SIZE.)
208
+ static CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE = 0x19;
209
+ // The size of the source route table.
210
+ static CONFIG_SOURCE_ROUTE_TABLE_SIZE = 0x1A;
211
+ // The units used for timing out end devices on their parents.
212
+ static CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT = 0x1B;
213
+ // The number of blocks of a fragmented message that can be sent in a single
214
+ // window.
215
+ static CONFIG_FRAGMENT_WINDOW_SIZE = 0x1C;
216
+ // The time the stack will wait (in milliseconds) between sending blocks of
217
+ // a fragmented message.
218
+ static CONFIG_FRAGMENT_DELAY_MS = 0x1D;
219
+ // The size of the Key Table used for storing individual link keys (if the
220
+ // device is a Trust Center) or Application Link Keys (if the device is a
221
+ // normal node).
222
+ static CONFIG_KEY_TABLE_SIZE = 0x1E;
223
+ // The APS ACK timeout value. The stack waits this amount of time between
224
+ // resends of APS retried messages.
225
+ static CONFIG_APS_ACK_TIMEOUT = 0x1F;
226
+ // The duration of an active scan, in the units used by the 15.4 scan
227
+ // parameter (((1 << duration) + 1) * 15ms). This also controls the jitter
228
+ // used when responding to a beacon request.
229
+ static CONFIG_ACTIVE_SCAN_DURATION = 0x20;
230
+ // The time the coordinator will wait (in seconds) for a second end device
231
+ // bind request to arrive.
232
+ static CONFIG_END_DEVICE_BIND_TIMEOUT = 0x21;
233
+ // The number of PAN id conflict reports that must be received by the
234
+ // network manager within one minute to trigger a PAN id change.
235
+ static CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD = 0x22;
236
+ // The timeout value in minutes for how long the Trust Center or a normal
237
+ // node waits for the ZigBee Request Key to complete. On the Trust Center
238
+ // this controls whether or not the device buffers the request, waiting for
239
+ // a matching pair of ZigBee Request Key. If the value is non-zero, the
240
+ // Trust Center buffers and waits for that amount of time. If the value is
241
+ // zero, the Trust Center does not buffer the request and immediately
242
+ // responds to the request. Zero is the most compliant behavior.
243
+ static CONFIG_REQUEST_KEY_TIMEOUT = 0x24;
244
+ // This value indicates the size of the runtime modifiable certificate
245
+ // table. Normally certificates are stored in MFG tokens but this table can
246
+ // be used to field upgrade devices with new Smart Energy certificates.
247
+ // This value cannot be set, it can only be queried.
248
+ static CONFIG_CERTIFICATE_TABLE_SIZE = 0x29;
249
+ // This is a bitmask that controls which incoming ZDO request messages are
250
+ // passed to the application. The bits are defined in the
251
+ // EmberZdoConfigurationFlags enumeration. To see if the application is
252
+ // required to send a ZDO response in reply to an incoming message, the
253
+ // application must check the APS options bitfield within the
254
+ // incomingMessageHandler callback to see if the
255
+ // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
256
+ static CONFIG_APPLICATION_ZDO_FLAGS = 0x2A;
257
+ // The maximum number of broadcasts during a single broadcast timeout
258
+ // period.
259
+ static CONFIG_BROADCAST_TABLE_SIZE = 0x2B;
260
+ // The size of the MAC filter list table.
261
+ static CONFIG_MAC_FILTER_TABLE_SIZE = 0x2C;
262
+ // The number of supported networks.
263
+ static CONFIG_SUPPORTED_NETWORKS = 0x2D;
264
+ // Whether multicasts are sent to the RxOnWhenIdle=true address (0xFFFD) or
265
+ // the sleepy broadcast address (0xFFFF). The RxOnWhenIdle=true address is
266
+ // the ZigBee compliant destination for multicasts.
267
+ static CONFIG_SEND_MULTICASTS_TO_SLEEPY_ADDRESS = 0x2E;
268
+ // ZLL group address initial configuration.
269
+ static CONFIG_ZLL_GROUP_ADDRESSES = 0x2F;
270
+ // ZLL rssi threshold initial configuration.
271
+ static CONFIG_ZLL_RSSI_THRESHOLD = 0x30;
272
+ // The maximum number of pairings supported by the stack. Controllers
273
+ // must support at least one pairing table entry while targets must
274
+ // support at least five.
275
+ static CONFIG_RF4CE_PAIRING_TABLE_SIZE = 0x31;
276
+ // The maximum number of outgoing RF4CE packets supported by the stack.
277
+ static CONFIG_RF4CE_PENDING_OUTGOING_PACKET_TABLE_SIZE = 0x32;
278
+ // Toggles the mtorr flow control in the stack.
279
+ static CONFIG_MTORR_FLOW_CONTROL = 0x33;
280
+ // Setting the retry queue size.
281
+ static CONFIG_RETRY_QUEUE_SIZE = 0x34;
282
+ // Setting the new broadcast entry threshold.
283
+ static CONFIG_NEW_BROADCAST_ENTRY_THRESHOLD = 0x35;
284
+ // The length of time, in seconds, that a trust center will store a
285
+ // transient link key that a device can use to join its network. A transient
286
+ // key is added with a call to emberAddTransientLinkKey. After the transient
287
+ // key is added, it will be removed once this amount of time has passed. A
288
+ // joining device will not be able to use that key to join until it is added
289
+ // again on the trust center. The default value is 300 seconds, i.e., 5
290
+ // minutes.
291
+ static CONFIG_TRANSIENT_KEY_TIMEOUT_S = 0x36;
292
+ // The number of passive acknowledgements to record from neighbors before we stop
293
+ // re-transmitting broadcasts
294
+ static CONFIG_BROADCAST_MIN_ACKS_NEEDED = 0x37;
295
+ // The length of time, in seconds, that a trust center will allow a Trust Center
296
+ // (insecure) rejoin for a device that is using the well-known link key. This timeout
297
+ // takes effect once rejoins using the well-known key has been allowed. This command
298
+ // updates the emAllowTcRejoinsUsingWellKnownKeyTimeoutSec value.
299
+ static CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S = 0x38;
300
+ }
301
+ exports.EzspConfigId = EzspConfigId;
302
+ class EzspValueId extends basic.uint8_t {
303
+ // Identifies a value.
304
+ // The contents of the node data stack token.
305
+ static VALUE_TOKEN_STACK_NODE_DATA = 0x00;
306
+ // The types of MAC passthrough messages that the host wishes to receive.
307
+ static VALUE_MAC_PASSTHROUGH_FLAGS = 0x01;
308
+ // The source address used to filter legacy EmberNet messages when the
309
+ // MAC_PASSTHROUGH_EMBERNET_SOURCE flag is set in
310
+ // VALUE_MAC_PASSTHROUGH_FLAGS.
311
+ static VALUE_EMBERNET_PASSTHROUGH_SOURCE_ADDRESS = 0x02;
312
+ // The number of available message buffers.
313
+ static VALUE_FREE_BUFFERS = 0x03;
314
+ // Selects sending synchronous callbacks in ezsp-uart.
315
+ static VALUE_UART_SYNCH_CALLBACKS = 0x04;
316
+ // The maximum incoming transfer size for the local node.
317
+ static VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE = 0x05;
318
+ // The maximum outgoing transfer size for the local node.
319
+ static VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE = 0x06;
320
+ // A boolean indicating whether stack tokens are written to persistent
321
+ // storage as they change.
322
+ static VALUE_STACK_TOKEN_WRITING = 0x07;
323
+ // A read-only value indicating whether the stack is currently performing a
324
+ // rejoin.
325
+ static VALUE_STACK_IS_PERFORMING_REJOIN = 0x08;
326
+ // A list of EmberMacFilterMatchData values.
327
+ static VALUE_MAC_FILTER_LIST = 0x09;
328
+ // The Ember Extended Security Bitmask.
329
+ static VALUE_EXTENDED_SECURITY_BITMASK = 0x0A;
330
+ // The node short ID.
331
+ static VALUE_NODE_SHORT_ID = 0x0B;
332
+ // The descriptor capability of the local node.
333
+ static VALUE_DESCRIPTOR_CAPABILITY = 0x0C;
334
+ // The stack device request sequence number of the local node.
335
+ static VALUE_STACK_DEVICE_REQUEST_SEQUENCE_NUMBER = 0x0D;
336
+ // Enable or disable radio hold-off.
337
+ static VALUE_RADIO_HOLD_OFF = 0x0E;
338
+ // The flags field associated with the endpoint data.
339
+ static VALUE_ENDPOINT_FLAGS = 0x0F;
340
+ // Enable/disable the Mfg security config key settings.
341
+ static VALUE_MFG_SECURITY_CONFIG = 0x10;
342
+ // Retrieves the version information from the stack on the NCP.
343
+ static VALUE_VERSION_INFO = 0x11;
344
+ // This will get/set the rejoin reason noted by the host for a subsequent
345
+ // call to emberFindAndRejoinNetwork(). After a call to
346
+ // emberFindAndRejoinNetwork() the host's rejoin reason will be set to
347
+ // REJOIN_REASON_NONE. The NCP will store the rejoin reason used by the
348
+ // call to emberFindAndRejoinNetwork()
349
+ static VALUE_NEXT_HOST_REJOIN_REASON = 0x12;
350
+ // This is the reason that the last rejoin took place. This value may only
351
+ // be retrieved, not set. The rejoin may have been initiated by the stack
352
+ // (NCP) or the application (host). If a host initiated a rejoin the reason
353
+ // will be set by default to REJOIN_DUE_TO_APP_EVENT_1. If the application
354
+ // wishes to denote its own rejoin reasons it can do so by calling
355
+ // ezspSetValue(VALUE_HOST_REJOIN_REASON, REJOIN_DUE_TO_APP_EVENT_X). X is a
356
+ // number corresponding to one of the app events defined. If the NCP
357
+ // initiated a rejoin it will record this value internally for retrieval by
358
+ // ezspGetValue(VALUE_REAL_REJOIN_REASON).
359
+ static VALUE_LAST_REJOIN_REASON = 0x13;
360
+ // The next ZigBee sequence number.
361
+ static VALUE_NEXT_ZIGBEE_SEQUENCE_NUMBER = 0x14;
362
+ // CCA energy detect threshold for radio.
363
+ static VALUE_CCA_THRESHOLD = 0x15;
364
+ // The threshold value for a counter
365
+ static VALUE_SET_COUNTER_THRESHOLD = 0x17;
366
+ // Resets all counters thresholds to 0xFF
367
+ static VALUE_RESET_COUNTER_THRESHOLDS = 0x18;
368
+ // Clears all the counters
369
+ static VALUE_CLEAR_COUNTERS = 0x19;
370
+ // The device RF4CE base channel
371
+ static VALUE_RF4CE_BASE_CHANNEL = 0x1A;
372
+ // The RF4CE device types supported by the node
373
+ static VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST = 0x1B;
374
+ // The RF4CE profiles supported by the node
375
+ static VALUE_RF4CE_SUPPORTED_PROFILES_LIST = 0x1C;
376
+ // Setting this byte enables R21 behavior on the NCP.
377
+ static VALUE_ENABLE_R21_BEHAVIOR = 0x29;
378
+ // Configure the antenna mode(0-primary,1-secondary,2- toggle on tx ack
379
+ // fail).
380
+ static VALUE_ANTENNA_MODE = 0x30;
381
+ // The GDP binding recipient parameters
382
+ static VALUE_RF4CE_GDP_BINDING_RECIPIENT_PARAMETERS = 0x1D;
383
+ // The GDP binding push button stimulus received pending flag
384
+ static VALUE_RF4CE_GDP_PUSH_BUTTON_STIMULUS_RECEIVED_PENDING_FLAG = 0x1E;
385
+ // The GDP originator proxy flag in the advanced binding options
386
+ static VALUE_RF4CE_GDP_BINDING_PROXY_FLAG = 0x1F;
387
+ // The GDP application specific user s join unti_VALUE_RF4CE_MSO_USER_STRING
388
+ // 0x21 The MSO user string
389
+ static VALUE_RF4CE_GDP_APPLICATION_SPECIFIC_USER_STRING = 0x20;
390
+ // The MSO user string
391
+ static VALUE_RF4CE_MSO_USER_STRING = 0x21;
392
+ // The MSO binding recipient parameters
393
+ static VALUE_RF4CE_MSO_BINDING_RECIPIENT_PARAMETERS = 0x22;
394
+ // The NWK layer security frame counter value
395
+ static VALUE_NWK_FRAME_COUNTER = 0x23;
396
+ // The APS layer security frame counter value
397
+ static VALUE_APS_FRAME_COUNTER = 0x24;
398
+ // Sets the device type to use on the next rejoin using device type
399
+ static VALUE_RETRY_DEVICE_TYPE = 0x25;
400
+ // The device RF4CE base channel
401
+ static VALUE_RF4CE_BASE_CHANNEL2 = 0x26;
402
+ // The RF4CE device types supported by the node
403
+ static VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST2 = 0x27;
404
+ // The RF4CE profiles supported by the node
405
+ static VALUE_RF4CE_SUPPORTED_PROFILES_LIST2 = 0x28;
406
+ // Enable or disable packet traffic arbitration.
407
+ static VALUE_ENABLE_PTA = 0x31;
408
+ // Set packet traffic arbitration configuration options.
409
+ static VALUE_PTA_OPTIONS = 0x32;
410
+ // Configure manufacturing library options(0-non-CSMA transmits,1-CSMA transmits).
411
+ static VALUE_MFGLIB_OPTIONS = 0x33;
412
+ static VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE = 0x3F;
413
+ }
414
+ exports.EzspValueId = EzspValueId;
415
+ class EzspExtendedValueId extends basic.uint8_t {
416
+ // Identifies a value based on specified characteristics. Each set of
417
+ // characteristics is unique to that value and is specified during the call
418
+ // to get the extended value.
419
+ // The flags field associated with the specified endpoint.
420
+ static EXTENDED_VALUE_ENDPOINT_FLAGS = 0x00;
421
+ // This is the reason for the node to leave the network as well as the
422
+ // device that told it to leave. The leave reason is the 1st byte of the
423
+ // value while the node ID is the 2nd and 3rd byte. If the leave was caused
424
+ // due to an API call rather than an over the air message, the node ID will
425
+ // be UNKNOWN_NODE_ID (0xFFFD).
426
+ static EXTENDED_VALUE_LAST_LEAVE_REASON = 0x01;
427
+ // This number of bytes of overhead required in the network frame for source
428
+ // routing to a particular destination.
429
+ static EXTENDED_VALUE_GET_SOURCE_ROUTE_OVERHEAD = 0x02;
430
+ }
431
+ exports.EzspExtendedValueId = EzspExtendedValueId;
432
+ class EzspEndpointFlags extends basic.uint16_t {
433
+ // Flags associated with the endpoint data configured on the NCP.
434
+ // Indicates that the endpoint is disabled and NOT discoverable via ZDO.
435
+ static ENDPOINT_DISABLED = 0x00;
436
+ // Indicates that the endpoint is enabled and discoverable via ZDO.
437
+ static ENDPOINT_ENABLED = 0x01;
438
+ }
439
+ exports.EzspEndpointFlags = EzspEndpointFlags;
440
+ class EmberConfigTxPowerMode extends basic.uint16_t {
441
+ // Values for CONFIG_TX_POWER_MODE.
442
+ // Normal power mode and bi-directional RF transmitter output.
443
+ static TX_POWER_MODE_DEFAULT = 0x00;
444
+ // Enable boost power mode. This is a high performance radio mode which
445
+ // offers increased receive sensitivity and transmit power at the cost of an
446
+ // increase in power consumption.
447
+ static TX_POWER_MODE_BOOST = 0x01;
448
+ // Enable the alternate transmitter output. This allows for simplified
449
+ // connection to an external power amplifier via the RF_TX_ALT_P and
450
+ // RF_TX_ALT_N pins. TX_POWER_MODE_BOOST_AND_ALTERNATE 0x03 Enable both
451
+ // boost mode and the alternate transmitter output.
452
+ static TX_POWER_MODE_ALTERNATE = 0x02;
453
+ }
454
+ exports.EmberConfigTxPowerMode = EmberConfigTxPowerMode;
455
+ class EzspPolicyId extends basic.uint8_t {
456
+ // Identifies a policy.
457
+ // Controls trust center behavior.
458
+ static TRUST_CENTER_POLICY = 0x00;
459
+ // Controls how external binding modification requests are handled.
460
+ static BINDING_MODIFICATION_POLICY = 0x01;
461
+ // Controls whether the Host supplies unicast replies.
462
+ static UNICAST_REPLIES_POLICY = 0x02;
463
+ // Controls whether pollHandler callbacks are generated.
464
+ static POLL_HANDLER_POLICY = 0x03;
465
+ // Controls whether the message contents are included in the
466
+ // messageSentHandler callback.
467
+ static MESSAGE_CONTENTS_IN_CALLBACK_POLICY = 0x04;
468
+ // Controls whether the Trust Center will respond to Trust Center link key
469
+ // requests.
470
+ static TC_KEY_REQUEST_POLICY = 0x05;
471
+ // Controls whether the Trust Center will respond to application link key
472
+ // requests.
473
+ static APP_KEY_REQUEST_POLICY = 0x06;
474
+ // Controls whether ZigBee packets that appear invalid are automatically
475
+ // dropped by the stack. A counter will be incremented when this occurs.
476
+ static PACKET_VALIDATE_LIBRARY_POLICY = 0x07;
477
+ // Controls whether the stack will process ZLL messages.
478
+ static ZLL_POLICY = 0x08;
479
+ static TC_REJOINS_USING_WELL_KNOWN_KEY_POLICY = 0x09;
480
+ }
481
+ exports.EzspPolicyId = EzspPolicyId;
482
+ class EzspDecisionId extends basic.uint16_t {
483
+ // Identifies a policy decision.
484
+ // Send the network key in the clear to all joining and rejoining devices.
485
+ static ALLOW_JOINS = 0x00;
486
+ // Send the network key in the clear to all joining devices. Rejoining
487
+ // devices are sent the network key encrypted with their trust center link
488
+ // key. The trust center and any rejoining device are assumed to share a
489
+ // link key, either preconfigured or obtained under a previous policy.
490
+ static ALLOW_JOINS_REJOINS_HAVE_LINK_KEY = 0x04;
491
+ // Send the network key encrypted with the joining or rejoining device's
492
+ // trust center link key. The trust center and any joining or rejoining
493
+ // device are assumed to share a link key, either preconfigured or obtained
494
+ // under a previous policy. This is the default value for the
495
+ // TRUST_CENTER_POLICY.
496
+ static ALLOW_PRECONFIGURED_KEY_JOINS = 0x01;
497
+ // Send the network key encrypted with the rejoining device's trust center
498
+ // link key. The trust center and any rejoining device are assumed to share
499
+ // a link key, either preconfigured or obtained under a previous policy. No
500
+ // new devices are allowed to join.
501
+ static ALLOW_REJOINS_ONLY = 0x02;
502
+ // Reject all unsecured join and rejoin attempts.
503
+ static DISALLOW_ALL_JOINS_AND_REJOINS = 0x03;
504
+ // Take no action on trust center rejoin attempts.
505
+ static IGNORE_TRUST_CENTER_REJOINS = 0x05;
506
+ // BINDING_MODIFICATION_POLICY default decision. Do not allow the local
507
+ // binding table to be changed by remote nodes.
508
+ static DISALLOW_BINDING_MODIFICATION = 0x10;
509
+ // BINDING_MODIFICATION_POLICY decision. Allow remote nodes to change
510
+ // the local binding table.
511
+ static ALLOW_BINDING_MODIFICATION = 0x11;
512
+ // BINDING_MODIFICATION_POLICY decision. Allows remote nodes to set local
513
+ // binding entries only if the entries correspond to endpoints defined on
514
+ // the device, and for output clusters bound to those endpoints.
515
+ static CHECK_BINDING_MODIFICATIONS_ARE_VALID_ENDPOINT_CLUSTERS = 0x12;
516
+ // UNICAST_REPLIES_POLICY default decision. The NCP will automatically send
517
+ // an empty reply (containing no payload) for every unicast received.
518
+ static HOST_WILL_NOT_SUPPLY_REPLY = 0x20;
519
+ // UNICAST_REPLIES_POLICY decision. The NCP will only send a reply if it
520
+ // receives a sendReply command from the Host.
521
+ static HOST_WILL_SUPPLY_REPLY = 0x21;
522
+ // POLL_HANDLER_POLICY default decision. Do not inform the Host when a child
523
+ // polls.
524
+ static POLL_HANDLER_IGNORE = 0x30;
525
+ // POLL_HANDLER_POLICY decision. Generate a pollHandler callback when a
526
+ // child polls.
527
+ static POLL_HANDLER_CALLBACK = 0x31;
528
+ // MESSAGE_CONTENTS_IN_CALLBACK_POLICY default decision. Include only the
529
+ // message tag in the messageSentHandler callback.
530
+ static MESSAGE_TAG_ONLY_IN_CALLBACK = 0x40;
531
+ // MESSAGE_CONTENTS_IN_CALLBACK_POLICY decision. Include both the message
532
+ // tag and the message contents in the messageSentHandler callback.
533
+ static MESSAGE_TAG_AND_CONTENTS_IN_CALLBACK = 0x41;
534
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
535
+ // for a Trust Center link key, it will be ignored.
536
+ static DENY_TC_KEY_REQUESTS = 0x50;
537
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
538
+ // for a Trust Center link key, it will reply to it with the corresponding
539
+ // key.
540
+ static ALLOW_TC_KEY_REQUESTS = 0x51;
541
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
542
+ // for a Trust Center link key, it will generate a key to send to the
543
+ // joiner.
544
+ static GENERATE_NEW_TC_LINK_KEY = 0x52;
545
+ // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
546
+ // for an application link key, it will be ignored.
547
+ static DENY_APP_KEY_REQUESTS = 0x60;
548
+ // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
549
+ // for an application link key, it will randomly generate a key and send it
550
+ // to both partners.
551
+ static ALLOW_APP_KEY_REQUESTS = 0x61;
552
+ // Indicates that packet validate library checks are enabled on the NCP.
553
+ static PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED = 0x62;
554
+ // Indicates that packet validate library checks are NOT enabled on the NCP.
555
+ static PACKET_VALIDATE_LIBRARY_CHECKS_DISABLED = 0x63;
556
+ }
557
+ exports.EzspDecisionId = EzspDecisionId;
558
+ class EzspMfgTokenId extends basic.uint8_t {
559
+ // Manufacturing token IDs used by ezspGetMfgToken().
560
+ // Custom version (2 bytes).
561
+ static MFG_CUSTOM_VERSION = 0x00;
562
+ // Manufacturing string (16 bytes).
563
+ static MFG_STRING = 0x01;
564
+ // Board name (16 bytes).
565
+ static MFG_BOARD_NAME = 0x02;
566
+ // Manufacturing ID (2 bytes).
567
+ static MFG_MANUF_ID = 0x03;
568
+ // Radio configuration (2 bytes).
569
+ static MFG_PHY_CONFIG = 0x04;
570
+ // Bootload AES key (16 bytes).
571
+ static MFG_BOOTLOAD_AES_KEY = 0x05;
572
+ // ASH configuration (40 bytes).
573
+ static MFG_ASH_CONFIG = 0x06;
574
+ // EZSP storage (8 bytes).
575
+ static MFG_STORAGE = 0x07;
576
+ // Radio calibration data (64 bytes). 4 bytes are stored for each of the 16
577
+ // channels. This token is not stored in the Flash Information Area. It is
578
+ // updated by the stack each time a calibration is performed.
579
+ static STACK_CAL_DATA = 0x08;
580
+ // Certificate Based Key Exchange (CBKE) data (92 bytes).
581
+ static MFG_CBKE_DATA = 0x09;
582
+ // Installation code (20 bytes).
583
+ static MFG_INSTALLATION_CODE = 0x0A;
584
+ // Radio channel filter calibration data (1 byte). This token is not stored
585
+ // in the Flash Information Area. It is updated by the stack each time a
586
+ // calibration is performed.
587
+ static STACK_CAL_FILTER = 0x0B;
588
+ // Custom EUI64 MAC address (8 bytes).
589
+ static MFG_CUSTOM_EUI_64 = 0x0C;
590
+ // CTUNE value (2 byte).
591
+ static MFG_CTUNE = 0x0D;
592
+ }
593
+ exports.EzspMfgTokenId = EzspMfgTokenId;
594
+ class EzspStatus extends basic.uint8_t {
595
+ // Status values used by EZSP.
596
+ // Success.
597
+ static SUCCESS = 0x00;
598
+ // Fatal error.
599
+ static SPI_ERR_FATAL = 0x10;
600
+ // The Response frame of the current transaction indicates the NCP has
601
+ // reset.
602
+ static SPI_ERR_NCP_RESET = 0x11;
603
+ // The NCP is reporting that the Command frame of the current transaction is
604
+ // oversized (the length byte is too large).
605
+ static SPI_ERR_OVERSIZED_FRAME = 0x12;
606
+ // The Response frame of the current transaction indicates the previous
607
+ // transaction was aborted (nSSEL deasserted too soon).
608
+ static SPI_ERR_ABORTED_TRANSACTION = 0x13;
609
+ // The Response frame of the current transaction indicates the frame
610
+ // terminator is missing from the Command frame.
611
+ static SPI_ERR_MISSING_FRAME_TERMINATOR = 0x14;
612
+ // The NCP has not provided a Response within the time limit defined by
613
+ // WAIT_SECTION_TIMEOUT.
614
+ static SPI_ERR_WAIT_SECTION_TIMEOUT = 0x15;
615
+ // The Response frame from the NCP is missing the frame terminator.
616
+ static SPI_ERR_NO_FRAME_TERMINATOR = 0x16;
617
+ // The Host attempted to send an oversized Command (the length byte is too
618
+ // large) and the AVR's spi-protocol.c blocked the transmission.
619
+ static SPI_ERR_COMMAND_OVERSIZED = 0x17;
620
+ // The NCP attempted to send an oversized Response (the length byte is too
621
+ // large) and the AVR's spi-protocol.c blocked the reception.
622
+ static SPI_ERR_RESPONSE_OVERSIZED = 0x18;
623
+ // The Host has sent the Command and is still waiting for the NCP to send a
624
+ // Response.
625
+ static SPI_WAITING_FOR_RESPONSE = 0x19;
626
+ // The NCP has not asserted nHOST_INT within the time limit defined by
627
+ // WAKE_HANDSHAKE_TIMEOUT.
628
+ static SPI_ERR_HANDSHAKE_TIMEOUT = 0x1A;
629
+ // The NCP has not asserted nHOST_INT after an NCP reset within the time
630
+ // limit defined by STARTUP_TIMEOUT.
631
+ static SPI_ERR_STARTUP_TIMEOUT = 0x1B;
632
+ // The Host attempted to verify the SPI Protocol activity and version
633
+ // number, and the verification failed.
634
+ static SPI_ERR_STARTUP_FAIL = 0x1C;
635
+ // The Host has sent a command with a SPI Byte that is unsupported by the
636
+ // current mode the NCP is operating in.
637
+ static SPI_ERR_UNSUPPORTED_SPI_COMMAND = 0x1D;
638
+ // Operation not yet complete.
639
+ static ASH_IN_PROGRESS = 0x20;
640
+ // Fatal error detected by host.
641
+ static HOST_FATAL_ERROR = 0x21;
642
+ // Fatal error detected by NCP.
643
+ static ASH_NCP_FATAL_ERROR = 0x22;
644
+ // Tried to send DATA frame too long.
645
+ static DATA_FRAME_TOO_LONG = 0x23;
646
+ // Tried to send DATA frame too short.
647
+ static DATA_FRAME_TOO_SHORT = 0x24;
648
+ // No space for tx'ed DATA frame.
649
+ static NO_TX_SPACE = 0x25;
650
+ // No space for rec'd DATA frame.
651
+ static NO_RX_SPACE = 0x26;
652
+ // No receive data available.
653
+ static NO_RX_DATA = 0x27;
654
+ // Not in Connected state.
655
+ static NOT_CONNECTED = 0x28;
656
+ // The NCP received a command before the EZSP version had been set.
657
+ static ERROR_VERSION_NOT_SET = 0x30;
658
+ // The NCP received a command containing an unsupported frame ID.
659
+ static ERROR_INVALID_FRAME_ID = 0x31;
660
+ // The direction flag in the frame control field was incorrect.
661
+ static ERROR_WRONG_DIRECTION = 0x32;
662
+ // The truncated flag in the frame control field was set, indicating there
663
+ // was not enough memory available to complete the response or that the
664
+ // response would have exceeded the maximum EZSP frame length.
665
+ static ERROR_TRUNCATED = 0x33;
666
+ // The overflow flag in the frame control field was set, indicating one or
667
+ // more callbacks occurred since the previous response and there was not
668
+ // enough memory available to report them to the Host.
669
+ static ERROR_OVERFLOW = 0x34;
670
+ // Insufficient memory was available.
671
+ static ERROR_OUT_OF_MEMORY = 0x35;
672
+ // The value was out of bounds.
673
+ static ERROR_INVALID_VALUE = 0x36;
674
+ // The configuration id was not recognized.
675
+ static ERROR_INVALID_ID = 0x37;
676
+ // Configuration values can no longer be modified.
677
+ static ERROR_INVALID_CALL = 0x38;
678
+ // The NCP failed to respond to a command.
679
+ static ERROR_NO_RESPONSE = 0x39;
680
+ // The length of the command exceeded the maximum EZSP frame length.
681
+ static ERROR_COMMAND_TOO_LONG = 0x40;
682
+ // The UART receive queue was full causing a callback response to be
683
+ // dropped.
684
+ static ERROR_QUEUE_FULL = 0x41;
685
+ // The command has been filtered out by NCP.
686
+ static ERROR_COMMAND_FILTERED = 0x42;
687
+ // EZSP Security Key is already set
688
+ static ERROR_SECURITY_KEY_ALREADY_SET = 0x43;
689
+ // EZSP Security Type is invalid
690
+ static ERROR_SECURITY_TYPE_INVALID = 0x44;
691
+ // EZSP Security Parameters are invalid
692
+ static ERROR_SECURITY_PARAMETERS_INVALID = 0x45;
693
+ // EZSP Security Parameters are already set
694
+ static ERROR_SECURITY_PARAMETERS_ALREADY_SET = 0x46;
695
+ // EZSP Security Key is not set
696
+ static ERROR_SECURITY_KEY_NOT_SET = 0x47;
697
+ // EZSP Security Parameters are not set
698
+ static ERROR_SECURITY_PARAMETERS_NOT_SET = 0x48;
699
+ // Received frame with unsupported control byte
700
+ static ERROR_UNSUPPORTED_CONTROL = 0x49;
701
+ // Received frame is unsecure, when security is established
702
+ static ERROR_UNSECURE_FRAME = 0x4A;
703
+ // Incompatible ASH version
704
+ static ASH_ERROR_VERSION = 0x50;
705
+ // Exceeded max ACK timeouts
706
+ static ASH_ERROR_TIMEOUTS = 0x51;
707
+ // Timed out waiting for RSTACK
708
+ static ASH_ERROR_RESET_FAIL = 0x52;
709
+ // Unexpected ncp reset
710
+ static ASH_ERROR_NCP_RESET = 0x53;
711
+ // Serial port initialization failed
712
+ static ERROR_SERIAL_INIT = 0x54;
713
+ // Invalid ncp processor type
714
+ static ASH_ERROR_NCP_TYPE = 0x55;
715
+ // Invalid ncp reset method
716
+ static ASH_ERROR_RESET_METHOD = 0x56;
717
+ // XON/XOFF not supported by host driver
718
+ static ASH_ERROR_XON_XOFF = 0x57;
719
+ // ASH protocol started
720
+ static ASH_STARTED = 0x70;
721
+ // ASH protocol connected
722
+ static ASH_CONNECTED = 0x71;
723
+ // ASH protocol disconnected
724
+ static ASH_DISCONNECTED = 0x72;
725
+ // Timer expired waiting for ack
726
+ static ASH_ACK_TIMEOUT = 0x73;
727
+ // Frame in progress cancelled
728
+ static ASH_CANCELLED = 0x74;
729
+ // Received frame out of sequence
730
+ static ASH_OUT_OF_SEQUENCE = 0x75;
731
+ // Received frame with CRC error
732
+ static ASH_BAD_CRC = 0x76;
733
+ // Received frame with comm error
734
+ static ASH_COMM_ERROR = 0x77;
735
+ // Received frame with bad ackNum
736
+ static ASH_BAD_ACKNUM = 0x78;
737
+ // Received frame shorter than minimum
738
+ static ASH_TOO_SHORT = 0x79;
739
+ // Received frame longer than maximum
740
+ static ASH_TOO_LONG = 0x7A;
741
+ // Received frame with illegal control byte
742
+ static ASH_BAD_CONTROL = 0x7B;
743
+ // Received frame with illegal length for its type
744
+ static ASH_BAD_LENGTH = 0x7C;
745
+ // Received ASH Ack
746
+ static ASH_ACK_RECEIVED = 0x7D;
747
+ // Sent ASH Ack
748
+ static ASH_ACK_SENT = 0x7E;
749
+ // No reset or error
750
+ static NO_ERROR = 0xFF;
751
+ }
752
+ exports.EzspStatus = EzspStatus;
753
+ class EmberStatus extends basic.uint8_t {
754
+ // Return type for stack functions.
755
+ // The generic 'no error' message.
756
+ static SUCCESS = 0x00;
757
+ // The generic 'fatal error' message.
758
+ static ERR_FATAL = 0x01;
759
+ // An invalid value was passed as an argument to a function
760
+ static BAD_ARGUMENT = 0x02;
761
+ // The manufacturing and stack token format in nonvolatile memory is
762
+ // different than what the stack expects (returned at initialization).
763
+ static EEPROM_MFG_STACK_VERSION_MISMATCH = 0x04;
764
+ // The static memory definitions in ember-staticmemory.h are incompatible
765
+ // with this stack version.
766
+ static INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS = 0x05;
767
+ // The manufacturing token format in non-volatile memory is different than
768
+ // what the stack expects (returned at initialization).
769
+ static EEPROM_MFG_VERSION_MISMATCH = 0x06;
770
+ // The stack token format in non-volatile memory is different than what the
771
+ // stack expects (returned at initialization).
772
+ static EEPROM_STACK_VERSION_MISMATCH = 0x07;
773
+ // There are no more buffers.
774
+ static NO_BUFFERS = 0x18;
775
+ // Specified an invalid baud rate.
776
+ static SERIAL_INVALID_BAUD_RATE = 0x20;
777
+ // Specified an invalid serial port.
778
+ static SERIAL_INVALID_PORT = 0x21;
779
+ // Tried to send too much data.
780
+ static SERIAL_TX_OVERFLOW = 0x22;
781
+ // There was not enough space to store a received character and the
782
+ // character was dropped.
783
+ static SERIAL_RX_OVERFLOW = 0x23;
784
+ // Detected a UART framing error.
785
+ static SERIAL_RX_FRAME_ERROR = 0x24;
786
+ // Detected a UART parity error.
787
+ static SERIAL_RX_PARITY_ERROR = 0x25;
788
+ // There is no received data to process.
789
+ static SERIAL_RX_EMPTY = 0x26;
790
+ // The receive interrupt was not handled in time, and a character was
791
+ // dropped.
792
+ static SERIAL_RX_OVERRUN_ERROR = 0x27;
793
+ // The MAC transmit queue is full.
794
+ static MAC_TRANSMIT_QUEUE_FULL = 0x39;
795
+ // MAC header FCR error on receive.
796
+ static MAC_UNKNOWN_HEADER_TYPE = 0x3A;
797
+ // The MAC can't complete this task because it is scanning.
798
+ static MAC_SCANNING = 0x3D;
799
+ // No pending data exists for device doing a data poll.
800
+ static MAC_NO_DATA = 0x31;
801
+ // Attempt to scan when we are joined to a network.
802
+ static MAC_JOINED_NETWORK = 0x32;
803
+ // Scan duration must be 0 to 14 inclusive. Attempt was made to scan with an
804
+ // incorrect duration value.
805
+ static MAC_BAD_SCAN_DURATION = 0x33;
806
+ // emberStartScan was called with an incorrect scan type.
807
+ static MAC_INCORRECT_SCAN_TYPE = 0x34;
808
+ // emberStartScan was called with an invalid channel mask.
809
+ static MAC_INVALID_CHANNEL_MASK = 0x35;
810
+ // Failed to scan current channel because we were unable to transmit the
811
+ // relevant MAC command.
812
+ static MAC_COMMAND_TRANSMIT_FAILURE = 0x36;
813
+ // We expected to receive an ACK following the transmission, but the MAC
814
+ // level ACK was never received.
815
+ static MAC_NO_ACK_RECEIVED = 0x40;
816
+ // Indirect data message timed out before polled.
817
+ static MAC_INDIRECT_TIMEOUT = 0x42;
818
+ // The Simulated EEPROM is telling the application that there is at least
819
+ // one flash page to be erased. The GREEN status means the current page has
820
+ // not filled above the ERASE_CRITICAL_THRESHOLD. The application should
821
+ // call the function halSimEepromErasePage when it can to erase a page.
822
+ static SIM_EEPROM_ERASE_PAGE_GREEN = 0x43;
823
+ // The Simulated EEPROM is telling the application that there is at least
824
+ // one flash page to be erased. The RED status means the current page has
825
+ // filled above the ERASE_CRITICAL_THRESHOLD. Due to the shrinking
826
+ // availability of write space, there is a danger of data loss. The
827
+ // application must call the function halSimEepromErasePage as soon as
828
+ // possible to erase a page.
829
+ static SIM_EEPROM_ERASE_PAGE_RED = 0x44;
830
+ // The Simulated EEPROM has run out of room to write any new data and the
831
+ // data trying to be set has been lost. This error code is the result of
832
+ // ignoring the SIM_EEPROM_ERASE_PAGE_RED error code. The application must
833
+ // call the function halSimEepromErasePage to make room for any further
834
+ // calls to set a token.
835
+ static SIM_EEPROM_FULL = 0x45;
836
+ // A fatal error has occurred while trying to write data to the Flash. The
837
+ // target memory attempting to be programmed is already programmed. The
838
+ // flash write routines were asked to flip a bit from a 0 to 1, which is
839
+ // physically impossible and the write was therefore inhibited. The data in
840
+ // the flash cannot be trusted after this error.
841
+ static ERR_FLASH_WRITE_INHIBITED = 0x46;
842
+ // A fatal error has occurred while trying to write data to the Flash and
843
+ // the write verification has failed. The data in the flash cannot be
844
+ // trusted after this error, and it is possible this error is the result of
845
+ // exceeding the life cycles of the flash.
846
+ static ERR_FLASH_VERIFY_FAILED = 0x47;
847
+ // Attempt 1 to initialize the Simulated EEPROM has failed. This failure
848
+ // means the information already stored in Flash (or a lack thereof), is
849
+ // fatally incompatible with the token information compiled into the code
850
+ // image being run.
851
+ static SIM_EEPROM_INIT_1_FAILED = 0x48;
852
+ // Attempt 2 to initialize the Simulated EEPROM has failed. This failure
853
+ // means Attempt 1 failed, and the token system failed to properly reload
854
+ // default tokens and reset the Simulated EEPROM.
855
+ static SIM_EEPROM_INIT_2_FAILED = 0x49;
856
+ // Attempt 3 to initialize the Simulated EEPROM has failed. This failure
857
+ // means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or
858
+ // TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
859
+ // properly reload default tokens and reset the Simulated EEPROM.
860
+ static SIM_EEPROM_INIT_3_FAILED = 0x4A;
861
+ // A fatal error has occurred while trying to write data to the flash,
862
+ // possibly due to write protection or an invalid address. The data in the
863
+ // flash cannot be trusted after this error, and it is possible this error
864
+ // is the result of exceeding the life cycles of the flash.
865
+ static ERR_FLASH_PROG_FAIL = 0x4B;
866
+ // A fatal error has occurred while trying to erase flash, possibly due to
867
+ // write protection. The data in the flash cannot be trusted after this
868
+ // error, and it is possible this error is the result of exceeding the life
869
+ // cycles of the flash.
870
+ static ERR_FLASH_ERASE_FAIL = 0x4C;
871
+ // The bootloader received an invalid message (failed attempt to go into
872
+ // bootloader).
873
+ static ERR_BOOTLOADER_TRAP_TABLE_BAD = 0x58;
874
+ // Bootloader received an invalid message (failed attempt to go into
875
+ // bootloader).
876
+ static ERR_BOOTLOADER_TRAP_UNKNOWN = 0x59;
877
+ // The bootloader cannot complete the bootload operation because either an
878
+ // image was not found or the image exceeded memory bounds.
879
+ static ERR_BOOTLOADER_NO_IMAGE = 0x5A;
880
+ // The APS layer attempted to send or deliver a message, but it failed.
881
+ static DELIVERY_FAILED = 0x66;
882
+ // This binding index is out of range of the current binding table.
883
+ static BINDING_INDEX_OUT_OF_RANGE = 0x69;
884
+ // This address table index is out of range for the current address table.
885
+ static ADDRESS_TABLE_INDEX_OUT_OF_RANGE = 0x6A;
886
+ // An invalid binding table index was given to a function.
887
+ static INVALID_BINDING_INDEX = 0x6C;
888
+ // The API call is not allowed given the current state of the stack.
889
+ static INVALID_CALL = 0x70;
890
+ // The link cost to a node is not known.
891
+ static COST_NOT_KNOWN = 0x71;
892
+ // The maximum number of in-flight messages (i.e.
893
+ // APS_UNICAST_MESSAGE_COUNT) has been reached.
894
+ static MAX_MESSAGE_LIMIT_REACHED = 0x72;
895
+ // The message to be transmitted is too big to fit into a single over-the-
896
+ // air packet.
897
+ static MESSAGE_TOO_LONG = 0x74;
898
+ // The application is trying to delete or overwrite a binding that is in
899
+ // use.
900
+ static BINDING_IS_ACTIVE = 0x75;
901
+ // The application is trying to overwrite an address table entry that is in
902
+ // use.
903
+ static ADDRESS_TABLE_ENTRY_IS_ACTIVE = 0x76;
904
+ // Conversion is complete.
905
+ static ADC_CONVERSION_DONE = 0x80;
906
+ // Conversion cannot be done because a request is being processed.
907
+ static ADC_CONVERSION_BUSY = 0x81;
908
+ // Conversion is deferred until the current request has been processed.
909
+ static ADC_CONVERSION_DEFERRED = 0x82;
910
+ // No results are pending.
911
+ static ADC_NO_CONVERSION_PENDING = 0x84;
912
+ // Sleeping (for a duration) has been abnormally interrupted and exited
913
+ // prematurely.
914
+ static SLEEP_INTERRUPTED = 0x85;
915
+ // The transmit hardware buffer underflowed.
916
+ static PHY_TX_UNDERFLOW = 0x88;
917
+ // The transmit hardware did not finish transmitting a packet.
918
+ static PHY_TX_INCOMPLETE = 0x89;
919
+ // An unsupported channel setting was specified.
920
+ static PHY_INVALID_CHANNEL = 0x8A;
921
+ // An unsupported power setting was specified.
922
+ static PHY_INVALID_POWER = 0x8B;
923
+ // The packet cannot be transmitted because the physical MAC layer is
924
+ // currently transmitting a packet. (This is used for the MAC backoff
925
+ // algorithm.) PHY_TX_CCA_FAIL 0x8D The transmit attempt failed because all
926
+ // CCA attempts indicated that the channel was busy
927
+ static PHY_TX_BUSY = 0x8C;
928
+ // The software installed on the hardware doesn't recognize the hardware
929
+ // radio type.
930
+ static PHY_OSCILLATOR_CHECK_FAILED = 0x8E;
931
+ // The expected ACK was received after the last transmission.
932
+ static PHY_ACK_RECEIVED = 0x8F;
933
+ // The stack software has completed initialization and is ready to send and
934
+ // receive packets over the air.
935
+ static NETWORK_UP = 0x90;
936
+ // The network is not operating.
937
+ static NETWORK_DOWN = 0x91;
938
+ // An attempt to join a network failed.
939
+ static JOIN_FAILED = 0x94;
940
+ // After moving, a mobile node's attempt to re-establish contact with the
941
+ // network failed.
942
+ static MOVE_FAILED = 0x96;
943
+ // An attempt to join as a router failed due to a ZigBee versus ZigBee Pro
944
+ // incompatibility. ZigBee devices joining ZigBee Pro networks (or vice
945
+ // versa) must join as End Devices, not Routers.
946
+ static CANNOT_JOIN_AS_ROUTER = 0x98;
947
+ // The local node ID has changed. The application can obtain the new node ID
948
+ // by calling emberGetNodeId().
949
+ static NODE_ID_CHANGED = 0x99;
950
+ // The local PAN ID has changed. The application can obtain the new PAN ID
951
+ // by calling emberGetPanId().
952
+ static PAN_ID_CHANGED = 0x9A;
953
+ // An attempt to join or rejoin the network failed because no router beacons
954
+ // could be heard by the joining node.
955
+ static NO_BEACONS = 0xAB;
956
+ // An attempt was made to join a Secured Network using a pre-configured key,
957
+ // but the Trust Center sent back a Network Key in-the-clear when an
958
+ // encrypted Network Key was required.
959
+ static RECEIVED_KEY_IN_THE_CLEAR = 0xAC;
960
+ // An attempt was made to join a Secured Network, but the device did not
961
+ // receive a Network Key.
962
+ static NO_NETWORK_KEY_RECEIVED = 0xAD;
963
+ // After a device joined a Secured Network, a Link Key was requested but no
964
+ // response was ever received.
965
+ static NO_LINK_KEY_RECEIVED = 0xAE;
966
+ // An attempt was made to join a Secured Network without a pre-configured
967
+ // key, but the Trust Center sent encrypted data using a pre-configured key.
968
+ static PRECONFIGURED_KEY_REQUIRED = 0xAF;
969
+ // The node has not joined a network.
970
+ static NOT_JOINED = 0x93;
971
+ // The chosen security level (the value of SECURITY_LEVEL) is not supported
972
+ // by the stack.
973
+ static INVALID_SECURITY_LEVEL = 0x95;
974
+ // A message cannot be sent because the network is currently overloaded.
975
+ static NETWORK_BUSY = 0xA1;
976
+ // The application tried to send a message using an endpoint that it has not
977
+ // defined.
978
+ static INVALID_ENDPOINT = 0xA3;
979
+ // The application tried to use a binding that has been remotely modified
980
+ // and the change has not yet been reported to the application.
981
+ static BINDING_HAS_CHANGED = 0xA4;
982
+ // An attempt to generate random bytes failed because of insufficient random
983
+ // data from the radio.
984
+ static INSUFFICIENT_RANDOM_DATA = 0xA5;
985
+ // There was an error in trying to encrypt at the APS Level. This could
986
+ // result from either an inability to determine the long address of the
987
+ // recipient from the short address (no entry in the binding table) or there
988
+ // is no link key entry in the table associated with the destination, or
989
+ // there was a failure to load the correct key into the encryption core.
990
+ // TRUST_CENTER_MASTER_KEY_NOT_SET 0xA7 There was an attempt to form a
991
+ // network using commercial security without setting the Trust Center master
992
+ // key first.
993
+ static APS_ENCRYPTION_ERROR = 0xA6;
994
+ // There was an attempt to form or join a network with security without
995
+ // calling emberSetInitialSecurityState() first.
996
+ static SECURITY_STATE_NOT_SET = 0xA8;
997
+ // There was an attempt to set an entry in the key table using an invalid
998
+ // long address. An entry cannot be set using either the local device's or
999
+ // Trust Center's IEEE address. Or an entry already exists in the table with
1000
+ // the same IEEE address. An Address of all zeros or all F's are not valid
1001
+ // addresses in 802.15.4.
1002
+ static KEY_TABLE_INVALID_ADDRESS = 0xB3;
1003
+ // There was an attempt to set a security configuration that is not valid
1004
+ // given the other security settings.
1005
+ static SECURITY_CONFIGURATION_INVALID = 0xB7;
1006
+ // There was an attempt to broadcast a key switch too quickly after
1007
+ // broadcasting the next network key. The Trust Center must wait at least a
1008
+ // period equal to the broadcast timeout so that all routers have a chance
1009
+ // to receive the broadcast of the new network key.
1010
+ static TOO_SOON_FOR_SWITCH_KEY = 0xB8;
1011
+ // The message could not be sent because the link key corresponding to the
1012
+ // destination is not authorized for use in APS data messages. APS Commands
1013
+ // (sent by the stack) are allowed. To use it for encryption of APS data
1014
+ // messages it must be authorized using a key agreement protocol (such as
1015
+ // CBKE).
1016
+ static KEY_NOT_AUTHORIZED = 0xBB;
1017
+ // The security data provided was not valid, or an integrity check failed.
1018
+ static SECURITY_DATA_INVALID = 0xBD;
1019
+ // A ZigBee route error command frame was received indicating that a source
1020
+ // routed message from this node failed en route.
1021
+ static SOURCE_ROUTE_FAILURE = 0xA9;
1022
+ // A ZigBee route error command frame was received indicating that a message
1023
+ // sent to this node along a many-to-one route failed en route. The route
1024
+ // error frame was delivered by an ad-hoc search for a functioning route.
1025
+ static MANY_TO_ONE_ROUTE_FAILURE = 0xAA;
1026
+ // A critical and fatal error indicating that the version of the stack
1027
+ // trying to run does not match with the chip it is running on. The software
1028
+ // (stack) on the chip must be replaced with software that is compatible
1029
+ // with the chip.
1030
+ static STACK_AND_HARDWARE_MISMATCH = 0xB0;
1031
+ // An index was passed into the function that was larger than the valid
1032
+ // range.
1033
+ static INDEX_OUT_OF_RANGE = 0xB1;
1034
+ // There are no empty entries left in the table.
1035
+ static TABLE_FULL = 0xB4;
1036
+ // The requested table entry has been erased and contains no valid data.
1037
+ static TABLE_ENTRY_ERASED = 0xB6;
1038
+ // The requested function cannot be executed because the library that
1039
+ // contains the necessary functionality is not present.
1040
+ static LIBRARY_NOT_PRESENT = 0xB5;
1041
+ // The stack accepted the command and is currently processing the request.
1042
+ // The results will be returned via an appropriate handler.
1043
+ static OPERATION_IN_PROGRESS = 0xBA;
1044
+ // This error is reserved for customer application use. This will never be
1045
+ // returned from any portion of the network stack or HAL.
1046
+ static APPLICATION_ERROR_0 = 0xF0;
1047
+ // This error is reserved for customer application use. This will never be
1048
+ // returned from any portion of the network stack or HAL.
1049
+ static APPLICATION_ERROR_1 = 0xF1;
1050
+ // This error is reserved for customer application use. This will never be
1051
+ // returned from any portion of the network stack or HAL.
1052
+ static APPLICATION_ERROR_2 = 0xF2;
1053
+ // This error is reserved for customer application use. This will never be
1054
+ // returned from any portion of the network stack or HAL.
1055
+ static APPLICATION_ERROR_3 = 0xF3;
1056
+ // This error is reserved for customer application use. This will never be
1057
+ // returned from any portion of the network stack or HAL.
1058
+ static APPLICATION_ERROR_4 = 0xF4;
1059
+ // This error is reserved for customer application use. This will never be
1060
+ // returned from any portion of the network stack or HAL.
1061
+ static APPLICATION_ERROR_5 = 0xF5;
1062
+ // This error is reserved for customer application use. This will never be
1063
+ // returned from any portion of the network stack or HAL.
1064
+ static APPLICATION_ERROR_6 = 0xF6;
1065
+ // This error is reserved for customer application use. This will never be
1066
+ // returned from any portion of the network stack or HAL.
1067
+ static APPLICATION_ERROR_7 = 0xF7;
1068
+ // This error is reserved for customer application use. This will never be
1069
+ // returned from any portion of the network stack or HAL.
1070
+ static APPLICATION_ERROR_8 = 0xF8;
1071
+ // This error is reserved for customer application use. This will never be
1072
+ // returned from any portion of the network stack or HAL.
1073
+ static APPLICATION_ERROR_9 = 0xF9;
1074
+ // This error is reserved for customer application use. This will never be
1075
+ // returned from any portion of the network stack or HAL.
1076
+ static APPLICATION_ERROR_10 = 0xFA;
1077
+ // This error is reserved for customer application use. This will never be
1078
+ // returned from any portion of the network stack or HAL.
1079
+ static APPLICATION_ERROR_11 = 0xFB;
1080
+ // This error is reserved for customer application use. This will never be
1081
+ // returned from any portion of the network stack or HAL.
1082
+ static APPLICATION_ERROR_12 = 0xFC;
1083
+ // This error is reserved for customer application use. This will never be
1084
+ // returned from any portion of the network stack or HAL.
1085
+ static APPLICATION_ERROR_13 = 0xFD;
1086
+ // This error is reserved for customer application use. This will never be
1087
+ // returned from any portion of the network stack or HAL.
1088
+ static APPLICATION_ERROR_14 = 0xFE;
1089
+ // This error is reserved for customer application use. This will never be
1090
+ // returned from any portion of the network stack or HAL.
1091
+ static APPLICATION_ERROR_15 = 0xFF;
1092
+ }
1093
+ exports.EmberStatus = EmberStatus;
1094
+ /** define global status variable. */
1095
+ class SLStatus extends basic.uint32_t {
1096
+ /** No error. */
1097
+ static SL_STATUS_OK = 0x0000;
1098
+ /** Generic error. */
1099
+ static SL_STATUS_FAIL = 0x0001;
1100
+ /**State Errors */
1101
+ /** Generic invalid state error. */
1102
+ static SL_STATUS_INVALID_STATE = 0x0002;
1103
+ /** Module is not ready for requested operation. */
1104
+ static SL_STATUS_NOT_READY = 0x0003;
1105
+ /** Module is busy and cannot carry out requested operation. */
1106
+ static SL_STATUS_BUSY = 0x0004;
1107
+ /** Operation is in progress and not yet complete (pass or fail). */
1108
+ static SL_STATUS_IN_PROGRESS = 0x0005;
1109
+ /** Operation aborted. */
1110
+ static SL_STATUS_ABORT = 0x0006;
1111
+ /** Operation timed out. */
1112
+ static SL_STATUS_TIMEOUT = 0x0007;
1113
+ /** Operation not allowed per permissions. */
1114
+ static SL_STATUS_PERMISSION = 0x0008;
1115
+ /** Non-blocking operation would block. */
1116
+ static SL_STATUS_WOULD_BLOCK = 0x0009;
1117
+ /** Operation/module is Idle, cannot carry requested operation. */
1118
+ static SL_STATUS_IDLE = 0x000A;
1119
+ /** Operation cannot be done while construct is waiting. */
1120
+ static SL_STATUS_IS_WAITING = 0x000B;
1121
+ /** No task/construct waiting/pending for that action/event. */
1122
+ static SL_STATUS_NONE_WAITING = 0x000C;
1123
+ /** Operation cannot be done while construct is suspended. */
1124
+ static SL_STATUS_SUSPENDED = 0x000D;
1125
+ /** Feature not available due to software configuration. */
1126
+ static SL_STATUS_NOT_AVAILABLE = 0x000E;
1127
+ /** Feature not supported. */
1128
+ static SL_STATUS_NOT_SUPPORTED = 0x000F;
1129
+ /** Initialization failed. */
1130
+ static SL_STATUS_INITIALIZATION = 0x0010;
1131
+ /** Module has not been initialized. */
1132
+ static SL_STATUS_NOT_INITIALIZED = 0x0011;
1133
+ /** Module has already been initialized. */
1134
+ static SL_STATUS_ALREADY_INITIALIZED = 0x0012;
1135
+ /** Object/construct has been deleted. */
1136
+ static SL_STATUS_DELETED = 0x0013;
1137
+ /** Illegal call from ISR. */
1138
+ static SL_STATUS_ISR = 0x0014;
1139
+ /** Illegal call because network is up. */
1140
+ static SL_STATUS_NETWORK_UP = 0x0015;
1141
+ /** Illegal call because network is down. */
1142
+ static SL_STATUS_NETWORK_DOWN = 0x0016;
1143
+ /** Failure due to not being joined in a network. */
1144
+ static SL_STATUS_NOT_JOINED = 0x0017;
1145
+ /** Invalid operation as there are no beacons. */
1146
+ static SL_STATUS_NO_BEACONS = 0x0018;
1147
+ /**Allocation/ownership Errors */
1148
+ /** Generic allocation error. */
1149
+ static SL_STATUS_ALLOCATION_FAILED = 0x0019;
1150
+ /** No more resource available to perform the operation. */
1151
+ static SL_STATUS_NO_MORE_RESOURCE = 0x001A;
1152
+ /** Item/list/queue is empty. */
1153
+ static SL_STATUS_EMPTY = 0x001B;
1154
+ /** Item/list/queue is full. */
1155
+ static SL_STATUS_FULL = 0x001C;
1156
+ /** Item would overflow. */
1157
+ static SL_STATUS_WOULD_OVERFLOW = 0x001D;
1158
+ /** Item/list/queue has been overflowed. */
1159
+ static SL_STATUS_HAS_OVERFLOWED = 0x001E;
1160
+ /** Generic ownership error. */
1161
+ static SL_STATUS_OWNERSHIP = 0x001F;
1162
+ /** Already/still owning resource. */
1163
+ static SL_STATUS_IS_OWNER = 0x0020;
1164
+ /**Invalid Parameters Errors */
1165
+ /** Generic invalid argument or consequence of invalid argument. */
1166
+ static SL_STATUS_INVALID_PARAMETER = 0x0021;
1167
+ /** Invalid null pointer received as argument. */
1168
+ static SL_STATUS_NULL_POINTER = 0x0022;
1169
+ /** Invalid configuration provided. */
1170
+ static SL_STATUS_INVALID_CONFIGURATION = 0x0023;
1171
+ /** Invalid mode. */
1172
+ static SL_STATUS_INVALID_MODE = 0x0024;
1173
+ /** Invalid handle. */
1174
+ static SL_STATUS_INVALID_HANDLE = 0x0025;
1175
+ /** Invalid type for operation. */
1176
+ static SL_STATUS_INVALID_TYPE = 0x0026;
1177
+ /** Invalid index. */
1178
+ static SL_STATUS_INVALID_INDEX = 0x0027;
1179
+ /** Invalid range. */
1180
+ static SL_STATUS_INVALID_RANGE = 0x0028;
1181
+ /** Invalid key. */
1182
+ static SL_STATUS_INVALID_KEY = 0x0029;
1183
+ /** Invalid credentials. */
1184
+ static SL_STATUS_INVALID_CREDENTIALS = 0x002A;
1185
+ /** Invalid count. */
1186
+ static SL_STATUS_INVALID_COUNT = 0x002B;
1187
+ /** Invalid signature / verification failed. */
1188
+ static SL_STATUS_INVALID_SIGNATURE = 0x002C;
1189
+ /** Item could not be found. */
1190
+ static SL_STATUS_NOT_FOUND = 0x002D;
1191
+ /** Item already exists. */
1192
+ static SL_STATUS_ALREADY_EXISTS = 0x002E;
1193
+ /**IO/Communication Errors */
1194
+ /** Generic I/O failure. */
1195
+ static SL_STATUS_IO = 0x002F;
1196
+ /** I/O failure due to timeout. */
1197
+ static SL_STATUS_IO_TIMEOUT = 0x0030;
1198
+ /** Generic transmission error. */
1199
+ static SL_STATUS_TRANSMIT = 0x0031;
1200
+ /** Transmit underflowed. */
1201
+ static SL_STATUS_TRANSMIT_UNDERFLOW = 0x0032;
1202
+ /** Transmit is incomplete. */
1203
+ static SL_STATUS_TRANSMIT_INCOMPLETE = 0x0033;
1204
+ /** Transmit is busy. */
1205
+ static SL_STATUS_TRANSMIT_BUSY = 0x0034;
1206
+ /** Generic reception error. */
1207
+ static SL_STATUS_RECEIVE = 0x0035;
1208
+ /** Failed to read on/via given object. */
1209
+ static SL_STATUS_OBJECT_READ = 0x0036;
1210
+ /** Failed to write on/via given object. */
1211
+ static SL_STATUS_OBJECT_WRITE = 0x0037;
1212
+ /** Message is too long. */
1213
+ static SL_STATUS_MESSAGE_TOO_LONG = 0x0038;
1214
+ /**EEPROM/Flash Errors */
1215
+ static SL_STATUS_EEPROM_MFG_VERSION_MISMATCH = 0x0039;
1216
+ static SL_STATUS_EEPROM_STACK_VERSION_MISMATCH = 0x003A;
1217
+ /** Flash write is inhibited. */
1218
+ static SL_STATUS_FLASH_WRITE_INHIBITED = 0x003B;
1219
+ /** Flash verification failed. */
1220
+ static SL_STATUS_FLASH_VERIFY_FAILED = 0x003C;
1221
+ /** Flash programming failed. */
1222
+ static SL_STATUS_FLASH_PROGRAM_FAILED = 0x003D;
1223
+ /** Flash erase failed. */
1224
+ static SL_STATUS_FLASH_ERASE_FAILED = 0x003E;
1225
+ /**MAC Errors */
1226
+ static SL_STATUS_MAC_NO_DATA = 0x003F;
1227
+ static SL_STATUS_MAC_NO_ACK_RECEIVED = 0x0040;
1228
+ static SL_STATUS_MAC_INDIRECT_TIMEOUT = 0x0041;
1229
+ static SL_STATUS_MAC_UNKNOWN_HEADER_TYPE = 0x0042;
1230
+ static SL_STATUS_MAC_ACK_HEADER_TYPE = 0x0043;
1231
+ static SL_STATUS_MAC_COMMAND_TRANSMIT_FAILURE = 0x0044;
1232
+ /**CLI_STORAGE Errors */
1233
+ /** Error in open NVM */
1234
+ static SL_STATUS_CLI_STORAGE_NVM_OPEN_ERROR = 0x0045;
1235
+ /**Security status codes */
1236
+ /** Image checksum is not valid. */
1237
+ static SL_STATUS_SECURITY_IMAGE_CHECKSUM_ERROR = 0x0046;
1238
+ /** Decryption failed */
1239
+ static SL_STATUS_SECURITY_DECRYPT_ERROR = 0x0047;
1240
+ /**Command status codes */
1241
+ /** Command was not recognized */
1242
+ static SL_STATUS_COMMAND_IS_INVALID = 0x0048;
1243
+ /** Command or parameter maximum length exceeded */
1244
+ static SL_STATUS_COMMAND_TOO_LONG = 0x0049;
1245
+ /** Data received does not form a complete command */
1246
+ static SL_STATUS_COMMAND_INCOMPLETE = 0x004A;
1247
+ /**Misc Errors */
1248
+ /** Bus error, e.g. invalid DMA address */
1249
+ static SL_STATUS_BUS_ERROR = 0x004B;
1250
+ /**Unified MAC Errors */
1251
+ static SL_STATUS_CCA_FAILURE = 0x004C;
1252
+ /**Scan errors */
1253
+ static SL_STATUS_MAC_SCANNING = 0x004D;
1254
+ static SL_STATUS_MAC_INCORRECT_SCAN_TYPE = 0x004E;
1255
+ static SL_STATUS_INVALID_CHANNEL_MASK = 0x004F;
1256
+ static SL_STATUS_BAD_SCAN_DURATION = 0x0050;
1257
+ /**Bluetooth status codes */
1258
+ /** Bonding procedure can't be started because device has no space */
1259
+ /** left for bond. */
1260
+ static SL_STATUS_BT_OUT_OF_BONDS = 0x0402;
1261
+ /** Unspecified error */
1262
+ static SL_STATUS_BT_UNSPECIFIED = 0x0403;
1263
+ /** Hardware failure */
1264
+ static SL_STATUS_BT_HARDWARE = 0x0404;
1265
+ /** The bonding does not exist. */
1266
+ static SL_STATUS_BT_NO_BONDING = 0x0406;
1267
+ /** Error using crypto functions */
1268
+ static SL_STATUS_BT_CRYPTO = 0x0407;
1269
+ /** Data was corrupted. */
1270
+ static SL_STATUS_BT_DATA_CORRUPTED = 0x0408;
1271
+ /** Invalid periodic advertising sync handle */
1272
+ static SL_STATUS_BT_INVALID_SYNC_HANDLE = 0x040A;
1273
+ /** Bluetooth cannot be used on this hardware */
1274
+ static SL_STATUS_BT_INVALID_MODULE_ACTION = 0x040B;
1275
+ /** Error received from radio */
1276
+ static SL_STATUS_BT_RADIO = 0x040C;
1277
+ /** Returned when remote disconnects the connection-oriented channel by sending */
1278
+ /** disconnection request. */
1279
+ static SL_STATUS_BT_L2CAP_REMOTE_DISCONNECTED = 0x040D;
1280
+ /** Returned when local host disconnect the connection-oriented channel by sending */
1281
+ /** disconnection request. */
1282
+ static SL_STATUS_BT_L2CAP_LOCAL_DISCONNECTED = 0x040E;
1283
+ /** Returned when local host did not find a connection-oriented channel with given */
1284
+ /** destination CID. */
1285
+ static SL_STATUS_BT_L2CAP_CID_NOT_EXIST = 0x040F;
1286
+ /** Returned when connection-oriented channel disconnected due to LE connection is dropped. */
1287
+ static SL_STATUS_BT_L2CAP_LE_DISCONNECTED = 0x0410;
1288
+ /** Returned when connection-oriented channel disconnected due to remote end send data */
1289
+ /** even without credit. */
1290
+ static SL_STATUS_BT_L2CAP_FLOW_CONTROL_VIOLATED = 0x0412;
1291
+ /** Returned when connection-oriented channel disconnected due to remote end send flow */
1292
+ /** control credits exceed 65535. */
1293
+ static SL_STATUS_BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED = 0x0413;
1294
+ /** Returned when connection-oriented channel has run out of flow control credit and */
1295
+ /** local application still trying to send data. */
1296
+ static SL_STATUS_BT_L2CAP_NO_FLOW_CONTROL_CREDIT = 0x0414;
1297
+ /** Returned when connection-oriented channel has not received connection response message */
1298
+ /** within maximum timeout. */
1299
+ static SL_STATUS_BT_L2CAP_CONNECTION_REQUEST_TIMEOUT = 0x0415;
1300
+ /** Returned when local host received a connection-oriented channel connection response */
1301
+ /** with an invalid destination CID. */
1302
+ static SL_STATUS_BT_L2CAP_INVALID_CID = 0x0416;
1303
+ /** Returned when local host application tries to send a command which is not suitable */
1304
+ /** for L2CAP channel's current state. */
1305
+ static SL_STATUS_BT_L2CAP_WRONG_STATE = 0x0417;
1306
+ /** Flash reserved for PS store is full */
1307
+ static SL_STATUS_BT_PS_STORE_FULL = 0x041B;
1308
+ /** PS key not found */
1309
+ static SL_STATUS_BT_PS_KEY_NOT_FOUND = 0x041C;
1310
+ /** Mismatched or insufficient security level */
1311
+ static SL_STATUS_BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY = 0x041D;
1312
+ /** Encrypion/decryption operation failed. */
1313
+ static SL_STATUS_BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR = 0x041E;
1314
+ /**Bluetooth controller status codes */
1315
+ /** Connection does not exist, or connection open request was cancelled. */
1316
+ static SL_STATUS_BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER = 0x1002;
1317
+ /** Pairing or authentication failed due to incorrect results in the pairing or */
1318
+ /** authentication procedure. This could be due to an incorrect PIN or Link Key */
1319
+ static SL_STATUS_BT_CTRL_AUTHENTICATION_FAILURE = 0x1005;
1320
+ /** Pairing failed because of missing PIN, or authentication failed because of missing Key */
1321
+ static SL_STATUS_BT_CTRL_PIN_OR_KEY_MISSING = 0x1006;
1322
+ /** Controller is out of memory. */
1323
+ static SL_STATUS_BT_CTRL_MEMORY_CAPACITY_EXCEEDED = 0x1007;
1324
+ /** Link supervision timeout has expired. */
1325
+ static SL_STATUS_BT_CTRL_CONNECTION_TIMEOUT = 0x1008;
1326
+ /** Controller is at limit of connections it can support. */
1327
+ static SL_STATUS_BT_CTRL_CONNECTION_LIMIT_EXCEEDED = 0x1009;
1328
+ /** The Synchronous Connection Limit to a Device Exceeded error code indicates that */
1329
+ /** the Controller has reached the limit to the number of synchronous connections that */
1330
+ /** can be achieved to a device. */
1331
+ static SL_STATUS_BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED = 0x100A;
1332
+ /** The ACL Connection Already Exists error code indicates that an attempt to create */
1333
+ /** a new ACL Connection to a device when there is already a connection to this device. */
1334
+ static SL_STATUS_BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS = 0x100B;
1335
+ /** Command requested cannot be executed because the Controller is in a state where */
1336
+ /** it cannot process this command at this time. */
1337
+ static SL_STATUS_BT_CTRL_COMMAND_DISALLOWED = 0x100C;
1338
+ /** The Connection Rejected Due To Limited Resources error code indicates that an */
1339
+ /** incoming connection was rejected due to limited resources. */
1340
+ static SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES = 0x100D;
1341
+ /** The Connection Rejected Due To Security Reasons error code indicates that a */
1342
+ /** connection was rejected due to security requirements not being fulfilled, like */
1343
+ /** authentication or pairing. */
1344
+ static SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS = 0x100E;
1345
+ /** The Connection was rejected because this device does not accept the BD_ADDR. */
1346
+ /** This may be because the device will only accept connections from specific BD_ADDRs. */
1347
+ static SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR = 0x100F;
1348
+ /** The Connection Accept Timeout has been exceeded for this connection attempt. */
1349
+ static SL_STATUS_BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED = 0x1010;
1350
+ /** A feature or parameter value in the HCI command is not supported. */
1351
+ static SL_STATUS_BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE = 0x1011;
1352
+ /** Command contained invalid parameters. */
1353
+ static SL_STATUS_BT_CTRL_INVALID_COMMAND_PARAMETERS = 0x1012;
1354
+ /** User on the remote device terminated the connection. */
1355
+ static SL_STATUS_BT_CTRL_REMOTE_USER_TERMINATED = 0x1013;
1356
+ /** The remote device terminated the connection because of low resources */
1357
+ static SL_STATUS_BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES = 0x1014;
1358
+ /** Remote Device Terminated Connection due to Power Off */
1359
+ static SL_STATUS_BT_CTRL_REMOTE_POWERING_OFF = 0x1015;
1360
+ /** Local device terminated the connection. */
1361
+ static SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST = 0x1016;
1362
+ /** The Controller is disallowing an authentication or pairing procedure because */
1363
+ /** too little time has elapsed since the last authentication or pairing attempt failed. */
1364
+ static SL_STATUS_BT_CTRL_REPEATED_ATTEMPTS = 0x1017;
1365
+ /** The device does not allow pairing. This can be for example, when a device only */
1366
+ /** allows pairing during a certain time window after some user input allows pairing */
1367
+ static SL_STATUS_BT_CTRL_PAIRING_NOT_ALLOWED = 0x1018;
1368
+ /** The remote device does not support the feature associated with the issued command. */
1369
+ static SL_STATUS_BT_CTRL_UNSUPPORTED_REMOTE_FEATURE = 0x101A;
1370
+ /** No other error code specified is appropriate to use. */
1371
+ static SL_STATUS_BT_CTRL_UNSPECIFIED_ERROR = 0x101F;
1372
+ /** Connection terminated due to link-layer procedure timeout. */
1373
+ static SL_STATUS_BT_CTRL_LL_RESPONSE_TIMEOUT = 0x1022;
1374
+ /** LL procedure has collided with the same transaction or procedure that is already */
1375
+ /** in progress. */
1376
+ static SL_STATUS_BT_CTRL_LL_PROCEDURE_COLLISION = 0x1023;
1377
+ /** The requested encryption mode is not acceptable at this time. */
1378
+ static SL_STATUS_BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE = 0x1025;
1379
+ /** Link key cannot be changed because a fixed unit key is being used. */
1380
+ static SL_STATUS_BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED = 0x1026;
1381
+ /** LMP PDU or LL PDU that includes an instant cannot be performed because the instan */
1382
+ /** when this would have occurred has passed. */
1383
+ static SL_STATUS_BT_CTRL_INSTANT_PASSED = 0x1028;
1384
+ /** It was not possible to pair as a unit key was requested and it is not supported. */
1385
+ static SL_STATUS_BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x1029;
1386
+ /** LMP transaction was started that collides with an ongoing transaction. */
1387
+ static SL_STATUS_BT_CTRL_DIFFERENT_TRANSACTION_COLLISION = 0x102A;
1388
+ /** The Controller cannot perform channel assessment because it is not supported. */
1389
+ static SL_STATUS_BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED = 0x102E;
1390
+ /** The HCI command or LMP PDU sent is only possible on an encrypted link. */
1391
+ static SL_STATUS_BT_CTRL_INSUFFICIENT_SECURITY = 0x102F;
1392
+ /** A parameter value requested is outside the mandatory range of parameters for the */
1393
+ /** given HCI command or LMP PDU. */
1394
+ static SL_STATUS_BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE = 0x1030;
1395
+ /** The IO capabilities request or response was rejected because the sending Host does */
1396
+ /** not support Secure Simple Pairing even though the receiving Link Manager does. */
1397
+ static SL_STATUS_BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 0x1037;
1398
+ /** The Host is busy with another pairing operation and unable to support the requested */
1399
+ /** pairing. The receiving device should retry pairing again later. */
1400
+ static SL_STATUS_BT_CTRL_HOST_BUSY_PAIRING = 0x1038;
1401
+ /** The Controller could not calculate an appropriate value for the Channel selection operation. */
1402
+ static SL_STATUS_BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND = 0x1039;
1403
+ /** Operation was rejected because the controller is busy and unable to process the request. */
1404
+ static SL_STATUS_BT_CTRL_CONTROLLER_BUSY = 0x103A;
1405
+ /** Remote device terminated the connection because of an unacceptable connection interval. */
1406
+ static SL_STATUS_BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL = 0x103B;
1407
+ /** Ddvertising for a fixed duration completed or, for directed advertising, that advertising */
1408
+ /** completed without a connection being created. */
1409
+ static SL_STATUS_BT_CTRL_ADVERTISING_TIMEOUT = 0x103C;
1410
+ /** Connection was terminated because the Message Integrity Check (MIC) failed on a */
1411
+ /** received packet. */
1412
+ static SL_STATUS_BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE = 0x103D;
1413
+ /** LL initiated a connection but the connection has failed to be established. Controller did not receive */
1414
+ /** any packets from remote end. */
1415
+ static SL_STATUS_BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED = 0x103E;
1416
+ /** The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed. */
1417
+ static SL_STATUS_BT_CTRL_MAC_CONNECTION_FAILED = 0x103F;
1418
+ /** The master, at this time, is unable to make a coarse adjustment to the piconet clock, */
1419
+ /** using the supplied parameters. Instead the master will attempt to move the clock using clock dragging. */
1420
+ static SL_STATUS_BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING = 0x1040;
1421
+ /** A command was sent from the Host that should identify an Advertising or Sync handle, but the */
1422
+ /** Advertising or Sync handle does not exist. */
1423
+ static SL_STATUS_BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER = 0x1042;
1424
+ /** Number of operations requested has been reached and has indicated the completion of the activity */
1425
+ /** (e.g., advertising or scanning). */
1426
+ static SL_STATUS_BT_CTRL_LIMIT_REACHED = 0x1043;
1427
+ /** A request to the Controller issued by the Host and still pending was successfully canceled. */
1428
+ static SL_STATUS_BT_CTRL_OPERATION_CANCELLED_BY_HOST = 0x1044;
1429
+ /** An attempt was made to send or receive a packet that exceeds the maximum allowed packet l */
1430
+ static SL_STATUS_BT_CTRL_PACKET_TOO_LONG = 0x1045;
1431
+ /**Bluetooth attribute status codes */
1432
+ /** The attribute handle given was not valid on this server */
1433
+ static SL_STATUS_BT_ATT_INVALID_HANDLE = 0x1101;
1434
+ /** The attribute cannot be read */
1435
+ static SL_STATUS_BT_ATT_READ_NOT_PERMITTED = 0x1102;
1436
+ /** The attribute cannot be written */
1437
+ static SL_STATUS_BT_ATT_WRITE_NOT_PERMITTED = 0x1103;
1438
+ /** The attribute PDU was invalid */
1439
+ static SL_STATUS_BT_ATT_INVALID_PDU = 0x1104;
1440
+ /** The attribute requires authentication before it can be read or written. */
1441
+ static SL_STATUS_BT_ATT_INSUFFICIENT_AUTHENTICATION = 0x1105;
1442
+ /** Attribute Server does not support the request received from the client. */
1443
+ static SL_STATUS_BT_ATT_REQUEST_NOT_SUPPORTED = 0x1106;
1444
+ /** Offset specified was past the end of the attribute */
1445
+ static SL_STATUS_BT_ATT_INVALID_OFFSET = 0x1107;
1446
+ /** The attribute requires authorization before it can be read or written. */
1447
+ static SL_STATUS_BT_ATT_INSUFFICIENT_AUTHORIZATION = 0x1108;
1448
+ /** Too many prepare writes have been queued */
1449
+ static SL_STATUS_BT_ATT_PREPARE_QUEUE_FULL = 0x1109;
1450
+ /** No attribute found within the given attribute handle range. */
1451
+ static SL_STATUS_BT_ATT_ATT_NOT_FOUND = 0x110A;
1452
+ /** The attribute cannot be read or written using the Read Blob Request */
1453
+ static SL_STATUS_BT_ATT_ATT_NOT_LONG = 0x110B;
1454
+ /** The Encryption Key Size used for encrypting this link is insufficient. */
1455
+ static SL_STATUS_BT_ATT_INSUFFICIENT_ENC_KEY_SIZE = 0x110C;
1456
+ /** The attribute value length is invalid for the operation */
1457
+ static SL_STATUS_BT_ATT_INVALID_ATT_LENGTH = 0x110D;
1458
+ /** The attribute request that was requested has encountered an error that was unlikely, and */
1459
+ /** therefore could not be completed as requested. */
1460
+ static SL_STATUS_BT_ATT_UNLIKELY_ERROR = 0x110E;
1461
+ /** The attribute requires encryption before it can be read or written. */
1462
+ static SL_STATUS_BT_ATT_INSUFFICIENT_ENCRYPTION = 0x110F;
1463
+ /** The attribute type is not a supported grouping attribute as defined by a higher layer */
1464
+ /** specification. */
1465
+ static SL_STATUS_BT_ATT_UNSUPPORTED_GROUP_TYPE = 0x1110;
1466
+ /** Insufficient Resources to complete the request */
1467
+ static SL_STATUS_BT_ATT_INSUFFICIENT_RESOURCES = 0x1111;
1468
+ /** The server requests the client to rediscover the database. */
1469
+ static SL_STATUS_BT_ATT_OUT_OF_SYNC = 0x1112;
1470
+ /** The attribute parameter value was not allowed. */
1471
+ static SL_STATUS_BT_ATT_VALUE_NOT_ALLOWED = 0x1113;
1472
+ /** When this is returned in a BGAPI response, the application tried to read or write the */
1473
+ /** value of a user attribute from the GATT databa */
1474
+ static SL_STATUS_BT_ATT_APPLICATION = 0x1180;
1475
+ /** The requested write operation cannot be fulfilled for reasons other than permissions. */
1476
+ static SL_STATUS_BT_ATT_WRITE_REQUEST_REJECTED = 0x11FC;
1477
+ /** The Client Characteristic Configuration descriptor is not configured according to the */
1478
+ /** requirements of the profile or service. */
1479
+ static SL_STATUS_BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED = 0x11FD;
1480
+ /** The profile or service request cannot be serviced because an operation that has been */
1481
+ /** previously triggered is still in progress. */
1482
+ static SL_STATUS_BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS = 0x11FE;
1483
+ /** The attribute value is out of range as defined by a profile or service specification. */
1484
+ static SL_STATUS_BT_ATT_OUT_OF_RANGE = 0x11FF;
1485
+ /**Bluetooth Security Manager Protocol status codes */
1486
+ /** The user input of passkey failed, for example, the user cancelled the operation */
1487
+ static SL_STATUS_BT_SMP_PASSKEY_ENTRY_FAILED = 0x1201;
1488
+ /** Out of Band data is not available for authentication */
1489
+ static SL_STATUS_BT_SMP_OOB_NOT_AVAILABLE = 0x1202;
1490
+ /** The pairing procedure cannot be performed as authentication requirements cannot be */
1491
+ /** met due to IO capabilities of one or both devices */
1492
+ static SL_STATUS_BT_SMP_AUTHENTICATION_REQUIREMENTS = 0x1203;
1493
+ /** The confirm value does not match the calculated compare value */
1494
+ static SL_STATUS_BT_SMP_CONFIRM_VALUE_FAILED = 0x1204;
1495
+ /** Pairing is not supported by the device */
1496
+ static SL_STATUS_BT_SMP_PAIRING_NOT_SUPPORTED = 0x1205;
1497
+ /** The resultant encryption key size is insufficient for the security requirements of this device */
1498
+ static SL_STATUS_BT_SMP_ENCRYPTION_KEY_SIZE = 0x1206;
1499
+ /** The SMP command received is not supported on this device */
1500
+ static SL_STATUS_BT_SMP_COMMAND_NOT_SUPPORTED = 0x1207;
1501
+ /** Pairing failed due to an unspecified reason */
1502
+ static SL_STATUS_BT_SMP_UNSPECIFIED_REASON = 0x1208;
1503
+ /** Pairing or authentication procedure is disallowed because too little time has elapsed */
1504
+ /** since last pairing request or security request */
1505
+ static SL_STATUS_BT_SMP_REPEATED_ATTEMPTS = 0x1209;
1506
+ /** The Invalid Parameters error code indicates: the command length is invalid or a parameter */
1507
+ /** is outside of the specified range. */
1508
+ static SL_STATUS_BT_SMP_INVALID_PARAMETERS = 0x120A;
1509
+ /** Indicates to the remote device that the DHKey Check value received doesn't match the one */
1510
+ /** calculated by the local device. */
1511
+ static SL_STATUS_BT_SMP_DHKEY_CHECK_FAILED = 0x120B;
1512
+ /** Indicates that the confirm values in the numeric comparison protocol do not match. */
1513
+ static SL_STATUS_BT_SMP_NUMERIC_COMPARISON_FAILED = 0x120C;
1514
+ /** Indicates that the pairing over the LE transport failed due to a Pairing Request */
1515
+ /** sent over the BR/EDR transport in process. */
1516
+ static SL_STATUS_BT_SMP_BREDR_PAIRING_IN_PROGRESS = 0x120D;
1517
+ /** Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used */
1518
+ /** to derive and distribute keys for the LE transport. */
1519
+ static SL_STATUS_BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED = 0x120E;
1520
+ /** Indicates that the device chose not to accept a distributed key. */
1521
+ static SL_STATUS_BT_SMP_KEY_REJECTED = 0x120F;
1522
+ /**Bluetooth Mesh status codes */
1523
+ /** Returned when trying to add a key or some other unique resource with an ID which already exists */
1524
+ static SL_STATUS_BT_MESH_ALREADY_EXISTS = 0x0501;
1525
+ /** Returned when trying to manipulate a key or some other resource with an ID which does not exist */
1526
+ static SL_STATUS_BT_MESH_DOES_NOT_EXIST = 0x0502;
1527
+ /** Returned when an operation cannot be executed because a pre-configured limit for keys, */
1528
+ /** key bindings, elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached */
1529
+ static SL_STATUS_BT_MESH_LIMIT_REACHED = 0x0503;
1530
+ /** Returned when trying to use a reserved address or add a "pre-provisioned" device */
1531
+ /** using an address already used by some other device */
1532
+ static SL_STATUS_BT_MESH_INVALID_ADDRESS = 0x0504;
1533
+ /** In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote */
1534
+ /** end responded with malformed or unrecognized data */
1535
+ static SL_STATUS_BT_MESH_MALFORMED_DATA = 0x0505;
1536
+ /** An attempt was made to initialize a subsystem that was already initialized. */
1537
+ static SL_STATUS_BT_MESH_ALREADY_INITIALIZED = 0x0506;
1538
+ /** An attempt was made to use a subsystem that wasn't initialized yet. Call the */
1539
+ /** subsystem's init function first. */
1540
+ static SL_STATUS_BT_MESH_NOT_INITIALIZED = 0x0507;
1541
+ /** Returned when trying to establish a friendship as a Low Power Node, but no acceptable */
1542
+ /** friend offer message was received. */
1543
+ static SL_STATUS_BT_MESH_NO_FRIEND_OFFER = 0x0508;
1544
+ /** Provisioning link was unexpectedly closed before provisioning was complete. */
1545
+ static SL_STATUS_BT_MESH_PROV_LINK_CLOSED = 0x0509;
1546
+ /** An unrecognized provisioning PDU was received. */
1547
+ static SL_STATUS_BT_MESH_PROV_INVALID_PDU = 0x050A;
1548
+ /** A provisioning PDU with wrong length or containing field values that are out of */
1549
+ /** bounds was received. */
1550
+ static SL_STATUS_BT_MESH_PROV_INVALID_PDU_FORMAT = 0x050B;
1551
+ /** An unexpected (out of sequence) provisioning PDU was received. */
1552
+ static SL_STATUS_BT_MESH_PROV_UNEXPECTED_PDU = 0x050C;
1553
+ /** The computed confirmation value did not match the expected value. */
1554
+ static SL_STATUS_BT_MESH_PROV_CONFIRMATION_FAILED = 0x050D;
1555
+ /** Provisioning could not be continued due to insufficient resources. */
1556
+ static SL_STATUS_BT_MESH_PROV_OUT_OF_RESOURCES = 0x050E;
1557
+ /** The provisioning data block could not be decrypted. */
1558
+ static SL_STATUS_BT_MESH_PROV_DECRYPTION_FAILED = 0x050F;
1559
+ /** An unexpected error happened during provisioning. */
1560
+ static SL_STATUS_BT_MESH_PROV_UNEXPECTED_ERROR = 0x0510;
1561
+ /** Device could not assign unicast addresses to all of its elements. */
1562
+ static SL_STATUS_BT_MESH_PROV_CANNOT_ASSIGN_ADDR = 0x0511;
1563
+ /** Returned when trying to reuse an address of a previously deleted device before an */
1564
+ /** IV Index Update has been executed. */
1565
+ static SL_STATUS_BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE = 0x0512;
1566
+ /** Returned when trying to assign an address that is used by one of the devices in the */
1567
+ /** Device Database, or by the Provisioner itself. */
1568
+ static SL_STATUS_BT_MESH_ADDRESS_ALREADY_USED = 0x0513;
1569
+ /** Application key or publish address are not set */
1570
+ static SL_STATUS_BT_MESH_PUBLISH_NOT_CONFIGURED = 0x0514;
1571
+ /** Application key is not bound to a model */
1572
+ static SL_STATUS_BT_MESH_APP_KEY_NOT_BOUND = 0x0515;
1573
+ /**Bluetooth Mesh foundation status codes */
1574
+ /** Returned when address in request was not valid */
1575
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_ADDRESS = 0x1301;
1576
+ /** Returned when model identified is not found for a given element */
1577
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_MODEL = 0x1302;
1578
+ /** Returned when the key identified by AppKeyIndex is not stored in the node */
1579
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_APP_KEY = 0x1303;
1580
+ /** Returned when the key identified by NetKeyIndex is not stored in the node */
1581
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_NET_KEY = 0x1304;
1582
+ /** Returned when The node cannot serve the request due to insufficient resources */
1583
+ static SL_STATUS_BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES = 0x1305;
1584
+ /** Returned when the key identified is already stored in the node and the new */
1585
+ /** NetKey value is different */
1586
+ static SL_STATUS_BT_MESH_FOUNDATION_KEY_INDEX_EXISTS = 0x1306;
1587
+ /** Returned when the model does not support the publish mechanism */
1588
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS = 0x1307;
1589
+ /** Returned when the model does not support the subscribe mechanism */
1590
+ static SL_STATUS_BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL = 0x1308;
1591
+ /** Returned when storing of the requested parameters failed */
1592
+ static SL_STATUS_BT_MESH_FOUNDATION_STORAGE_FAILURE = 0x1309;
1593
+ /** Returned when requested setting is not supported */
1594
+ static SL_STATUS_BT_MESH_FOUNDATION_NOT_SUPPORTED = 0x130A;
1595
+ /** Returned when the requested update operation cannot be performed due to general constraints */
1596
+ static SL_STATUS_BT_MESH_FOUNDATION_CANNOT_UPDATE = 0x130B;
1597
+ /** Returned when the requested delete operation cannot be performed due to general constraints */
1598
+ static SL_STATUS_BT_MESH_FOUNDATION_CANNOT_REMOVE = 0x130C;
1599
+ /** Returned when the requested bind operation cannot be performed due to general constraints */
1600
+ static SL_STATUS_BT_MESH_FOUNDATION_CANNOT_BIND = 0x130D;
1601
+ /** Returned when The node cannot start advertising with Node Identity or Proxy since the */
1602
+ /** maximum number of parallel advertising is reached */
1603
+ static SL_STATUS_BT_MESH_FOUNDATION_TEMPORARILY_UNABLE = 0x130E;
1604
+ /** Returned when the requested state cannot be set */
1605
+ static SL_STATUS_BT_MESH_FOUNDATION_CANNOT_SET = 0x130F;
1606
+ /** Returned when an unspecified error took place */
1607
+ static SL_STATUS_BT_MESH_FOUNDATION_UNSPECIFIED = 0x1310;
1608
+ /** Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update */
1609
+ static SL_STATUS_BT_MESH_FOUNDATION_INVALID_BINDING = 0x1311;
1610
+ /**Wi-Fi Errors */
1611
+ /** Invalid firmware keyset */
1612
+ static SL_STATUS_WIFI_INVALID_KEY = 0x0B01;
1613
+ /** The firmware download took too long */
1614
+ static SL_STATUS_WIFI_FIRMWARE_DOWNLOAD_TIMEOUT = 0x0B02;
1615
+ /** Unknown request ID or wrong interface ID used */
1616
+ static SL_STATUS_WIFI_UNSUPPORTED_MESSAGE_ID = 0x0B03;
1617
+ /** The request is successful but some parameters have been ignored */
1618
+ static SL_STATUS_WIFI_WARNING = 0x0B04;
1619
+ /** No Packets waiting to be received */
1620
+ static SL_STATUS_WIFI_NO_PACKET_TO_RECEIVE = 0x0B05;
1621
+ /** The sleep mode is granted */
1622
+ static SL_STATUS_WIFI_SLEEP_GRANTED = 0x0B08;
1623
+ /** The WFx does not go back to sleep */
1624
+ static SL_STATUS_WIFI_SLEEP_NOT_GRANTED = 0x0B09;
1625
+ /** The SecureLink MAC key was not found */
1626
+ static SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ERROR = 0x0B10;
1627
+ /** The SecureLink MAC key is already installed in OTP */
1628
+ static SL_STATUS_WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED = 0x0B11;
1629
+ /** The SecureLink MAC key cannot be installed in RAM */
1630
+ static SL_STATUS_WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED = 0x0B12;
1631
+ /** The SecureLink MAC key installation failed */
1632
+ static SL_STATUS_WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE = 0x0B13;
1633
+ /** SecureLink key (re)negotiation failed */
1634
+ static SL_STATUS_WIFI_SECURE_LINK_EXCHANGE_FAILED = 0x0B14;
1635
+ /** The device is in an inappropriate state to perform the request */
1636
+ static SL_STATUS_WIFI_WRONG_STATE = 0x0B18;
1637
+ /** The request failed due to regulatory limitations */
1638
+ static SL_STATUS_WIFI_CHANNEL_NOT_ALLOWED = 0x0B19;
1639
+ /** The connection request failed because no suitable AP was found */
1640
+ static SL_STATUS_WIFI_NO_MATCHING_AP = 0x0B1A;
1641
+ /** The connection request was aborted by host */
1642
+ static SL_STATUS_WIFI_CONNECTION_ABORTED = 0x0B1B;
1643
+ /** The connection request failed because of a timeout */
1644
+ static SL_STATUS_WIFI_CONNECTION_TIMEOUT = 0x0B1C;
1645
+ /** The connection request failed because the AP rejected the device */
1646
+ static SL_STATUS_WIFI_CONNECTION_REJECTED_BY_AP = 0x0B1D;
1647
+ /** The connection request failed because the WPA handshake did not complete successfully */
1648
+ static SL_STATUS_WIFI_CONNECTION_AUTH_FAILURE = 0x0B1E;
1649
+ /** The request failed because the retry limit was exceeded */
1650
+ static SL_STATUS_WIFI_RETRY_EXCEEDED = 0x0B1F;
1651
+ /** The request failed because the MSDU life time was exceeded */
1652
+ static SL_STATUS_WIFI_TX_LIFETIME_EXCEEDED = 0x0B20;
1653
+ }
1654
+ exports.SLStatus = SLStatus;
1655
+ class EmberStackError extends basic.uint8_t {
1656
+ // Error codes that a router uses to notify the message initiator about a broken route.
1657
+ static EMBER_ROUTE_ERROR_NO_ROUTE_AVAILABLE = 0x00;
1658
+ static EMBER_ROUTE_ERROR_TREE_LINK_FAILURE = 0x01;
1659
+ static EMBER_ROUTE_ERROR_NON_TREE_LINK_FAILURE = 0x02;
1660
+ static EMBER_ROUTE_ERROR_LOW_BATTERY_LEVEL = 0x03;
1661
+ static EMBER_ROUTE_ERROR_NO_ROUTING_CAPACITY = 0x04;
1662
+ static EMBER_ROUTE_ERROR_NO_INDIRECT_CAPACITY = 0x05;
1663
+ static EMBER_ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY = 0x06;
1664
+ static EMBER_ROUTE_ERROR_TARGET_DEVICE_UNAVAILABLE = 0x07;
1665
+ static EMBER_ROUTE_ERROR_TARGET_ADDRESS_UNALLOCATED = 0x08;
1666
+ static EMBER_ROUTE_ERROR_PARENT_LINK_FAILURE = 0x09;
1667
+ static EMBER_ROUTE_ERROR_VALIDATE_ROUTE = 0x0A;
1668
+ static EMBER_ROUTE_ERROR_SOURCE_ROUTE_FAILURE = 0x0B;
1669
+ static EMBER_ROUTE_ERROR_MANY_TO_ONE_ROUTE_FAILURE = 0x0C;
1670
+ static EMBER_ROUTE_ERROR_ADDRESS_CONFLICT = 0x0D;
1671
+ static EMBER_ROUTE_ERROR_VERIFY_ADDRESSES = 0x0E;
1672
+ static EMBER_ROUTE_ERROR_PAN_IDENTIFIER_UPDATE = 0x0F;
1673
+ static ZIGBEE_NETWORK_STATUS_NETWORK_ADDRESS_UPDATE = 0x10;
1674
+ static ZIGBEE_NETWORK_STATUS_BAD_FRAME_COUNTER = 0x11;
1675
+ static ZIGBEE_NETWORK_STATUS_BAD_KEY_SEQUENCE_NUMBER = 0x12;
1676
+ static ZIGBEE_NETWORK_STATUS_UNKNOWN_COMMAND = 0x13;
1677
+ }
1678
+ exports.EmberStackError = EmberStackError;
1679
+ class EmberEventUnits extends basic.uint8_t {
1680
+ // Either marks an event as inactive or specifies the units for the event
1681
+ // execution time.
1682
+ // The event is not scheduled to run.
1683
+ static EVENT_INACTIVE = 0x00;
1684
+ // The execution time is in approximate milliseconds.
1685
+ static EVENT_MS_TIME = 0x01;
1686
+ // The execution time is in 'binary' quarter seconds (256 approximate
1687
+ // milliseconds each).
1688
+ static EVENT_QS_TIME = 0x02;
1689
+ // The execution time is in 'binary' minutes (65536 approximate milliseconds
1690
+ // each).
1691
+ static EVENT_MINUTE_TIME = 0x03;
1692
+ }
1693
+ exports.EmberEventUnits = EmberEventUnits;
1694
+ class EmberNodeType extends basic.uint8_t {
1695
+ // The type of the node.
1696
+ // Device is not joined.
1697
+ static UNKNOWN_DEVICE = 0x00;
1698
+ // Will relay messages and can act as a parent to other nodes.
1699
+ static COORDINATOR = 0x01;
1700
+ // Will relay messages and can act as a parent to other nodes.
1701
+ static ROUTER = 0x02;
1702
+ // Communicates only with its parent and will not relay messages.
1703
+ static END_DEVICE = 0x03;
1704
+ // An end device whose radio can be turned off to save power. The
1705
+ // application must poll to receive messages.
1706
+ static SLEEPY_END_DEVICE = 0x04;
1707
+ // A sleepy end device that can move through the network.
1708
+ static MOBILE_END_DEVICE = 0x05;
1709
+ }
1710
+ exports.EmberNodeType = EmberNodeType;
1711
+ class EmberNetworkStatus extends basic.uint8_t {
1712
+ // The possible join states for a node.
1713
+ // The node is not associated with a network in any way.
1714
+ static NO_NETWORK = 0x00;
1715
+ // The node is currently attempting to join a network.
1716
+ static JOINING_NETWORK = 0x01;
1717
+ // The node is joined to a network.
1718
+ static JOINED_NETWORK = 0x02;
1719
+ // The node is an end device joined to a network but its parent is not
1720
+ // responding.
1721
+ static JOINED_NETWORK_NO_PARENT = 0x03;
1722
+ // The node is in the process of leaving its current network.
1723
+ static LEAVING_NETWORK = 0x04;
1724
+ }
1725
+ exports.EmberNetworkStatus = EmberNetworkStatus;
1726
+ class EmberIncomingMessageType extends basic.uint8_t {
1727
+ // Incoming message types.
1728
+ // Unicast.
1729
+ static INCOMING_UNICAST = 0x00;
1730
+ // Unicast reply.
1731
+ static INCOMING_UNICAST_REPLY = 0x01;
1732
+ // Multicast.
1733
+ static INCOMING_MULTICAST = 0x02;
1734
+ // Multicast sent by the local device.
1735
+ static INCOMING_MULTICAST_LOOPBACK = 0x03;
1736
+ // Broadcast.
1737
+ static INCOMING_BROADCAST = 0x04;
1738
+ // Broadcast sent by the local device.
1739
+ static INCOMING_BROADCAST_LOOPBACK = 0x05;
1740
+ // Many to one route request.
1741
+ static INCOMING_MANY_TO_ONE_ROUTE_REQUEST = 0x06;
1742
+ }
1743
+ exports.EmberIncomingMessageType = EmberIncomingMessageType;
1744
+ class EmberOutgoingMessageType extends basic.uint8_t {
1745
+ // Outgoing message types.
1746
+ // Unicast sent directly to an EmberNodeId.
1747
+ static OUTGOING_DIRECT = 0x00;
1748
+ // Unicast sent using an entry in the address table.
1749
+ static OUTGOING_VIA_ADDRESS_TABLE = 0x01;
1750
+ // Unicast sent using an entry in the binding table.
1751
+ static OUTGOING_VIA_BINDING = 0x02;
1752
+ // Multicast message. This value is passed to emberMessageSentHandler()
1753
+ // only. It may not be passed to emberSendUnicast().
1754
+ static OUTGOING_MULTICAST = 0x03;
1755
+ // Broadcast message. This value is passed to emberMessageSentHandler()
1756
+ // only. It may not be passed to emberSendUnicast().
1757
+ static OUTGOING_BROADCAST = 0x04;
1758
+ }
1759
+ exports.EmberOutgoingMessageType = EmberOutgoingMessageType;
1760
+ class EmberMacPassthroughType extends basic.uint8_t {
1761
+ // MAC passthrough message type flags.
1762
+ // No MAC passthrough messages.
1763
+ static MAC_PASSTHROUGH_NONE = 0x00;
1764
+ // SE InterPAN messages.
1765
+ static MAC_PASSTHROUGH_SE_INTERPAN = 0x01;
1766
+ // Legacy EmberNet messages.
1767
+ static MAC_PASSTHROUGH_EMBERNET = 0x02;
1768
+ // Legacy EmberNet messages filtered by their source address.
1769
+ static MAC_PASSTHROUGH_EMBERNET_SOURCE = 0x04;
1770
+ static MAC_PASSTHROUGH_APPLICATION = 0x08;
1771
+ static MAC_PASSTHROUGH_CUSTOM = 0x10;
1772
+ static MAC_PASSTHROUGH_INTERNAL = 0x80;
1773
+ }
1774
+ exports.EmberMacPassthroughType = EmberMacPassthroughType;
1775
+ class EmberBindingType extends basic.uint8_t {
1776
+ // Binding types.
1777
+ // A binding that is currently not in use.
1778
+ static UNUSED_BINDING = 0x00;
1779
+ // A unicast binding whose 64-bit identifier is the destination EUI64.
1780
+ static UNICAST_BINDING = 0x01;
1781
+ // A unicast binding whose 64-bit identifier is the aggregator EUI64.
1782
+ static MANY_TO_ONE_BINDING = 0x02;
1783
+ // A multicast binding whose 64-bit identifier is the group address. A
1784
+ // multicast binding can be used to send messages to the group and to
1785
+ // receive messages sent to the group.
1786
+ static MULTICAST_BINDING = 0x03;
1787
+ }
1788
+ exports.EmberBindingType = EmberBindingType;
1789
+ class EmberApsOption extends basic.uint16_t {
1790
+ // Options to use when sending a message.
1791
+ // No options.
1792
+ static APS_OPTION_NONE = 0x0000;
1793
+ // UNKNOWN: Discovered while receiving data
1794
+ static APS_OPTION_UNKNOWN = 0x0008;
1795
+ // Send the message using APS Encryption, using the Link Key shared with the
1796
+ // destination node to encrypt the data at the APS Level.
1797
+ static APS_OPTION_ENCRYPTION = 0x0020;
1798
+ // Resend the message using the APS retry mechanism.
1799
+ static APS_OPTION_RETRY = 0x0040;
1800
+ // Causes a route discovery to be initiated if no route to the destination
1801
+ // is known.
1802
+ static APS_OPTION_ENABLE_ROUTE_DISCOVERY = 0x0100;
1803
+ // Causes a route discovery to be initiated even if one is known.
1804
+ static APS_OPTION_FORCE_ROUTE_DISCOVERY = 0x0200;
1805
+ // Include the source EUI64 in the network frame.
1806
+ static APS_OPTION_SOURCE_EUI64 = 0x0400;
1807
+ // Include the destination EUI64 in the network frame.
1808
+ static APS_OPTION_DESTINATION_EUI64 = 0x0800;
1809
+ // Send a ZDO request to discover the node ID of the destination, if it is
1810
+ // not already know.
1811
+ static APS_OPTION_ENABLE_ADDRESS_DISCOVERY = 0x1000;
1812
+ // Reserved.
1813
+ static APS_OPTION_POLL_RESPONSE = 0x2000;
1814
+ // This incoming message is a ZDO request not handled by the EmberZNet
1815
+ // stack, and the application is responsible for sending a ZDO response.
1816
+ // This flag is used only when the ZDO is configured to have requests
1817
+ // handled by the application. See the CONFIG_APPLICATION_ZDO_FLAGS
1818
+ // configuration parameter for more information.
1819
+ static APS_OPTION_ZDO_RESPONSE_REQUIRED = 0x4000;
1820
+ // This message is part of a fragmented message. This option may only be set
1821
+ // for unicasts. The groupId field gives the index of this fragment in the
1822
+ // low-order byte. If the low-order byte is zero this is the first fragment
1823
+ // and the high-order byte contains the number of fragments in the message.
1824
+ static APS_OPTION_FRAGMENT = 0x8000;
1825
+ }
1826
+ exports.EmberApsOption = EmberApsOption;
1827
+ class EzspNetworkScanType extends basic.uint8_t {
1828
+ // Network scan types.
1829
+ // An energy scan scans each channel for its RSSI value.
1830
+ static ENERGY_SCAN = 0x00;
1831
+ // An active scan scans each channel for available networks.
1832
+ static ACTIVE_SCAN = 0x01;
1833
+ }
1834
+ exports.EzspNetworkScanType = EzspNetworkScanType;
1835
+ class EmberJoinDecision extends basic.uint8_t {
1836
+ // Decision made by the trust center when a node attempts to join.
1837
+ // Allow the node to join. The joining node should have a pre-configured
1838
+ // key. The security data sent to it will be encrypted with that key.
1839
+ static USE_PRECONFIGURED_KEY = 0x00;
1840
+ // Allow the node to join. Send the necessary key (the Network Key in
1841
+ // Standard Security mode, the Trust Center Master in High Security mode)
1842
+ // in-the-clear to the joining device.
1843
+ static SEND_KEY_IN_THE_CLEAR = 0x01;
1844
+ // Deny join.
1845
+ static DENY_JOIN = 0x02;
1846
+ // Take no action.
1847
+ static NO_ACTION = 0x03;
1848
+ }
1849
+ exports.EmberJoinDecision = EmberJoinDecision;
1850
+ class EmberInitialSecurityBitmask extends basic.uint16_t {
1851
+ // This is the Initial Security Bitmask that controls the use of various
1852
+ // security features.
1853
+ // This enables ZigBee Standard Security on the node.
1854
+ static STANDARD_SECURITY_MODE = 0x0000;
1855
+ // This enables Distributed Trust Center Mode for the device forming the
1856
+ // network. (Previously known as NO_TRUST_CENTER_MODE)
1857
+ static DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1858
+ // This enables a Global Link Key for the Trust Center. All nodes will share
1859
+ // the same Trust Center Link Key.
1860
+ static TRUST_CENTER_GLOBAL_LINK_KEY = 0x0004;
1861
+ // This enables devices that perform MAC Association with a pre-configured
1862
+ // Network Key to join the network. It is only set on the Trust Center.
1863
+ static PRECONFIGURED_NETWORK_KEY_MODE = 0x0008;
1864
+ // This denotes that the preconfiguredKey is not the actual Link Key but a
1865
+ // Secret Key known only to the Trust Center. It is hashed with the IEEE
1866
+ // Address of the destination device in order to create the actual Link Key
1867
+ // used in encryption. This is bit is only used by the Trust Center. The
1868
+ // joining device need not set this.
1869
+ static TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1870
+ // This denotes that the preconfiguredKey element has valid data that should
1871
+ // be used to configure the initial security state.
1872
+ static HAVE_PRECONFIGURED_KEY = 0x0100;
1873
+ // This denotes that the networkKey element has valid data that should be
1874
+ // used to configure the initial security state.
1875
+ static HAVE_NETWORK_KEY = 0x0200;
1876
+ // This denotes to a joining node that it should attempt to acquire a Trust
1877
+ // Center Link Key during joining. This is only necessary if the device does
1878
+ // not have a pre-configured key.
1879
+ static GET_LINK_KEY_WHEN_JOINING = 0x0400;
1880
+ // This denotes that a joining device should only accept an encrypted
1881
+ // network key from the Trust Center (using its preconfigured key). A key
1882
+ // sent in-the-clear by the Trust Center will be rejected and the join will
1883
+ // fail. This option is only valid when utilizing a pre-configured key.
1884
+ static REQUIRE_ENCRYPTED_KEY = 0x0800;
1885
+ // This denotes whether the device should NOT reset its outgoing frame
1886
+ // counters (both NWK and APS) when ::emberSetInitialSecurityState() is
1887
+ // called. Normally it is advised to reset the frame counter before joining
1888
+ // a new network. However in cases where a device is joining to the same
1889
+ // network a again (but not using ::emberRejoinNetwork()) it should keep the
1890
+ // NWK and APS frame counters stored in its tokens.
1891
+ static NO_FRAME_COUNTER_RESET = 0x1000;
1892
+ // This denotes that the device should obtain its preconfigured key from an
1893
+ // installation code stored in the manufacturing token. The token contains a
1894
+ // value that will be hashed to obtain the actual preconfigured key. If that
1895
+ // token is not valid, then the call to emberSetInitialSecurityState() will
1896
+ // fail.
1897
+ static GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE = 0x2000;
1898
+ // This denotes that the
1899
+ // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in
1900
+ // it containing the trust center EUI64. The device will only join a network
1901
+ // and accept commands from a trust center with that EUI64. Normally this
1902
+ // bit is NOT set, and the EUI64 of the trust center is learned during the
1903
+ // join process. When commissioning a device to join onto an existing
1904
+ // network, which is using a trust center, and without sending any messages,
1905
+ // this bit must be set and the field
1906
+ // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be
1907
+ // populated with the appropriate EUI64.
1908
+ static HAVE_TRUST_CENTER_EUI64 = 0x0040;
1909
+ }
1910
+ exports.EmberInitialSecurityBitmask = EmberInitialSecurityBitmask;
1911
+ class EmberCurrentSecurityBitmask extends basic.uint16_t {
1912
+ // This is the Current Security Bitmask that details the use of various
1913
+ // security features.
1914
+ // This denotes that the device is running in a network with ZigBee Standard
1915
+ // Security.
1916
+ static STANDARD_SECURITY_MODE = 0x0000;
1917
+ // This denotes that the device is running in a network with ZigBee High
1918
+ // Security.
1919
+ static HIGH_SECURITY_MODE = 0x0001;
1920
+ // This denotes that the device is running in a network without a
1921
+ // centralized Trust Center.
1922
+ static DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1923
+ // This denotes that the device has a Global Link Key. The Trust Center Link
1924
+ // Key is the same across multiple nodes.
1925
+ static GLOBAL_LINK_KEY = 0x0004;
1926
+ // This denotes that the node has a Trust Center Link Key.
1927
+ static HAVE_TRUST_CENTER_LINK_KEY = 0x0010;
1928
+ // This denotes that the Trust Center is using a Hashed Link Key.
1929
+ static TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1930
+ }
1931
+ exports.EmberCurrentSecurityBitmask = EmberCurrentSecurityBitmask;
1932
+ class EmberKeyType extends basic.uint8_t {
1933
+ // Describes the type of ZigBee security key.
1934
+ // A shared key between the Trust Center and a device.
1935
+ static TRUST_CENTER_LINK_KEY = 0x01;
1936
+ // A shared secret used for deriving keys between the Trust Center and a
1937
+ // device
1938
+ static TRUST_CENTER_MASTER_KEY = 0x02;
1939
+ // The current active Network Key used by all devices in the network.
1940
+ static CURRENT_NETWORK_KEY = 0x03;
1941
+ // The alternate Network Key that was previously in use, or the newer key
1942
+ // that will be switched to.
1943
+ static NEXT_NETWORK_KEY = 0x04;
1944
+ // An Application Link Key shared with another (non-Trust Center) device.
1945
+ static APPLICATION_LINK_KEY = 0x05;
1946
+ // An Application Master Key shared secret used to derive an Application
1947
+ // Link Key.
1948
+ static APPLICATION_MASTER_KEY = 0x06;
1949
+ }
1950
+ exports.EmberKeyType = EmberKeyType;
1951
+ class EmberKeyStructBitmask extends basic.uint16_t {
1952
+ // Describes the presence of valid data within the EmberKeyStruct structure.
1953
+ // The key has a sequence number associated with it.
1954
+ static KEY_HAS_SEQUENCE_NUMBER = 0x0001;
1955
+ // The key has an outgoing frame counter associated with it.
1956
+ static KEY_HAS_OUTGOING_FRAME_COUNTER = 0x0002;
1957
+ // The key has an incoming frame counter associated with it.
1958
+ static KEY_HAS_INCOMING_FRAME_COUNTER = 0x0004;
1959
+ // The key has a Partner IEEE address associated with it.
1960
+ static KEY_HAS_PARTNER_EUI64 = 0x0008;
1961
+ }
1962
+ exports.EmberKeyStructBitmask = EmberKeyStructBitmask;
1963
+ class EmberDeviceUpdate extends basic.uint8_t {
1964
+ // The status of the device update.
1965
+ static STANDARD_SECURITY_SECURED_REJOIN = 0x0;
1966
+ static STANDARD_SECURITY_UNSECURED_JOIN = 0x1;
1967
+ static DEVICE_LEFT = 0x2;
1968
+ static STANDARD_SECURITY_UNSECURED_REJOIN = 0x3;
1969
+ static HIGH_SECURITY_SECURED_REJOIN = 0x4;
1970
+ static HIGH_SECURITY_UNSECURED_JOIN = 0x5;
1971
+ static HIGH_SECURITY_UNSECURED_REJOIN = 0x7;
1972
+ }
1973
+ exports.EmberDeviceUpdate = EmberDeviceUpdate;
1974
+ class EmberKeyStatus extends basic.uint8_t {
1975
+ // The status of the attempt to establish a key.
1976
+ static APP_LINK_KEY_ESTABLISHED = 0x01;
1977
+ static APP_MASTER_KEY_ESTABLISHED = 0x02;
1978
+ static TRUST_CENTER_LINK_KEY_ESTABLISHED = 0x03;
1979
+ static KEY_ESTABLISHMENT_TIMEOUT = 0x04;
1980
+ static KEY_TABLE_FULL = 0x05;
1981
+ static TC_RESPONDED_TO_KEY_REQUEST = 0x06;
1982
+ static TC_APP_KEY_SENT_TO_REQUESTER = 0x07;
1983
+ static TC_RESPONSE_TO_KEY_REQUEST_FAILED = 0x08;
1984
+ static TC_REQUEST_KEY_TYPE_NOT_SUPPORTED = 0x09;
1985
+ static TC_NO_LINK_KEY_FOR_REQUESTER = 0x0A;
1986
+ static TC_REQUESTER_EUI64_UNKNOWN = 0x0B;
1987
+ static TC_RECEIVED_FIRST_APP_KEY_REQUEST = 0x0C;
1988
+ static TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST = 0x0D;
1989
+ static TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED = 0x0E;
1990
+ static TC_FAILED_TO_SEND_APP_KEYS = 0x0F;
1991
+ static TC_FAILED_TO_STORE_APP_KEY_REQUEST = 0x10;
1992
+ static TC_REJECTED_APP_KEY_REQUEST = 0x11;
1993
+ }
1994
+ exports.EmberKeyStatus = EmberKeyStatus;
1995
+ class EmberCounterType extends basic.uint8_t {
1996
+ // Defines the events reported to the application by the
1997
+ // readAndClearCounters command.
1998
+ // The MAC received a broadcast.
1999
+ static COUNTER_MAC_RX_BROADCAST = 0;
2000
+ // The MAC transmitted a broadcast.
2001
+ static COUNTER_MAC_TX_BROADCAST = 1;
2002
+ // The MAC received a unicast.
2003
+ static COUNTER_MAC_RX_UNICAST = 2;
2004
+ // The MAC successfully transmitted a unicast.
2005
+ static COUNTER_MAC_TX_UNICAST_SUCCESS = 3;
2006
+ // The MAC retried a unicast.
2007
+ static COUNTER_MAC_TX_UNICAST_RETRY = 4;
2008
+ // The MAC unsuccessfully transmitted a unicast.
2009
+ static COUNTER_MAC_TX_UNICAST_FAILED = 5;
2010
+ // The APS layer received a data broadcast.
2011
+ static COUNTER_APS_DATA_RX_BROADCAST = 6;
2012
+ // The APS layer transmitted a data broadcast.
2013
+ static COUNTER_APS_DATA_TX_BROADCAST = 7;
2014
+ // The APS layer received a data unicast.
2015
+ static COUNTER_APS_DATA_RX_UNICAST = 8;
2016
+ // The APS layer successfully transmitted a data unicast.
2017
+ static COUNTER_APS_DATA_TX_UNICAST_SUCCESS = 9;
2018
+ // The APS layer retried a data unicast.
2019
+ static COUNTER_APS_DATA_TX_UNICAST_RETRY = 10;
2020
+ // The APS layer unsuccessfully transmitted a data unicast.
2021
+ static COUNTER_APS_DATA_TX_UNICAST_FAILED = 11;
2022
+ // The network layer successfully submitted a new route discovery to the
2023
+ // MAC.
2024
+ static COUNTER_ROUTE_DISCOVERY_INITIATED = 12;
2025
+ // An entry was added to the neighbor table.
2026
+ static COUNTER_NEIGHBOR_ADDED = 13;
2027
+ // An entry was removed from the neighbor table.
2028
+ static COUNTER_NEIGHBOR_REMOVED = 14;
2029
+ // A neighbor table entry became stale because it had not been heard from.
2030
+ static COUNTER_NEIGHBOR_STALE = 15;
2031
+ // A node joined or rejoined to the network via this node.
2032
+ static COUNTER_JOIN_INDICATION = 16;
2033
+ // An entry was removed from the child table.
2034
+ static COUNTER_CHILD_REMOVED = 17;
2035
+ // EZSP-UART only. An overflow error occurred in the UART.
2036
+ static COUNTER_ASH_OVERFLOW_ERROR = 18;
2037
+ // EZSP-UART only. A framing error occurred in the UART.
2038
+ static COUNTER_ASH_FRAMING_ERROR = 19;
2039
+ // EZSP-UART only. An overrun error occurred in the UART.
2040
+ static COUNTER_ASH_OVERRUN_ERROR = 20;
2041
+ // A message was dropped at the network layer because the NWK frame counter
2042
+ // was not higher than the last message seen from that source.
2043
+ static COUNTER_NWK_FRAME_COUNTER_FAILURE = 21;
2044
+ // A message was dropped at the APS layer because the APS frame counter was
2045
+ // not higher than the last message seen from that source.
2046
+ static COUNTER_APS_FRAME_COUNTER_FAILURE = 22;
2047
+ // Utility counter for general debugging use.
2048
+ static COUNTER_UTILITY = 23;
2049
+ // A message was dropped at the APS layer because it had APS encryption but
2050
+ // the key associated with the sender has not been authenticated, and thus
2051
+ // the key is not authorized for use in APS data messages.
2052
+ static COUNTER_APS_LINK_KEY_NOT_AUTHORIZED = 24;
2053
+ // A NWK encrypted message was received but dropped because decryption
2054
+ // failed.
2055
+ static COUNTER_NWK_DECRYPTION_FAILURE = 25;
2056
+ // An APS encrypted message was received but dropped because decryption
2057
+ // failed.
2058
+ static COUNTER_APS_DECRYPTION_FAILURE = 26;
2059
+ // The number of times we failed to allocate a set of linked packet buffers.
2060
+ // This doesn't necessarily mean that the packet buffer count was 0 at the
2061
+ // time, but that the number requested was greater than the number free.
2062
+ static COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE = 27;
2063
+ // The number of relayed unicast packets.
2064
+ static COUNTER_RELAYED_UNICAST = 28;
2065
+ // The number of times we dropped a packet due to reaching
2066
+ // the preset PHY to MAC queue limit (emMaxPhyToMacQueueLength).
2067
+ static COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED = 29;
2068
+ // The number of times we dropped a packet due to the
2069
+ // packet-validate library checking a packet and rejecting it
2070
+ // due to length or other formatting problems.
2071
+ static COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT = 30;
2072
+ // The number of times the NWK retry queue is full and a
2073
+ // new message failed to be added.
2074
+ static COUNTER_TYPE_NWK_RETRY_OVERFLOW = 31;
2075
+ // The number of times the PHY layer was unable to transmit
2076
+ // due to a failed CCA.
2077
+ static COUNTER_PHY_CCA_FAIL_COUNT = 32;
2078
+ // The number of times a NWK broadcast was dropped because
2079
+ // the broadcast table was full.
2080
+ static COUNTER_BROADCAST_TABLE_FULL = 33;
2081
+ // The number of low priority packet traffic arbitration requests.
2082
+ static COUNTER_PTA_LO_PRI_REQUESTED = 34;
2083
+ // The number of high priority packet traffic arbitration requests.
2084
+ static COUNTER_PTA_HI_PRI_REQUESTED = 35;
2085
+ // The number of low priority packet traffic arbitration requests denied.
2086
+ static COUNTER_PTA_LO_PRI_DENIED = 36;
2087
+ // The number of high priority packet traffic arbitration requests denied.
2088
+ static COUNTER_PTA_HI_PRI_DENIED = 37;
2089
+ // The number of aborted low priority packet traffic arbitration transmissions.
2090
+ static COUNTER_PTA_LO_PRI_TX_ABORTED = 38;
2091
+ // The number of aborted high priority packet traffic arbitration transmissions.
2092
+ static COUNTER_PTA_HI_PRI_TX_ABORTED = 39;
2093
+ // A placeholder giving the number of Ember counter types.
2094
+ static COUNTER_TYPE_COUNT = 40;
2095
+ }
2096
+ exports.EmberCounterType = EmberCounterType;
2097
+ class EmberJoinMethod extends basic.uint8_t {
2098
+ // The type of method used for joining.
2099
+ // Normally devices use MAC Association to join a network, which respects
2100
+ // the "permit joining" flag in the MAC Beacon. For mobile nodes this value
2101
+ // causes the device to use an Ember Mobile Node Join, which is functionally
2102
+ // equivalent to a MAC association. This value should be used by default.
2103
+ static USE_MAC_ASSOCIATION = 0x0;
2104
+ // For those networks where the "permit joining" flag is never turned on,
2105
+ // they will need to use a ZigBee NWK Rejoin. This value causes the rejoin
2106
+ // to be sent without NWK security and the Trust Center will be asked to
2107
+ // send the NWK key to the device. The NWK key sent to the device can be
2108
+ // encrypted with the device's corresponding Trust Center link key. That is
2109
+ // determined by the ::EmberJoinDecision on the Trust Center returned by the
2110
+ // ::emberTrustCenterJoinHandler(). For a mobile node this value will cause
2111
+ // it to use an Ember Mobile node rejoin, which is functionally equivalent.
2112
+ static USE_NWK_REJOIN = 0x1;
2113
+ // For those networks where the "permit joining" flag is never turned on,
2114
+ // they will need to use a NWK Rejoin. If those devices have been
2115
+ // preconfigured with the NWK key (including sequence number) they can use a
2116
+ // secured rejoin. This is only necessary for end devices since they need a
2117
+ // parent. Routers can simply use the ::USE_NWK_COMMISSIONING join method
2118
+ // below.
2119
+ static USE_NWK_REJOIN_HAVE_NWK_KEY = 0x2;
2120
+ // For those networks where all network and security information is known
2121
+ // ahead of time, a router device may be commissioned such that it does not
2122
+ // need to send any messages to begin communicating on the network.
2123
+ static USE_NWK_COMMISSIONING = 0x3;
2124
+ }
2125
+ exports.EmberJoinMethod = EmberJoinMethod;
2126
+ class EmberZdoConfigurationFlags extends basic.uint8_t {
2127
+ // Flags for controlling which incoming ZDO requests are passed to the
2128
+ // application. To see if the application is required to send a ZDO response
2129
+ // to an incoming message, the application must check the APS options
2130
+ // bitfield within the incomingMessageHandler callback to see if the
2131
+ // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
2132
+ // Set this flag in order to receive supported ZDO request messages via the
2133
+ // incomingMessageHandler callback. A supported ZDO request is one that is
2134
+ // handled by the EmberZNet stack. The stack will continue to handle the
2135
+ // request and send the appropriate ZDO response even if this configuration
2136
+ // option is enabled.
2137
+ static APP_RECEIVES_SUPPORTED_ZDO_REQUESTS = 0x01;
2138
+ // Set this flag in order to receive unsupported ZDO request messages via
2139
+ // the incomingMessageHandler callback. An unsupported ZDO request is one
2140
+ // that is not handled by the EmberZNet stack, other than to send a 'not
2141
+ // supported' ZDO response. If this configuration option is enabled, the
2142
+ // stack will no longer send any ZDO response, and it is the application's
2143
+ // responsibility to do so.
2144
+ static APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS = 0x02;
2145
+ // Set this flag in order to receive the following ZDO request messages via
2146
+ // the incomingMessageHandler callback: SIMPLE_DESCRIPTOR_REQUEST,
2147
+ // MATCH_DESCRIPTORS_REQUEST, and ACTIVE_ENDPOINTS_REQUEST. If this
2148
+ // configuration option is enabled, the stack will no longer send any ZDO
2149
+ // response for these requests, and it is the application's responsibility
2150
+ // to do so.
2151
+ static APP_HANDLES_ZDO_ENDPOINT_REQUESTS = 0x04;
2152
+ // Set this flag in order to receive the following ZDO request messages via
2153
+ // the incomingMessageHandler callback: BINDING_TABLE_REQUEST, BIND_REQUEST,
2154
+ // and UNBIND_REQUEST. If this configuration option is enabled, the stack
2155
+ // will no longer send any ZDO response for these requests, and it is the
2156
+ // application's responsibility to do so.
2157
+ static APP_HANDLES_ZDO_BINDING_REQUESTS = 0x08;
2158
+ }
2159
+ exports.EmberZdoConfigurationFlags = EmberZdoConfigurationFlags;
2160
+ class EmberConcentratorType extends basic.uint16_t {
2161
+ // Type of concentrator.
2162
+ // A concentrator with insufficient memory to store source routes for the
2163
+ // entire network. Route records are sent to the concentrator prior to every
2164
+ // inbound APS unicast.
2165
+ static LOW_RAM_CONCENTRATOR = 0xFFF8;
2166
+ // A concentrator with sufficient memory to store source routes for the
2167
+ // entire network. Remote nodes stop sending route records once the
2168
+ // concentrator has successfully received one.
2169
+ static HIGH_RAM_CONCENTRATOR = 0xFFF9;
2170
+ }
2171
+ exports.EmberConcentratorType = EmberConcentratorType;
2172
+ class EmberZllState extends basic.uint16_t {
2173
+ // ZLL device state identifier.
2174
+ // No state.
2175
+ static ZLL_STATE_NONE = 0x0000;
2176
+ // The device is factory new.
2177
+ static ZLL_STATE_FACTORY_NEW = 0x0001;
2178
+ // The device is capable of assigning addresses to other devices.
2179
+ static ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE = 0x0002;
2180
+ // The device is initiating a link operation.
2181
+ static ZLL_STATE_LINK_INITIATOR = 0x0010;
2182
+ // The device is requesting link priority.
2183
+ static ZLL_STATE_LINK_PRIORITY_REQUEST = 0x0020;
2184
+ // The device is on a non-ZLL network.
2185
+ static ZLL_STATE_NON_ZLL_NETWORK = 0x0100;
2186
+ }
2187
+ exports.EmberZllState = EmberZllState;
2188
+ class EmberZllKeyIndex extends basic.uint8_t {
2189
+ // ZLL key encryption algorithm enumeration.
2190
+ // Key encryption algorithm for use during development.
2191
+ static ZLL_KEY_INDEX_DEVELOPMENT = 0x00;
2192
+ // Key encryption algorithm shared by all certified devices.
2193
+ static ZLL_KEY_INDEX_MASTER = 0x04;
2194
+ // Key encryption algorithm for use during development and certification.
2195
+ static ZLL_KEY_INDEX_CERTIFICATION = 0x0F;
2196
+ }
2197
+ exports.EmberZllKeyIndex = EmberZllKeyIndex;
2198
+ class EzspZllNetworkOperation extends basic.uint8_t {
2199
+ // Differentiates among ZLL network operations.
2200
+ static ZLL_FORM_NETWORK = 0x00; // ZLL form network command.
2201
+ static ZLL_JOIN_TARGET = 0x01; // ZLL join target command.
2202
+ }
2203
+ exports.EzspZllNetworkOperation = EzspZllNetworkOperation;
2204
+ class EzspSourceRouteOverheadInformation extends basic.uint8_t {
2205
+ // Validates Source Route Overhead Information cached.
2206
+ // Ezsp source route overhead unknown
2207
+ static SOURCE_ROUTE_OVERHEAD_UNKNOWN = 0xFF;
2208
+ }
2209
+ exports.EzspSourceRouteOverheadInformation = EzspSourceRouteOverheadInformation;
2210
+ class EmberNetworkInitBitmask extends basic.uint16_t {
2211
+ // Bitmask options for emberNetworkInit().
2212
+ // No options for Network Init
2213
+ static NETWORK_INIT_NO_OPTIONS = 0x0000;
2214
+ // Save parent info (node ID and EUI64) in a token during joining/rejoin,
2215
+ // and restore on reboot.
2216
+ static NETWORK_INIT_PARENT_INFO_IN_TOKEN = 0x0001;
2217
+ }
2218
+ exports.EmberNetworkInitBitmask = EmberNetworkInitBitmask;
2219
+ class EmberZDOCmd extends basic.uint16_t {
2220
+ // Device and Service Discovery Server Requests
2221
+ static NWK_addr_req = 0x0000;
2222
+ static IEEE_addr_req = 0x0001;
2223
+ static Node_Desc_req = 0x0002;
2224
+ static Power_Desc_req = 0x0003;
2225
+ static Simple_Desc_req = 0x0004;
2226
+ static Active_EP_req = 0x0005;
2227
+ static Match_Desc_req = 0x0006;
2228
+ static Complex_Desc_req = 0x0010;
2229
+ static User_Desc_req = 0x0011;
2230
+ static Discovery_Cache_req = 0x0012;
2231
+ static Device_annce = 0x0013;
2232
+ static User_Desc_set = 0x0014;
2233
+ static System_Server_Discovery_req = 0x0015;
2234
+ static Discovery_store_req = 0x0016;
2235
+ static Node_Desc_store_req = 0x0017;
2236
+ static Active_EP_store_req = 0x0019;
2237
+ static Simple_Desc_store_req = 0x001A;
2238
+ static Remove_node_cache_req = 0x001B;
2239
+ static Find_node_cache_req = 0x001C;
2240
+ static Extended_Simple_Desc_req = 0x001D;
2241
+ static Extended_Active_EP_req = 0x001E;
2242
+ static Parent_annce = 0x001F;
2243
+ // Bind Management Server Services Responses
2244
+ static End_Device_Bind_req = 0x0020;
2245
+ static Bind_req = 0x0021;
2246
+ static Unbind_req = 0x0022;
2247
+ // Network Management Server Services Requests
2248
+ // ... TODO optional stuff ...
2249
+ static Mgmt_Lqi_req = 0x0031;
2250
+ static Mgmt_Rtg_req = 0x0032;
2251
+ // ... TODO optional stuff ...
2252
+ static Mgmt_Leave_req = 0x0034;
2253
+ static Mgmt_Permit_Joining_req = 0x0036;
2254
+ static Mgmt_NWK_Update_req = 0x0038;
2255
+ // ... TODO optional stuff ...
2256
+ // Responses
2257
+ // Device and Service Discovery Server Responses
2258
+ static NWK_addr_rsp = 0x8000;
2259
+ static IEEE_addr_rsp = 0x8001;
2260
+ static Node_Desc_rsp = 0x8002;
2261
+ static Power_Desc_rsp = 0x8003;
2262
+ static Simple_Desc_rsp = 0x8004;
2263
+ static Active_EP_rsp = 0x8005;
2264
+ static Match_Desc_rsp = 0x8006;
2265
+ static Complex_Desc_rsp = 0x8010;
2266
+ static User_Desc_rsp = 0x8011;
2267
+ static Discovery_Cache_rsp = 0x8012;
2268
+ static User_Desc_conf = 0x8014;
2269
+ static System_Server_Discovery_rsp = 0x8015;
2270
+ static Discovery_Store_rsp = 0x8016;
2271
+ static Node_Desc_store_rsp = 0x8017;
2272
+ static Power_Desc_store_rsp = 0x8018;
2273
+ static Active_EP_store_rsp = 0x8019;
2274
+ static Simple_Desc_store_rsp = 0x801A;
2275
+ static Remove_node_cache_rsp = 0x801B;
2276
+ static Find_node_cache_rsp = 0x801C;
2277
+ static Extended_Simple_Desc_rsp = 0x801D;
2278
+ static Extended_Active_EP_rsp = 0x801E;
2279
+ static Parent_annce_rsp = 0x801F;
2280
+ // Bind Management Server Services Responses
2281
+ static End_Device_Bind_rsp = 0x8020;
2282
+ static Bind_rsp = 0x8021;
2283
+ static Unbind_rsp = 0x8022;
2284
+ // ... TODO optional stuff ...
2285
+ // Network Management Server Services Responses
2286
+ static Mgmt_Lqi_rsp = 0x8031;
2287
+ static Mgmt_Rtg_rsp = 0x8032;
2288
+ // ... TODO optional stuff ...
2289
+ static Mgmt_Leave_rsp = 0x8034;
2290
+ static Mgmt_Permit_Joining_rsp = 0x8036;
2291
+ // ... TODO optional stuff ...
2292
+ static Mgmt_NWK_Update_rsp = 0x8038;
2293
+ }
2294
+ exports.EmberZDOCmd = EmberZDOCmd;
2295
+ class EzspDecisionBitmask extends basic.uint16_t {
2296
+ // EZSP Decision bitmask.
2297
+ // Disallow joins and rejoins.
2298
+ static DEFAULT_CONFIGURATION = 0x0000;
2299
+ // Send the network key to all joining devices.
2300
+ static ALLOW_JOINS = 0x0001;
2301
+ // Send the network key to all rejoining devices.
2302
+ static ALLOW_UNSECURED_REJOINS = 0x0002;
2303
+ // Send the network key in the clear.
2304
+ static SEND_KEY_IN_CLEAR = 0x0004;
2305
+ // Do nothing for unsecured rejoins.
2306
+ static IGNORE_UNSECURED_REJOINS = 0x0008;
2307
+ // Allow joins if there is an entry in the transient key table.
2308
+ static JOINS_USE_INSTALL_CODE_KEY = 0x0010;
2309
+ // Delay sending the network key to a new joining device.
2310
+ static DEFER_JOINS = 0x0020;
2311
+ }
2312
+ exports.EzspDecisionBitmask = EzspDecisionBitmask;
2313
+ class EmberDerivedKeyType extends basic.uint8_t {
2314
+ // Derived keys are calculated when performing Zigbee crypto operations.
2315
+ // The stack makes use of these derivations.
2316
+ // Perform no derivation; use the key as is.
2317
+ static NONE = 0;
2318
+ // Perform the Key-Transport-Key hash.
2319
+ static KEY_TRANSPORT_KEY = 1;
2320
+ // Perform the Key-Load-Key hash.
2321
+ static KEY_LOAD_KEY = 2;
2322
+ // Perform the Verify Key hash.
2323
+ static VERIFY_KEY = 3;
2324
+ // Perform a simple AES hash of the key for TC backup.
2325
+ static TC_SWAP_OUT_KEY = 4;
2326
+ // For a TC using hashed link keys, hashed the root key against the supplied EUI in context.
2327
+ static TC_HASHED_LINK_KEY = 5;
2328
+ }
2329
+ exports.EmberDerivedKeyType = EmberDerivedKeyType;
1727
2330
  //# sourceMappingURL=named.js.map