@willieee802/zigbee-herdsman 0.19.21 → 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 (522) 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 -153
  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 -60
  127. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  128. package/dist/adapter/ezsp/adapter/ezspAdapter.js +629 -608
  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 -101
  139. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/driver.js +731 -638
  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.js +77 -72
  154. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  155. package/dist/adapter/ezsp/driver/parser.d.ts +11 -12
  156. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  157. package/dist/adapter/ezsp/driver/parser.js +104 -111
  158. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  159. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  160. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  161. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  162. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  163. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  164. package/dist/adapter/ezsp/driver/types/index.js +138 -133
  165. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  166. package/dist/adapter/ezsp/driver/types/named.d.ts +1287 -697
  167. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  168. package/dist/adapter/ezsp/driver/types/named.js +2329 -1726
  169. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  170. package/dist/adapter/ezsp/driver/types/struct.d.ts +270 -251
  171. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  172. package/dist/adapter/ezsp/driver/types/struct.js +803 -708
  173. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  174. package/dist/adapter/ezsp/driver/uart.d.ts +48 -44
  175. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  176. package/dist/adapter/ezsp/driver/uart.js +382 -368
  177. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  178. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  179. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  180. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  181. package/dist/adapter/ezsp/driver/utils/index.d.ts +18 -18
  182. package/dist/adapter/ezsp/driver/utils/index.js +72 -67
  183. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  184. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  185. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  186. package/dist/adapter/ezsp/driver/writer.js +85 -88
  187. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  188. package/dist/adapter/index.d.ts +4 -4
  189. package/dist/adapter/index.js +35 -35
  190. package/dist/adapter/serialPort.d.ts +10 -8
  191. package/dist/adapter/serialPort.d.ts.map +1 -1
  192. package/dist/adapter/serialPort.js +53 -22
  193. package/dist/adapter/serialPort.js.map +1 -1
  194. package/dist/adapter/serialPortUtils.d.ts +12 -12
  195. package/dist/adapter/serialPortUtils.js +18 -18
  196. package/dist/adapter/serialPortUtils.js.map +1 -1
  197. package/dist/adapter/socketPortUtils.d.ts +10 -10
  198. package/dist/adapter/socketPortUtils.js +16 -16
  199. package/dist/adapter/tstype.d.ts +85 -85
  200. package/dist/adapter/tstype.d.ts.map +1 -1
  201. package/dist/adapter/tstype.js +2 -2
  202. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  203. package/dist/adapter/z-stack/adapter/adapter-backup.js +462 -461
  204. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  205. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  206. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  207. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  208. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  209. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  210. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  211. package/dist/adapter/z-stack/adapter/index.js +8 -8
  212. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  213. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  214. package/dist/adapter/z-stack/adapter/manager.js +482 -476
  215. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  216. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  217. package/dist/adapter/z-stack/adapter/tstype.js +9 -10
  218. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  219. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  220. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  221. package/dist/adapter/z-stack/adapter/zStackAdapter.js +891 -868
  222. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  223. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  224. package/dist/adapter/z-stack/constants/af.js +27 -27
  225. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  226. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  227. package/dist/adapter/z-stack/constants/common.js +292 -289
  228. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  229. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  230. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  231. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  232. package/dist/adapter/z-stack/constants/index.js +47 -47
  233. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  234. package/dist/adapter/z-stack/constants/mac.js +129 -129
  235. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  236. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  237. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  238. package/dist/adapter/z-stack/constants/sys.js +73 -73
  239. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  240. package/dist/adapter/z-stack/constants/util.js +83 -83
  241. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  242. package/dist/adapter/z-stack/constants/utils.js +14 -14
  243. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  244. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  245. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  246. package/dist/adapter/z-stack/models/index.js +17 -17
  247. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  248. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  249. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  250. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  251. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  252. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  253. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  254. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  255. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  256. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  257. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  258. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  259. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  260. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  261. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  262. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  263. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  264. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  265. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  266. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  267. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  268. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  269. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  270. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  271. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  272. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  273. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  274. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  275. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  276. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  277. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  279. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  280. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  281. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  283. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  284. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  285. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  286. package/dist/adapter/z-stack/structs/index.js +20 -20
  287. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  288. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  289. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  290. package/dist/adapter/z-stack/structs/struct.js +296 -295
  291. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  292. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  293. package/dist/adapter/z-stack/structs/table.js +163 -161
  294. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  295. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  296. package/dist/adapter/z-stack/unpi/constants.js +39 -41
  297. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  298. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  299. package/dist/adapter/z-stack/unpi/frame.js +54 -48
  300. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  301. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  302. package/dist/adapter/z-stack/unpi/index.js +37 -37
  303. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  304. package/dist/adapter/z-stack/unpi/parser.js +75 -74
  305. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  306. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  307. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  308. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  309. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  310. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  311. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  312. package/dist/adapter/z-stack/utils/index.js +18 -18
  313. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  314. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  315. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  316. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  317. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  318. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  319. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  320. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  321. package/dist/adapter/z-stack/znp/index.js +10 -10
  322. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  323. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  324. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  325. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  326. package/dist/adapter/z-stack/znp/znp.d.ts +44 -43
  327. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  328. package/dist/adapter/z-stack/znp/znp.js +326 -325
  329. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  330. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  331. package/dist/adapter/z-stack/znp/zpiObject.js +102 -96
  332. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  333. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  334. package/dist/adapter/zigate/adapter/index.js +10 -10
  335. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -70
  336. package/dist/adapter/zigate/adapter/zigateAdapter.js +689 -684
  337. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  338. package/dist/adapter/zigate/debug.d.ts +7 -7
  339. package/dist/adapter/zigate/debug.d.ts.map +1 -1
  340. package/dist/adapter/zigate/debug.js +19 -22
  341. package/dist/adapter/zigate/debug.js.map +1 -1
  342. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  343. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  344. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  345. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  346. package/dist/adapter/zigate/driver/commandType.js +385 -385
  347. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  348. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  349. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  350. package/dist/adapter/zigate/driver/constants.js +371 -371
  351. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  352. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  353. package/dist/adapter/zigate/driver/frame.js +172 -172
  354. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  355. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  356. package/dist/adapter/zigate/driver/messageType.js +278 -278
  357. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  358. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  359. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  360. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  361. package/dist/adapter/zigate/driver/ziGateObject.js +110 -106
  362. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  363. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  364. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  365. package/dist/adapter/zigate/driver/zigate.js +296 -303
  366. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  367. package/dist/buffalo/buffalo.d.ts +50 -50
  368. package/dist/buffalo/buffalo.js +324 -322
  369. package/dist/buffalo/buffalo.js.map +1 -1
  370. package/dist/buffalo/index.d.ts +3 -3
  371. package/dist/buffalo/index.js +33 -33
  372. package/dist/buffalo/tstype.d.ts +8 -8
  373. package/dist/buffalo/tstype.js +2 -2
  374. package/dist/controller/controller.d.ts +113 -113
  375. package/dist/controller/controller.d.ts.map +1 -1
  376. package/dist/controller/controller.js +641 -619
  377. package/dist/controller/controller.js.map +1 -1
  378. package/dist/controller/database.d.ts +18 -18
  379. package/dist/controller/database.js +96 -93
  380. package/dist/controller/database.js.map +1 -1
  381. package/dist/controller/events.d.ts +58 -58
  382. package/dist/controller/events.d.ts.map +1 -1
  383. package/dist/controller/events.js +108 -102
  384. package/dist/controller/events.js.map +1 -1
  385. package/dist/controller/greenPower.d.ts +12 -12
  386. package/dist/controller/greenPower.js +221 -220
  387. package/dist/controller/greenPower.js.map +1 -1
  388. package/dist/controller/helpers/index.d.ts +2 -2
  389. package/dist/controller/helpers/index.js +28 -28
  390. package/dist/controller/helpers/request.d.ts +21 -22
  391. package/dist/controller/helpers/request.d.ts.map +1 -1
  392. package/dist/controller/helpers/request.js +77 -71
  393. package/dist/controller/helpers/request.js.map +1 -1
  394. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  395. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  396. package/dist/controller/helpers/requestQueue.js +116 -0
  397. package/dist/controller/helpers/requestQueue.js.map +1 -0
  398. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  399. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  400. package/dist/controller/helpers/zclFrameConverter.js +50 -31
  401. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  402. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  403. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  404. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  405. package/dist/controller/index.d.ts +5 -5
  406. package/dist/controller/index.js +8 -8
  407. package/dist/controller/logger-stub.d.ts +6 -6
  408. package/dist/controller/logger-stub.js +2 -2
  409. package/dist/controller/model/device.d.ts +132 -133
  410. package/dist/controller/model/device.d.ts.map +1 -1
  411. package/dist/controller/model/device.js +724 -717
  412. package/dist/controller/model/device.js.map +1 -1
  413. package/dist/controller/model/endpoint.d.ts +128 -131
  414. package/dist/controller/model/endpoint.d.ts.map +1 -1
  415. package/dist/controller/model/endpoint.js +755 -821
  416. package/dist/controller/model/endpoint.js.map +1 -1
  417. package/dist/controller/model/entity.d.ts +14 -14
  418. package/dist/controller/model/entity.js +26 -26
  419. package/dist/controller/model/entity.js.map +1 -1
  420. package/dist/controller/model/group.d.ts +38 -38
  421. package/dist/controller/model/group.d.ts.map +1 -1
  422. package/dist/controller/model/group.js +225 -221
  423. package/dist/controller/model/group.js.map +1 -1
  424. package/dist/controller/model/index.d.ts +5 -5
  425. package/dist/controller/model/index.js +14 -14
  426. package/dist/controller/touchlink.d.ts +19 -19
  427. package/dist/controller/touchlink.js +159 -157
  428. package/dist/controller/touchlink.js.map +1 -1
  429. package/dist/controller/tstype.d.ts +20 -21
  430. package/dist/controller/tstype.d.ts.map +1 -1
  431. package/dist/controller/tstype.js +8 -9
  432. package/dist/controller/tstype.js.map +1 -1
  433. package/dist/index.d.ts +3 -3
  434. package/dist/index.js +33 -33
  435. package/dist/models/backup-storage-legacy.d.ts +26 -26
  436. package/dist/models/backup-storage-legacy.js +2 -2
  437. package/dist/models/backup-storage-unified.d.ts +49 -49
  438. package/dist/models/backup-storage-unified.js +2 -2
  439. package/dist/models/backup.d.ts +37 -37
  440. package/dist/models/backup.js +2 -2
  441. package/dist/models/index.d.ts +4 -4
  442. package/dist/models/index.js +20 -20
  443. package/dist/models/network-options.d.ts +12 -12
  444. package/dist/models/network-options.js +2 -2
  445. package/dist/utils/assertString.d.ts +2 -2
  446. package/dist/utils/assertString.js +8 -8
  447. package/dist/utils/assertString.js.map +1 -1
  448. package/dist/utils/backup.d.ts +20 -20
  449. package/dist/utils/backup.d.ts.map +1 -1
  450. package/dist/utils/backup.js +189 -187
  451. package/dist/utils/backup.js.map +1 -1
  452. package/dist/utils/equalsPartial.d.ts +2 -2
  453. package/dist/utils/equalsPartial.js +11 -11
  454. package/dist/utils/index.d.ts +9 -9
  455. package/dist/utils/index.js +45 -45
  456. package/dist/utils/isNumberArray.d.ts +2 -2
  457. package/dist/utils/isNumberArray.js +6 -6
  458. package/dist/utils/queue.d.ts +11 -11
  459. package/dist/utils/queue.d.ts.map +1 -1
  460. package/dist/utils/queue.js +61 -50
  461. package/dist/utils/queue.js.map +1 -1
  462. package/dist/utils/realpathSync.d.ts +2 -2
  463. package/dist/utils/realpathSync.js +12 -12
  464. package/dist/utils/wait.d.ts +2 -2
  465. package/dist/utils/wait.js +8 -8
  466. package/dist/utils/waitress.d.ts +21 -21
  467. package/dist/utils/waitress.d.ts.map +1 -1
  468. package/dist/utils/waitress.js +68 -61
  469. package/dist/utils/waitress.js.map +1 -1
  470. package/dist/zcl/buffaloZcl.d.ts +41 -41
  471. package/dist/zcl/buffaloZcl.d.ts.map +1 -1
  472. package/dist/zcl/buffaloZcl.js +594 -591
  473. package/dist/zcl/buffaloZcl.js.map +1 -1
  474. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  475. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  476. package/dist/zcl/definition/cluster.d.ts +29 -29
  477. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  478. package/dist/zcl/definition/cluster.js +5520 -5335
  479. package/dist/zcl/definition/cluster.js.map +1 -1
  480. package/dist/zcl/definition/dataType.d.ts +59 -59
  481. package/dist/zcl/definition/dataType.js +64 -64
  482. package/dist/zcl/definition/direction.d.ts +5 -5
  483. package/dist/zcl/definition/direction.js +8 -8
  484. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  485. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  486. package/dist/zcl/definition/foundation.d.ts +11 -11
  487. package/dist/zcl/definition/foundation.js +167 -167
  488. package/dist/zcl/definition/frameControl.d.ts +10 -10
  489. package/dist/zcl/definition/frameControl.js +2 -2
  490. package/dist/zcl/definition/frameType.d.ts +5 -5
  491. package/dist/zcl/definition/frameType.js +8 -8
  492. package/dist/zcl/definition/index.d.ts +13 -13
  493. package/dist/zcl/definition/index.js +51 -51
  494. package/dist/zcl/definition/manufacturerCode.d.ts +1077 -1074
  495. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -1
  496. package/dist/zcl/definition/manufacturerCode.js +1082 -1079
  497. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  498. package/dist/zcl/definition/powerSource.d.ts +4 -4
  499. package/dist/zcl/definition/powerSource.js +12 -12
  500. package/dist/zcl/definition/status.d.ts +38 -38
  501. package/dist/zcl/definition/status.js +41 -41
  502. package/dist/zcl/definition/tstype.d.ts +16 -16
  503. package/dist/zcl/definition/tstype.js +2 -2
  504. package/dist/zcl/index.d.ts +16 -16
  505. package/dist/zcl/index.js +55 -55
  506. package/dist/zcl/tstype.d.ts +56 -56
  507. package/dist/zcl/tstype.js +9 -10
  508. package/dist/zcl/tstype.js.map +1 -1
  509. package/dist/zcl/utils.d.ts +6 -6
  510. package/dist/zcl/utils.js +164 -165
  511. package/dist/zcl/utils.js.map +1 -1
  512. package/dist/zcl/zclFrame.d.ts +40 -40
  513. package/dist/zcl/zclFrame.js +351 -347
  514. package/dist/zcl/zclFrame.js.map +1 -1
  515. package/dist/zcl/zclHeader.d.ts +8 -8
  516. package/dist/zcl/zclHeader.js +2 -2
  517. package/dist/zcl/zclStatusError.d.ts +5 -5
  518. package/dist/zcl/zclStatusError.js +14 -13
  519. package/dist/zcl/zclStatusError.js.map +1 -1
  520. package/package.json +11 -11
  521. package/release-please-config.json +1 -5
  522. package/tsconfig.json +4 -2
@@ -0,0 +1,2391 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmberGpSinkTableEntryStatus = exports.EmberGpSinkType = exports.EmberGpProxyTableEntryStatus = exports.EmberGpKeyType = exports.EmberGpSecurityLevel = exports.EmberGpApplicationId = exports.EmberZllKeyIndex = exports.EzspZllNetworkOperation = exports.EmberZllState = exports.EmberJoinDecision = exports.EmberDeviceUpdate = exports.EmberKeyStructBitmask = exports.EmberKeyStatus = exports.SecManFlag = exports.SecManDerivedKeyType = exports.SecManKeyType = exports.EmberCurrentSecurityBitmask = exports.EmberInterpanMessageType = exports.EmberMacPassthroughType = exports.EmberSourceRouteDiscoveryMode = exports.EmberApsOption = exports.EmberIncomingMessageType = exports.EmberOutgoingMessageType = exports.EmberBindingType = exports.EmberDutyCycleState = exports.EmberMultiPhyNwkConfig = exports.EmberNodeType = exports.EmberJoinMethod = exports.EzspNetworkScanType = exports.EmberNetworkStatus = exports.EmberNetworkInitBitmask = exports.EmberEntropySource = exports.EmberLibraryStatus = exports.EmberLibraryId = exports.EmberCounterType = exports.EmberEventUnits = exports.EmberInitialSecurityBitmask = exports.EmberExtendedSecurityBitmask = exports.EmberKeepAliveMode = exports.EmberTXPowerMode = exports.EmberLeaveRequestFlags = exports.EmberVersionType = exports.EmberStackError = exports.EzspStatus = exports.EmberStatus = exports.SLStatus = void 0;
4
+ /** Status Defines */
5
+ var SLStatus;
6
+ (function (SLStatus) {
7
+ // -----------------------------------------------------------------------------
8
+ // Generic Errors
9
+ /** No error. */
10
+ SLStatus[SLStatus["OK"] = 0] = "OK";
11
+ /** Generic error. */
12
+ SLStatus[SLStatus["FAIL"] = 1] = "FAIL";
13
+ // -----------------------------------------------------------------------------
14
+ // State Errors
15
+ /** Generic invalid state error. */
16
+ SLStatus[SLStatus["INVALID_STATE"] = 2] = "INVALID_STATE";
17
+ /** Module is not ready for requested operation. */
18
+ SLStatus[SLStatus["NOT_READY"] = 3] = "NOT_READY";
19
+ /** Module is busy and cannot carry out requested operation. */
20
+ SLStatus[SLStatus["BUSY"] = 4] = "BUSY";
21
+ /** Operation is in progress and not yet complete (pass or fail). */
22
+ SLStatus[SLStatus["IN_PROGRESS"] = 5] = "IN_PROGRESS";
23
+ /** Operation aborted. */
24
+ SLStatus[SLStatus["ABORT"] = 6] = "ABORT";
25
+ /** Operation timed out. */
26
+ SLStatus[SLStatus["TIMEOUT"] = 7] = "TIMEOUT";
27
+ /** Operation not allowed per permissions. */
28
+ SLStatus[SLStatus["PERMISSION"] = 8] = "PERMISSION";
29
+ /** Non-blocking operation would block. */
30
+ SLStatus[SLStatus["WOULD_BLOCK"] = 9] = "WOULD_BLOCK";
31
+ /** Operation/module is Idle, cannot carry requested operation. */
32
+ SLStatus[SLStatus["IDLE"] = 10] = "IDLE";
33
+ /** Operation cannot be done while construct is waiting. */
34
+ SLStatus[SLStatus["IS_WAITING"] = 11] = "IS_WAITING";
35
+ /** No task/construct waiting/pending for that action/event. */
36
+ SLStatus[SLStatus["NONE_WAITING"] = 12] = "NONE_WAITING";
37
+ /** Operation cannot be done while construct is suspended. */
38
+ SLStatus[SLStatus["SUSPENDED"] = 13] = "SUSPENDED";
39
+ /** Feature not available due to software configuration. */
40
+ SLStatus[SLStatus["NOT_AVAILABLE"] = 14] = "NOT_AVAILABLE";
41
+ /** Feature not supported. */
42
+ SLStatus[SLStatus["NOT_SUPPORTED"] = 15] = "NOT_SUPPORTED";
43
+ /** Initialization failed. */
44
+ SLStatus[SLStatus["INITIALIZATION"] = 16] = "INITIALIZATION";
45
+ /** Module has not been initialized. */
46
+ SLStatus[SLStatus["NOT_INITIALIZED"] = 17] = "NOT_INITIALIZED";
47
+ /** Module has already been initialized. */
48
+ SLStatus[SLStatus["ALREADY_INITIALIZED"] = 18] = "ALREADY_INITIALIZED";
49
+ /** Object/construct has been deleted. */
50
+ SLStatus[SLStatus["DELETED"] = 19] = "DELETED";
51
+ /** Illegal call from ISR. */
52
+ SLStatus[SLStatus["ISR"] = 20] = "ISR";
53
+ /** Illegal call because network is up. */
54
+ SLStatus[SLStatus["NETWORK_UP"] = 21] = "NETWORK_UP";
55
+ /** Illegal call because network is down. */
56
+ SLStatus[SLStatus["NETWORK_DOWN"] = 22] = "NETWORK_DOWN";
57
+ /** Failure due to not being joined in a network. */
58
+ SLStatus[SLStatus["NOT_JOINED"] = 23] = "NOT_JOINED";
59
+ /** Invalid operation as there are no beacons. */
60
+ SLStatus[SLStatus["NO_BEACONS"] = 24] = "NO_BEACONS";
61
+ // -----------------------------------------------------------------------------
62
+ // Allocation/ownership Errors
63
+ /** Generic allocation error. */
64
+ SLStatus[SLStatus["ALLOCATION_FAILED"] = 25] = "ALLOCATION_FAILED";
65
+ /** No more resource available to perform the operation. */
66
+ SLStatus[SLStatus["NO_MORE_RESOURCE"] = 26] = "NO_MORE_RESOURCE";
67
+ /** Item/list/queue is empty. */
68
+ SLStatus[SLStatus["EMPTY"] = 27] = "EMPTY";
69
+ /** Item/list/queue is full. */
70
+ SLStatus[SLStatus["FULL"] = 28] = "FULL";
71
+ /** Item would overflow. */
72
+ SLStatus[SLStatus["WOULD_OVERFLOW"] = 29] = "WOULD_OVERFLOW";
73
+ /** Item/list/queue has been overflowed. */
74
+ SLStatus[SLStatus["HAS_OVERFLOWED"] = 30] = "HAS_OVERFLOWED";
75
+ /** Generic ownership error. */
76
+ SLStatus[SLStatus["OWNERSHIP"] = 31] = "OWNERSHIP";
77
+ /** Already/still owning resource. */
78
+ SLStatus[SLStatus["IS_OWNER"] = 32] = "IS_OWNER";
79
+ // -----------------------------------------------------------------------------
80
+ // Invalid Parameters Errors
81
+ /** Generic invalid argument or consequence of invalid argument. */
82
+ SLStatus[SLStatus["INVALID_PARAMETER"] = 33] = "INVALID_PARAMETER";
83
+ /** Invalid null pointer received as argument. */
84
+ SLStatus[SLStatus["NULL_POINTER"] = 34] = "NULL_POINTER";
85
+ /** Invalid configuration provided. */
86
+ SLStatus[SLStatus["INVALID_CONFIGURATION"] = 35] = "INVALID_CONFIGURATION";
87
+ /** Invalid mode. */
88
+ SLStatus[SLStatus["INVALID_MODE"] = 36] = "INVALID_MODE";
89
+ /** Invalid handle. */
90
+ SLStatus[SLStatus["INVALID_HANDLE"] = 37] = "INVALID_HANDLE";
91
+ /** Invalid type for operation. */
92
+ SLStatus[SLStatus["INVALID_TYPE"] = 38] = "INVALID_TYPE";
93
+ /** Invalid index. */
94
+ SLStatus[SLStatus["INVALID_INDEX"] = 39] = "INVALID_INDEX";
95
+ /** Invalid range. */
96
+ SLStatus[SLStatus["INVALID_RANGE"] = 40] = "INVALID_RANGE";
97
+ /** Invalid key. */
98
+ SLStatus[SLStatus["INVALID_KEY"] = 41] = "INVALID_KEY";
99
+ /** Invalid credentials. */
100
+ SLStatus[SLStatus["INVALID_CREDENTIALS"] = 42] = "INVALID_CREDENTIALS";
101
+ /** Invalid count. */
102
+ SLStatus[SLStatus["INVALID_COUNT"] = 43] = "INVALID_COUNT";
103
+ /** Invalid signature / verification failed. */
104
+ SLStatus[SLStatus["INVALID_SIGNATURE"] = 44] = "INVALID_SIGNATURE";
105
+ /** Item could not be found. */
106
+ SLStatus[SLStatus["NOT_FOUND"] = 45] = "NOT_FOUND";
107
+ /** Item already exists. */
108
+ SLStatus[SLStatus["ALREADY_EXISTS"] = 46] = "ALREADY_EXISTS";
109
+ // -----------------------------------------------------------------------------
110
+ // IO/Communication Errors
111
+ /** Generic I/O failure. */
112
+ SLStatus[SLStatus["IO"] = 47] = "IO";
113
+ /** I/O failure due to timeout. */
114
+ SLStatus[SLStatus["IO_TIMEOUT"] = 48] = "IO_TIMEOUT";
115
+ /** Generic transmission error. */
116
+ SLStatus[SLStatus["TRANSMIT"] = 49] = "TRANSMIT";
117
+ /** Transmit underflowed. */
118
+ SLStatus[SLStatus["TRANSMIT_UNDERFLOW"] = 50] = "TRANSMIT_UNDERFLOW";
119
+ /** Transmit is incomplete. */
120
+ SLStatus[SLStatus["TRANSMIT_INCOMPLETE"] = 51] = "TRANSMIT_INCOMPLETE";
121
+ /** Transmit is busy. */
122
+ SLStatus[SLStatus["TRANSMIT_BUSY"] = 52] = "TRANSMIT_BUSY";
123
+ /** Generic reception error. */
124
+ SLStatus[SLStatus["RECEIVE"] = 53] = "RECEIVE";
125
+ /** Failed to read on/via given object. */
126
+ SLStatus[SLStatus["OBJECT_READ"] = 54] = "OBJECT_READ";
127
+ /** Failed to write on/via given object. */
128
+ SLStatus[SLStatus["OBJECT_WRITE"] = 55] = "OBJECT_WRITE";
129
+ /** Message is too long. */
130
+ SLStatus[SLStatus["MESSAGE_TOO_LONG"] = 56] = "MESSAGE_TOO_LONG";
131
+ // -----------------------------------------------------------------------------
132
+ // EEPROM/Flash Errors
133
+ /** EEPROM MFG version mismatch. */
134
+ SLStatus[SLStatus["EEPROM_MFG_VERSION_MISMATCH"] = 57] = "EEPROM_MFG_VERSION_MISMATCH";
135
+ /** EEPROM Stack version mismatch. */
136
+ SLStatus[SLStatus["EEPROM_STACK_VERSION_MISMATCH"] = 58] = "EEPROM_STACK_VERSION_MISMATCH";
137
+ /** Flash write is inhibited. */
138
+ SLStatus[SLStatus["FLASH_WRITE_INHIBITED"] = 59] = "FLASH_WRITE_INHIBITED";
139
+ /** Flash verification failed. */
140
+ SLStatus[SLStatus["FLASH_VERIFY_FAILED"] = 60] = "FLASH_VERIFY_FAILED";
141
+ /** Flash programming failed. */
142
+ SLStatus[SLStatus["FLASH_PROGRAM_FAILED"] = 61] = "FLASH_PROGRAM_FAILED";
143
+ /** Flash erase failed. */
144
+ SLStatus[SLStatus["FLASH_ERASE_FAILED"] = 62] = "FLASH_ERASE_FAILED";
145
+ // -----------------------------------------------------------------------------
146
+ // MAC Errors
147
+ /** MAC no data. */
148
+ SLStatus[SLStatus["MAC_NO_DATA"] = 63] = "MAC_NO_DATA";
149
+ /** MAC no ACK received. */
150
+ SLStatus[SLStatus["MAC_NO_ACK_RECEIVED"] = 64] = "MAC_NO_ACK_RECEIVED";
151
+ /** MAC indirect timeout. */
152
+ SLStatus[SLStatus["MAC_INDIRECT_TIMEOUT"] = 65] = "MAC_INDIRECT_TIMEOUT";
153
+ /** MAC unknown header type. */
154
+ SLStatus[SLStatus["MAC_UNKNOWN_HEADER_TYPE"] = 66] = "MAC_UNKNOWN_HEADER_TYPE";
155
+ /** MAC ACK unknown header type. */
156
+ SLStatus[SLStatus["MAC_ACK_HEADER_TYPE"] = 67] = "MAC_ACK_HEADER_TYPE";
157
+ /** MAC command transmit failure. */
158
+ SLStatus[SLStatus["MAC_COMMAND_TRANSMIT_FAILURE"] = 68] = "MAC_COMMAND_TRANSMIT_FAILURE";
159
+ // -----------------------------------------------------------------------------
160
+ // CLI_STORAGE Errors
161
+ /** Error in open NVM */
162
+ SLStatus[SLStatus["CLI_STORAGE_NVM_OPEN_ERROR"] = 69] = "CLI_STORAGE_NVM_OPEN_ERROR";
163
+ // -----------------------------------------------------------------------------
164
+ // Security status codes
165
+ /** Image checksum is not valid. */
166
+ SLStatus[SLStatus["SECURITY_IMAGE_CHECKSUM_ERROR"] = 70] = "SECURITY_IMAGE_CHECKSUM_ERROR";
167
+ /** Decryption failed */
168
+ SLStatus[SLStatus["SECURITY_DECRYPT_ERROR"] = 71] = "SECURITY_DECRYPT_ERROR";
169
+ // -----------------------------------------------------------------------------
170
+ // Command status codes
171
+ /** Command was not recognized */
172
+ SLStatus[SLStatus["COMMAND_IS_INVALID"] = 72] = "COMMAND_IS_INVALID";
173
+ /** Command or parameter maximum length exceeded */
174
+ SLStatus[SLStatus["COMMAND_TOO_LONG"] = 73] = "COMMAND_TOO_LONG";
175
+ /** Data received does not form a complete command */
176
+ SLStatus[SLStatus["COMMAND_INCOMPLETE"] = 74] = "COMMAND_INCOMPLETE";
177
+ // -----------------------------------------------------------------------------
178
+ // Misc Errors
179
+ /** Bus error, e.g. invalid DMA address */
180
+ SLStatus[SLStatus["BUS_ERROR"] = 75] = "BUS_ERROR";
181
+ // -----------------------------------------------------------------------------
182
+ // Unified MAC Errors
183
+ /** CCA failure. */
184
+ SLStatus[SLStatus["CCA_FAILURE"] = 76] = "CCA_FAILURE";
185
+ // -----------------------------------------------------------------------------
186
+ // Scan errors
187
+ /** MAC scanning. */
188
+ SLStatus[SLStatus["MAC_SCANNING"] = 77] = "MAC_SCANNING";
189
+ /** MAC incorrect scan type. */
190
+ SLStatus[SLStatus["MAC_INCORRECT_SCAN_TYPE"] = 78] = "MAC_INCORRECT_SCAN_TYPE";
191
+ /** Invalid channel mask. */
192
+ SLStatus[SLStatus["INVALID_CHANNEL_MASK"] = 79] = "INVALID_CHANNEL_MASK";
193
+ /** Bad scan duration. */
194
+ SLStatus[SLStatus["BAD_SCAN_DURATION"] = 80] = "BAD_SCAN_DURATION";
195
+ // -----------------------------------------------------------------------------
196
+ // Bluetooth status codes
197
+ /** Bonding procedure can't be started because device has no space left for bond. */
198
+ SLStatus[SLStatus["BT_OUT_OF_BONDS"] = 1026] = "BT_OUT_OF_BONDS";
199
+ /** Unspecified error */
200
+ SLStatus[SLStatus["BT_UNSPECIFIED"] = 1027] = "BT_UNSPECIFIED";
201
+ /** Hardware failure */
202
+ SLStatus[SLStatus["BT_HARDWARE"] = 1028] = "BT_HARDWARE";
203
+ /** The bonding does not exist. */
204
+ SLStatus[SLStatus["BT_NO_BONDING"] = 1030] = "BT_NO_BONDING";
205
+ /** Error using crypto functions */
206
+ SLStatus[SLStatus["BT_CRYPTO"] = 1031] = "BT_CRYPTO";
207
+ /** Data was corrupted. */
208
+ SLStatus[SLStatus["BT_DATA_CORRUPTED"] = 1032] = "BT_DATA_CORRUPTED";
209
+ /** Invalid periodic advertising sync handle */
210
+ SLStatus[SLStatus["BT_INVALID_SYNC_HANDLE"] = 1034] = "BT_INVALID_SYNC_HANDLE";
211
+ /** Bluetooth cannot be used on this hardware */
212
+ SLStatus[SLStatus["BT_INVALID_MODULE_ACTION"] = 1035] = "BT_INVALID_MODULE_ACTION";
213
+ /** Error received from radio */
214
+ SLStatus[SLStatus["BT_RADIO"] = 1036] = "BT_RADIO";
215
+ /** Returned when remote disconnects the connection-oriented channel by sending disconnection request. */
216
+ SLStatus[SLStatus["BT_L2CAP_REMOTE_DISCONNECTED"] = 1037] = "BT_L2CAP_REMOTE_DISCONNECTED";
217
+ /** Returned when local host disconnect the connection-oriented channel by sending disconnection request. */
218
+ SLStatus[SLStatus["BT_L2CAP_LOCAL_DISCONNECTED"] = 1038] = "BT_L2CAP_LOCAL_DISCONNECTED";
219
+ /** Returned when local host did not find a connection-oriented channel with given destination CID. */
220
+ SLStatus[SLStatus["BT_L2CAP_CID_NOT_EXIST"] = 1039] = "BT_L2CAP_CID_NOT_EXIST";
221
+ /** Returned when connection-oriented channel disconnected due to LE connection is dropped. */
222
+ SLStatus[SLStatus["BT_L2CAP_LE_DISCONNECTED"] = 1040] = "BT_L2CAP_LE_DISCONNECTED";
223
+ /** Returned when connection-oriented channel disconnected due to remote end send data even without credit. */
224
+ SLStatus[SLStatus["BT_L2CAP_FLOW_CONTROL_VIOLATED"] = 1042] = "BT_L2CAP_FLOW_CONTROL_VIOLATED";
225
+ /** Returned when connection-oriented channel disconnected due to remote end send flow control credits exceed 65535. */
226
+ SLStatus[SLStatus["BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED"] = 1043] = "BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED";
227
+ /** Returned when connection-oriented channel has run out of flow control credit and local application still trying to send data. */
228
+ SLStatus[SLStatus["BT_L2CAP_NO_FLOW_CONTROL_CREDIT"] = 1044] = "BT_L2CAP_NO_FLOW_CONTROL_CREDIT";
229
+ /** Returned when connection-oriented channel has not received connection response message within maximum timeout. */
230
+ SLStatus[SLStatus["BT_L2CAP_CONNECTION_REQUEST_TIMEOUT"] = 1045] = "BT_L2CAP_CONNECTION_REQUEST_TIMEOUT";
231
+ /** Returned when local host received a connection-oriented channel connection response with an invalid destination CID. */
232
+ SLStatus[SLStatus["BT_L2CAP_INVALID_CID"] = 1046] = "BT_L2CAP_INVALID_CID";
233
+ /** Returned when local host application tries to send a command which is not suitable for L2CAP channel's current state. */
234
+ SLStatus[SLStatus["BT_L2CAP_WRONG_STATE"] = 1047] = "BT_L2CAP_WRONG_STATE";
235
+ /** Flash reserved for PS store is full */
236
+ SLStatus[SLStatus["BT_PS_STORE_FULL"] = 1051] = "BT_PS_STORE_FULL";
237
+ /** PS key not found */
238
+ SLStatus[SLStatus["BT_PS_KEY_NOT_FOUND"] = 1052] = "BT_PS_KEY_NOT_FOUND";
239
+ /** Mismatched or insufficient security level */
240
+ SLStatus[SLStatus["BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY"] = 1053] = "BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY";
241
+ /** Encryption/decryption operation failed. */
242
+ SLStatus[SLStatus["BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR"] = 1054] = "BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR";
243
+ // -----------------------------------------------------------------------------
244
+ // Bluetooth controller status codes
245
+ /** Connection does not exist, or connection open request was cancelled. */
246
+ SLStatus[SLStatus["BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER"] = 4098] = "BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER";
247
+ /**
248
+ * Pairing or authentication failed due to incorrect results in the pairing or authentication procedure.
249
+ * This could be due to an incorrect PIN or Link Key
250
+ */
251
+ SLStatus[SLStatus["BT_CTRL_AUTHENTICATION_FAILURE"] = 4101] = "BT_CTRL_AUTHENTICATION_FAILURE";
252
+ /** Pairing failed because of missing PIN, or authentication failed because of missing Key */
253
+ SLStatus[SLStatus["BT_CTRL_PIN_OR_KEY_MISSING"] = 4102] = "BT_CTRL_PIN_OR_KEY_MISSING";
254
+ /** Controller is out of memory. */
255
+ SLStatus[SLStatus["BT_CTRL_MEMORY_CAPACITY_EXCEEDED"] = 4103] = "BT_CTRL_MEMORY_CAPACITY_EXCEEDED";
256
+ /** Link supervision timeout has expired. */
257
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_TIMEOUT"] = 4104] = "BT_CTRL_CONNECTION_TIMEOUT";
258
+ /** Controller is at limit of connections it can support. */
259
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_LIMIT_EXCEEDED"] = 4105] = "BT_CTRL_CONNECTION_LIMIT_EXCEEDED";
260
+ /**
261
+ * The Synchronous Connection Limit to a Device Exceeded error code indicates that the Controller has reached
262
+ * the limit to the number of synchronous connections that can be achieved to a device.
263
+ */
264
+ SLStatus[SLStatus["BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED"] = 4106] = "BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED";
265
+ /**
266
+ * The ACL Connection Already Exists error code indicates that an attempt to create a new ACL Connection
267
+ * to a device when there is already a connection to this device.
268
+ */
269
+ SLStatus[SLStatus["BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS"] = 4107] = "BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS";
270
+ /** Command requested cannot be executed because the Controller is in a state where it cannot process this command at this time. */
271
+ SLStatus[SLStatus["BT_CTRL_COMMAND_DISALLOWED"] = 4108] = "BT_CTRL_COMMAND_DISALLOWED";
272
+ /** The Connection Rejected Due To Limited Resources error code indicates that an incoming connection was rejected due to limited resources. */
273
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES"] = 4109] = "BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES";
274
+ /**
275
+ * The Connection Rejected Due To Security Reasons error code indicates that a connection was rejected due
276
+ * to security requirements not being fulfilled, like authentication or pairing.
277
+ */
278
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS"] = 4110] = "BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS";
279
+ /**
280
+ * The Connection was rejected because this device does not accept the BD_ADDR.
281
+ * This may be because the device will only accept connections from specific BD_ADDRs.
282
+ */
283
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR"] = 4111] = "BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR";
284
+ /** The Connection Accept Timeout has been exceeded for this connection attempt. */
285
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED"] = 4112] = "BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED";
286
+ /** A feature or parameter value in the HCI command is not supported. */
287
+ SLStatus[SLStatus["BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE"] = 4113] = "BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE";
288
+ /** Command contained invalid parameters. */
289
+ SLStatus[SLStatus["BT_CTRL_INVALID_COMMAND_PARAMETERS"] = 4114] = "BT_CTRL_INVALID_COMMAND_PARAMETERS";
290
+ /** User on the remote device terminated the connection. */
291
+ SLStatus[SLStatus["BT_CTRL_REMOTE_USER_TERMINATED"] = 4115] = "BT_CTRL_REMOTE_USER_TERMINATED";
292
+ /** The remote device terminated the connection because of low resources */
293
+ SLStatus[SLStatus["BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES"] = 4116] = "BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES";
294
+ /** Remote Device Terminated Connection due to Power Off */
295
+ SLStatus[SLStatus["BT_CTRL_REMOTE_POWERING_OFF"] = 4117] = "BT_CTRL_REMOTE_POWERING_OFF";
296
+ /** Local device terminated the connection. */
297
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST"] = 4118] = "BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST";
298
+ /**
299
+ * The Controller is disallowing an authentication or pairing procedure because too little time has elapsed
300
+ * since the last authentication or pairing attempt failed.
301
+ */
302
+ SLStatus[SLStatus["BT_CTRL_REPEATED_ATTEMPTS"] = 4119] = "BT_CTRL_REPEATED_ATTEMPTS";
303
+ /**
304
+ * The device does not allow pairing. This can be for example, when a device only allows pairing during
305
+ * a certain time window after some user input allows pairing
306
+ */
307
+ SLStatus[SLStatus["BT_CTRL_PAIRING_NOT_ALLOWED"] = 4120] = "BT_CTRL_PAIRING_NOT_ALLOWED";
308
+ /** The remote device does not support the feature associated with the issued command. */
309
+ SLStatus[SLStatus["BT_CTRL_UNSUPPORTED_REMOTE_FEATURE"] = 4122] = "BT_CTRL_UNSUPPORTED_REMOTE_FEATURE";
310
+ /** No other error code specified is appropriate to use. */
311
+ SLStatus[SLStatus["BT_CTRL_UNSPECIFIED_ERROR"] = 4127] = "BT_CTRL_UNSPECIFIED_ERROR";
312
+ /** Connection terminated due to link-layer procedure timeout. */
313
+ SLStatus[SLStatus["BT_CTRL_LL_RESPONSE_TIMEOUT"] = 4130] = "BT_CTRL_LL_RESPONSE_TIMEOUT";
314
+ /** LL procedure has collided with the same transaction or procedure that is already in progress. */
315
+ SLStatus[SLStatus["BT_CTRL_LL_PROCEDURE_COLLISION"] = 4131] = "BT_CTRL_LL_PROCEDURE_COLLISION";
316
+ /** The requested encryption mode is not acceptable at this time. */
317
+ SLStatus[SLStatus["BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE"] = 4133] = "BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE";
318
+ /** Link key cannot be changed because a fixed unit key is being used. */
319
+ SLStatus[SLStatus["BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED"] = 4134] = "BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED";
320
+ /** LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed. */
321
+ SLStatus[SLStatus["BT_CTRL_INSTANT_PASSED"] = 4136] = "BT_CTRL_INSTANT_PASSED";
322
+ /** It was not possible to pair as a unit key was requested and it is not supported. */
323
+ SLStatus[SLStatus["BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED"] = 4137] = "BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED";
324
+ /** LMP transaction was started that collides with an ongoing transaction. */
325
+ SLStatus[SLStatus["BT_CTRL_DIFFERENT_TRANSACTION_COLLISION"] = 4138] = "BT_CTRL_DIFFERENT_TRANSACTION_COLLISION";
326
+ /** The Controller cannot perform channel assessment because it is not supported. */
327
+ SLStatus[SLStatus["BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED"] = 4142] = "BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED";
328
+ /** The HCI command or LMP PDU sent is only possible on an encrypted link. */
329
+ SLStatus[SLStatus["BT_CTRL_INSUFFICIENT_SECURITY"] = 4143] = "BT_CTRL_INSUFFICIENT_SECURITY";
330
+ /** A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU. */
331
+ SLStatus[SLStatus["BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE"] = 4144] = "BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE";
332
+ /**
333
+ * The IO capabilities request or response was rejected because the sending Host does not support
334
+ * Secure Simple Pairing even though the receiving Link Manager does.
335
+ */
336
+ SLStatus[SLStatus["BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST"] = 4151] = "BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST";
337
+ /**
338
+ * The Host is busy with another pairing operation and unable to support the requested pairing.
339
+ * The receiving device should retry pairing again later.
340
+ */
341
+ SLStatus[SLStatus["BT_CTRL_HOST_BUSY_PAIRING"] = 4152] = "BT_CTRL_HOST_BUSY_PAIRING";
342
+ /** The Controller could not calculate an appropriate value for the Channel selection operation. */
343
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND"] = 4153] = "BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND";
344
+ /** Operation was rejected because the controller is busy and unable to process the request. */
345
+ SLStatus[SLStatus["BT_CTRL_CONTROLLER_BUSY"] = 4154] = "BT_CTRL_CONTROLLER_BUSY";
346
+ /** Remote device terminated the connection because of an unacceptable connection interval. */
347
+ SLStatus[SLStatus["BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL"] = 4155] = "BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL";
348
+ /** Advertising for a fixed duration completed or, for directed advertising, that advertising completed without a connection being created. */
349
+ SLStatus[SLStatus["BT_CTRL_ADVERTISING_TIMEOUT"] = 4156] = "BT_CTRL_ADVERTISING_TIMEOUT";
350
+ /** Connection was terminated because the Message Integrity Check (MIC) failed on a received packet. */
351
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE"] = 4157] = "BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE";
352
+ /** LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end. */
353
+ SLStatus[SLStatus["BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED"] = 4158] = "BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED";
354
+ /** The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed. */
355
+ SLStatus[SLStatus["BT_CTRL_MAC_CONNECTION_FAILED"] = 4159] = "BT_CTRL_MAC_CONNECTION_FAILED";
356
+ /**
357
+ * The master, at this time, is unable to make a coarse adjustment to the piconet clock, using the supplied parameters.
358
+ * Instead the master will attempt to move the clock using clock dragging.
359
+ */
360
+ SLStatus[SLStatus["BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING"] = 4160] = "BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING";
361
+ /** A command was sent from the Host that should identify an Advertising or Sync handle, but the Advertising or Sync handle does not exist. */
362
+ SLStatus[SLStatus["BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER"] = 4162] = "BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER";
363
+ /** Number of operations requested has been reached and has indicated the completion of the activity (e.g., advertising or scanning). */
364
+ SLStatus[SLStatus["BT_CTRL_LIMIT_REACHED"] = 4163] = "BT_CTRL_LIMIT_REACHED";
365
+ /** A request to the Controller issued by the Host and still pending was successfully canceled. */
366
+ SLStatus[SLStatus["BT_CTRL_OPERATION_CANCELLED_BY_HOST"] = 4164] = "BT_CTRL_OPERATION_CANCELLED_BY_HOST";
367
+ /** An attempt was made to send or receive a packet that exceeds the maximum allowed packet l */
368
+ SLStatus[SLStatus["BT_CTRL_PACKET_TOO_LONG"] = 4165] = "BT_CTRL_PACKET_TOO_LONG";
369
+ // -----------------------------------------------------------------------------
370
+ // Bluetooth attribute status codes
371
+ /** The attribute handle given was not valid on this server */
372
+ SLStatus[SLStatus["BT_ATT_INVALID_HANDLE"] = 4353] = "BT_ATT_INVALID_HANDLE";
373
+ /** The attribute cannot be read */
374
+ SLStatus[SLStatus["BT_ATT_READ_NOT_PERMITTED"] = 4354] = "BT_ATT_READ_NOT_PERMITTED";
375
+ /** The attribute cannot be written */
376
+ SLStatus[SLStatus["BT_ATT_WRITE_NOT_PERMITTED"] = 4355] = "BT_ATT_WRITE_NOT_PERMITTED";
377
+ /** The attribute PDU was invalid */
378
+ SLStatus[SLStatus["BT_ATT_INVALID_PDU"] = 4356] = "BT_ATT_INVALID_PDU";
379
+ /** The attribute requires authentication before it can be read or written. */
380
+ SLStatus[SLStatus["BT_ATT_INSUFFICIENT_AUTHENTICATION"] = 4357] = "BT_ATT_INSUFFICIENT_AUTHENTICATION";
381
+ /** Attribute Server does not support the request received from the client. */
382
+ SLStatus[SLStatus["BT_ATT_REQUEST_NOT_SUPPORTED"] = 4358] = "BT_ATT_REQUEST_NOT_SUPPORTED";
383
+ /** Offset specified was past the end of the attribute */
384
+ SLStatus[SLStatus["BT_ATT_INVALID_OFFSET"] = 4359] = "BT_ATT_INVALID_OFFSET";
385
+ /** The attribute requires authorization before it can be read or written. */
386
+ SLStatus[SLStatus["BT_ATT_INSUFFICIENT_AUTHORIZATION"] = 4360] = "BT_ATT_INSUFFICIENT_AUTHORIZATION";
387
+ /** Too many prepare writes have been queued */
388
+ SLStatus[SLStatus["BT_ATT_PREPARE_QUEUE_FULL"] = 4361] = "BT_ATT_PREPARE_QUEUE_FULL";
389
+ /** No attribute found within the given attribute handle range. */
390
+ SLStatus[SLStatus["BT_ATT_ATT_NOT_FOUND"] = 4362] = "BT_ATT_ATT_NOT_FOUND";
391
+ /** The attribute cannot be read or written using the Read Blob Request */
392
+ SLStatus[SLStatus["BT_ATT_ATT_NOT_LONG"] = 4363] = "BT_ATT_ATT_NOT_LONG";
393
+ /** The Encryption Key Size used for encrypting this link is insufficient. */
394
+ SLStatus[SLStatus["BT_ATT_INSUFFICIENT_ENC_KEY_SIZE"] = 4364] = "BT_ATT_INSUFFICIENT_ENC_KEY_SIZE";
395
+ /** The attribute value length is invalid for the operation */
396
+ SLStatus[SLStatus["BT_ATT_INVALID_ATT_LENGTH"] = 4365] = "BT_ATT_INVALID_ATT_LENGTH";
397
+ /** The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. */
398
+ SLStatus[SLStatus["BT_ATT_UNLIKELY_ERROR"] = 4366] = "BT_ATT_UNLIKELY_ERROR";
399
+ /** The attribute requires encryption before it can be read or written. */
400
+ SLStatus[SLStatus["BT_ATT_INSUFFICIENT_ENCRYPTION"] = 4367] = "BT_ATT_INSUFFICIENT_ENCRYPTION";
401
+ /** The attribute type is not a supported grouping attribute as defined by a higher layer specification. */
402
+ SLStatus[SLStatus["BT_ATT_UNSUPPORTED_GROUP_TYPE"] = 4368] = "BT_ATT_UNSUPPORTED_GROUP_TYPE";
403
+ /** Insufficient Resources to complete the request */
404
+ SLStatus[SLStatus["BT_ATT_INSUFFICIENT_RESOURCES"] = 4369] = "BT_ATT_INSUFFICIENT_RESOURCES";
405
+ /** The server requests the client to rediscover the database. */
406
+ SLStatus[SLStatus["BT_ATT_OUT_OF_SYNC"] = 4370] = "BT_ATT_OUT_OF_SYNC";
407
+ /** The attribute parameter value was not allowed. */
408
+ SLStatus[SLStatus["BT_ATT_VALUE_NOT_ALLOWED"] = 4371] = "BT_ATT_VALUE_NOT_ALLOWED";
409
+ /** When this is returned in a BGAPI response, the application tried to read or write the value of a user attribute from the GATT database. */
410
+ SLStatus[SLStatus["BT_ATT_APPLICATION"] = 4480] = "BT_ATT_APPLICATION";
411
+ /** The requested write operation cannot be fulfilled for reasons other than permissions. */
412
+ SLStatus[SLStatus["BT_ATT_WRITE_REQUEST_REJECTED"] = 4604] = "BT_ATT_WRITE_REQUEST_REJECTED";
413
+ /** The Client Characteristic Configuration descriptor is not configured according to the requirements of the profile or service. */
414
+ SLStatus[SLStatus["BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED"] = 4605] = "BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED";
415
+ /** The profile or service request cannot be serviced because an operation that has been previously triggered is still in progress. */
416
+ SLStatus[SLStatus["BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS"] = 4606] = "BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS";
417
+ /** The attribute value is out of range as defined by a profile or service specification. */
418
+ SLStatus[SLStatus["BT_ATT_OUT_OF_RANGE"] = 4607] = "BT_ATT_OUT_OF_RANGE";
419
+ // -----------------------------------------------------------------------------
420
+ // Bluetooth Security Manager Protocol status codes
421
+ /** The user input of passkey failed, for example, the user cancelled the operation */
422
+ SLStatus[SLStatus["BT_SMP_PASSKEY_ENTRY_FAILED"] = 4609] = "BT_SMP_PASSKEY_ENTRY_FAILED";
423
+ /** Out of Band data is not available for authentication */
424
+ SLStatus[SLStatus["BT_SMP_OOB_NOT_AVAILABLE"] = 4610] = "BT_SMP_OOB_NOT_AVAILABLE";
425
+ /** The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices */
426
+ SLStatus[SLStatus["BT_SMP_AUTHENTICATION_REQUIREMENTS"] = 4611] = "BT_SMP_AUTHENTICATION_REQUIREMENTS";
427
+ /** The confirm value does not match the calculated compare value */
428
+ SLStatus[SLStatus["BT_SMP_CONFIRM_VALUE_FAILED"] = 4612] = "BT_SMP_CONFIRM_VALUE_FAILED";
429
+ /** Pairing is not supported by the device */
430
+ SLStatus[SLStatus["BT_SMP_PAIRING_NOT_SUPPORTED"] = 4613] = "BT_SMP_PAIRING_NOT_SUPPORTED";
431
+ /** The resultant encryption key size is insufficient for the security requirements of this device */
432
+ SLStatus[SLStatus["BT_SMP_ENCRYPTION_KEY_SIZE"] = 4614] = "BT_SMP_ENCRYPTION_KEY_SIZE";
433
+ /** The SMP command received is not supported on this device */
434
+ SLStatus[SLStatus["BT_SMP_COMMAND_NOT_SUPPORTED"] = 4615] = "BT_SMP_COMMAND_NOT_SUPPORTED";
435
+ /** Pairing failed due to an unspecified reason */
436
+ SLStatus[SLStatus["BT_SMP_UNSPECIFIED_REASON"] = 4616] = "BT_SMP_UNSPECIFIED_REASON";
437
+ /** Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request */
438
+ SLStatus[SLStatus["BT_SMP_REPEATED_ATTEMPTS"] = 4617] = "BT_SMP_REPEATED_ATTEMPTS";
439
+ /** The Invalid Parameters error code indicates: the command length is invalid or a parameter is outside of the specified range. */
440
+ SLStatus[SLStatus["BT_SMP_INVALID_PARAMETERS"] = 4618] = "BT_SMP_INVALID_PARAMETERS";
441
+ /** Indicates to the remote device that the DHKey Check value received doesn't match the one calculated by the local device. */
442
+ SLStatus[SLStatus["BT_SMP_DHKEY_CHECK_FAILED"] = 4619] = "BT_SMP_DHKEY_CHECK_FAILED";
443
+ /** Indicates that the confirm values in the numeric comparison protocol do not match. */
444
+ SLStatus[SLStatus["BT_SMP_NUMERIC_COMPARISON_FAILED"] = 4620] = "BT_SMP_NUMERIC_COMPARISON_FAILED";
445
+ /** Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. */
446
+ SLStatus[SLStatus["BT_SMP_BREDR_PAIRING_IN_PROGRESS"] = 4621] = "BT_SMP_BREDR_PAIRING_IN_PROGRESS";
447
+ /** Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. */
448
+ SLStatus[SLStatus["BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED"] = 4622] = "BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED";
449
+ /** Indicates that the device chose not to accept a distributed key. */
450
+ SLStatus[SLStatus["BT_SMP_KEY_REJECTED"] = 4623] = "BT_SMP_KEY_REJECTED";
451
+ // -----------------------------------------------------------------------------
452
+ // Bluetooth Mesh status codes
453
+ /** Returned when trying to add a key or some other unique resource with an ID which already exists */
454
+ SLStatus[SLStatus["BT_MESH_ALREADY_EXISTS"] = 1281] = "BT_MESH_ALREADY_EXISTS";
455
+ /** Returned when trying to manipulate a key or some other resource with an ID which does not exist */
456
+ SLStatus[SLStatus["BT_MESH_DOES_NOT_EXIST"] = 1282] = "BT_MESH_DOES_NOT_EXIST";
457
+ /**
458
+ * Returned when an operation cannot be executed because a pre-configured limit for keys, key bindings,
459
+ * elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached
460
+ */
461
+ SLStatus[SLStatus["BT_MESH_LIMIT_REACHED"] = 1283] = "BT_MESH_LIMIT_REACHED";
462
+ /** Returned when trying to use a reserved address or add a "pre-provisioned" device using an address already used by some other device */
463
+ SLStatus[SLStatus["BT_MESH_INVALID_ADDRESS"] = 1284] = "BT_MESH_INVALID_ADDRESS";
464
+ /** In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote end responded with malformed or unrecognized data */
465
+ SLStatus[SLStatus["BT_MESH_MALFORMED_DATA"] = 1285] = "BT_MESH_MALFORMED_DATA";
466
+ /** An attempt was made to initialize a subsystem that was already initialized. */
467
+ SLStatus[SLStatus["BT_MESH_ALREADY_INITIALIZED"] = 1286] = "BT_MESH_ALREADY_INITIALIZED";
468
+ /** An attempt was made to use a subsystem that wasn't initialized yet. Call the subsystem's init function first. */
469
+ SLStatus[SLStatus["BT_MESH_NOT_INITIALIZED"] = 1287] = "BT_MESH_NOT_INITIALIZED";
470
+ /** Returned when trying to establish a friendship as a Low Power Node, but no acceptable friend offer message was received. */
471
+ SLStatus[SLStatus["BT_MESH_NO_FRIEND_OFFER"] = 1288] = "BT_MESH_NO_FRIEND_OFFER";
472
+ /** Provisioning link was unexpectedly closed before provisioning was complete. */
473
+ SLStatus[SLStatus["BT_MESH_PROV_LINK_CLOSED"] = 1289] = "BT_MESH_PROV_LINK_CLOSED";
474
+ /**An unrecognized provisioning PDU was received. */
475
+ SLStatus[SLStatus["BT_MESH_PROV_INVALID_PDU"] = 1290] = "BT_MESH_PROV_INVALID_PDU";
476
+ /**A provisioning PDU with wrong length or containing field values that are out of bounds was received. */
477
+ SLStatus[SLStatus["BT_MESH_PROV_INVALID_PDU_FORMAT"] = 1291] = "BT_MESH_PROV_INVALID_PDU_FORMAT";
478
+ /**An unexpected (out of sequence) provisioning PDU was received. */
479
+ SLStatus[SLStatus["BT_MESH_PROV_UNEXPECTED_PDU"] = 1292] = "BT_MESH_PROV_UNEXPECTED_PDU";
480
+ /**The computed confirmation value did not match the expected value. */
481
+ SLStatus[SLStatus["BT_MESH_PROV_CONFIRMATION_FAILED"] = 1293] = "BT_MESH_PROV_CONFIRMATION_FAILED";
482
+ /**Provisioning could not be continued due to insufficient resources. */
483
+ SLStatus[SLStatus["BT_MESH_PROV_OUT_OF_RESOURCES"] = 1294] = "BT_MESH_PROV_OUT_OF_RESOURCES";
484
+ /**The provisioning data block could not be decrypted. */
485
+ SLStatus[SLStatus["BT_MESH_PROV_DECRYPTION_FAILED"] = 1295] = "BT_MESH_PROV_DECRYPTION_FAILED";
486
+ /**An unexpected error happened during provisioning. */
487
+ SLStatus[SLStatus["BT_MESH_PROV_UNEXPECTED_ERROR"] = 1296] = "BT_MESH_PROV_UNEXPECTED_ERROR";
488
+ /**Device could not assign unicast addresses to all of its elements. */
489
+ SLStatus[SLStatus["BT_MESH_PROV_CANNOT_ASSIGN_ADDR"] = 1297] = "BT_MESH_PROV_CANNOT_ASSIGN_ADDR";
490
+ /**Returned when trying to reuse an address of a previously deleted device before an IV Index Update has been executed. */
491
+ SLStatus[SLStatus["BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE"] = 1298] = "BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE";
492
+ /**Returned when trying to assign an address that is used by one of the devices in the Device Database, or by the Provisioner itself. */
493
+ SLStatus[SLStatus["BT_MESH_ADDRESS_ALREADY_USED"] = 1299] = "BT_MESH_ADDRESS_ALREADY_USED";
494
+ /**Application key or publish address are not set */
495
+ SLStatus[SLStatus["BT_MESH_PUBLISH_NOT_CONFIGURED"] = 1300] = "BT_MESH_PUBLISH_NOT_CONFIGURED";
496
+ /**Application key is not bound to a model */
497
+ SLStatus[SLStatus["BT_MESH_APP_KEY_NOT_BOUND"] = 1301] = "BT_MESH_APP_KEY_NOT_BOUND";
498
+ // -----------------------------------------------------------------------------
499
+ // Bluetooth Mesh foundation status codes
500
+ /** Returned when address in request was not valid */
501
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_ADDRESS"] = 4865] = "BT_MESH_FOUNDATION_INVALID_ADDRESS";
502
+ /** Returned when model identified is not found for a given element */
503
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_MODEL"] = 4866] = "BT_MESH_FOUNDATION_INVALID_MODEL";
504
+ /** Returned when the key identified by AppKeyIndex is not stored in the node */
505
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_APP_KEY"] = 4867] = "BT_MESH_FOUNDATION_INVALID_APP_KEY";
506
+ /** Returned when the key identified by NetKeyIndex is not stored in the node */
507
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_NET_KEY"] = 4868] = "BT_MESH_FOUNDATION_INVALID_NET_KEY";
508
+ /** Returned when The node cannot serve the request due to insufficient resources */
509
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES"] = 4869] = "BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES";
510
+ /** Returned when the key identified is already stored in the node and the new NetKey value is different */
511
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_KEY_INDEX_EXISTS"] = 4870] = "BT_MESH_FOUNDATION_KEY_INDEX_EXISTS";
512
+ /** Returned when the model does not support the publish mechanism */
513
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS"] = 4871] = "BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS";
514
+ /** Returned when the model does not support the subscribe mechanism */
515
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL"] = 4872] = "BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL";
516
+ /** Returned when storing of the requested parameters failed */
517
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_STORAGE_FAILURE"] = 4873] = "BT_MESH_FOUNDATION_STORAGE_FAILURE";
518
+ /**Returned when requested setting is not supported */
519
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_NOT_SUPPORTED"] = 4874] = "BT_MESH_FOUNDATION_NOT_SUPPORTED";
520
+ /**Returned when the requested update operation cannot be performed due to general constraints */
521
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_CANNOT_UPDATE"] = 4875] = "BT_MESH_FOUNDATION_CANNOT_UPDATE";
522
+ /**Returned when the requested delete operation cannot be performed due to general constraints */
523
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_CANNOT_REMOVE"] = 4876] = "BT_MESH_FOUNDATION_CANNOT_REMOVE";
524
+ /**Returned when the requested bind operation cannot be performed due to general constraints */
525
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_CANNOT_BIND"] = 4877] = "BT_MESH_FOUNDATION_CANNOT_BIND";
526
+ /**Returned when The node cannot start advertising with Node Identity or Proxy since the maximum number of parallel advertising is reached */
527
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_TEMPORARILY_UNABLE"] = 4878] = "BT_MESH_FOUNDATION_TEMPORARILY_UNABLE";
528
+ /**Returned when the requested state cannot be set */
529
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_CANNOT_SET"] = 4879] = "BT_MESH_FOUNDATION_CANNOT_SET";
530
+ /**Returned when an unspecified error took place */
531
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_UNSPECIFIED"] = 4880] = "BT_MESH_FOUNDATION_UNSPECIFIED";
532
+ /**Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update */
533
+ SLStatus[SLStatus["BT_MESH_FOUNDATION_INVALID_BINDING"] = 4881] = "BT_MESH_FOUNDATION_INVALID_BINDING";
534
+ // -----------------------------------------------------------------------------
535
+ // Wi-Fi Errors
536
+ /** Invalid firmware keyset */
537
+ SLStatus[SLStatus["WIFI_INVALID_KEY"] = 2817] = "WIFI_INVALID_KEY";
538
+ /** The firmware download took too long */
539
+ SLStatus[SLStatus["WIFI_FIRMWARE_DOWNLOAD_TIMEOUT"] = 2818] = "WIFI_FIRMWARE_DOWNLOAD_TIMEOUT";
540
+ /** Unknown request ID or wrong interface ID used */
541
+ SLStatus[SLStatus["WIFI_UNSUPPORTED_MESSAGE_ID"] = 2819] = "WIFI_UNSUPPORTED_MESSAGE_ID";
542
+ /** The request is successful but some parameters have been ignored */
543
+ SLStatus[SLStatus["WIFI_WARNING"] = 2820] = "WIFI_WARNING";
544
+ /** No Packets waiting to be received */
545
+ SLStatus[SLStatus["WIFI_NO_PACKET_TO_RECEIVE"] = 2821] = "WIFI_NO_PACKET_TO_RECEIVE";
546
+ /** The sleep mode is granted */
547
+ SLStatus[SLStatus["WIFI_SLEEP_GRANTED"] = 2824] = "WIFI_SLEEP_GRANTED";
548
+ /** The WFx does not go back to sleep */
549
+ SLStatus[SLStatus["WIFI_SLEEP_NOT_GRANTED"] = 2825] = "WIFI_SLEEP_NOT_GRANTED";
550
+ /** The SecureLink MAC key was not found */
551
+ SLStatus[SLStatus["WIFI_SECURE_LINK_MAC_KEY_ERROR"] = 2832] = "WIFI_SECURE_LINK_MAC_KEY_ERROR";
552
+ /** The SecureLink MAC key is already installed in OTP */
553
+ SLStatus[SLStatus["WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED"] = 2833] = "WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED";
554
+ /** The SecureLink MAC key cannot be installed in RAM */
555
+ SLStatus[SLStatus["WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED"] = 2834] = "WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED";
556
+ /** The SecureLink MAC key installation failed */
557
+ SLStatus[SLStatus["WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE"] = 2835] = "WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE";
558
+ /** SecureLink key (re)negotiation failed */
559
+ SLStatus[SLStatus["WIFI_SECURE_LINK_EXCHANGE_FAILED"] = 2836] = "WIFI_SECURE_LINK_EXCHANGE_FAILED";
560
+ /** The device is in an inappropriate state to perform the request */
561
+ SLStatus[SLStatus["WIFI_WRONG_STATE"] = 2840] = "WIFI_WRONG_STATE";
562
+ /** The request failed due to regulatory limitations */
563
+ SLStatus[SLStatus["WIFI_CHANNEL_NOT_ALLOWED"] = 2841] = "WIFI_CHANNEL_NOT_ALLOWED";
564
+ /** The connection request failed because no suitable AP was found */
565
+ SLStatus[SLStatus["WIFI_NO_MATCHING_AP"] = 2842] = "WIFI_NO_MATCHING_AP";
566
+ /** The connection request was aborted by host */
567
+ SLStatus[SLStatus["WIFI_CONNECTION_ABORTED"] = 2843] = "WIFI_CONNECTION_ABORTED";
568
+ /** The connection request failed because of a timeout */
569
+ SLStatus[SLStatus["WIFI_CONNECTION_TIMEOUT"] = 2844] = "WIFI_CONNECTION_TIMEOUT";
570
+ /** The connection request failed because the AP rejected the device */
571
+ SLStatus[SLStatus["WIFI_CONNECTION_REJECTED_BY_AP"] = 2845] = "WIFI_CONNECTION_REJECTED_BY_AP";
572
+ /** The connection request failed because the WPA handshake did not complete successfully */
573
+ SLStatus[SLStatus["WIFI_CONNECTION_AUTH_FAILURE"] = 2846] = "WIFI_CONNECTION_AUTH_FAILURE";
574
+ /** The request failed because the retry limit was exceeded */
575
+ SLStatus[SLStatus["WIFI_RETRY_EXCEEDED"] = 2847] = "WIFI_RETRY_EXCEEDED";
576
+ /** The request failed because the MSDU life time was exceeded */
577
+ SLStatus[SLStatus["WIFI_TX_LIFETIME_EXCEEDED"] = 2848] = "WIFI_TX_LIFETIME_EXCEEDED";
578
+ // -----------------------------------------------------------------------------
579
+ // MVP Driver and MVP Math status codes
580
+ /** Critical fault */
581
+ SLStatus[SLStatus["COMPUTE_DRIVER_FAULT"] = 5377] = "COMPUTE_DRIVER_FAULT";
582
+ /** ALU operation output NaN */
583
+ SLStatus[SLStatus["COMPUTE_DRIVER_ALU_NAN"] = 5378] = "COMPUTE_DRIVER_ALU_NAN";
584
+ /** ALU numeric overflow */
585
+ SLStatus[SLStatus["COMPUTE_DRIVER_ALU_OVERFLOW"] = 5379] = "COMPUTE_DRIVER_ALU_OVERFLOW";
586
+ /** ALU numeric underflow */
587
+ SLStatus[SLStatus["COMPUTE_DRIVER_ALU_UNDERFLOW"] = 5380] = "COMPUTE_DRIVER_ALU_UNDERFLOW";
588
+ /** Overflow during array store */
589
+ SLStatus[SLStatus["COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW"] = 5381] = "COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW";
590
+ /** Underflow during array store conversion */
591
+ SLStatus[SLStatus["COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW"] = 5382] = "COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW";
592
+ /** Infinity encountered during array store conversion */
593
+ SLStatus[SLStatus["COMPUTE_DRIVER_STORE_CONVERSION_INFINITY"] = 5383] = "COMPUTE_DRIVER_STORE_CONVERSION_INFINITY";
594
+ /** NaN encountered during array store conversion */
595
+ SLStatus[SLStatus["COMPUTE_DRIVER_STORE_CONVERSION_NAN"] = 5384] = "COMPUTE_DRIVER_STORE_CONVERSION_NAN";
596
+ /** MATH NaN encountered */
597
+ SLStatus[SLStatus["COMPUTE_MATH_NAN"] = 5394] = "COMPUTE_MATH_NAN";
598
+ /** MATH Infinity encountered */
599
+ SLStatus[SLStatus["COMPUTE_MATH_INFINITY"] = 5395] = "COMPUTE_MATH_INFINITY";
600
+ /** MATH numeric overflow */
601
+ SLStatus[SLStatus["COMPUTE_MATH_OVERFLOW"] = 5396] = "COMPUTE_MATH_OVERFLOW";
602
+ /** MATH numeric underflow */
603
+ SLStatus[SLStatus["COMPUTE_MATH_UNDERFLOW"] = 5397] = "COMPUTE_MATH_UNDERFLOW";
604
+ })(SLStatus || (exports.SLStatus = SLStatus = {}));
605
+ ;
606
+ /**
607
+ * Many EmberZNet API functions return an ::EmberStatus value to indicate the success or failure of the call.
608
+ * Return codes are one byte long.
609
+ */
610
+ var EmberStatus;
611
+ (function (EmberStatus) {
612
+ // Generic Messages. These messages are system wide.
613
+ /** The generic "no error" message. */
614
+ EmberStatus[EmberStatus["SUCCESS"] = 0] = "SUCCESS";
615
+ /** The generic "fatal error" message. */
616
+ EmberStatus[EmberStatus["ERR_FATAL"] = 1] = "ERR_FATAL";
617
+ /** An invalid value was passed as an argument to a function. */
618
+ EmberStatus[EmberStatus["BAD_ARGUMENT"] = 2] = "BAD_ARGUMENT";
619
+ /** The requested information was not found. */
620
+ EmberStatus[EmberStatus["NOT_FOUND"] = 3] = "NOT_FOUND";
621
+ /** The manufacturing and stack token format in non-volatile memory is different than what the stack expects (returned at initialization). */
622
+ EmberStatus[EmberStatus["EEPROM_MFG_STACK_VERSION_MISMATCH"] = 4] = "EEPROM_MFG_STACK_VERSION_MISMATCH";
623
+ /** The manufacturing token format in non-volatile memory is different than what the stack expects (returned at initialization). */
624
+ EmberStatus[EmberStatus["EEPROM_MFG_VERSION_MISMATCH"] = 6] = "EEPROM_MFG_VERSION_MISMATCH";
625
+ /** The stack token format in non-volatile memory is different than what the stack expects (returned at initialization). */
626
+ EmberStatus[EmberStatus["EEPROM_STACK_VERSION_MISMATCH"] = 7] = "EEPROM_STACK_VERSION_MISMATCH";
627
+ // Packet Buffer Module Errors
628
+ /** There are no more buffers. */
629
+ EmberStatus[EmberStatus["NO_BUFFERS"] = 24] = "NO_BUFFERS";
630
+ /** Packet is dropped by packet-handoff callbacks. */
631
+ EmberStatus[EmberStatus["PACKET_HANDOFF_DROP_PACKET"] = 25] = "PACKET_HANDOFF_DROP_PACKET";
632
+ // Serial Manager Errors
633
+ /** Specifies an invalid baud rate. */
634
+ EmberStatus[EmberStatus["SERIAL_INVALID_BAUD_RATE"] = 32] = "SERIAL_INVALID_BAUD_RATE";
635
+ /** Specifies an invalid serial port. */
636
+ EmberStatus[EmberStatus["SERIAL_INVALID_PORT"] = 33] = "SERIAL_INVALID_PORT";
637
+ /** Tried to send too much data. */
638
+ EmberStatus[EmberStatus["SERIAL_TX_OVERFLOW"] = 34] = "SERIAL_TX_OVERFLOW";
639
+ /** There wasn't enough space to store a received character and the character was dropped. */
640
+ EmberStatus[EmberStatus["SERIAL_RX_OVERFLOW"] = 35] = "SERIAL_RX_OVERFLOW";
641
+ /** Detected a UART framing error. */
642
+ EmberStatus[EmberStatus["SERIAL_RX_FRAME_ERROR"] = 36] = "SERIAL_RX_FRAME_ERROR";
643
+ /** Detected a UART parity error. */
644
+ EmberStatus[EmberStatus["SERIAL_RX_PARITY_ERROR"] = 37] = "SERIAL_RX_PARITY_ERROR";
645
+ /** There is no received data to process. */
646
+ EmberStatus[EmberStatus["SERIAL_RX_EMPTY"] = 38] = "SERIAL_RX_EMPTY";
647
+ /** The receive interrupt was not handled in time and a character was dropped. */
648
+ EmberStatus[EmberStatus["SERIAL_RX_OVERRUN_ERROR"] = 39] = "SERIAL_RX_OVERRUN_ERROR";
649
+ // MAC Errors
650
+ /** The MAC transmit queue is full. */
651
+ EmberStatus[EmberStatus["MAC_TRANSMIT_QUEUE_FULL"] = 57] = "MAC_TRANSMIT_QUEUE_FULL";
652
+ // Internal
653
+ /** MAC header FCF error on receive. */
654
+ EmberStatus[EmberStatus["MAC_UNKNOWN_HEADER_TYPE"] = 58] = "MAC_UNKNOWN_HEADER_TYPE";
655
+ /** MAC ACK header received. */
656
+ EmberStatus[EmberStatus["MAC_ACK_HEADER_TYPE"] = 59] = "MAC_ACK_HEADER_TYPE";
657
+ /** The MAC can't complete this task because it is scanning. */
658
+ EmberStatus[EmberStatus["MAC_SCANNING"] = 61] = "MAC_SCANNING";
659
+ /** No pending data exists for a data poll. */
660
+ EmberStatus[EmberStatus["MAC_NO_DATA"] = 49] = "MAC_NO_DATA";
661
+ /** Attempts to scan when joined to a network. */
662
+ EmberStatus[EmberStatus["MAC_JOINED_NETWORK"] = 50] = "MAC_JOINED_NETWORK";
663
+ /** Scan duration must be 0 to 14 inclusive. Tried to scan with an incorrect duration value. */
664
+ EmberStatus[EmberStatus["MAC_BAD_SCAN_DURATION"] = 51] = "MAC_BAD_SCAN_DURATION";
665
+ /** emberStartScan was called with an incorrect scan type. */
666
+ EmberStatus[EmberStatus["MAC_INCORRECT_SCAN_TYPE"] = 52] = "MAC_INCORRECT_SCAN_TYPE";
667
+ /** emberStartScan was called with an invalid channel mask. */
668
+ EmberStatus[EmberStatus["MAC_INVALID_CHANNEL_MASK"] = 53] = "MAC_INVALID_CHANNEL_MASK";
669
+ /** Failed to scan the current channel because the relevant MAC command could not be transmitted. */
670
+ EmberStatus[EmberStatus["MAC_COMMAND_TRANSMIT_FAILURE"] = 54] = "MAC_COMMAND_TRANSMIT_FAILURE";
671
+ /** An ACK was expected following the transmission but the MAC level ACK was never received. */
672
+ EmberStatus[EmberStatus["MAC_NO_ACK_RECEIVED"] = 64] = "MAC_NO_ACK_RECEIVED";
673
+ /** MAC failed to transmit a message because it could not successfully perform a radio network switch. */
674
+ EmberStatus[EmberStatus["MAC_RADIO_NETWORK_SWITCH_FAILED"] = 65] = "MAC_RADIO_NETWORK_SWITCH_FAILED";
675
+ /** An indirect data message timed out before a poll requested it. */
676
+ EmberStatus[EmberStatus["MAC_INDIRECT_TIMEOUT"] = 66] = "MAC_INDIRECT_TIMEOUT";
677
+ // Simulated EEPROM Errors
678
+ /**
679
+ * The Simulated EEPROM is telling the application that at least one flash page to be erased.
680
+ * The GREEN status means the current page has not filled above the ::ERASE_CRITICAL_THRESHOLD.
681
+ *
682
+ * The application should call the function ::halSimEepromErasePage() when it can to erase a page.
683
+ */
684
+ EmberStatus[EmberStatus["SIM_EEPROM_ERASE_PAGE_GREEN"] = 67] = "SIM_EEPROM_ERASE_PAGE_GREEN";
685
+ /**
686
+ * The Simulated EEPROM is telling the application that at least one flash page must be erased.
687
+ * The RED status means the current page has filled above the ::ERASE_CRITICAL_THRESHOLD.
688
+ *
689
+ * Due to the shrinking availability of write space, data could be lost.
690
+ * The application must call the function ::halSimEepromErasePage() as soon as possible to erase a page.
691
+ */
692
+ EmberStatus[EmberStatus["SIM_EEPROM_ERASE_PAGE_RED"] = 68] = "SIM_EEPROM_ERASE_PAGE_RED";
693
+ /**
694
+ * The Simulated EEPROM has run out of room to write new data and the data trying to be set has been lost.
695
+ * This error code is the result of ignoring the ::SIM_EEPROM_ERASE_PAGE_RED error code.
696
+ *
697
+ * The application must call the function ::halSimEepromErasePage() to make room for any further calls to set a token.
698
+ */
699
+ EmberStatus[EmberStatus["SIM_EEPROM_FULL"] = 69] = "SIM_EEPROM_FULL";
700
+ // Errors 46 and 47 are now defined below in the flash error block (was attempting to prevent renumbering).
701
+ /**
702
+ * Attempt 1 to initialize the Simulated EEPROM has failed.
703
+ *
704
+ * This failure means the information already stored in the Flash (or a lack thereof),
705
+ * is fatally incompatible with the token information compiled into the code image being run.
706
+ */
707
+ EmberStatus[EmberStatus["SIM_EEPROM_INIT_1_FAILED"] = 72] = "SIM_EEPROM_INIT_1_FAILED";
708
+ /**
709
+ * Attempt 2 to initialize the Simulated EEPROM has failed.
710
+ *
711
+ * This failure means Attempt 1 failed, and the token system failed to properly reload default tokens and reset the Simulated EEPROM.
712
+ */
713
+ EmberStatus[EmberStatus["SIM_EEPROM_INIT_2_FAILED"] = 73] = "SIM_EEPROM_INIT_2_FAILED";
714
+ /**
715
+ * Attempt 3 to initialize the Simulated EEPROM has failed.
716
+ *
717
+ * This failure means one or both of the tokens ::TOKEN_MFG_NVDATA_VERSION or ::TOKEN_STACK_NVDATA_VERSION
718
+ * were incorrect and the token system failed to properly reload default tokens and reset the Simulated EEPROM.
719
+ */
720
+ EmberStatus[EmberStatus["SIM_EEPROM_INIT_3_FAILED"] = 74] = "SIM_EEPROM_INIT_3_FAILED";
721
+ /**
722
+ * The Simulated EEPROM is repairing itself.
723
+ *
724
+ * While there's nothing for an app to do when the SimEE is going to
725
+ * repair itself (SimEE has to be fully functional for the rest of the
726
+ * system to work), alert the application to the fact that repair
727
+ * is occurring. There are debugging scenarios where an app might want
728
+ * to know that repair is happening, such as monitoring frequency.
729
+ * @note Common situations will trigger an expected repair, such as
730
+ * using an erased chip or changing token definitions.
731
+ */
732
+ EmberStatus[EmberStatus["SIM_EEPROM_REPAIRING"] = 77] = "SIM_EEPROM_REPAIRING";
733
+ // Flash Errors
734
+ /**
735
+ * A fatal error has occurred while trying to write data to the Flash.
736
+ * The target memory attempting to be programmed is already programmed.
737
+ * The flash write routines were asked to flip a bit from a 0 to 1,
738
+ * which is physically impossible and the write was therefore inhibited.
739
+ * The data in the Flash cannot be trusted after this error.
740
+ */
741
+ EmberStatus[EmberStatus["ERR_FLASH_WRITE_INHIBITED"] = 70] = "ERR_FLASH_WRITE_INHIBITED";
742
+ /**
743
+ * A fatal error has occurred while trying to write data to the Flash and the write verification has failed.
744
+ * Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash.
745
+ */
746
+ EmberStatus[EmberStatus["ERR_FLASH_VERIFY_FAILED"] = 71] = "ERR_FLASH_VERIFY_FAILED";
747
+ /**
748
+ * A fatal error has occurred while trying to write data to the Flash possibly due to write protection or an invalid address.
749
+ * Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash.
750
+ */
751
+ EmberStatus[EmberStatus["ERR_FLASH_PROG_FAIL"] = 75] = "ERR_FLASH_PROG_FAIL";
752
+ /**
753
+ * A fatal error has occurred while trying to erase the Flash possibly due to write protection.
754
+ * Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash.
755
+ */
756
+ EmberStatus[EmberStatus["ERR_FLASH_ERASE_FAIL"] = 76] = "ERR_FLASH_ERASE_FAIL";
757
+ // Bootloader Errors
758
+ /** The bootloader received an invalid message (failed attempt to go into bootloader). */
759
+ EmberStatus[EmberStatus["ERR_BOOTLOADER_TRAP_TABLE_BAD"] = 88] = "ERR_BOOTLOADER_TRAP_TABLE_BAD";
760
+ /** The bootloader received an invalid message (failed attempt to go into the bootloader). */
761
+ EmberStatus[EmberStatus["ERR_BOOTLOADER_TRAP_UNKNOWN"] = 89] = "ERR_BOOTLOADER_TRAP_UNKNOWN";
762
+ /** The bootloader cannot complete the bootload operation because either an image was not found or the image exceeded memory bounds. */
763
+ EmberStatus[EmberStatus["ERR_BOOTLOADER_NO_IMAGE"] = 90] = "ERR_BOOTLOADER_NO_IMAGE";
764
+ // Transport Errors
765
+ /** The APS layer attempted to send or deliver a message and failed. */
766
+ EmberStatus[EmberStatus["DELIVERY_FAILED"] = 102] = "DELIVERY_FAILED";
767
+ /** This binding index is out of range for the current binding table. */
768
+ EmberStatus[EmberStatus["BINDING_INDEX_OUT_OF_RANGE"] = 105] = "BINDING_INDEX_OUT_OF_RANGE";
769
+ /** This address table index is out of range for the current address table. */
770
+ EmberStatus[EmberStatus["ADDRESS_TABLE_INDEX_OUT_OF_RANGE"] = 106] = "ADDRESS_TABLE_INDEX_OUT_OF_RANGE";
771
+ /** An invalid binding table index was given to a function. */
772
+ EmberStatus[EmberStatus["INVALID_BINDING_INDEX"] = 108] = "INVALID_BINDING_INDEX";
773
+ /** The API call is not allowed given the current state of the stack. */
774
+ EmberStatus[EmberStatus["INVALID_CALL"] = 112] = "INVALID_CALL";
775
+ /** The link cost to a node is not known. */
776
+ EmberStatus[EmberStatus["COST_NOT_KNOWN"] = 113] = "COST_NOT_KNOWN";
777
+ /** The maximum number of in-flight messages = i.e., ::EMBER_APS_UNICAST_MESSAGE_COUNT, has been reached. */
778
+ EmberStatus[EmberStatus["MAX_MESSAGE_LIMIT_REACHED"] = 114] = "MAX_MESSAGE_LIMIT_REACHED";
779
+ /** The message to be transmitted is too big to fit into a single over-the-air packet. */
780
+ EmberStatus[EmberStatus["MESSAGE_TOO_LONG"] = 116] = "MESSAGE_TOO_LONG";
781
+ /** The application is trying to delete or overwrite a binding that is in use. */
782
+ EmberStatus[EmberStatus["BINDING_IS_ACTIVE"] = 117] = "BINDING_IS_ACTIVE";
783
+ /** The application is trying to overwrite an address table entry that is in use. */
784
+ EmberStatus[EmberStatus["ADDRESS_TABLE_ENTRY_IS_ACTIVE"] = 118] = "ADDRESS_TABLE_ENTRY_IS_ACTIVE";
785
+ /** An attempt was made to transmit during the suspend period. */
786
+ EmberStatus[EmberStatus["TRANSMISSION_SUSPENDED"] = 119] = "TRANSMISSION_SUSPENDED";
787
+ // Green Power status codes
788
+ /** Security match. */
789
+ EmberStatus[EmberStatus["MATCH"] = 120] = "MATCH";
790
+ /** Drop frame. */
791
+ EmberStatus[EmberStatus["DROP_FRAME"] = 121] = "DROP_FRAME";
792
+ /** */
793
+ EmberStatus[EmberStatus["PASS_UNPROCESSED"] = 122] = "PASS_UNPROCESSED";
794
+ /** */
795
+ EmberStatus[EmberStatus["TX_THEN_DROP"] = 123] = "TX_THEN_DROP";
796
+ /** */
797
+ EmberStatus[EmberStatus["NO_SECURITY"] = 124] = "NO_SECURITY";
798
+ /** */
799
+ EmberStatus[EmberStatus["COUNTER_FAILURE"] = 125] = "COUNTER_FAILURE";
800
+ /** */
801
+ EmberStatus[EmberStatus["AUTH_FAILURE"] = 126] = "AUTH_FAILURE";
802
+ /** */
803
+ EmberStatus[EmberStatus["UNPROCESSED"] = 127] = "UNPROCESSED";
804
+ // HAL Module Errors
805
+ /** The conversion is complete. */
806
+ EmberStatus[EmberStatus["ADC_CONVERSION_DONE"] = 128] = "ADC_CONVERSION_DONE";
807
+ /** The conversion cannot be done because a request is being processed. */
808
+ EmberStatus[EmberStatus["ADC_CONVERSION_BUSY"] = 129] = "ADC_CONVERSION_BUSY";
809
+ /** The conversion is deferred until the current request has been processed. */
810
+ EmberStatus[EmberStatus["ADC_CONVERSION_DEFERRED"] = 130] = "ADC_CONVERSION_DEFERRED";
811
+ /** No results are pending. */
812
+ EmberStatus[EmberStatus["ADC_NO_CONVERSION_PENDING"] = 132] = "ADC_NO_CONVERSION_PENDING";
813
+ /** Sleeping (for a duration) has been abnormally interrupted and exited prematurely. */
814
+ EmberStatus[EmberStatus["SLEEP_INTERRUPTED"] = 133] = "SLEEP_INTERRUPTED";
815
+ // PHY Errors
816
+ /**
817
+ * The transmit attempt failed because the radio scheduler could not find a slot
818
+ * to transmit this packet in or a higher priority event interrupted it.
819
+ */
820
+ EmberStatus[EmberStatus["PHY_TX_SCHED_FAIL"] = 135] = "PHY_TX_SCHED_FAIL";
821
+ /** The transmit hardware buffer underflowed. */
822
+ EmberStatus[EmberStatus["PHY_TX_UNDERFLOW"] = 136] = "PHY_TX_UNDERFLOW";
823
+ /** The transmit hardware did not finish transmitting a packet. */
824
+ EmberStatus[EmberStatus["PHY_TX_INCOMPLETE"] = 137] = "PHY_TX_INCOMPLETE";
825
+ /** An unsupported channel setting was specified. */
826
+ EmberStatus[EmberStatus["PHY_INVALID_CHANNEL"] = 138] = "PHY_INVALID_CHANNEL";
827
+ /** An unsupported power setting was specified. */
828
+ EmberStatus[EmberStatus["PHY_INVALID_POWER"] = 139] = "PHY_INVALID_POWER";
829
+ /** The requested operation cannot be completed because the radio is currently busy, either transmitting a packet or performing calibration. */
830
+ EmberStatus[EmberStatus["PHY_TX_BUSY"] = 140] = "PHY_TX_BUSY";
831
+ /** The transmit attempt failed because all CCA attempts indicated that the channel was busy. */
832
+ EmberStatus[EmberStatus["PHY_TX_CCA_FAIL"] = 141] = "PHY_TX_CCA_FAIL";
833
+ /**
834
+ * The transmit attempt was blocked from going over the air.
835
+ * Typically this is due to the Radio Hold Off (RHO) or Coexistence plugins as they can prevent transmits based on external signals.
836
+ */
837
+ EmberStatus[EmberStatus["PHY_TX_BLOCKED"] = 142] = "PHY_TX_BLOCKED";
838
+ /** The expected ACK was received after the last transmission. */
839
+ EmberStatus[EmberStatus["PHY_ACK_RECEIVED"] = 143] = "PHY_ACK_RECEIVED";
840
+ // Return Codes Passed to emberStackStatusHandler() See also ::emberStackStatusHandler = ,.
841
+ /** The stack software has completed initialization and is ready to send and receive packets over the air. */
842
+ EmberStatus[EmberStatus["NETWORK_UP"] = 144] = "NETWORK_UP";
843
+ /** The network is not operating. */
844
+ EmberStatus[EmberStatus["NETWORK_DOWN"] = 145] = "NETWORK_DOWN";
845
+ /** An attempt to join a network failed. */
846
+ EmberStatus[EmberStatus["JOIN_FAILED"] = 148] = "JOIN_FAILED";
847
+ /** After moving, a mobile node's attempt to re-establish contact with the network failed. */
848
+ EmberStatus[EmberStatus["MOVE_FAILED"] = 150] = "MOVE_FAILED";
849
+ /**
850
+ * An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility.
851
+ * Zigbee devices joining Zigbee Pro networks (or vice versa) must join as End Devices, not Routers.
852
+ */
853
+ EmberStatus[EmberStatus["CANNOT_JOIN_AS_ROUTER"] = 152] = "CANNOT_JOIN_AS_ROUTER";
854
+ /** The local node ID has changed. The application can get the new node ID by calling ::emberGetNodeId(). */
855
+ EmberStatus[EmberStatus["NODE_ID_CHANGED"] = 153] = "NODE_ID_CHANGED";
856
+ /** The local PAN ID has changed. The application can get the new PAN ID by calling ::emberGetPanId(). */
857
+ EmberStatus[EmberStatus["PAN_ID_CHANGED"] = 154] = "PAN_ID_CHANGED";
858
+ /** The channel has changed. */
859
+ EmberStatus[EmberStatus["CHANNEL_CHANGED"] = 155] = "CHANNEL_CHANGED";
860
+ /** The network has been opened for joining. */
861
+ EmberStatus[EmberStatus["NETWORK_OPENED"] = 156] = "NETWORK_OPENED";
862
+ /** The network has been closed for joining. */
863
+ EmberStatus[EmberStatus["NETWORK_CLOSED"] = 157] = "NETWORK_CLOSED";
864
+ /** An attempt to join or rejoin the network failed because no router beacons could be heard by the joining node. */
865
+ EmberStatus[EmberStatus["NO_BEACONS"] = 171] = "NO_BEACONS";
866
+ /**
867
+ * An attempt was made to join a Secured Network using a pre-configured key, but the Trust Center sent back a
868
+ * Network Key in-the-clear when an encrypted Network Key was required. (::EMBER_REQUIRE_ENCRYPTED_KEY).
869
+ */
870
+ EmberStatus[EmberStatus["RECEIVED_KEY_IN_THE_CLEAR"] = 172] = "RECEIVED_KEY_IN_THE_CLEAR";
871
+ /** An attempt was made to join a Secured Network, but the device did not receive a Network Key. */
872
+ EmberStatus[EmberStatus["NO_NETWORK_KEY_RECEIVED"] = 173] = "NO_NETWORK_KEY_RECEIVED";
873
+ /** After a device joined a Secured Network, a Link Key was requested (::EMBER_GET_LINK_KEY_WHEN_JOINING) but no response was ever received. */
874
+ EmberStatus[EmberStatus["NO_LINK_KEY_RECEIVED"] = 174] = "NO_LINK_KEY_RECEIVED";
875
+ /**
876
+ * An attempt was made to join a Secured Network without a pre-configured key,
877
+ * but the Trust Center sent encrypted data using a pre-configured key.
878
+ */
879
+ EmberStatus[EmberStatus["PRECONFIGURED_KEY_REQUIRED"] = 175] = "PRECONFIGURED_KEY_REQUIRED";
880
+ // Security Errors
881
+ /** The passed key data is not valid. A key of all zeros or all F's are reserved values and cannot be used. */
882
+ EmberStatus[EmberStatus["KEY_INVALID"] = 178] = "KEY_INVALID";
883
+ /** The chosen security level (the value of ::EMBER_SECURITY_LEVEL) is not supported by the stack. */
884
+ EmberStatus[EmberStatus["INVALID_SECURITY_LEVEL"] = 149] = "INVALID_SECURITY_LEVEL";
885
+ /**
886
+ * An error occurred when trying to encrypt at the APS Level.
887
+ *
888
+ * To APS encrypt an outgoing packet, the sender
889
+ * needs to know the EUI64 of the destination. This error occurs because
890
+ * the EUI64 of the destination can't be determined from
891
+ * the short address (no entry in the neighbor, child, binding
892
+ * or address tables).
893
+ *
894
+ * Every time this error code is seen, note that the stack initiates an
895
+ * IEEE address discovery request behind the scenes. Responses
896
+ * to the request are stored in the trust center cache portion of the
897
+ * address table. Note that you need at least 1 entry allocated for
898
+ * TC cache in the address table plugin. Depending on the available rows in
899
+ * the table, newly discovered addresses may replace old ones. The address
900
+ * table plugin is enabled by default on the host. If you are using an SoC
901
+ * platform, please be sure to add the address table plugin.
902
+ *
903
+ * When customers choose to send APS messages by using short addresses,
904
+ * they should incorporate a retry mechanism and try again, no sooner than
905
+ * 2 seconds later, to resend the APS message. If the app always
906
+ * receives 0xBE (IEEE_ADDRESS_DISCOVERY_IN_PROGRESS) after
907
+ * multiple retries, that might indicate that:
908
+ * a) destination node is not on the network
909
+ * b) there are problems with the health of the network
910
+ * c) there may not be any space set aside in the address table for
911
+ * the newly discovered address - this can be rectified by reserving
912
+ * more entries for the trust center cache in the address table plugin
913
+ */
914
+ EmberStatus[EmberStatus["IEEE_ADDRESS_DISCOVERY_IN_PROGRESS"] = 190] = "IEEE_ADDRESS_DISCOVERY_IN_PROGRESS";
915
+ /**
916
+ * An error occurred when trying to encrypt at the APS Level.
917
+ *
918
+ * This error occurs either because the long address of the recipient can't be
919
+ * determined from the short address (no entry in the binding table)
920
+ * or there is no link key entry in the table associated with the destination,
921
+ * or there was a failure to load the correct key into the encryption core.
922
+ */
923
+ EmberStatus[EmberStatus["APS_ENCRYPTION_ERROR"] = 166] = "APS_ENCRYPTION_ERROR";
924
+ /** There was an attempt to form or join a network with security without calling ::emberSetInitialSecurityState() first. */
925
+ EmberStatus[EmberStatus["SECURITY_STATE_NOT_SET"] = 168] = "SECURITY_STATE_NOT_SET";
926
+ /**
927
+ * There was an attempt to set an entry in the key table using an invalid long address. Invalid addresses include:
928
+ * - The local device's IEEE address
929
+ * - Trust Center's IEEE address
930
+ * - An existing table entry's IEEE address
931
+ * - An address consisting of all zeros or all F's
932
+ */
933
+ EmberStatus[EmberStatus["KEY_TABLE_INVALID_ADDRESS"] = 179] = "KEY_TABLE_INVALID_ADDRESS";
934
+ /** There was an attempt to set a security configuration that is not valid given the other security settings. */
935
+ EmberStatus[EmberStatus["SECURITY_CONFIGURATION_INVALID"] = 183] = "SECURITY_CONFIGURATION_INVALID";
936
+ /**
937
+ * There was an attempt to broadcast a key switch too quickly after broadcasting the next network key.
938
+ * The Trust Center must wait at least a period equal to the broadcast timeout so that all routers have a chance
939
+ * to receive the broadcast of the new network key.
940
+ */
941
+ EmberStatus[EmberStatus["TOO_SOON_FOR_SWITCH_KEY"] = 184] = "TOO_SOON_FOR_SWITCH_KEY";
942
+ /** The received signature corresponding to the message that was passed to the CBKE Library failed verification and is not valid. */
943
+ EmberStatus[EmberStatus["SIGNATURE_VERIFY_FAILURE"] = 185] = "SIGNATURE_VERIFY_FAILURE";
944
+ /**
945
+ * The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages.
946
+ * APS Commands (sent by the stack) are allowed.
947
+ * To use it for encryption of APS data messages it must be authorized using a key agreement protocol (such as CBKE).
948
+ */
949
+ EmberStatus[EmberStatus["KEY_NOT_AUTHORIZED"] = 187] = "KEY_NOT_AUTHORIZED";
950
+ /** The security data provided was not valid, or an integrity check failed. */
951
+ EmberStatus[EmberStatus["SECURITY_DATA_INVALID"] = 189] = "SECURITY_DATA_INVALID";
952
+ // Miscellaneous Network Errors
953
+ /** The node has not joined a network. */
954
+ EmberStatus[EmberStatus["NOT_JOINED"] = 147] = "NOT_JOINED";
955
+ /** A message cannot be sent because the network is currently overloaded. */
956
+ EmberStatus[EmberStatus["NETWORK_BUSY"] = 161] = "NETWORK_BUSY";
957
+ /** The application tried to send a message using an endpoint that it has not defined. */
958
+ EmberStatus[EmberStatus["INVALID_ENDPOINT"] = 163] = "INVALID_ENDPOINT";
959
+ /** The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application. */
960
+ EmberStatus[EmberStatus["BINDING_HAS_CHANGED"] = 164] = "BINDING_HAS_CHANGED";
961
+ /** An attempt to generate random bytes failed because of insufficient random data from the radio. */
962
+ EmberStatus[EmberStatus["INSUFFICIENT_RANDOM_DATA"] = 165] = "INSUFFICIENT_RANDOM_DATA";
963
+ /** A Zigbee route error command frame was received indicating that a source routed message from this node failed en route. */
964
+ EmberStatus[EmberStatus["SOURCE_ROUTE_FAILURE"] = 169] = "SOURCE_ROUTE_FAILURE";
965
+ /**
966
+ * A Zigbee route error command frame was received indicating that a message sent to this node along a many-to-one route failed en route.
967
+ * The route error frame was delivered by an ad-hoc search for a functioning route.
968
+ */
969
+ EmberStatus[EmberStatus["MANY_TO_ONE_ROUTE_FAILURE"] = 170] = "MANY_TO_ONE_ROUTE_FAILURE";
970
+ // Miscellaneous Utility Errors
971
+ /**
972
+ * A critical and fatal error indicating that the version of the
973
+ * stack trying to run does not match with the chip it's running on. The
974
+ * software (stack) on the chip must be replaced with software
975
+ * compatible with the chip.
976
+ */
977
+ EmberStatus[EmberStatus["STACK_AND_HARDWARE_MISMATCH"] = 176] = "STACK_AND_HARDWARE_MISMATCH";
978
+ /** An index was passed into the function that was larger than the valid range. */
979
+ EmberStatus[EmberStatus["INDEX_OUT_OF_RANGE"] = 177] = "INDEX_OUT_OF_RANGE";
980
+ /** There are no empty entries left in the table. */
981
+ EmberStatus[EmberStatus["TABLE_FULL"] = 180] = "TABLE_FULL";
982
+ /** The requested table entry has been erased and contains no valid data. */
983
+ EmberStatus[EmberStatus["TABLE_ENTRY_ERASED"] = 182] = "TABLE_ENTRY_ERASED";
984
+ /** The requested function cannot be executed because the library that contains the necessary functionality is not present. */
985
+ EmberStatus[EmberStatus["LIBRARY_NOT_PRESENT"] = 181] = "LIBRARY_NOT_PRESENT";
986
+ /** The stack accepted the command and is currently processing the request. The results will be returned via an appropriate handler. */
987
+ EmberStatus[EmberStatus["OPERATION_IN_PROGRESS"] = 186] = "OPERATION_IN_PROGRESS";
988
+ /**
989
+ * The EUI of the Trust center has changed due to a successful rejoin.
990
+ * The device may need to perform other authentication to verify the new TC is authorized to take over.
991
+ */
992
+ EmberStatus[EmberStatus["TRUST_CENTER_EUI_HAS_CHANGED"] = 188] = "TRUST_CENTER_EUI_HAS_CHANGED";
993
+ /** Trust center swapped out. The EUI has changed. */
994
+ EmberStatus[EmberStatus["TRUST_CENTER_SWAPPED_OUT_EUI_HAS_CHANGED"] = 188] = "TRUST_CENTER_SWAPPED_OUT_EUI_HAS_CHANGED";
995
+ /** Trust center swapped out. The EUI has not changed. */
996
+ EmberStatus[EmberStatus["TRUST_CENTER_SWAPPED_OUT_EUI_HAS_NOT_CHANGED"] = 191] = "TRUST_CENTER_SWAPPED_OUT_EUI_HAS_NOT_CHANGED";
997
+ // NVM3 Token Errors
998
+ /** NVM3 is telling the application that the initialization was aborted as no valid NVM3 page was found. */
999
+ EmberStatus[EmberStatus["NVM3_TOKEN_NO_VALID_PAGES"] = 192] = "NVM3_TOKEN_NO_VALID_PAGES";
1000
+ /** NVM3 is telling the application that the initialization was aborted as the NVM3 instance was already opened with other parameters. */
1001
+ EmberStatus[EmberStatus["NVM3_ERR_OPENED_WITH_OTHER_PARAMETERS"] = 193] = "NVM3_ERR_OPENED_WITH_OTHER_PARAMETERS";
1002
+ /** NVM3 is telling the application that the initialization was aborted as the NVM3 instance is not aligned properly in memory. */
1003
+ EmberStatus[EmberStatus["NVM3_ERR_ALIGNMENT_INVALID"] = 194] = "NVM3_ERR_ALIGNMENT_INVALID";
1004
+ /** NVM3 is telling the application that the initialization was aborted as the size of the NVM3 instance is too small. */
1005
+ EmberStatus[EmberStatus["NVM3_ERR_SIZE_TOO_SMALL"] = 195] = "NVM3_ERR_SIZE_TOO_SMALL";
1006
+ /** NVM3 is telling the application that the initialization was aborted as the NVM3 page size is not supported. */
1007
+ EmberStatus[EmberStatus["NVM3_ERR_PAGE_SIZE_NOT_SUPPORTED"] = 196] = "NVM3_ERR_PAGE_SIZE_NOT_SUPPORTED";
1008
+ /** NVM3 is telling the application that there was an error initializing some of the tokens. */
1009
+ EmberStatus[EmberStatus["NVM3_ERR_TOKEN_INIT"] = 197] = "NVM3_ERR_TOKEN_INIT";
1010
+ /** NVM3 is telling the application there has been an error when attempting to upgrade SimEE tokens. */
1011
+ EmberStatus[EmberStatus["NVM3_ERR_UPGRADE"] = 198] = "NVM3_ERR_UPGRADE";
1012
+ /** NVM3 is telling the application that there has been an unknown error. */
1013
+ EmberStatus[EmberStatus["NVM3_ERR_UNKNOWN"] = 199] = "NVM3_ERR_UNKNOWN";
1014
+ // Application Errors. These error codes are available for application use.
1015
+ /**
1016
+ * This error is reserved for customer application use.
1017
+ * This will never be returned from any portion of the network stack or HAL.
1018
+ */
1019
+ EmberStatus[EmberStatus["APPLICATION_ERROR_0"] = 240] = "APPLICATION_ERROR_0";
1020
+ EmberStatus[EmberStatus["APPLICATION_ERROR_1"] = 241] = "APPLICATION_ERROR_1";
1021
+ EmberStatus[EmberStatus["APPLICATION_ERROR_2"] = 242] = "APPLICATION_ERROR_2";
1022
+ EmberStatus[EmberStatus["APPLICATION_ERROR_3"] = 243] = "APPLICATION_ERROR_3";
1023
+ EmberStatus[EmberStatus["APPLICATION_ERROR_4"] = 244] = "APPLICATION_ERROR_4";
1024
+ EmberStatus[EmberStatus["APPLICATION_ERROR_5"] = 245] = "APPLICATION_ERROR_5";
1025
+ EmberStatus[EmberStatus["APPLICATION_ERROR_6"] = 246] = "APPLICATION_ERROR_6";
1026
+ EmberStatus[EmberStatus["APPLICATION_ERROR_7"] = 247] = "APPLICATION_ERROR_7";
1027
+ EmberStatus[EmberStatus["APPLICATION_ERROR_8"] = 248] = "APPLICATION_ERROR_8";
1028
+ EmberStatus[EmberStatus["APPLICATION_ERROR_9"] = 249] = "APPLICATION_ERROR_9";
1029
+ EmberStatus[EmberStatus["APPLICATION_ERROR_10"] = 250] = "APPLICATION_ERROR_10";
1030
+ EmberStatus[EmberStatus["APPLICATION_ERROR_11"] = 251] = "APPLICATION_ERROR_11";
1031
+ EmberStatus[EmberStatus["APPLICATION_ERROR_12"] = 252] = "APPLICATION_ERROR_12";
1032
+ EmberStatus[EmberStatus["APPLICATION_ERROR_13"] = 253] = "APPLICATION_ERROR_13";
1033
+ EmberStatus[EmberStatus["APPLICATION_ERROR_14"] = 254] = "APPLICATION_ERROR_14";
1034
+ EmberStatus[EmberStatus["APPLICATION_ERROR_15"] = 255] = "APPLICATION_ERROR_15";
1035
+ })(EmberStatus || (exports.EmberStatus = EmberStatus = {}));
1036
+ ;
1037
+ /** Status values used by EZSP. */
1038
+ var EzspStatus;
1039
+ (function (EzspStatus) {
1040
+ /** Success. */
1041
+ EzspStatus[EzspStatus["SUCCESS"] = 0] = "SUCCESS";
1042
+ /** Fatal error. */
1043
+ EzspStatus[EzspStatus["SPI_ERR_FATAL"] = 16] = "SPI_ERR_FATAL";
1044
+ /** The Response frame of the current transaction indicates the NCP has reset. */
1045
+ EzspStatus[EzspStatus["SPI_ERR_NCP_RESET"] = 17] = "SPI_ERR_NCP_RESET";
1046
+ /** The NCP is reporting that the Command frame of the current transaction is oversized (the length byte is too large). */
1047
+ EzspStatus[EzspStatus["SPI_ERR_OVERSIZED_EZSP_FRAME"] = 18] = "SPI_ERR_OVERSIZED_EZSP_FRAME";
1048
+ /** The Response frame of the current transaction indicates the previous transaction was aborted (nSSEL deasserted too soon). */
1049
+ EzspStatus[EzspStatus["SPI_ERR_ABORTED_TRANSACTION"] = 19] = "SPI_ERR_ABORTED_TRANSACTION";
1050
+ /** The Response frame of the current transaction indicates the frame terminator is missing from the Command frame. */
1051
+ EzspStatus[EzspStatus["SPI_ERR_MISSING_FRAME_TERMINATOR"] = 20] = "SPI_ERR_MISSING_FRAME_TERMINATOR";
1052
+ /** The NCP has not provided a Response within the time limit defined by WAIT_SECTION_TIMEOUT. */
1053
+ EzspStatus[EzspStatus["SPI_ERR_WAIT_SECTION_TIMEOUT"] = 21] = "SPI_ERR_WAIT_SECTION_TIMEOUT";
1054
+ /** The Response frame from the NCP is missing the frame terminator. */
1055
+ EzspStatus[EzspStatus["SPI_ERR_NO_FRAME_TERMINATOR"] = 22] = "SPI_ERR_NO_FRAME_TERMINATOR";
1056
+ /** The Host attempted to send an oversized Command (the length byte is too large) and the AVR's spi-protocol.c blocked the transmission. */
1057
+ EzspStatus[EzspStatus["SPI_ERR_EZSP_COMMAND_OVERSIZED"] = 23] = "SPI_ERR_EZSP_COMMAND_OVERSIZED";
1058
+ /** The NCP attempted to send an oversized Response (the length byte is too large) and the AVR's spi-protocol.c blocked the reception. */
1059
+ EzspStatus[EzspStatus["SPI_ERR_EZSP_RESPONSE_OVERSIZED"] = 24] = "SPI_ERR_EZSP_RESPONSE_OVERSIZED";
1060
+ /** The Host has sent the Command and is still waiting for the NCP to send a Response. */
1061
+ EzspStatus[EzspStatus["SPI_WAITING_FOR_RESPONSE"] = 25] = "SPI_WAITING_FOR_RESPONSE";
1062
+ /** The NCP has not asserted nHOST_INT within the time limit defined by WAKE_HANDSHAKE_TIMEOUT. */
1063
+ EzspStatus[EzspStatus["SPI_ERR_HANDSHAKE_TIMEOUT"] = 26] = "SPI_ERR_HANDSHAKE_TIMEOUT";
1064
+ /** The NCP has not asserted nHOST_INT after an NCP reset within the time limit defined by STARTUP_TIMEOUT. */
1065
+ EzspStatus[EzspStatus["SPI_ERR_STARTUP_TIMEOUT"] = 27] = "SPI_ERR_STARTUP_TIMEOUT";
1066
+ /** The Host attempted to verify the SPI Protocol activity and version number, and the verification failed. */
1067
+ EzspStatus[EzspStatus["SPI_ERR_STARTUP_FAIL"] = 28] = "SPI_ERR_STARTUP_FAIL";
1068
+ /** The Host has sent a command with a SPI Byte that is unsupported by the current mode the NCP is operating in. */
1069
+ EzspStatus[EzspStatus["SPI_ERR_UNSUPPORTED_SPI_COMMAND"] = 29] = "SPI_ERR_UNSUPPORTED_SPI_COMMAND";
1070
+ /** Operation not yet complete. */
1071
+ EzspStatus[EzspStatus["ASH_IN_PROGRESS"] = 32] = "ASH_IN_PROGRESS";
1072
+ /** Fatal error detected by host. */
1073
+ EzspStatus[EzspStatus["HOST_FATAL_ERROR"] = 33] = "HOST_FATAL_ERROR";
1074
+ /** Fatal error detected by NCP. */
1075
+ EzspStatus[EzspStatus["ASH_NCP_FATAL_ERROR"] = 34] = "ASH_NCP_FATAL_ERROR";
1076
+ /** Tried to send DATA frame too long. */
1077
+ EzspStatus[EzspStatus["DATA_FRAME_TOO_LONG"] = 35] = "DATA_FRAME_TOO_LONG";
1078
+ /** Tried to send DATA frame too short. */
1079
+ EzspStatus[EzspStatus["DATA_FRAME_TOO_SHORT"] = 36] = "DATA_FRAME_TOO_SHORT";
1080
+ /** No space for tx'ed DATA frame. */
1081
+ EzspStatus[EzspStatus["NO_TX_SPACE"] = 37] = "NO_TX_SPACE";
1082
+ /** No space for rec'd DATA frame. */
1083
+ EzspStatus[EzspStatus["NO_RX_SPACE"] = 38] = "NO_RX_SPACE";
1084
+ /** No receive data available. */
1085
+ EzspStatus[EzspStatus["NO_RX_DATA"] = 39] = "NO_RX_DATA";
1086
+ /** Not in Connected state. */
1087
+ EzspStatus[EzspStatus["NOT_CONNECTED"] = 40] = "NOT_CONNECTED";
1088
+ /** The NCP received a command before the EZSP version had been set. */
1089
+ EzspStatus[EzspStatus["ERROR_VERSION_NOT_SET"] = 48] = "ERROR_VERSION_NOT_SET";
1090
+ /** The NCP received a command containing an unsupported frame ID. */
1091
+ EzspStatus[EzspStatus["ERROR_INVALID_FRAME_ID"] = 49] = "ERROR_INVALID_FRAME_ID";
1092
+ /** The direction flag in the frame control field was incorrect. */
1093
+ EzspStatus[EzspStatus["ERROR_WRONG_DIRECTION"] = 50] = "ERROR_WRONG_DIRECTION";
1094
+ /**
1095
+ * The truncated flag in the frame control field was set, indicating there was not enough memory available to
1096
+ * complete the response or that the response would have exceeded the maximum EZSP frame length.
1097
+ */
1098
+ EzspStatus[EzspStatus["ERROR_TRUNCATED"] = 51] = "ERROR_TRUNCATED";
1099
+ /**
1100
+ * The overflow flag in the frame control field was set, indicating one or more callbacks occurred since the previous
1101
+ * response and there was not enough memory available to report them to the Host.
1102
+ */
1103
+ EzspStatus[EzspStatus["ERROR_OVERFLOW"] = 52] = "ERROR_OVERFLOW";
1104
+ /** Insufficient memory was available. */
1105
+ EzspStatus[EzspStatus["ERROR_OUT_OF_MEMORY"] = 53] = "ERROR_OUT_OF_MEMORY";
1106
+ /** The value was out of bounds. */
1107
+ EzspStatus[EzspStatus["ERROR_INVALID_VALUE"] = 54] = "ERROR_INVALID_VALUE";
1108
+ /** The configuration id was not recognized. */
1109
+ EzspStatus[EzspStatus["ERROR_INVALID_ID"] = 55] = "ERROR_INVALID_ID";
1110
+ /** Configuration values can no longer be modified. */
1111
+ EzspStatus[EzspStatus["ERROR_INVALID_CALL"] = 56] = "ERROR_INVALID_CALL";
1112
+ /** The NCP failed to respond to a command. */
1113
+ EzspStatus[EzspStatus["ERROR_NO_RESPONSE"] = 57] = "ERROR_NO_RESPONSE";
1114
+ /** The length of the command exceeded the maximum EZSP frame length. */
1115
+ EzspStatus[EzspStatus["ERROR_COMMAND_TOO_LONG"] = 64] = "ERROR_COMMAND_TOO_LONG";
1116
+ /** The UART receive queue was full causing a callback response to be dropped. */
1117
+ EzspStatus[EzspStatus["ERROR_QUEUE_FULL"] = 65] = "ERROR_QUEUE_FULL";
1118
+ /** The command has been filtered out by NCP. */
1119
+ EzspStatus[EzspStatus["ERROR_COMMAND_FILTERED"] = 66] = "ERROR_COMMAND_FILTERED";
1120
+ /** EZSP Security Key is already set */
1121
+ EzspStatus[EzspStatus["ERROR_SECURITY_KEY_ALREADY_SET"] = 67] = "ERROR_SECURITY_KEY_ALREADY_SET";
1122
+ /** EZSP Security Type is invalid */
1123
+ EzspStatus[EzspStatus["ERROR_SECURITY_TYPE_INVALID"] = 68] = "ERROR_SECURITY_TYPE_INVALID";
1124
+ /** EZSP Security Parameters are invalid */
1125
+ EzspStatus[EzspStatus["ERROR_SECURITY_PARAMETERS_INVALID"] = 69] = "ERROR_SECURITY_PARAMETERS_INVALID";
1126
+ /** EZSP Security Parameters are already set */
1127
+ EzspStatus[EzspStatus["ERROR_SECURITY_PARAMETERS_ALREADY_SET"] = 70] = "ERROR_SECURITY_PARAMETERS_ALREADY_SET";
1128
+ /** EZSP Security Key is not set */
1129
+ EzspStatus[EzspStatus["ERROR_SECURITY_KEY_NOT_SET"] = 71] = "ERROR_SECURITY_KEY_NOT_SET";
1130
+ /** EZSP Security Parameters are not set */
1131
+ EzspStatus[EzspStatus["ERROR_SECURITY_PARAMETERS_NOT_SET"] = 72] = "ERROR_SECURITY_PARAMETERS_NOT_SET";
1132
+ /** Received frame with unsupported control byte */
1133
+ EzspStatus[EzspStatus["ERROR_UNSUPPORTED_CONTROL"] = 73] = "ERROR_UNSUPPORTED_CONTROL";
1134
+ /** Received frame is unsecure, when security is established */
1135
+ EzspStatus[EzspStatus["ERROR_UNSECURE_FRAME"] = 74] = "ERROR_UNSECURE_FRAME";
1136
+ /** Incompatible ASH version */
1137
+ EzspStatus[EzspStatus["ASH_ERROR_VERSION"] = 80] = "ASH_ERROR_VERSION";
1138
+ /** Exceeded max ACK timeouts */
1139
+ EzspStatus[EzspStatus["ASH_ERROR_TIMEOUTS"] = 81] = "ASH_ERROR_TIMEOUTS";
1140
+ /** Timed out waiting for RSTACK */
1141
+ EzspStatus[EzspStatus["ASH_ERROR_RESET_FAIL"] = 82] = "ASH_ERROR_RESET_FAIL";
1142
+ /** Unexpected ncp reset */
1143
+ EzspStatus[EzspStatus["ASH_ERROR_NCP_RESET"] = 83] = "ASH_ERROR_NCP_RESET";
1144
+ /** Serial port initialization failed */
1145
+ EzspStatus[EzspStatus["ERROR_SERIAL_INIT"] = 84] = "ERROR_SERIAL_INIT";
1146
+ /** Invalid ncp processor type */
1147
+ EzspStatus[EzspStatus["ASH_ERROR_NCP_TYPE"] = 85] = "ASH_ERROR_NCP_TYPE";
1148
+ /** Invalid ncp reset method */
1149
+ EzspStatus[EzspStatus["ASH_ERROR_RESET_METHOD"] = 86] = "ASH_ERROR_RESET_METHOD";
1150
+ /** XON/XOFF not supported by host driver */
1151
+ EzspStatus[EzspStatus["ASH_ERROR_XON_XOFF"] = 87] = "ASH_ERROR_XON_XOFF";
1152
+ /** ASH protocol started */
1153
+ EzspStatus[EzspStatus["ASH_STARTED"] = 112] = "ASH_STARTED";
1154
+ /** ASH protocol connected */
1155
+ EzspStatus[EzspStatus["ASH_CONNECTED"] = 113] = "ASH_CONNECTED";
1156
+ /** ASH protocol disconnected */
1157
+ EzspStatus[EzspStatus["ASH_DISCONNECTED"] = 114] = "ASH_DISCONNECTED";
1158
+ /** Timer expired waiting for ack */
1159
+ EzspStatus[EzspStatus["ASH_ACK_TIMEOUT"] = 115] = "ASH_ACK_TIMEOUT";
1160
+ /** Frame in progress cancelled */
1161
+ EzspStatus[EzspStatus["ASH_CANCELLED"] = 116] = "ASH_CANCELLED";
1162
+ /** Received frame out of sequence */
1163
+ EzspStatus[EzspStatus["ASH_OUT_OF_SEQUENCE"] = 117] = "ASH_OUT_OF_SEQUENCE";
1164
+ /** Received frame with CRC error */
1165
+ EzspStatus[EzspStatus["ASH_BAD_CRC"] = 118] = "ASH_BAD_CRC";
1166
+ /** Received frame with comm error */
1167
+ EzspStatus[EzspStatus["ASH_COMM_ERROR"] = 119] = "ASH_COMM_ERROR";
1168
+ /** Received frame with bad ackNum */
1169
+ EzspStatus[EzspStatus["ASH_BAD_ACKNUM"] = 120] = "ASH_BAD_ACKNUM";
1170
+ /** Received frame shorter than minimum */
1171
+ EzspStatus[EzspStatus["ASH_TOO_SHORT"] = 121] = "ASH_TOO_SHORT";
1172
+ /** Received frame longer than maximum */
1173
+ EzspStatus[EzspStatus["ASH_TOO_LONG"] = 122] = "ASH_TOO_LONG";
1174
+ /** Received frame with illegal control byte */
1175
+ EzspStatus[EzspStatus["ASH_BAD_CONTROL"] = 123] = "ASH_BAD_CONTROL";
1176
+ /** Received frame with illegal length for its type */
1177
+ EzspStatus[EzspStatus["ASH_BAD_LENGTH"] = 124] = "ASH_BAD_LENGTH";
1178
+ /** Received ASH Ack */
1179
+ EzspStatus[EzspStatus["ASH_ACK_RECEIVED"] = 125] = "ASH_ACK_RECEIVED";
1180
+ /** Sent ASH Ack */
1181
+ EzspStatus[EzspStatus["ASH_ACK_SENT"] = 126] = "ASH_ACK_SENT";
1182
+ /** Received ASH Nak */
1183
+ EzspStatus[EzspStatus["ASH_NAK_RECEIVED"] = 127] = "ASH_NAK_RECEIVED";
1184
+ /** Sent ASH Nak */
1185
+ EzspStatus[EzspStatus["ASH_NAK_SENT"] = 128] = "ASH_NAK_SENT";
1186
+ /** Received ASH RST */
1187
+ EzspStatus[EzspStatus["ASH_RST_RECEIVED"] = 129] = "ASH_RST_RECEIVED";
1188
+ /** Sent ASH RST */
1189
+ EzspStatus[EzspStatus["ASH_RST_SENT"] = 130] = "ASH_RST_SENT";
1190
+ /** ASH Status */
1191
+ EzspStatus[EzspStatus["ASH_STATUS"] = 131] = "ASH_STATUS";
1192
+ /** ASH TX */
1193
+ EzspStatus[EzspStatus["ASH_TX"] = 132] = "ASH_TX";
1194
+ /** ASH RX */
1195
+ EzspStatus[EzspStatus["ASH_RX"] = 133] = "ASH_RX";
1196
+ /** Failed to connect to CPC daemon or failed to open CPC endpoint */
1197
+ EzspStatus[EzspStatus["CPC_ERROR_INIT"] = 134] = "CPC_ERROR_INIT";
1198
+ /** No reset or error */
1199
+ EzspStatus[EzspStatus["NO_ERROR"] = 255] = "NO_ERROR";
1200
+ })(EzspStatus || (exports.EzspStatus = EzspStatus = {}));
1201
+ ;
1202
+ var EmberStackError;
1203
+ (function (EmberStackError) {
1204
+ // Error codes that a router uses to notify the message initiator about a broken route.
1205
+ EmberStackError[EmberStackError["ROUTE_ERROR_NO_ROUTE_AVAILABLE"] = 0] = "ROUTE_ERROR_NO_ROUTE_AVAILABLE";
1206
+ EmberStackError[EmberStackError["ROUTE_ERROR_TREE_LINK_FAILURE"] = 1] = "ROUTE_ERROR_TREE_LINK_FAILURE";
1207
+ EmberStackError[EmberStackError["ROUTE_ERROR_NON_TREE_LINK_FAILURE"] = 2] = "ROUTE_ERROR_NON_TREE_LINK_FAILURE";
1208
+ EmberStackError[EmberStackError["ROUTE_ERROR_LOW_BATTERY_LEVEL"] = 3] = "ROUTE_ERROR_LOW_BATTERY_LEVEL";
1209
+ EmberStackError[EmberStackError["ROUTE_ERROR_NO_ROUTING_CAPACITY"] = 4] = "ROUTE_ERROR_NO_ROUTING_CAPACITY";
1210
+ EmberStackError[EmberStackError["ROUTE_ERROR_NO_INDIRECT_CAPACITY"] = 5] = "ROUTE_ERROR_NO_INDIRECT_CAPACITY";
1211
+ EmberStackError[EmberStackError["ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY"] = 6] = "ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY";
1212
+ EmberStackError[EmberStackError["ROUTE_ERROR_TARGET_DEVICE_UNAVAILABLE"] = 7] = "ROUTE_ERROR_TARGET_DEVICE_UNAVAILABLE";
1213
+ EmberStackError[EmberStackError["ROUTE_ERROR_TARGET_ADDRESS_UNALLOCATED"] = 8] = "ROUTE_ERROR_TARGET_ADDRESS_UNALLOCATED";
1214
+ EmberStackError[EmberStackError["ROUTE_ERROR_PARENT_LINK_FAILURE"] = 9] = "ROUTE_ERROR_PARENT_LINK_FAILURE";
1215
+ EmberStackError[EmberStackError["ROUTE_ERROR_VALIDATE_ROUTE"] = 10] = "ROUTE_ERROR_VALIDATE_ROUTE";
1216
+ EmberStackError[EmberStackError["ROUTE_ERROR_SOURCE_ROUTE_FAILURE"] = 11] = "ROUTE_ERROR_SOURCE_ROUTE_FAILURE";
1217
+ EmberStackError[EmberStackError["ROUTE_ERROR_MANY_TO_ONE_ROUTE_FAILURE"] = 12] = "ROUTE_ERROR_MANY_TO_ONE_ROUTE_FAILURE";
1218
+ EmberStackError[EmberStackError["ROUTE_ERROR_ADDRESS_CONFLICT"] = 13] = "ROUTE_ERROR_ADDRESS_CONFLICT";
1219
+ EmberStackError[EmberStackError["ROUTE_ERROR_VERIFY_ADDRESSES"] = 14] = "ROUTE_ERROR_VERIFY_ADDRESSES";
1220
+ EmberStackError[EmberStackError["ROUTE_ERROR_PAN_IDENTIFIER_UPDATE"] = 15] = "ROUTE_ERROR_PAN_IDENTIFIER_UPDATE";
1221
+ EmberStackError[EmberStackError["NETWORK_STATUS_NETWORK_ADDRESS_UPDATE"] = 16] = "NETWORK_STATUS_NETWORK_ADDRESS_UPDATE";
1222
+ EmberStackError[EmberStackError["NETWORK_STATUS_BAD_FRAME_COUNTER"] = 17] = "NETWORK_STATUS_BAD_FRAME_COUNTER";
1223
+ EmberStackError[EmberStackError["NETWORK_STATUS_BAD_KEY_SEQUENCE_NUMBER"] = 18] = "NETWORK_STATUS_BAD_KEY_SEQUENCE_NUMBER";
1224
+ EmberStackError[EmberStackError["NETWORK_STATUS_UNKNOWN_COMMAND"] = 19] = "NETWORK_STATUS_UNKNOWN_COMMAND";
1225
+ })(EmberStackError || (exports.EmberStackError = EmberStackError = {}));
1226
+ /** Type of Ember software version */
1227
+ var EmberVersionType;
1228
+ (function (EmberVersionType) {
1229
+ EmberVersionType[EmberVersionType["PRE_RELEASE"] = 0] = "PRE_RELEASE";
1230
+ // Alpha, should be used rarely
1231
+ EmberVersionType[EmberVersionType["ALPHA_1"] = 17] = "ALPHA_1";
1232
+ EmberVersionType[EmberVersionType["ALPHA_2"] = 18] = "ALPHA_2";
1233
+ EmberVersionType[EmberVersionType["ALPHA_3"] = 19] = "ALPHA_3";
1234
+ // Leave space in case we decide to add other types in the future.
1235
+ EmberVersionType[EmberVersionType["BETA_1"] = 33] = "BETA_1";
1236
+ EmberVersionType[EmberVersionType["BETA_2"] = 34] = "BETA_2";
1237
+ EmberVersionType[EmberVersionType["BETA_3"] = 35] = "BETA_3";
1238
+ // Anything other than 0xAA is considered pre-release
1239
+ // Silicon Labs may define other types in the future (e.g. beta, alpha)
1240
+ // Silicon Labs chose an arbitrary number (0xAA) to allow for expansion, but
1241
+ // to prevent ambiguity in case 0x00 or 0xFF is accidentally retrieved
1242
+ // as the version type.
1243
+ EmberVersionType[EmberVersionType["GA"] = 170] = "GA";
1244
+ })(EmberVersionType || (exports.EmberVersionType = EmberVersionType = {}));
1245
+ ;
1246
+ var EmberLeaveRequestFlags;
1247
+ (function (EmberLeaveRequestFlags) {
1248
+ /** Leave and rejoin. */
1249
+ EmberLeaveRequestFlags[EmberLeaveRequestFlags["AND_REJOIN"] = 128] = "AND_REJOIN";
1250
+ // Note: removeChildren is treated to be deprecated and should not be used!
1251
+ // CCB 2047
1252
+ // - CCB makes the first step to deprecate the 'leave and remove children' functionality.
1253
+ // - We were proactive here and deprecated it right away.
1254
+ // AND_REMOVE_CHILDREN = 0x40,
1255
+ /** Leave. */
1256
+ EmberLeaveRequestFlags[EmberLeaveRequestFlags["WITHOUT_REJOIN"] = 0] = "WITHOUT_REJOIN";
1257
+ })(EmberLeaveRequestFlags || (exports.EmberLeaveRequestFlags = EmberLeaveRequestFlags = {}));
1258
+ ;
1259
+ /**
1260
+ * For emberSetTxPowerMode and mfglibSetPower.
1261
+ * uint16_t
1262
+ */
1263
+ var EmberTXPowerMode;
1264
+ (function (EmberTXPowerMode) {
1265
+ /**
1266
+ * The application should call ::emberSetTxPowerMode() with the
1267
+ * txPowerMode parameter set to this value to disable all power mode options,
1268
+ * resulting in normal power mode and bi-directional RF transmitter output.
1269
+ */
1270
+ EmberTXPowerMode[EmberTXPowerMode["DEFAULT"] = 0] = "DEFAULT";
1271
+ /**
1272
+ * The application should call ::emberSetTxPowerMode() with the
1273
+ * txPowerMode parameter set to this value to enable boost power mode.
1274
+ */
1275
+ EmberTXPowerMode[EmberTXPowerMode["BOOST"] = 1] = "BOOST";
1276
+ /**
1277
+ * The application should call ::emberSetTxPowerMode() with the
1278
+ * txPowerMode parameter set to this value to enable the alternate transmitter
1279
+ * output.
1280
+ */
1281
+ EmberTXPowerMode[EmberTXPowerMode["ALTERNATE"] = 2] = "ALTERNATE";
1282
+ /**
1283
+ * The application should call ::emberSetTxPowerMode() with the
1284
+ * txPowerMode parameter set to this value to enable both boost mode and the
1285
+ * alternate transmitter output.
1286
+ */
1287
+ EmberTXPowerMode[EmberTXPowerMode["BOOST_AND_ALTERNATE"] = 3] = "BOOST_AND_ALTERNATE";
1288
+ // The application does not ever need to call emberSetTxPowerMode() with the
1289
+ // txPowerMode parameter set to this value. This value is used internally by
1290
+ // the stack to indicate that the default token configuration has not been
1291
+ // overridden by a prior call to emberSetTxPowerMode().
1292
+ EmberTXPowerMode[EmberTXPowerMode["USE_TOKEN"] = 32768] = "USE_TOKEN";
1293
+ })(EmberTXPowerMode || (exports.EmberTXPowerMode = EmberTXPowerMode = {}));
1294
+ /** uint8_t */
1295
+ var EmberKeepAliveMode;
1296
+ (function (EmberKeepAliveMode) {
1297
+ EmberKeepAliveMode[EmberKeepAliveMode["KEEP_ALIVE_SUPPORT_UNKNOWN"] = 0] = "KEEP_ALIVE_SUPPORT_UNKNOWN";
1298
+ EmberKeepAliveMode[EmberKeepAliveMode["MAC_DATA_POLL_KEEP_ALIVE"] = 1] = "MAC_DATA_POLL_KEEP_ALIVE";
1299
+ EmberKeepAliveMode[EmberKeepAliveMode["END_DEVICE_TIMEOUT_KEEP_ALIVE"] = 2] = "END_DEVICE_TIMEOUT_KEEP_ALIVE";
1300
+ EmberKeepAliveMode[EmberKeepAliveMode["KEEP_ALIVE_SUPPORT_ALL"] = 3] = "KEEP_ALIVE_SUPPORT_ALL";
1301
+ })(EmberKeepAliveMode || (exports.EmberKeepAliveMode = EmberKeepAliveMode = {}));
1302
+ ;
1303
+ /** This is the Extended Security Bitmask that controls the use of various extended security features. */
1304
+ var EmberExtendedSecurityBitmask;
1305
+ (function (EmberExtendedSecurityBitmask) {
1306
+ /**
1307
+ * If this bit is set, the 'key token data' field is set in the Initial Security Bitmask to 0 (No Preconfig Key token).
1308
+ * Otherwise, the field is left as is.
1309
+ */
1310
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["PRECONFIG_KEY_NOT_VALID"] = 1] = "PRECONFIG_KEY_NOT_VALID";
1311
+ // bits 2-3 are unused.
1312
+ /**
1313
+ * This denotes that the network key update can only happen if the network key update request is unicast and encrypted
1314
+ * i.e. broadcast network key update requests will not be processed if bit 1 is set
1315
+ */
1316
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["SECURE_NETWORK_KEY_ROTATION"] = 2] = "SECURE_NETWORK_KEY_ROTATION";
1317
+ /** This denotes whether a joiner node (router or end-device) uses a Global Link Key or a Unique Link Key. */
1318
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["JOINER_GLOBAL_LINK_KEY"] = 16] = "JOINER_GLOBAL_LINK_KEY";
1319
+ /**
1320
+ * This denotes whether the device's outgoing frame counter is allowed to be reset during forming or joining.
1321
+ * If the flag is set, the outgoing frame counter is not allowed to be reset.
1322
+ * If the flag is not set, the frame counter is allowed to be reset.
1323
+ */
1324
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["EXT_NO_FRAME_COUNTER_RESET"] = 32] = "EXT_NO_FRAME_COUNTER_RESET";
1325
+ /** This denotes whether a device should discard or accept network leave without rejoin commands. */
1326
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["NWK_LEAVE_WITHOUT_REJOIN_NOT_ALLOWED"] = 64] = "NWK_LEAVE_WITHOUT_REJOIN_NOT_ALLOWED";
1327
+ // Bit 7 reserved for future use (stored in TOKEN).
1328
+ /** This denotes whether a router node should discard or accept network Leave Commands. */
1329
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["NWK_LEAVE_REQUEST_NOT_ALLOWED"] = 256] = "NWK_LEAVE_REQUEST_NOT_ALLOWED";
1330
+ /**
1331
+ * This denotes whether a node is running the latest stack specification or is emulating R18 specs behavior.
1332
+ * If this flag is enabled, a router node should only send encrypted Update Device messages while the TC
1333
+ * should only accept encrypted Updated Device messages.
1334
+ */
1335
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["R18_STACK_BEHAVIOR"] = 512] = "R18_STACK_BEHAVIOR";
1336
+ // Bit 10 is reserved for future use (stored in TOKEN).
1337
+ // Bit 11 is reserved for future use(stored in RAM).
1338
+ // Bit 12 - This denotes whether an end device should discard or accept ZDO Leave
1339
+ // from a network node other than its parent.
1340
+ EmberExtendedSecurityBitmask[EmberExtendedSecurityBitmask["ZDO_LEAVE_FROM_NON_PARENT_NOT_ALLOWED"] = 4096] = "ZDO_LEAVE_FROM_NON_PARENT_NOT_ALLOWED";
1341
+ // Bits 13-15 are unused.
1342
+ })(EmberExtendedSecurityBitmask || (exports.EmberExtendedSecurityBitmask = EmberExtendedSecurityBitmask = {}));
1343
+ ;
1344
+ /** This is the Initial Security Bitmask that controls the use of various security features. */
1345
+ var EmberInitialSecurityBitmask;
1346
+ (function (EmberInitialSecurityBitmask) {
1347
+ /** Enables Distributed Trust Center Mode for the device forming the network. (Previously known as ::EMBER_NO_TRUST_CENTER_MODE) */
1348
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["DISTRIBUTED_TRUST_CENTER_MODE"] = 2] = "DISTRIBUTED_TRUST_CENTER_MODE";
1349
+ /** Enables a Global Link Key for the Trust Center. All nodes will share the same Trust Center Link Key. */
1350
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["TRUST_CENTER_GLOBAL_LINK_KEY"] = 4] = "TRUST_CENTER_GLOBAL_LINK_KEY";
1351
+ /** Enables devices that perform MAC Association with a pre-configured Network Key to join the network. It is only set on the Trust Center. */
1352
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["PRECONFIGURED_NETWORK_KEY_MODE"] = 8] = "PRECONFIGURED_NETWORK_KEY_MODE";
1353
+ // Hidden field used internally.
1354
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["HAVE_TRUST_CENTER_UNKNOWN_KEY_TOKEN"] = 16] = "HAVE_TRUST_CENTER_UNKNOWN_KEY_TOKEN";
1355
+ // Hidden field used internally.
1356
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["HAVE_TRUST_CENTER_LINK_KEY_TOKEN"] = 32] = "HAVE_TRUST_CENTER_LINK_KEY_TOKEN";
1357
+ /**
1358
+ * This denotes that the ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in it containing the trust center EUI64.
1359
+ * The device will only join a network and accept commands from a trust center with that EUI64.
1360
+ * Normally this bit is NOT set and the EUI64 of the trust center is learned during the join process.
1361
+ * When commissioning a device to join onto an existing network that is using a trust center and without sending any messages,
1362
+ * this bit must be set and the field ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be populated with the appropriate EUI64.
1363
+ */
1364
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["HAVE_TRUST_CENTER_EUI64"] = 64] = "HAVE_TRUST_CENTER_EUI64";
1365
+ /**
1366
+ * This denotes that the ::EmberInitialSecurityState::preconfiguredKey is not the actual Link Key but a Root Key known only to the Trust Center.
1367
+ * It is hashed with the IEEE Address of the destination device to create the actual Link Key used in encryption.
1368
+ * This is bit is only used by the Trust Center. The joining device need not set this.
1369
+ */
1370
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["TRUST_CENTER_USES_HASHED_LINK_KEY"] = 132] = "TRUST_CENTER_USES_HASHED_LINK_KEY";
1371
+ /**
1372
+ * This denotes that the ::EmberInitialSecurityState::preconfiguredKey element has valid data that should be used to configure
1373
+ * the initial security state.
1374
+ */
1375
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["HAVE_PRECONFIGURED_KEY"] = 256] = "HAVE_PRECONFIGURED_KEY";
1376
+ /**
1377
+ * This denotes that the ::EmberInitialSecurityState::networkKey element has valid data that should be used to configure
1378
+ * the initial security state.
1379
+ */
1380
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["HAVE_NETWORK_KEY"] = 512] = "HAVE_NETWORK_KEY";
1381
+ /**
1382
+ * This denotes to a joining node that it should attempt to acquire a Trust Center Link Key during joining.
1383
+ * This is necessary if the device does not have a pre-configured key, or wants to obtain a new one
1384
+ * (since it may be using a well-known key during joining).
1385
+ */
1386
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["GET_LINK_KEY_WHEN_JOINING"] = 1024] = "GET_LINK_KEY_WHEN_JOINING";
1387
+ /**
1388
+ * This denotes that a joining device should only accept an encrypted network key from the Trust Center (using its pre-configured key).
1389
+ * A key sent in-the-clear by the Trust Center will be rejected and the join will fail.
1390
+ * This option is only valid when using a pre-configured key.
1391
+ */
1392
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["REQUIRE_ENCRYPTED_KEY"] = 2048] = "REQUIRE_ENCRYPTED_KEY";
1393
+ /**
1394
+ * This denotes whether the device should NOT reset its outgoing frame counters (both NWK and APS) when
1395
+ * ::emberSetInitialSecurityState() is called.
1396
+ * Normally it is advised to reset the frame counter before joining a new network.
1397
+ * However, when a device is joining to the same network again (but not using ::emberRejoinNetwork()),
1398
+ * it should keep the NWK and APS frame counters stored in its tokens.
1399
+ *
1400
+ * NOTE: The application is allowed to dynamically change the behavior via EMBER_EXT_NO_FRAME_COUNTER_RESET field.
1401
+ */
1402
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["NO_FRAME_COUNTER_RESET"] = 4096] = "NO_FRAME_COUNTER_RESET";
1403
+ /**
1404
+ * This denotes that the device should obtain its pre-configured key from an installation code stored in the manufacturing token.
1405
+ * The token contains a value that will be hashed to obtain the actual pre-configured key.
1406
+ * If that token is not valid, the call to ::emberSetInitialSecurityState() will fail.
1407
+ */
1408
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE"] = 8192] = "GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE";
1409
+ // Internal data
1410
+ EmberInitialSecurityBitmask[EmberInitialSecurityBitmask["EM_SAVED_IN_TOKEN"] = 16384] = "EM_SAVED_IN_TOKEN";
1411
+ /* All other bits are reserved and must be zero. */
1412
+ })(EmberInitialSecurityBitmask || (exports.EmberInitialSecurityBitmask = EmberInitialSecurityBitmask = {}));
1413
+ /** Either marks an event as inactive or specifies the units for the event execution time. uint8_t */
1414
+ var EmberEventUnits;
1415
+ (function (EmberEventUnits) {
1416
+ /** The event is not scheduled to run. */
1417
+ EmberEventUnits[EmberEventUnits["INACTIVE"] = 0] = "INACTIVE";
1418
+ /** The execution time is in approximate milliseconds. */
1419
+ EmberEventUnits[EmberEventUnits["MS_TIME"] = 1] = "MS_TIME";
1420
+ /** The execution time is in 'binary' quarter seconds (256 approximate milliseconds each). */
1421
+ EmberEventUnits[EmberEventUnits["QS_TIME"] = 2] = "QS_TIME";
1422
+ /** The execution time is in 'binary' minutes (65536 approximate milliseconds each). */
1423
+ EmberEventUnits[EmberEventUnits["MINUTE_TIME"] = 3] = "MINUTE_TIME";
1424
+ /** The event is scheduled to run at the earliest opportunity. */
1425
+ EmberEventUnits[EmberEventUnits["ZERO_DELAY"] = 4] = "ZERO_DELAY";
1426
+ })(EmberEventUnits || (exports.EmberEventUnits = EmberEventUnits = {}));
1427
+ ;
1428
+ /**
1429
+ * Defines the events reported to the application
1430
+ * by the ::emberCounterHandler(). Usage of the destinationNodeId
1431
+ * or data fields found in the EmberCounterInfo or EmberExtraCounterInfo
1432
+ * structs is denoted for counter types that use them. (See comments
1433
+ * accompanying enum definitions in this source file for details.)
1434
+ */
1435
+ var EmberCounterType;
1436
+ (function (EmberCounterType) {
1437
+ /** The MAC received a broadcast Data frame, Command frame, or Beacon
1438
+ * destinationNodeId: BROADCAST_ADDRESS or Data frames or
1439
+ * sender node ID for Beacon frames
1440
+ * data: not used
1441
+ */
1442
+ EmberCounterType[EmberCounterType["MAC_RX_BROADCAST"] = 0] = "MAC_RX_BROADCAST";
1443
+ /** The MAC transmitted a broadcast Data frame, Command frame or Beacon.
1444
+ * destinationNodeId: BROADCAST_ADDRESS
1445
+ * data: not used
1446
+ */
1447
+ EmberCounterType[EmberCounterType["MAC_TX_BROADCAST"] = 1] = "MAC_TX_BROADCAST";
1448
+ /** The MAC received a unicast Data or Command frame
1449
+ * destinationNodeId: MAC layer source or EMBER_UNKNOWN_NODE_ID
1450
+ * if no 16-bit source node ID is present in the frame
1451
+ * data: not used
1452
+ */
1453
+ EmberCounterType[EmberCounterType["MAC_RX_UNICAST"] = 2] = "MAC_RX_UNICAST";
1454
+ /** The MAC successfully transmitted a unicast Data or Command frame
1455
+ * Note: Only frames with a 16-bit destination node ID are counted.
1456
+ * destinationNodeId: MAC layer destination address
1457
+ * data: not used
1458
+ */
1459
+ EmberCounterType[EmberCounterType["MAC_TX_UNICAST_SUCCESS"] = 3] = "MAC_TX_UNICAST_SUCCESS";
1460
+ /** The MAC retried a unicast Data or Command frame after initial Tx attempt.
1461
+ * Note: CSMA-related failures are tracked separately via
1462
+ * PHY_CCA_FAIL_COUNT.
1463
+ * destinationNodeId: MAC layer destination or EMBER_UNKNOWN_NODE_ID
1464
+ * if no 16-bit destination node ID is present in the frame
1465
+ * data: number of retries (after initial Tx attempt) accumulated so far
1466
+ * for this packet. (Should always be >0.)
1467
+ */
1468
+ EmberCounterType[EmberCounterType["MAC_TX_UNICAST_RETRY"] = 4] = "MAC_TX_UNICAST_RETRY";
1469
+ /** The MAC unsuccessfully transmitted a unicast Data or Command frame.
1470
+ * Note: Only frames with a 16-bit destination node ID are counted.
1471
+ * destinationNodeId: MAC layer destination address
1472
+ * data: not used
1473
+ */
1474
+ EmberCounterType[EmberCounterType["MAC_TX_UNICAST_FAILED"] = 5] = "MAC_TX_UNICAST_FAILED";
1475
+ /** The APS layer received a data broadcast.
1476
+ * destinationNodeId: sender's node ID
1477
+ * data: not used
1478
+ */
1479
+ EmberCounterType[EmberCounterType["APS_DATA_RX_BROADCAST"] = 6] = "APS_DATA_RX_BROADCAST";
1480
+ /** The APS layer transmitted a data broadcast. */
1481
+ EmberCounterType[EmberCounterType["APS_DATA_TX_BROADCAST"] = 7] = "APS_DATA_TX_BROADCAST";
1482
+ /** The APS layer received a data unicast.
1483
+ * destinationNodeId: sender's node ID
1484
+ * data: not used
1485
+ */
1486
+ EmberCounterType[EmberCounterType["APS_DATA_RX_UNICAST"] = 8] = "APS_DATA_RX_UNICAST";
1487
+ /** The APS layer successfully transmitted a data unicast.
1488
+ * destinationNodeId: NWK destination address
1489
+ * data: number of APS retries (>=0) consumed for this unicast.
1490
+ */
1491
+ EmberCounterType[EmberCounterType["APS_DATA_TX_UNICAST_SUCCESS"] = 9] = "APS_DATA_TX_UNICAST_SUCCESS";
1492
+ /** The APS layer retried a unicast Data frame. This is a placeholder
1493
+ * and is not used by the @c ::emberCounterHandler() callback. Instead,
1494
+ * the number of APS retries are returned in the data parameter
1495
+ * of the callback for the @c ::APS_DATA_TX_UNICAST_SUCCESS
1496
+ * and @c ::APS_DATA_TX_UNICAST_FAILED types.
1497
+ * However, our supplied Counters component code will attempt to collect this
1498
+ * information from the aforementioned counters and populate this counter.
1499
+ * Note that this counter's behavior differs from that of
1500
+ * @c ::MAC_TX_UNICAST_RETRY .
1501
+ */
1502
+ EmberCounterType[EmberCounterType["APS_DATA_TX_UNICAST_RETRY"] = 10] = "APS_DATA_TX_UNICAST_RETRY";
1503
+ /* The APS layer unsuccessfully transmitted a data unicast.
1504
+ * destinationNodeId: NWK destination address
1505
+ * data: number of APS retries (>=0) consumed for this unicast.
1506
+ */
1507
+ EmberCounterType[EmberCounterType["APS_DATA_TX_UNICAST_FAILED"] = 11] = "APS_DATA_TX_UNICAST_FAILED";
1508
+ /** The network layer successfully submitted a new route discovery
1509
+ * to the MAC. */
1510
+ EmberCounterType[EmberCounterType["ROUTE_DISCOVERY_INITIATED"] = 12] = "ROUTE_DISCOVERY_INITIATED";
1511
+ /** An entry was added to the neighbor table. */
1512
+ EmberCounterType[EmberCounterType["NEIGHBOR_ADDED"] = 13] = "NEIGHBOR_ADDED";
1513
+ /** An entry was removed from the neighbor table. */
1514
+ EmberCounterType[EmberCounterType["NEIGHBOR_REMOVED"] = 14] = "NEIGHBOR_REMOVED";
1515
+ /** A neighbor table entry became stale because it had not been heard from. */
1516
+ EmberCounterType[EmberCounterType["NEIGHBOR_STALE"] = 15] = "NEIGHBOR_STALE";
1517
+ /** A node joined or rejoined to the network via this node.
1518
+ * destinationNodeId: node ID of child
1519
+ * data: not used
1520
+ */
1521
+ EmberCounterType[EmberCounterType["JOIN_INDICATION"] = 16] = "JOIN_INDICATION";
1522
+ /** An entry was removed from the child table.
1523
+ * destinationNodeId: node ID of child
1524
+ * data: not used
1525
+ */
1526
+ EmberCounterType[EmberCounterType["CHILD_REMOVED"] = 17] = "CHILD_REMOVED";
1527
+ /** EZSP-UART only. An overflow error occurred in the UART. */
1528
+ EmberCounterType[EmberCounterType["ASH_OVERFLOW_ERROR"] = 18] = "ASH_OVERFLOW_ERROR";
1529
+ /** EZSP-UART only. A framing error occurred in the UART. */
1530
+ EmberCounterType[EmberCounterType["ASH_FRAMING_ERROR"] = 19] = "ASH_FRAMING_ERROR";
1531
+ /** EZSP-UART only. An overrun error occurred in the UART. */
1532
+ EmberCounterType[EmberCounterType["ASH_OVERRUN_ERROR"] = 20] = "ASH_OVERRUN_ERROR";
1533
+ /** A message was dropped at the Network layer because the NWK frame
1534
+ counter was not higher than the last message seen from that source. */
1535
+ EmberCounterType[EmberCounterType["NWK_FRAME_COUNTER_FAILURE"] = 21] = "NWK_FRAME_COUNTER_FAILURE";
1536
+ /** A message was dropped at the APS layer because the APS frame counter
1537
+ was not higher than the last message seen from that source.
1538
+ destinationNodeId: node ID of MAC source that relayed the message
1539
+ data: not used
1540
+ */
1541
+ EmberCounterType[EmberCounterType["APS_FRAME_COUNTER_FAILURE"] = 22] = "APS_FRAME_COUNTER_FAILURE";
1542
+ /** EZSP-UART only. An XOFF was transmitted by the UART. */
1543
+ EmberCounterType[EmberCounterType["ASH_XOFF"] = 23] = "ASH_XOFF";
1544
+ /** An encrypted message was dropped by the APS layer because
1545
+ * the sender's key has not been authenticated.
1546
+ * As a result, the key is not authorized for use in APS data messages.
1547
+ * destinationNodeId: EMBER_NULL_NODE_ID
1548
+ * data: APS key table index related to the sender
1549
+ */
1550
+ EmberCounterType[EmberCounterType["APS_LINK_KEY_NOT_AUTHORIZED"] = 24] = "APS_LINK_KEY_NOT_AUTHORIZED";
1551
+ /** A NWK encrypted message was received but dropped because decryption
1552
+ * failed.
1553
+ * destinationNodeId: sender of the dropped packet
1554
+ * data: not used
1555
+ */
1556
+ EmberCounterType[EmberCounterType["NWK_DECRYPTION_FAILURE"] = 25] = "NWK_DECRYPTION_FAILURE";
1557
+ /** An APS encrypted message was received but dropped because decryption
1558
+ * failed.
1559
+ * destinationNodeId: sender of the dropped packet
1560
+ * data: not used
1561
+ */
1562
+ EmberCounterType[EmberCounterType["APS_DECRYPTION_FAILURE"] = 26] = "APS_DECRYPTION_FAILURE";
1563
+ /** The number of failures to allocate a set of linked packet buffers.
1564
+ This doesn't necessarily mean that the packet buffer count was
1565
+ 0 at the time, but that the number requested was greater than the
1566
+ number free. */
1567
+ EmberCounterType[EmberCounterType["ALLOCATE_PACKET_BUFFER_FAILURE"] = 27] = "ALLOCATE_PACKET_BUFFER_FAILURE";
1568
+ /** The number of relayed unicast packets.
1569
+ destinationId: NWK layer destination address of relayed packet
1570
+ data: not used
1571
+ */
1572
+ EmberCounterType[EmberCounterType["RELAYED_UNICAST"] = 28] = "RELAYED_UNICAST";
1573
+ /** The number of times a packet was dropped due to reaching the preset
1574
+ * PHY-to-MAC queue limit (sli_mac_phy_to_mac_queue_length). The limit will
1575
+ * determine how many messages are accepted by the PHY between calls to
1576
+ * emberTick(). After that limit is reached, packets will be dropped.
1577
+ * The counter records the number of dropped packets.
1578
+ *
1579
+ * NOTE: For each call to emberCounterHandler() there may be more
1580
+ * than 1 packet that was dropped due to the limit reached. The
1581
+ * actual number of packets dropped will be returned in the 'data'
1582
+ * parameter passed to that function.
1583
+ *
1584
+ * destinationNodeId: not used
1585
+ * data: number of dropped packets represented by this counter event
1586
+ * phyIndex: present
1587
+ */
1588
+ EmberCounterType[EmberCounterType["PHY_TO_MAC_QUEUE_LIMIT_REACHED"] = 29] = "PHY_TO_MAC_QUEUE_LIMIT_REACHED";
1589
+ /** The number of times a packet was dropped due to the packet-validate
1590
+ library checking a packet and rejecting it due to length or
1591
+ other formatting problems.
1592
+ destinationNodeId: not used
1593
+ data: type of validation condition that failed
1594
+ */
1595
+ EmberCounterType[EmberCounterType["PACKET_VALIDATE_LIBRARY_DROPPED_COUNT"] = 30] = "PACKET_VALIDATE_LIBRARY_DROPPED_COUNT";
1596
+ /** The number of times the NWK retry queue is full and a new
1597
+ message failed to be added.
1598
+ destinationNodeId; not used
1599
+ data: NWK retry queue size that has been exceeded
1600
+ */
1601
+ EmberCounterType[EmberCounterType["TYPE_NWK_RETRY_OVERFLOW"] = 31] = "TYPE_NWK_RETRY_OVERFLOW";
1602
+ /** The number of times the PHY layer was unable to transmit due to
1603
+ * a failed CCA (Clear Channel Assessment) attempt. See also:
1604
+ * MAC_TX_UNICAST_RETRY.
1605
+ * destinationNodeId: MAC layer destination or EMBER_UNKNOWN_NODE_ID
1606
+ * if no 16-bit destination node ID is present in the frame
1607
+ * data: not used
1608
+ */
1609
+ EmberCounterType[EmberCounterType["PHY_CCA_FAIL_COUNT"] = 32] = "PHY_CCA_FAIL_COUNT";
1610
+ /** The number of times a NWK broadcast was dropped because
1611
+ the broadcast table was full.
1612
+ */
1613
+ EmberCounterType[EmberCounterType["BROADCAST_TABLE_FULL"] = 33] = "BROADCAST_TABLE_FULL";
1614
+ /** The number of times a low-priority packet traffic arbitration
1615
+ request has been made.
1616
+ */
1617
+ EmberCounterType[EmberCounterType["PTA_LO_PRI_REQUESTED"] = 34] = "PTA_LO_PRI_REQUESTED";
1618
+ /** The number of times a high-priority packet traffic arbitration
1619
+ request has been made.
1620
+ */
1621
+ EmberCounterType[EmberCounterType["PTA_HI_PRI_REQUESTED"] = 35] = "PTA_HI_PRI_REQUESTED";
1622
+ /** The number of times a low-priority packet traffic arbitration
1623
+ request has been denied.
1624
+ */
1625
+ EmberCounterType[EmberCounterType["PTA_LO_PRI_DENIED"] = 36] = "PTA_LO_PRI_DENIED";
1626
+ /** The number of times a high-priority packet traffic arbitration
1627
+ request has been denied.
1628
+ */
1629
+ EmberCounterType[EmberCounterType["PTA_HI_PRI_DENIED"] = 37] = "PTA_HI_PRI_DENIED";
1630
+ /** The number of times a low-priority packet traffic arbitration
1631
+ transmission has been aborted.
1632
+ */
1633
+ EmberCounterType[EmberCounterType["PTA_LO_PRI_TX_ABORTED"] = 38] = "PTA_LO_PRI_TX_ABORTED";
1634
+ /** The number of times a high-priority packet traffic arbitration
1635
+ transmission has been aborted.
1636
+ */
1637
+ EmberCounterType[EmberCounterType["PTA_HI_PRI_TX_ABORTED"] = 39] = "PTA_HI_PRI_TX_ABORTED";
1638
+ /** The number of times an address conflict has caused node_id change, and an address conflict error is sent
1639
+ */
1640
+ EmberCounterType[EmberCounterType["ADDRESS_CONFLICT_SENT"] = 40] = "ADDRESS_CONFLICT_SENT";
1641
+ /** A placeholder giving the number of Ember counter types. */
1642
+ EmberCounterType[EmberCounterType["COUNT"] = 41] = "COUNT";
1643
+ })(EmberCounterType || (exports.EmberCounterType = EmberCounterType = {}));
1644
+ ;
1645
+ /* eslint-disable @typescript-eslint/no-duplicate-enum-values */
1646
+ /** An enumerated list of library identifiers. */
1647
+ var EmberLibraryId;
1648
+ (function (EmberLibraryId) {
1649
+ EmberLibraryId[EmberLibraryId["FIRST"] = 0] = "FIRST";
1650
+ EmberLibraryId[EmberLibraryId["ZIGBEE_PRO"] = 0] = "ZIGBEE_PRO";
1651
+ EmberLibraryId[EmberLibraryId["BINDING"] = 1] = "BINDING";
1652
+ EmberLibraryId[EmberLibraryId["END_DEVICE_BIND"] = 2] = "END_DEVICE_BIND";
1653
+ EmberLibraryId[EmberLibraryId["SECURITY_CORE"] = 3] = "SECURITY_CORE";
1654
+ EmberLibraryId[EmberLibraryId["SECURITY_LINK_KEYS"] = 4] = "SECURITY_LINK_KEYS";
1655
+ EmberLibraryId[EmberLibraryId["ALARM"] = 5] = "ALARM";
1656
+ EmberLibraryId[EmberLibraryId["CBKE"] = 6] = "CBKE";
1657
+ EmberLibraryId[EmberLibraryId["CBKE_DSA_SIGN"] = 7] = "CBKE_DSA_SIGN";
1658
+ EmberLibraryId[EmberLibraryId["ECC"] = 8] = "ECC";
1659
+ EmberLibraryId[EmberLibraryId["CBKE_DSA_VERIFY"] = 9] = "CBKE_DSA_VERIFY";
1660
+ EmberLibraryId[EmberLibraryId["PACKET_VALIDATE"] = 10] = "PACKET_VALIDATE";
1661
+ EmberLibraryId[EmberLibraryId["INSTALL_CODE"] = 11] = "INSTALL_CODE";
1662
+ EmberLibraryId[EmberLibraryId["ZLL"] = 12] = "ZLL";
1663
+ EmberLibraryId[EmberLibraryId["CBKE_283K1"] = 13] = "CBKE_283K1";
1664
+ EmberLibraryId[EmberLibraryId["ECC_283K1"] = 14] = "ECC_283K1";
1665
+ EmberLibraryId[EmberLibraryId["CBKE_CORE"] = 15] = "CBKE_CORE";
1666
+ EmberLibraryId[EmberLibraryId["NCP"] = 16] = "NCP";
1667
+ EmberLibraryId[EmberLibraryId["MULTI_NETWORK"] = 17] = "MULTI_NETWORK";
1668
+ EmberLibraryId[EmberLibraryId["ENHANCED_BEACON_REQUEST"] = 18] = "ENHANCED_BEACON_REQUEST";
1669
+ EmberLibraryId[EmberLibraryId["CBKE_283K1_DSA_VERIFY"] = 19] = "CBKE_283K1_DSA_VERIFY";
1670
+ EmberLibraryId[EmberLibraryId["MULTI_PAN"] = 20] = "MULTI_PAN";
1671
+ EmberLibraryId[EmberLibraryId["NUMBER_OF_LIBRARIES"] = 21] = "NUMBER_OF_LIBRARIES";
1672
+ EmberLibraryId[EmberLibraryId["NULL"] = 255] = "NULL";
1673
+ })(EmberLibraryId || (exports.EmberLibraryId = EmberLibraryId = {}));
1674
+ ;
1675
+ /** This indicates the presence, absence, or status of an Ember stack library. */
1676
+ var EmberLibraryStatus;
1677
+ (function (EmberLibraryStatus) {
1678
+ // Base return codes. These may be ORed with statuses further below.
1679
+ EmberLibraryStatus[EmberLibraryStatus["LIBRARY_PRESENT_MASK"] = 128] = "LIBRARY_PRESENT_MASK";
1680
+ EmberLibraryStatus[EmberLibraryStatus["LIBRARY_IS_STUB"] = 0] = "LIBRARY_IS_STUB";
1681
+ EmberLibraryStatus[EmberLibraryStatus["LIBRARY_ERROR"] = 255] = "LIBRARY_ERROR";
1682
+ // The ZigBee Pro library uses the following to indicate additional functionality:
1683
+ /** no router capability */
1684
+ EmberLibraryStatus[EmberLibraryStatus["ZIGBEE_PRO_LIBRARY_END_DEVICE_ONLY"] = 0] = "ZIGBEE_PRO_LIBRARY_END_DEVICE_ONLY";
1685
+ EmberLibraryStatus[EmberLibraryStatus["ZIGBEE_PRO_LIBRARY_HAVE_ROUTER_CAPABILITY"] = 1] = "ZIGBEE_PRO_LIBRARY_HAVE_ROUTER_CAPABILITY";
1686
+ EmberLibraryStatus[EmberLibraryStatus["ZIGBEE_PRO_LIBRARY_ZLL_SUPPORT"] = 2] = "ZIGBEE_PRO_LIBRARY_ZLL_SUPPORT";
1687
+ // The Security library uses the following to indicate additional functionality:
1688
+ EmberLibraryStatus[EmberLibraryStatus["SECURITY_LIBRARY_END_DEVICE_ONLY"] = 0] = "SECURITY_LIBRARY_END_DEVICE_ONLY";
1689
+ /** router or trust center support */
1690
+ EmberLibraryStatus[EmberLibraryStatus["SECURITY_LIBRARY_HAVE_ROUTER_SUPPORT"] = 1] = "SECURITY_LIBRARY_HAVE_ROUTER_SUPPORT";
1691
+ // The Packet Validate library may be globally turned on/off. Bit 0 indicates whether the library is enabled/disabled.
1692
+ EmberLibraryStatus[EmberLibraryStatus["PACKET_VALIDATE_LIBRARY_DISABLED"] = 0] = "PACKET_VALIDATE_LIBRARY_DISABLED";
1693
+ EmberLibraryStatus[EmberLibraryStatus["PACKET_VALIDATE_LIBRARY_ENABLED"] = 1] = "PACKET_VALIDATE_LIBRARY_ENABLED";
1694
+ EmberLibraryStatus[EmberLibraryStatus["PACKET_VALIDATE_LIBRARY_ENABLE_MASK"] = 1] = "PACKET_VALIDATE_LIBRARY_ENABLE_MASK";
1695
+ })(EmberLibraryStatus || (exports.EmberLibraryStatus = EmberLibraryStatus = {}));
1696
+ ;
1697
+ /* eslint-enable @typescript-eslint/no-duplicate-enum-values */
1698
+ /** Defines the entropy source used by the stack. */
1699
+ var EmberEntropySource;
1700
+ (function (EmberEntropySource) {
1701
+ /** Error in identifying the entropy source. */
1702
+ EmberEntropySource[EmberEntropySource["ERROR"] = 0] = "ERROR";
1703
+ /** The default radio entropy source. */
1704
+ EmberEntropySource[EmberEntropySource["RADIO"] = 1] = "RADIO";
1705
+ /** TRNG with mbed TLS support. */
1706
+ EmberEntropySource[EmberEntropySource["MBEDTLS_TRNG"] = 2] = "MBEDTLS_TRNG";
1707
+ /** Other mbed TLS entropy source. */
1708
+ EmberEntropySource[EmberEntropySource["MBEDTLS"] = 3] = "MBEDTLS";
1709
+ })(EmberEntropySource || (exports.EmberEntropySource = EmberEntropySource = {}));
1710
+ ;
1711
+ /** Defines the options that should be used when initializing the node's network configuration. */
1712
+ var EmberNetworkInitBitmask;
1713
+ (function (EmberNetworkInitBitmask) {
1714
+ EmberNetworkInitBitmask[EmberNetworkInitBitmask["NO_OPTIONS"] = 0] = "NO_OPTIONS";
1715
+ /** The Parent Node ID and EUI64 are stored in a token. This prevents the need to perform an Orphan scan on startup. */
1716
+ EmberNetworkInitBitmask[EmberNetworkInitBitmask["PARENT_INFO_IN_TOKEN"] = 1] = "PARENT_INFO_IN_TOKEN";
1717
+ /** Z3 compliant end devices on a network must send a rejoin request on reboot. */
1718
+ EmberNetworkInitBitmask[EmberNetworkInitBitmask["END_DEVICE_REJOIN_ON_REBOOT"] = 2] = "END_DEVICE_REJOIN_ON_REBOOT";
1719
+ })(EmberNetworkInitBitmask || (exports.EmberNetworkInitBitmask = EmberNetworkInitBitmask = {}));
1720
+ ;
1721
+ /** Defines the possible join states for a node. uint8_t */
1722
+ var EmberNetworkStatus;
1723
+ (function (EmberNetworkStatus) {
1724
+ /** The node is not associated with a network in any way. */
1725
+ EmberNetworkStatus[EmberNetworkStatus["NO_NETWORK"] = 0] = "NO_NETWORK";
1726
+ /** The node is currently attempting to join a network. */
1727
+ EmberNetworkStatus[EmberNetworkStatus["JOINING_NETWORK"] = 1] = "JOINING_NETWORK";
1728
+ /** The node is joined to a network. */
1729
+ EmberNetworkStatus[EmberNetworkStatus["JOINED_NETWORK"] = 2] = "JOINED_NETWORK";
1730
+ /** The node is an end device joined to a network but its parent is not responding. */
1731
+ EmberNetworkStatus[EmberNetworkStatus["JOINED_NETWORK_NO_PARENT"] = 3] = "JOINED_NETWORK_NO_PARENT";
1732
+ /** The node is a Sleepy-to-Sleepy initiator */
1733
+ EmberNetworkStatus[EmberNetworkStatus["JOINED_NETWORK_S2S_INITIATOR"] = 4] = "JOINED_NETWORK_S2S_INITIATOR";
1734
+ /** The node is a Sleepy-to-Sleepy target */
1735
+ EmberNetworkStatus[EmberNetworkStatus["JOINED_NETWORK_S2S_TARGET"] = 5] = "JOINED_NETWORK_S2S_TARGET";
1736
+ /** The node is in the process of leaving its current network. */
1737
+ EmberNetworkStatus[EmberNetworkStatus["LEAVING_NETWORK"] = 6] = "LEAVING_NETWORK";
1738
+ })(EmberNetworkStatus || (exports.EmberNetworkStatus = EmberNetworkStatus = {}));
1739
+ ;
1740
+ /** Network scan types. */
1741
+ var EzspNetworkScanType;
1742
+ (function (EzspNetworkScanType) {
1743
+ /** An energy scan scans each channel for its RSSI value. */
1744
+ EzspNetworkScanType[EzspNetworkScanType["ENERGY_SCAN"] = 0] = "ENERGY_SCAN";
1745
+ /** An active scan scans each channel for available networks. */
1746
+ EzspNetworkScanType[EzspNetworkScanType["ACTIVE_SCAN"] = 1] = "ACTIVE_SCAN";
1747
+ })(EzspNetworkScanType || (exports.EzspNetworkScanType = EzspNetworkScanType = {}));
1748
+ ;
1749
+ /** The type of method used for joining. uint8_t */
1750
+ var EmberJoinMethod;
1751
+ (function (EmberJoinMethod) {
1752
+ /** Devices normally use MAC association to join a network, which respects
1753
+ * the "permit joining" flag in the MAC beacon.
1754
+ * This value should be used by default.
1755
+ */
1756
+ EmberJoinMethod[EmberJoinMethod["MAC_ASSOCIATION"] = 0] = "MAC_ASSOCIATION";
1757
+ /** For networks where the "permit joining" flag is never turned
1758
+ * on, devices will need to use a ZigBee NWK Rejoin. This value causes the
1759
+ * rejoin to be sent withOUT NWK security and the Trust Center will be
1760
+ * asked to send the NWK key to the device. The NWK key sent to the device
1761
+ * can be encrypted with the device's corresponding Trust Center link key.
1762
+ * That is determined by the ::EmberJoinDecision on the Trust Center
1763
+ * returned by the ::emberTrustCenterJoinHandler().
1764
+ */
1765
+ EmberJoinMethod[EmberJoinMethod["NWK_REJOIN"] = 1] = "NWK_REJOIN";
1766
+ /* For networks where the "permit joining" flag is never turned
1767
+ * on, devices will need to use a NWK Rejoin. If those devices have been
1768
+ * preconfigured with the NWK key (including sequence number), they can use
1769
+ * a secured rejoin. This is only necessary for end devices since they need
1770
+ * a parent. Routers can simply use the ::CONFIGURED_NWK_STATE
1771
+ * join method below.
1772
+ */
1773
+ EmberJoinMethod[EmberJoinMethod["NWK_REJOIN_HAVE_NWK_KEY"] = 2] = "NWK_REJOIN_HAVE_NWK_KEY";
1774
+ /** For networks where all network and security information is known
1775
+ ahead of time, a router device may be commissioned such that it does
1776
+ not need to send any messages to begin communicating on the network.
1777
+ */
1778
+ EmberJoinMethod[EmberJoinMethod["CONFIGURED_NWK_STATE"] = 3] = "CONFIGURED_NWK_STATE";
1779
+ /** This enumeration causes an unencrypted Network Commissioning Request to be
1780
+ sent out with joinType set to initial join. The trust center may respond
1781
+ by establishing a new dynamic link key and then sending the network key.
1782
+ Network Commissioning Requests should only be sent to parents that support
1783
+ processing of the command.
1784
+ */
1785
+ EmberJoinMethod[EmberJoinMethod["NWK_COMMISSIONING_JOIN"] = 4] = "NWK_COMMISSIONING_JOIN";
1786
+ /** This enumeration causes an unencrypted Network Commissioning Request to be
1787
+ sent out with joinType set to rejoin. The trust center may respond
1788
+ by establishing a new dynamic link key and then sending the network key.
1789
+ Network Commissioning Requests should only be sent to parents that support
1790
+ processing of the command.
1791
+ */
1792
+ EmberJoinMethod[EmberJoinMethod["NWK_COMMISSIONING_REJOIN"] = 5] = "NWK_COMMISSIONING_REJOIN";
1793
+ /** This enumeration causes an encrypted Network Commissioning Request to be
1794
+ sent out with joinType set to rejoin. This enumeration is used by devices
1795
+ that already have the network key and wish to recover connection to a
1796
+ parent or the network in general.
1797
+ Network Commissioning Requests should only be sent to parents that support
1798
+ processing of the command.
1799
+ */
1800
+ EmberJoinMethod[EmberJoinMethod["NWK_COMMISSIONING_REJOIN_HAVE_NWK_KEY"] = 6] = "NWK_COMMISSIONING_REJOIN_HAVE_NWK_KEY";
1801
+ })(EmberJoinMethod || (exports.EmberJoinMethod = EmberJoinMethod = {}));
1802
+ ;
1803
+ /** Defines the possible types of nodes and the roles that a node might play in a network. */
1804
+ var EmberNodeType;
1805
+ (function (EmberNodeType) {
1806
+ /** The device is not joined. */
1807
+ EmberNodeType[EmberNodeType["UNKNOWN_DEVICE"] = 0] = "UNKNOWN_DEVICE";
1808
+ /** Will relay messages and can act as a parent to other nodes. */
1809
+ EmberNodeType[EmberNodeType["COORDINATOR"] = 1] = "COORDINATOR";
1810
+ /** Will relay messages and can act as a parent to other nodes. */
1811
+ EmberNodeType[EmberNodeType["ROUTER"] = 2] = "ROUTER";
1812
+ /** Communicates only with its parent and will not relay messages. */
1813
+ EmberNodeType[EmberNodeType["END_DEVICE"] = 3] = "END_DEVICE";
1814
+ /** An end device whose radio can be turned off to save power. The application must call ::emberPollForData() to receive messages. */
1815
+ EmberNodeType[EmberNodeType["SLEEPY_END_DEVICE"] = 4] = "SLEEPY_END_DEVICE";
1816
+ /** Sleepy end device which transmits with wake up frames (CSL). */
1817
+ EmberNodeType[EmberNodeType["S2S_INITIATOR_DEVICE"] = 5] = "S2S_INITIATOR_DEVICE";
1818
+ /** Sleepy end device which duty cycles the radio Rx (CSL). */
1819
+ EmberNodeType[EmberNodeType["S2S_TARGET_DEVICE"] = 6] = "S2S_TARGET_DEVICE";
1820
+ })(EmberNodeType || (exports.EmberNodeType = EmberNodeType = {}));
1821
+ ;
1822
+ /** */
1823
+ var EmberMultiPhyNwkConfig;
1824
+ (function (EmberMultiPhyNwkConfig) {
1825
+ EmberMultiPhyNwkConfig[EmberMultiPhyNwkConfig["ROUTERS_ALLOWED"] = 1] = "ROUTERS_ALLOWED";
1826
+ EmberMultiPhyNwkConfig[EmberMultiPhyNwkConfig["BROADCASTS_ENABLED"] = 2] = "BROADCASTS_ENABLED";
1827
+ EmberMultiPhyNwkConfig[EmberMultiPhyNwkConfig["DISABLED"] = 128] = "DISABLED";
1828
+ })(EmberMultiPhyNwkConfig || (exports.EmberMultiPhyNwkConfig = EmberMultiPhyNwkConfig = {}));
1829
+ ;
1830
+ /**
1831
+ * Duty cycle states
1832
+ *
1833
+ * Applications have no control over the state but the callback exposes
1834
+ * state changes to the application.
1835
+ */
1836
+ var EmberDutyCycleState;
1837
+ (function (EmberDutyCycleState) {
1838
+ /** No duty cycle tracking or metrics are taking place. */
1839
+ EmberDutyCycleState[EmberDutyCycleState["TRACKING_OFF"] = 0] = "TRACKING_OFF";
1840
+ /** Duty Cycle is tracked and has not exceeded any thresholds. */
1841
+ EmberDutyCycleState[EmberDutyCycleState["LBT_NORMAL"] = 1] = "LBT_NORMAL";
1842
+ /** The limited threshold of the total duty cycle allotment was exceeded. */
1843
+ EmberDutyCycleState[EmberDutyCycleState["LBT_LIMITED_THRESHOLD_REACHED"] = 2] = "LBT_LIMITED_THRESHOLD_REACHED";
1844
+ /** The critical threshold of the total duty cycle allotment was exceeded. */
1845
+ EmberDutyCycleState[EmberDutyCycleState["LBT_CRITICAL_THRESHOLD_REACHED"] = 3] = "LBT_CRITICAL_THRESHOLD_REACHED";
1846
+ /** The suspend limit was reached and all outbound transmissions are blocked. */
1847
+ EmberDutyCycleState[EmberDutyCycleState["LBT_SUSPEND_LIMIT_REACHED"] = 4] = "LBT_SUSPEND_LIMIT_REACHED";
1848
+ })(EmberDutyCycleState || (exports.EmberDutyCycleState = EmberDutyCycleState = {}));
1849
+ ;
1850
+ /** Defines binding types. uint8_t */
1851
+ var EmberBindingType;
1852
+ (function (EmberBindingType) {
1853
+ /** A binding that is currently not in use. */
1854
+ EmberBindingType[EmberBindingType["UNUSED_BINDING"] = 0] = "UNUSED_BINDING";
1855
+ /** A unicast binding whose 64-bit identifier is the destination EUI64. */
1856
+ EmberBindingType[EmberBindingType["UNICAST_BINDING"] = 1] = "UNICAST_BINDING";
1857
+ /** A unicast binding whose 64-bit identifier is the many-to-one
1858
+ * destination EUI64. Route discovery should be disabled when sending
1859
+ * unicasts via many-to-one bindings. */
1860
+ EmberBindingType[EmberBindingType["MANY_TO_ONE_BINDING"] = 2] = "MANY_TO_ONE_BINDING";
1861
+ /** A multicast binding whose 64-bit identifier is the group address. This
1862
+ * binding can be used to send messages to the group and to receive
1863
+ * messages sent to the group. */
1864
+ EmberBindingType[EmberBindingType["MULTICAST_BINDING"] = 3] = "MULTICAST_BINDING";
1865
+ })(EmberBindingType || (exports.EmberBindingType = EmberBindingType = {}));
1866
+ ;
1867
+ /** Defines the possible outgoing message types. uint8_t */
1868
+ var EmberOutgoingMessageType;
1869
+ (function (EmberOutgoingMessageType) {
1870
+ /** Unicast sent directly to an EmberNodeId. */
1871
+ EmberOutgoingMessageType[EmberOutgoingMessageType["DIRECT"] = 0] = "DIRECT";
1872
+ /** Unicast sent using an entry in the address table. */
1873
+ EmberOutgoingMessageType[EmberOutgoingMessageType["VIA_ADDRESS_TABLE"] = 1] = "VIA_ADDRESS_TABLE";
1874
+ /** Unicast sent using an entry in the binding table. */
1875
+ EmberOutgoingMessageType[EmberOutgoingMessageType["VIA_BINDING"] = 2] = "VIA_BINDING";
1876
+ /** Multicast message. This value is passed to emberMessageSentHandler() only.
1877
+ * It may not be passed to emberSendUnicast(). */
1878
+ EmberOutgoingMessageType[EmberOutgoingMessageType["MULTICAST"] = 3] = "MULTICAST";
1879
+ /** An aliased multicast message. This value is passed to emberMessageSentHandler() only.
1880
+ * It may not be passed to emberSendUnicast(). */
1881
+ EmberOutgoingMessageType[EmberOutgoingMessageType["MULTICAST_WITH_ALIAS"] = 4] = "MULTICAST_WITH_ALIAS";
1882
+ /** An aliased Broadcast message. This value is passed to emberMessageSentHandler() only.
1883
+ * It may not be passed to emberSendUnicast(). */
1884
+ EmberOutgoingMessageType[EmberOutgoingMessageType["BROADCAST_WITH_ALIAS"] = 5] = "BROADCAST_WITH_ALIAS";
1885
+ /** A broadcast message. This value is passed to emberMessageSentHandler() only.
1886
+ * It may not be passed to emberSendUnicast(). */
1887
+ EmberOutgoingMessageType[EmberOutgoingMessageType["BROADCAST"] = 6] = "BROADCAST";
1888
+ })(EmberOutgoingMessageType || (exports.EmberOutgoingMessageType = EmberOutgoingMessageType = {}));
1889
+ ;
1890
+ /** Defines the possible incoming message types. uint8_t */
1891
+ var EmberIncomingMessageType;
1892
+ (function (EmberIncomingMessageType) {
1893
+ /** Unicast. */
1894
+ EmberIncomingMessageType[EmberIncomingMessageType["UNICAST"] = 0] = "UNICAST";
1895
+ /** Unicast reply. */
1896
+ EmberIncomingMessageType[EmberIncomingMessageType["UNICAST_REPLY"] = 1] = "UNICAST_REPLY";
1897
+ /** Multicast. */
1898
+ EmberIncomingMessageType[EmberIncomingMessageType["MULTICAST"] = 2] = "MULTICAST";
1899
+ /** Multicast sent by the local device. */
1900
+ EmberIncomingMessageType[EmberIncomingMessageType["MULTICAST_LOOPBACK"] = 3] = "MULTICAST_LOOPBACK";
1901
+ /** Broadcast. */
1902
+ EmberIncomingMessageType[EmberIncomingMessageType["BROADCAST"] = 4] = "BROADCAST";
1903
+ /** Broadcast sent by the local device. */
1904
+ EmberIncomingMessageType[EmberIncomingMessageType["BROADCAST_LOOPBACK"] = 5] = "BROADCAST_LOOPBACK";
1905
+ })(EmberIncomingMessageType || (exports.EmberIncomingMessageType = EmberIncomingMessageType = {}));
1906
+ ;
1907
+ /**
1908
+ * Options to use when sending a message.
1909
+ *
1910
+ * The discover-route, APS-retry, and APS-indirect options may be used together.
1911
+ * Poll response cannot be combined with any other options.
1912
+ * uint16_t
1913
+ */
1914
+ var EmberApsOption;
1915
+ (function (EmberApsOption) {
1916
+ /** No options. */
1917
+ EmberApsOption[EmberApsOption["NONE"] = 0] = "NONE";
1918
+ EmberApsOption[EmberApsOption["ENCRYPT_WITH_TRANSIENT_KEY"] = 1] = "ENCRYPT_WITH_TRANSIENT_KEY";
1919
+ EmberApsOption[EmberApsOption["USE_ALIAS_SEQUENCE_NUMBER"] = 2] = "USE_ALIAS_SEQUENCE_NUMBER";
1920
+ /**
1921
+ * This signs the application layer message body (APS Frame not included) and appends the ECDSA signature to the end of the message,
1922
+ * which is needed by Smart Energy applications and requires the CBKE and ECC libraries.
1923
+ * The ::emberDsaSignHandler() function is called after DSA signing is complete but before the message has been sent by the APS layer.
1924
+ * Note that when passing a buffer to the stack for DSA signing, the final byte in the buffer has a special significance as an indicator
1925
+ * of how many leading bytes should be ignored for signature purposes. See the API documentation of emberDsaSign()
1926
+ * or the dsaSign EZSP command for more details about this requirement.
1927
+ */
1928
+ EmberApsOption[EmberApsOption["DSA_SIGN"] = 16] = "DSA_SIGN";
1929
+ /** Send the message using APS Encryption using the Link Key shared with the destination node to encrypt the data at the APS Level. */
1930
+ EmberApsOption[EmberApsOption["ENCRYPTION"] = 32] = "ENCRYPTION";
1931
+ /**
1932
+ * Resend the message using the APS retry mechanism.
1933
+ * This option and the enable route discovery option must be enabled for an existing route to be repaired automatically.
1934
+ */
1935
+ EmberApsOption[EmberApsOption["RETRY"] = 64] = "RETRY";
1936
+ /**
1937
+ * Send the message with the NWK 'enable route discovery' flag, which causes a route discovery to be initiated if no route to the
1938
+ * destination is known. Note that in the mesh stack, this option and the APS retry option must be enabled an existing route to be
1939
+ * repaired automatically.
1940
+ */
1941
+ EmberApsOption[EmberApsOption["ENABLE_ROUTE_DISCOVERY"] = 256] = "ENABLE_ROUTE_DISCOVERY";
1942
+ /** Send the message with the NWK 'force route discovery' flag, which causes a route discovery to be initiated even if one is known. */
1943
+ EmberApsOption[EmberApsOption["FORCE_ROUTE_DISCOVERY"] = 512] = "FORCE_ROUTE_DISCOVERY";
1944
+ /** Include the source EUI64 in the network frame. */
1945
+ EmberApsOption[EmberApsOption["SOURCE_EUI64"] = 1024] = "SOURCE_EUI64";
1946
+ /** Include the destination EUI64 in the network frame. */
1947
+ EmberApsOption[EmberApsOption["DESTINATION_EUI64"] = 2048] = "DESTINATION_EUI64";
1948
+ /** Send a ZDO request to discover the node ID of the destination if it is not already known. */
1949
+ EmberApsOption[EmberApsOption["ENABLE_ADDRESS_DISCOVERY"] = 4096] = "ENABLE_ADDRESS_DISCOVERY";
1950
+ /**
1951
+ * This message is being sent in response to a call to ::emberPollHandler().
1952
+ * It causes the message to be sent immediately instead of being queued up until the next poll from the (end device) destination.
1953
+ */
1954
+ EmberApsOption[EmberApsOption["POLL_RESPONSE"] = 8192] = "POLL_RESPONSE";
1955
+ /**
1956
+ * This incoming message is a valid ZDO request and the application is responsible for sending a ZDO response.
1957
+ * This flag is used only within emberIncomingMessageHandler() when EMBER_APPLICATION_RECEIVES_UNSUPPORTED_ZDO_REQUESTS is defined. */
1958
+ EmberApsOption[EmberApsOption["ZDO_RESPONSE_REQUIRED"] = 16384] = "ZDO_RESPONSE_REQUIRED";
1959
+ /**
1960
+ * This message is part of a fragmented message. This option may only be set for unicasts.
1961
+ * The groupId field gives the index of this fragment in the low-order byte.
1962
+ * If the low-order byte is zero this is the first fragment and the high-order byte contains the number of fragments in the message.
1963
+ */
1964
+ EmberApsOption[EmberApsOption["FRAGMENT"] = 32768] = "FRAGMENT";
1965
+ })(EmberApsOption || (exports.EmberApsOption = EmberApsOption = {}));
1966
+ ;
1967
+ /**
1968
+ * Types of source route discovery modes used by the concentrator.
1969
+ *
1970
+ * OFF no source route discovery is scheduled
1971
+ *
1972
+ * ON source routes discovery is scheduled, and it is triggered periodically
1973
+ *
1974
+ * RESCHEDULE source routes discoveries are re-scheduled to be sent once immediately and then triggered periodically
1975
+ */
1976
+ var EmberSourceRouteDiscoveryMode;
1977
+ (function (EmberSourceRouteDiscoveryMode) {
1978
+ /** off */
1979
+ EmberSourceRouteDiscoveryMode[EmberSourceRouteDiscoveryMode["OFF"] = 0] = "OFF";
1980
+ /** on */
1981
+ EmberSourceRouteDiscoveryMode[EmberSourceRouteDiscoveryMode["ON"] = 1] = "ON";
1982
+ /** reschedule */
1983
+ EmberSourceRouteDiscoveryMode[EmberSourceRouteDiscoveryMode["RESCHEDULE"] = 2] = "RESCHEDULE";
1984
+ })(EmberSourceRouteDiscoveryMode || (exports.EmberSourceRouteDiscoveryMode = EmberSourceRouteDiscoveryMode = {}));
1985
+ ;
1986
+ /** The types of MAC passthrough messages that an application may receive. This is a bitmask. */
1987
+ var EmberMacPassthroughType;
1988
+ (function (EmberMacPassthroughType) {
1989
+ /** No MAC passthrough messages. */
1990
+ EmberMacPassthroughType[EmberMacPassthroughType["NONE"] = 0] = "NONE";
1991
+ /** SE InterPAN messages. */
1992
+ EmberMacPassthroughType[EmberMacPassthroughType["SE_INTERPAN"] = 1] = "SE_INTERPAN";
1993
+ /** EmberNet and first generation (v1) standalone bootloader messages. */
1994
+ EmberMacPassthroughType[EmberMacPassthroughType["EMBERNET"] = 2] = "EMBERNET";
1995
+ /** EmberNet messages filtered by their source address. */
1996
+ EmberMacPassthroughType[EmberMacPassthroughType["EMBERNET_SOURCE"] = 4] = "EMBERNET_SOURCE";
1997
+ /** Application-specific passthrough messages. */
1998
+ EmberMacPassthroughType[EmberMacPassthroughType["APPLICATION"] = 8] = "APPLICATION";
1999
+ /** Custom inter-pan filter. */
2000
+ EmberMacPassthroughType[EmberMacPassthroughType["CUSTOM"] = 16] = "CUSTOM";
2001
+ /** Internal Stack passthrough. */
2002
+ EmberMacPassthroughType[EmberMacPassthroughType["INTERNAL_ZLL"] = 128] = "INTERNAL_ZLL";
2003
+ EmberMacPassthroughType[EmberMacPassthroughType["INTERNAL_GP"] = 64] = "INTERNAL_GP";
2004
+ })(EmberMacPassthroughType || (exports.EmberMacPassthroughType = EmberMacPassthroughType = {}));
2005
+ ;
2006
+ /**
2007
+ * Interpan Message type: unicast, broadcast, or multicast.
2008
+ * uint8_t
2009
+ */
2010
+ var EmberInterpanMessageType;
2011
+ (function (EmberInterpanMessageType) {
2012
+ EmberInterpanMessageType[EmberInterpanMessageType["UNICAST"] = 0] = "UNICAST";
2013
+ EmberInterpanMessageType[EmberInterpanMessageType["BROADCAST"] = 8] = "BROADCAST";
2014
+ EmberInterpanMessageType[EmberInterpanMessageType["MULTICAST"] = 12] = "MULTICAST";
2015
+ })(EmberInterpanMessageType || (exports.EmberInterpanMessageType = EmberInterpanMessageType = {}));
2016
+ /** This is the Current Security Bitmask that details the use of various security features. */
2017
+ var EmberCurrentSecurityBitmask;
2018
+ (function (EmberCurrentSecurityBitmask) {
2019
+ // These options are the same for Initial and Current Security state.
2020
+ /** This denotes that the device is running in a network with ZigBee
2021
+ * Standard Security. */
2022
+ EmberCurrentSecurityBitmask[EmberCurrentSecurityBitmask["STANDARD_SECURITY_MODE_"] = 0] = "STANDARD_SECURITY_MODE_";
2023
+ /** This denotes that the device is running in a network without
2024
+ * a centralized Trust Center. */
2025
+ EmberCurrentSecurityBitmask[EmberCurrentSecurityBitmask["DISTRIBUTED_TRUST_CENTER_MODE_"] = 2] = "DISTRIBUTED_TRUST_CENTER_MODE_";
2026
+ /** This denotes that the device has a Global Link Key. The Trust Center
2027
+ * Link Key is the same across multiple nodes. */
2028
+ EmberCurrentSecurityBitmask[EmberCurrentSecurityBitmask["TRUST_CENTER_GLOBAL_LINK_KEY_"] = 4] = "TRUST_CENTER_GLOBAL_LINK_KEY_";
2029
+ // Bit 3 reserved
2030
+ /** This denotes that the node has a Trust Center Link Key. */
2031
+ EmberCurrentSecurityBitmask[EmberCurrentSecurityBitmask["HAVE_TRUST_CENTER_LINK_KEY"] = 16] = "HAVE_TRUST_CENTER_LINK_KEY";
2032
+ /** This denotes that the Trust Center is using a Hashed Link Key. */
2033
+ EmberCurrentSecurityBitmask[EmberCurrentSecurityBitmask["TRUST_CENTER_USES_HASHED_LINK_KEY_"] = 132] = "TRUST_CENTER_USES_HASHED_LINK_KEY_";
2034
+ // Bits 1, 5, 6, and 8-15 reserved.
2035
+ })(EmberCurrentSecurityBitmask || (exports.EmberCurrentSecurityBitmask = EmberCurrentSecurityBitmask = {}));
2036
+ ;
2037
+ /**
2038
+ * The list of supported key types used by Zigbee Security Manager.
2039
+ * uint8_t
2040
+ */
2041
+ var SecManKeyType;
2042
+ (function (SecManKeyType) {
2043
+ SecManKeyType[SecManKeyType["NONE"] = 0] = "NONE";
2044
+ /**
2045
+ * This is the network key, used for encrypting and decrypting network payloads.
2046
+ * There is only one of these keys in storage.
2047
+ */
2048
+ SecManKeyType[SecManKeyType["NETWORK"] = 1] = "NETWORK";
2049
+ /**
2050
+ * This is the Trust Center Link Key. On the joining device, this is the APS
2051
+ * key used to communicate with the trust center. On the trust center, this
2052
+ * key can be used as a root key for APS encryption and decryption when
2053
+ * communicating with joining devices (if the security policy has the
2054
+ * EMBER_TRUST_CENTER_USES_HASHED_LINK_KEY bit set).
2055
+ * There is only one of these keys in storage.
2056
+ */
2057
+ SecManKeyType[SecManKeyType["TC_LINK"] = 2] = "TC_LINK";
2058
+ /**
2059
+ * This is a Trust Center Link Key, but it times out after either
2060
+ * ::EMBER_TRANSIENT_KEY_TIMEOUT_S or
2061
+ * ::EMBER_AF_PLUGIN_NETWORK_CREATOR_SECURITY_NETWORK_OPEN_TIME_S (if
2062
+ * defined), whichever is longer. This type of key is set on trust centers
2063
+ * who wish to open joining with a temporary, or transient, APS key for
2064
+ * devices to join with. Joiners who wish to try several keys when joining a
2065
+ * network may set several of these types of keys before attempting to join.
2066
+ * This is an indexed key, and local storage can fit as many keys as
2067
+ * available RAM allows.
2068
+ */
2069
+ SecManKeyType[SecManKeyType["TC_LINK_WITH_TIMEOUT"] = 3] = "TC_LINK_WITH_TIMEOUT";
2070
+ /**
2071
+ * This is an Application link key. On both joining devices and the trust
2072
+ * center, this key is used in APS encryption and decryption when
2073
+ * communicating to a joining device.
2074
+ * This is an indexed key table of size EMBER_KEY_TABLE_SIZE, so long as there
2075
+ * is sufficient nonvolatile memory to store keys.
2076
+ */
2077
+ SecManKeyType[SecManKeyType["APP_LINK"] = 4] = "APP_LINK";
2078
+ /** This is the ZLL encryption key for use by algorithms that require it. */
2079
+ SecManKeyType[SecManKeyType["ZLL_ENCRYPTION_KEY"] = 5] = "ZLL_ENCRYPTION_KEY";
2080
+ /** For ZLL, this is the pre-configured link key used during classical ZigBee commissioning. */
2081
+ SecManKeyType[SecManKeyType["ZLL_PRECONFIGURED_KEY"] = 6] = "ZLL_PRECONFIGURED_KEY";
2082
+ /** This is a Green Power Device (GPD) key used on a Proxy device. */
2083
+ SecManKeyType[SecManKeyType["GREEN_POWER_PROXY_TABLE_KEY"] = 7] = "GREEN_POWER_PROXY_TABLE_KEY";
2084
+ /** This is a Green Power Device (GPD) key used on a Sink device. */
2085
+ SecManKeyType[SecManKeyType["GREEN_POWER_SINK_TABLE_KEY"] = 8] = "GREEN_POWER_SINK_TABLE_KEY";
2086
+ /**
2087
+ * This is a generic key type intended to be loaded for one-time hashing or crypto operations.
2088
+ * This key is not persisted. Intended for use by the Zigbee stack.
2089
+ */
2090
+ SecManKeyType[SecManKeyType["INTERNAL"] = 9] = "INTERNAL";
2091
+ })(SecManKeyType || (exports.SecManKeyType = SecManKeyType = {}));
2092
+ ;
2093
+ /**
2094
+ * Derived keys are calculated when performing Zigbee crypto operations. The stack makes use of these derivations.
2095
+ * Compounding derivations can be specified by using an or-equals on two derived types if applicable;
2096
+ * this is limited to performing the key-transport, key-load, or verify-key hashes on either the TC Swap Out or TC Hashed Link keys.
2097
+ * uint16_t
2098
+ */
2099
+ var SecManDerivedKeyType;
2100
+ (function (SecManDerivedKeyType) {
2101
+ /** Perform no derivation; use the key as is. */
2102
+ SecManDerivedKeyType[SecManDerivedKeyType["NONE"] = 0] = "NONE";
2103
+ /** Perform the Key-Transport-Key hash. */
2104
+ SecManDerivedKeyType[SecManDerivedKeyType["KEY_TRANSPORT_KEY"] = 1] = "KEY_TRANSPORT_KEY";
2105
+ /** Perform the Key-Load-Key hash. */
2106
+ SecManDerivedKeyType[SecManDerivedKeyType["KEY_LOAD_KEY"] = 2] = "KEY_LOAD_KEY";
2107
+ /** Perform the Verify Key hash. */
2108
+ SecManDerivedKeyType[SecManDerivedKeyType["VERIFY_KEY"] = 4] = "VERIFY_KEY";
2109
+ /** Perform a simple AES hash of the key for TC backup. */
2110
+ SecManDerivedKeyType[SecManDerivedKeyType["TC_SWAP_OUT_KEY"] = 8] = "TC_SWAP_OUT_KEY";
2111
+ /** For a TC using hashed link keys, hashed the root key against the supplied EUI in context. */
2112
+ SecManDerivedKeyType[SecManDerivedKeyType["TC_HASHED_LINK_KEY"] = 16] = "TC_HASHED_LINK_KEY";
2113
+ })(SecManDerivedKeyType || (exports.SecManDerivedKeyType = SecManDerivedKeyType = {}));
2114
+ ;
2115
+ /**
2116
+ * Security Manager context flags.
2117
+ * uint8_t
2118
+ */
2119
+ var SecManFlag;
2120
+ (function (SecManFlag) {
2121
+ SecManFlag[SecManFlag["NONE"] = 0] = "NONE";
2122
+ /**
2123
+ * For export APIs, this flag indicates the key_index parameter is valid in
2124
+ * the ::sl_zb_sec_man_context_t structure. This bit is set by the caller
2125
+ * when intending to search for a key by key_index. This flag has no
2126
+ * significance for import APIs. */
2127
+ SecManFlag[SecManFlag["KEY_INDEX_IS_VALID"] = 1] = "KEY_INDEX_IS_VALID";
2128
+ /**
2129
+ * For export APIs, this flag indicates the eui64 parameter is valid in the
2130
+ * ::sl_zb_sec_man_context_t structure. This bit is set by the caller when
2131
+ * intending to search for a key by eui64. It is also set when searching by
2132
+ * key_index and an entry is found. This flag has no significance for import
2133
+ * APIs. */
2134
+ SecManFlag[SecManFlag["EUI_IS_VALID"] = 2] = "EUI_IS_VALID";
2135
+ /**
2136
+ * Internal use only. This indicates that the transient key being added is an
2137
+ * unconfirmed, updated key. This bit is set when we add a transient key and
2138
+ * the ::EmberTcLinkKeyRequestPolicy policy
2139
+ * is ::EMBER_ALLOW_TC_LINK_KEY_REQUEST_AND_GENERATE_NEW_KEY, whose behavior
2140
+ * dictates that we generate a new, unconfirmed key, send it to the requester,
2141
+ * and await for a Verify Key Confirm message. */
2142
+ SecManFlag[SecManFlag["UNCONFIRMED_TRANSIENT_KEY"] = 4] = "UNCONFIRMED_TRANSIENT_KEY";
2143
+ /**
2144
+ * Internal use only. This indicates that the key being added was derived via
2145
+ * dynamic link key negotiation. This may be used in conjunction with the above
2146
+ * ::UNCONFIRMED_TRANSIENT_KEY while the derived link key awaits
2147
+ * confirmation
2148
+ */
2149
+ SecManFlag[SecManFlag["AUTHENTICATED_DYNAMIC_LINK_KEY"] = 8] = "AUTHENTICATED_DYNAMIC_LINK_KEY";
2150
+ /**
2151
+ * Internal use only. This indicates that the "key" being added is instead the
2152
+ * symmetric passphrase to be stored in the link key table. This flag will trigger the
2153
+ * addition of the KEY_TABLE_SYMMETRIC_PASSPHRASE bitmask when storing the symmetric
2154
+ * passphrase so that it can be differentiated from other keys with the same EUI64.
2155
+ */
2156
+ SecManFlag[SecManFlag["SYMMETRIC_PASSPHRASE"] = 16] = "SYMMETRIC_PASSPHRASE";
2157
+ })(SecManFlag || (exports.SecManFlag = SecManFlag = {}));
2158
+ ;
2159
+ /** This denotes the status of an attempt to establish a key with another device. */
2160
+ var EmberKeyStatus;
2161
+ (function (EmberKeyStatus) {
2162
+ EmberKeyStatus[EmberKeyStatus["STATUS_NONE"] = 0] = "STATUS_NONE";
2163
+ EmberKeyStatus[EmberKeyStatus["APP_LINK_KEY_ESTABLISHED"] = 1] = "APP_LINK_KEY_ESTABLISHED";
2164
+ EmberKeyStatus[EmberKeyStatus["TRUST_CENTER_LINK_KEY_ESTABLISHED"] = 3] = "TRUST_CENTER_LINK_KEY_ESTABLISHED";
2165
+ EmberKeyStatus[EmberKeyStatus["ESTABLISHMENT_TIMEOUT"] = 4] = "ESTABLISHMENT_TIMEOUT";
2166
+ EmberKeyStatus[EmberKeyStatus["TABLE_FULL"] = 5] = "TABLE_FULL";
2167
+ // These are success status values applying only to the Trust Center answering key requests.
2168
+ EmberKeyStatus[EmberKeyStatus["TC_RESPONDED_TO_KEY_REQUEST"] = 6] = "TC_RESPONDED_TO_KEY_REQUEST";
2169
+ EmberKeyStatus[EmberKeyStatus["TC_APP_KEY_SENT_TO_REQUESTER"] = 7] = "TC_APP_KEY_SENT_TO_REQUESTER";
2170
+ // These are failure status values applying only to the
2171
+ // Trust Center answering key requests.
2172
+ EmberKeyStatus[EmberKeyStatus["TC_RESPONSE_TO_KEY_REQUEST_FAILED"] = 8] = "TC_RESPONSE_TO_KEY_REQUEST_FAILED";
2173
+ EmberKeyStatus[EmberKeyStatus["TC_REQUEST_KEY_TYPE_NOT_SUPPORTED"] = 9] = "TC_REQUEST_KEY_TYPE_NOT_SUPPORTED";
2174
+ EmberKeyStatus[EmberKeyStatus["TC_NO_LINK_KEY_FOR_REQUESTER"] = 10] = "TC_NO_LINK_KEY_FOR_REQUESTER";
2175
+ EmberKeyStatus[EmberKeyStatus["TC_REQUESTER_EUI64_UNKNOWN"] = 11] = "TC_REQUESTER_EUI64_UNKNOWN";
2176
+ EmberKeyStatus[EmberKeyStatus["TC_RECEIVED_FIRST_APP_KEY_REQUEST"] = 12] = "TC_RECEIVED_FIRST_APP_KEY_REQUEST";
2177
+ EmberKeyStatus[EmberKeyStatus["TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST"] = 13] = "TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST";
2178
+ EmberKeyStatus[EmberKeyStatus["TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED"] = 14] = "TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED";
2179
+ EmberKeyStatus[EmberKeyStatus["TC_FAILED_TO_SEND_APP_KEYS"] = 15] = "TC_FAILED_TO_SEND_APP_KEYS";
2180
+ EmberKeyStatus[EmberKeyStatus["TC_FAILED_TO_STORE_APP_KEY_REQUEST"] = 16] = "TC_FAILED_TO_STORE_APP_KEY_REQUEST";
2181
+ EmberKeyStatus[EmberKeyStatus["TC_REJECTED_APP_KEY_REQUEST"] = 17] = "TC_REJECTED_APP_KEY_REQUEST";
2182
+ EmberKeyStatus[EmberKeyStatus["TC_FAILED_TO_GENERATE_NEW_KEY"] = 18] = "TC_FAILED_TO_GENERATE_NEW_KEY";
2183
+ EmberKeyStatus[EmberKeyStatus["TC_FAILED_TO_SEND_TC_KEY"] = 19] = "TC_FAILED_TO_SEND_TC_KEY";
2184
+ // These are generic status values for a key requester.
2185
+ EmberKeyStatus[EmberKeyStatus["TRUST_CENTER_IS_PRE_R21"] = 30] = "TRUST_CENTER_IS_PRE_R21";
2186
+ // These are status values applying only to the Trust Center verifying link keys.
2187
+ EmberKeyStatus[EmberKeyStatus["TC_REQUESTER_VERIFY_KEY_TIMEOUT"] = 50] = "TC_REQUESTER_VERIFY_KEY_TIMEOUT";
2188
+ EmberKeyStatus[EmberKeyStatus["TC_REQUESTER_VERIFY_KEY_FAILURE"] = 51] = "TC_REQUESTER_VERIFY_KEY_FAILURE";
2189
+ EmberKeyStatus[EmberKeyStatus["TC_REQUESTER_VERIFY_KEY_SUCCESS"] = 52] = "TC_REQUESTER_VERIFY_KEY_SUCCESS";
2190
+ // These are status values applying only to the key requester
2191
+ // verifying link keys.
2192
+ EmberKeyStatus[EmberKeyStatus["VERIFY_LINK_KEY_FAILURE"] = 100] = "VERIFY_LINK_KEY_FAILURE";
2193
+ EmberKeyStatus[EmberKeyStatus["VERIFY_LINK_KEY_SUCCESS"] = 101] = "VERIFY_LINK_KEY_SUCCESS";
2194
+ })(EmberKeyStatus || (exports.EmberKeyStatus = EmberKeyStatus = {}));
2195
+ ;
2196
+ /** This bitmask describes the presence of fields within the ::EmberKeyStruct. uint16_t */
2197
+ var EmberKeyStructBitmask;
2198
+ (function (EmberKeyStructBitmask) {
2199
+ /** This indicates that the key has a sequence number associated with it. (i.e., a Network Key). */
2200
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_SEQUENCE_NUMBER"] = 1] = "HAS_SEQUENCE_NUMBER";
2201
+ /** This indicates that the key has an outgoing frame counter and the corresponding value within the ::EmberKeyStruct has been populated.*/
2202
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_OUTGOING_FRAME_COUNTER"] = 2] = "HAS_OUTGOING_FRAME_COUNTER";
2203
+ /** This indicates that the key has an incoming frame counter and the corresponding value within the ::EmberKeyStruct has been populated.*/
2204
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_INCOMING_FRAME_COUNTER"] = 4] = "HAS_INCOMING_FRAME_COUNTER";
2205
+ /**
2206
+ * This indicates that the key has an associated Partner EUI64 address and the corresponding value
2207
+ * within the ::EmberKeyStruct has been populated.
2208
+ */
2209
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_PARTNER_EUI64"] = 8] = "HAS_PARTNER_EUI64";
2210
+ /**
2211
+ * This indicates the key is authorized for use in APS data messages.
2212
+ * If the key is not authorized for use in APS data messages it has not yet gone through a key agreement protocol, such as CBKE (i.e., ECC).
2213
+ */
2214
+ EmberKeyStructBitmask[EmberKeyStructBitmask["IS_AUTHORIZED"] = 16] = "IS_AUTHORIZED";
2215
+ /**
2216
+ * This indicates that the partner associated with the link is a sleepy end device.
2217
+ * This bit is set automatically if the local device hears a device announce from the partner indicating it is not an 'RX on when idle' device.
2218
+ */
2219
+ EmberKeyStructBitmask[EmberKeyStructBitmask["PARTNER_IS_SLEEPY"] = 32] = "PARTNER_IS_SLEEPY";
2220
+ /**
2221
+ * This indicates that the transient key which is being added is unconfirmed.
2222
+ * This bit is set when we add a transient key while the EmberTcLinkKeyRequestPolicy is EMBER_ALLOW_TC_LINK_KEY_REQUEST_AND_GENERATE_NEW_KEY
2223
+ */
2224
+ EmberKeyStructBitmask[EmberKeyStructBitmask["UNCONFIRMED_TRANSIENT"] = 64] = "UNCONFIRMED_TRANSIENT";
2225
+ /** This indicates that the actual key data is stored in PSA, and the respective PSA ID is recorded in the psa_id field. */
2226
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_PSA_ID"] = 128] = "HAS_PSA_ID";
2227
+ /**
2228
+ * This indicates that the keyData field has valid data. On certain parts and depending on the security configuration,
2229
+ * keys may live in secure storage and are not exportable. In such cases, keyData will not house the actual key contents.
2230
+ */
2231
+ EmberKeyStructBitmask[EmberKeyStructBitmask["HAS_KEY_DATA"] = 256] = "HAS_KEY_DATA";
2232
+ /**
2233
+ * This indicates that the key represents a Device Authentication Token and is not an encryption key.
2234
+ * The Authentication token is persisted for the lifetime of the device on the network and used to validate and update the device connection.
2235
+ * It is only removed when the device leaves or is decommissioned from the network
2236
+ */
2237
+ EmberKeyStructBitmask[EmberKeyStructBitmask["IS_AUTHENTICATION_TOKEN"] = 512] = "IS_AUTHENTICATION_TOKEN";
2238
+ /** This indicates that the key has been derived by the Dynamic Link Key feature. */
2239
+ EmberKeyStructBitmask[EmberKeyStructBitmask["DLK_DERIVED"] = 1024] = "DLK_DERIVED";
2240
+ /** This indicates that the device this key is being used to communicate with supports the APS frame counter synchronization procedure. */
2241
+ EmberKeyStructBitmask[EmberKeyStructBitmask["FC_SYNC_SUPPORTED"] = 2048] = "FC_SYNC_SUPPORTED";
2242
+ })(EmberKeyStructBitmask || (exports.EmberKeyStructBitmask = EmberKeyStructBitmask = {}));
2243
+ ;
2244
+ /**
2245
+ * The Status of the Update Device message sent to the Trust Center.
2246
+ * The device may have joined or rejoined insecurely, rejoined securely, or left.
2247
+ * MAC Security has been deprecated and therefore there is no secure join.
2248
+ * These map to the actual values within the APS Command frame so they cannot be arbitrarily changed.
2249
+ * uint8_t
2250
+ */
2251
+ var EmberDeviceUpdate;
2252
+ (function (EmberDeviceUpdate) {
2253
+ EmberDeviceUpdate[EmberDeviceUpdate["STANDARD_SECURITY_SECURED_REJOIN"] = 0] = "STANDARD_SECURITY_SECURED_REJOIN";
2254
+ EmberDeviceUpdate[EmberDeviceUpdate["STANDARD_SECURITY_UNSECURED_JOIN"] = 1] = "STANDARD_SECURITY_UNSECURED_JOIN";
2255
+ EmberDeviceUpdate[EmberDeviceUpdate["DEVICE_LEFT"] = 2] = "DEVICE_LEFT";
2256
+ EmberDeviceUpdate[EmberDeviceUpdate["STANDARD_SECURITY_UNSECURED_REJOIN"] = 3] = "STANDARD_SECURITY_UNSECURED_REJOIN";
2257
+ })(EmberDeviceUpdate || (exports.EmberDeviceUpdate = EmberDeviceUpdate = {}));
2258
+ ;
2259
+ /** The decision made by the Trust Center when a node attempts to join. uint8_t */
2260
+ var EmberJoinDecision;
2261
+ (function (EmberJoinDecision) {
2262
+ /** Allow the node to join. The node has the key. */
2263
+ EmberJoinDecision[EmberJoinDecision["USE_PRECONFIGURED_KEY"] = 0] = "USE_PRECONFIGURED_KEY";
2264
+ /** Allow the node to join. Send the key to the node. */
2265
+ EmberJoinDecision[EmberJoinDecision["SEND_KEY_IN_THE_CLEAR"] = 1] = "SEND_KEY_IN_THE_CLEAR";
2266
+ /** Deny join. */
2267
+ EmberJoinDecision[EmberJoinDecision["DENY_JOIN"] = 2] = "DENY_JOIN";
2268
+ /** Take no action. */
2269
+ EmberJoinDecision[EmberJoinDecision["NO_ACTION"] = 3] = "NO_ACTION";
2270
+ /** Allow rejoins only.*/
2271
+ EmberJoinDecision[EmberJoinDecision["ALLOW_REJOINS_ONLY"] = 4] = "ALLOW_REJOINS_ONLY";
2272
+ })(EmberJoinDecision || (exports.EmberJoinDecision = EmberJoinDecision = {}));
2273
+ ;
2274
+ /** A bitmask indicating the state of the ZLL device. This maps directly to the ZLL information field in the scan response. uint16_t */
2275
+ var EmberZllState;
2276
+ (function (EmberZllState) {
2277
+ /** No state. */
2278
+ EmberZllState[EmberZllState["NONE"] = 0] = "NONE";
2279
+ /** The device is factory new. */
2280
+ EmberZllState[EmberZllState["FACTORY_NEW"] = 1] = "FACTORY_NEW";
2281
+ /** The device is capable of assigning addresses to other devices. */
2282
+ EmberZllState[EmberZllState["ADDRESS_ASSIGNMENT_CAPABLE"] = 2] = "ADDRESS_ASSIGNMENT_CAPABLE";
2283
+ /** The device is initiating a link operation. */
2284
+ EmberZllState[EmberZllState["LINK_INITIATOR"] = 16] = "LINK_INITIATOR";
2285
+ /** The device is requesting link priority. */
2286
+ EmberZllState[EmberZllState["LINK_PRIORITY_REQUEST"] = 32] = "LINK_PRIORITY_REQUEST";
2287
+ /** The device is a ZigBee 3.0 device. */
2288
+ EmberZllState[EmberZllState["PROFILE_INTEROP"] = 128] = "PROFILE_INTEROP";
2289
+ /** The device is on a non-ZLL network. */
2290
+ EmberZllState[EmberZllState["NON_ZLL_NETWORK"] = 256] = "NON_ZLL_NETWORK";
2291
+ /** Internal use: the ZLL token's key values point to a PSA key identifier */
2292
+ EmberZllState[EmberZllState["TOKEN_POINTS_TO_PSA_ID"] = 512] = "TOKEN_POINTS_TO_PSA_ID";
2293
+ })(EmberZllState || (exports.EmberZllState = EmberZllState = {}));
2294
+ ;
2295
+ /** Differentiates among ZLL network operations. */
2296
+ var EzspZllNetworkOperation;
2297
+ (function (EzspZllNetworkOperation) {
2298
+ /** ZLL form network command. */
2299
+ EzspZllNetworkOperation[EzspZllNetworkOperation["FORM_NETWORK"] = 0] = "FORM_NETWORK";
2300
+ /** ZLL join target command. */
2301
+ EzspZllNetworkOperation[EzspZllNetworkOperation["JOIN_TARGET"] = 1] = "JOIN_TARGET";
2302
+ })(EzspZllNetworkOperation || (exports.EzspZllNetworkOperation = EzspZllNetworkOperation = {}));
2303
+ ;
2304
+ /** The key encryption algorithms supported by the stack. */
2305
+ var EmberZllKeyIndex;
2306
+ (function (EmberZllKeyIndex) {
2307
+ /** The key encryption algorithm for use during development. */
2308
+ EmberZllKeyIndex[EmberZllKeyIndex["DEVELOPMENT"] = 0] = "DEVELOPMENT";
2309
+ /** The key encryption algorithm shared by all certified devices. */
2310
+ EmberZllKeyIndex[EmberZllKeyIndex["MASTER"] = 4] = "MASTER";
2311
+ /** The key encryption algorithm for use during development and certification. */
2312
+ EmberZllKeyIndex[EmberZllKeyIndex["CERTIFICATION"] = 15] = "CERTIFICATION";
2313
+ })(EmberZllKeyIndex || (exports.EmberZllKeyIndex = EmberZllKeyIndex = {}));
2314
+ ;
2315
+ /** uint8_t */
2316
+ var EmberGpApplicationId;
2317
+ (function (EmberGpApplicationId) {
2318
+ /** Source identifier. */
2319
+ EmberGpApplicationId[EmberGpApplicationId["SOURCE_ID"] = 0] = "SOURCE_ID";
2320
+ /** IEEE address. */
2321
+ EmberGpApplicationId[EmberGpApplicationId["IEEE_ADDRESS"] = 2] = "IEEE_ADDRESS";
2322
+ })(EmberGpApplicationId || (exports.EmberGpApplicationId = EmberGpApplicationId = {}));
2323
+ ;
2324
+ /** Green Power Security Level. uint8_t */
2325
+ var EmberGpSecurityLevel;
2326
+ (function (EmberGpSecurityLevel) {
2327
+ /** No Security */
2328
+ EmberGpSecurityLevel[EmberGpSecurityLevel["NONE"] = 0] = "NONE";
2329
+ /** Reserved */
2330
+ EmberGpSecurityLevel[EmberGpSecurityLevel["RESERVED"] = 1] = "RESERVED";
2331
+ /** 4 Byte Frame Counter and 4 Byte MIC */
2332
+ EmberGpSecurityLevel[EmberGpSecurityLevel["FC_MIC"] = 2] = "FC_MIC";
2333
+ /** 4 Byte Frame Counter and 4 Byte MIC with encryption */
2334
+ EmberGpSecurityLevel[EmberGpSecurityLevel["FC_MIC_ENCRYPTED"] = 3] = "FC_MIC_ENCRYPTED";
2335
+ })(EmberGpSecurityLevel || (exports.EmberGpSecurityLevel = EmberGpSecurityLevel = {}));
2336
+ ;
2337
+ /** Green Power Security Security Key Type. uint8_t */
2338
+ var EmberGpKeyType;
2339
+ (function (EmberGpKeyType) {
2340
+ /** No Key */
2341
+ EmberGpKeyType[EmberGpKeyType["NONE"] = 0] = "NONE";
2342
+ /** GP Security Key Type is Zigbee Network Key */
2343
+ EmberGpKeyType[EmberGpKeyType["NWK"] = 1] = "NWK";
2344
+ /** GP Security Key Type is Group Key */
2345
+ EmberGpKeyType[EmberGpKeyType["GPD_GROUP"] = 2] = "GPD_GROUP";
2346
+ /** GP Security Key Type is Derived Network Key */
2347
+ EmberGpKeyType[EmberGpKeyType["NWK_DERIVED"] = 3] = "NWK_DERIVED";
2348
+ /** GP Security Key Type is Out Of Box Key */
2349
+ EmberGpKeyType[EmberGpKeyType["GPD_OOB"] = 4] = "GPD_OOB";
2350
+ /** GP Security Key Type is GPD Derived Key */
2351
+ EmberGpKeyType[EmberGpKeyType["GPD_DERIVED"] = 7] = "GPD_DERIVED";
2352
+ })(EmberGpKeyType || (exports.EmberGpKeyType = EmberGpKeyType = {}));
2353
+ ;
2354
+ /** uint8_t */
2355
+ var EmberGpProxyTableEntryStatus;
2356
+ (function (EmberGpProxyTableEntryStatus) {
2357
+ /** The GP table entry is in use for a Proxy Table Entry. */
2358
+ EmberGpProxyTableEntryStatus[EmberGpProxyTableEntryStatus["ACTIVE"] = 1] = "ACTIVE";
2359
+ /** The proxy table entry is not in use. */
2360
+ EmberGpProxyTableEntryStatus[EmberGpProxyTableEntryStatus["UNUSED"] = 255] = "UNUSED";
2361
+ })(EmberGpProxyTableEntryStatus || (exports.EmberGpProxyTableEntryStatus = EmberGpProxyTableEntryStatus = {}));
2362
+ ;
2363
+ /** GP Sink Type. */
2364
+ var EmberGpSinkType;
2365
+ (function (EmberGpSinkType) {
2366
+ /** Sink Type is Full Unicast */
2367
+ EmberGpSinkType[EmberGpSinkType["FULL_UNICAST"] = 0] = "FULL_UNICAST";
2368
+ /** Sink Type is Derived groupcast, the group ID is derived from the GpdId during commissioning.
2369
+ * The sink is added to the APS group with that groupId.
2370
+ */
2371
+ EmberGpSinkType[EmberGpSinkType["D_GROUPCAST"] = 1] = "D_GROUPCAST";
2372
+ /** Sink type GROUPCAST, the groupId can be obtained from the APS group table
2373
+ * or from the sink table.
2374
+ */
2375
+ EmberGpSinkType[EmberGpSinkType["GROUPCAST"] = 2] = "GROUPCAST";
2376
+ /** Sink Type is Light Weight Unicast. */
2377
+ EmberGpSinkType[EmberGpSinkType["LW_UNICAST"] = 3] = "LW_UNICAST";
2378
+ /** Unused sink type */
2379
+ EmberGpSinkType[EmberGpSinkType["UNUSED"] = 255] = "UNUSED";
2380
+ })(EmberGpSinkType || (exports.EmberGpSinkType = EmberGpSinkType = {}));
2381
+ ;
2382
+ /** uint8_t */
2383
+ var EmberGpSinkTableEntryStatus;
2384
+ (function (EmberGpSinkTableEntryStatus) {
2385
+ /** The GP table entry is in use for a Sink Table Entry. */
2386
+ EmberGpSinkTableEntryStatus[EmberGpSinkTableEntryStatus["ACTIVE"] = 1] = "ACTIVE";
2387
+ /** The proxy table entry is not in use. */
2388
+ EmberGpSinkTableEntryStatus[EmberGpSinkTableEntryStatus["UNUSED"] = 255] = "UNUSED";
2389
+ })(EmberGpSinkTableEntryStatus || (exports.EmberGpSinkTableEntryStatus = EmberGpSinkTableEntryStatus = {}));
2390
+ ;
2391
+ //# sourceMappingURL=enums.js.map