zigbee-herdsman 0.50.1 → 0.52.0

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 (508) hide show
  1. package/.github/workflows/ci.yml +4 -2
  2. package/.prettierrc +9 -0
  3. package/.release-please-manifest.json +1 -1
  4. package/CHANGELOG.md +20 -0
  5. package/dist/adapter/adapter.d.ts +4 -4
  6. package/dist/adapter/adapter.d.ts.map +1 -1
  7. package/dist/adapter/adapter.js +8 -13
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -1
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.js +249 -155
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  13. package/dist/adapter/deconz/adapter/index.d.ts +1 -1
  14. package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
  15. package/dist/adapter/deconz/adapter/index.js.map +1 -1
  16. package/dist/adapter/deconz/driver/constants.d.ts +1 -1
  17. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  18. package/dist/adapter/deconz/driver/constants.js +7 -7
  19. package/dist/adapter/deconz/driver/constants.js.map +1 -1
  20. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  21. package/dist/adapter/deconz/driver/driver.js +92 -60
  22. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  23. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  24. package/dist/adapter/deconz/driver/frameParser.js +55 -46
  25. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  26. package/dist/adapter/deconz/driver/parser.js +1 -1
  27. package/dist/adapter/ember/adapter/emberAdapter.d.ts +27 -445
  28. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  29. package/dist/adapter/ember/adapter/emberAdapter.js +888 -1681
  30. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  31. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  32. package/dist/adapter/ember/adapter/endpoints.js +4 -2
  33. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  34. package/dist/adapter/ember/adapter/oneWaitress.d.ts +5 -4
  35. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  36. package/dist/adapter/ember/adapter/oneWaitress.js +44 -30
  37. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  38. package/dist/adapter/ember/adapter/tokensManager.d.ts +11 -10
  39. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  40. package/dist/adapter/ember/adapter/tokensManager.js +118 -117
  41. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  42. package/dist/adapter/ember/consts.d.ts +1 -0
  43. package/dist/adapter/ember/consts.d.ts.map +1 -1
  44. package/dist/adapter/ember/consts.js +29 -27
  45. package/dist/adapter/ember/consts.js.map +1 -1
  46. package/dist/adapter/ember/enums.d.ts +130 -409
  47. package/dist/adapter/ember/enums.d.ts.map +1 -1
  48. package/dist/adapter/ember/enums.js +146 -484
  49. package/dist/adapter/ember/enums.js.map +1 -1
  50. package/dist/adapter/ember/ezsp/buffalo.d.ts +15 -4
  51. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  52. package/dist/adapter/ember/ezsp/buffalo.js +148 -38
  53. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  54. package/dist/adapter/ember/ezsp/consts.d.ts +2 -1
  55. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -1
  56. package/dist/adapter/ember/ezsp/consts.js +6 -5
  57. package/dist/adapter/ember/ezsp/consts.js.map +1 -1
  58. package/dist/adapter/ember/ezsp/enums.d.ts +160 -49
  59. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -1
  60. package/dist/adapter/ember/ezsp/enums.js +177 -49
  61. package/dist/adapter/ember/ezsp/enums.js.map +1 -1
  62. package/dist/adapter/ember/ezsp/ezsp.d.ts +991 -729
  63. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  64. package/dist/adapter/ember/ezsp/ezsp.js +3219 -2683
  65. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  66. package/dist/adapter/ember/ezspError.d.ts +6 -0
  67. package/dist/adapter/ember/ezspError.d.ts.map +1 -0
  68. package/dist/adapter/ember/ezspError.js +13 -0
  69. package/dist/adapter/ember/ezspError.js.map +1 -0
  70. package/dist/adapter/ember/types.d.ts +91 -43
  71. package/dist/adapter/ember/types.d.ts.map +1 -1
  72. package/dist/adapter/ember/uart/ash.d.ts +16 -12
  73. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  74. package/dist/adapter/ember/uart/ash.js +81 -82
  75. package/dist/adapter/ember/uart/ash.js.map +1 -1
  76. package/dist/adapter/ember/uart/consts.d.ts.map +1 -1
  77. package/dist/adapter/ember/uart/consts.js +9 -9
  78. package/dist/adapter/ember/uart/consts.js.map +1 -1
  79. package/dist/adapter/ember/uart/enums.d.ts.map +1 -1
  80. package/dist/adapter/ember/uart/parser.d.ts +1 -1
  81. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  82. package/dist/adapter/ember/uart/parser.js +1 -1
  83. package/dist/adapter/ember/uart/parser.js.map +1 -1
  84. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  85. package/dist/adapter/ember/uart/queues.js +1 -1
  86. package/dist/adapter/ember/uart/queues.js.map +1 -1
  87. package/dist/adapter/ember/uart/writer.d.ts +1 -1
  88. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  89. package/dist/adapter/ember/uart/writer.js +2 -3
  90. package/dist/adapter/ember/uart/writer.js.map +1 -1
  91. package/dist/adapter/ember/utils/initters.d.ts +2 -2
  92. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  93. package/dist/adapter/ember/utils/initters.js +1 -0
  94. package/dist/adapter/ember/utils/initters.js.map +1 -1
  95. package/dist/adapter/ember/utils/math.d.ts +0 -8
  96. package/dist/adapter/ember/utils/math.d.ts.map +1 -1
  97. package/dist/adapter/ember/utils/math.js +12 -31
  98. package/dist/adapter/ember/utils/math.js.map +1 -1
  99. package/dist/adapter/events.d.ts +1 -1
  100. package/dist/adapter/events.d.ts.map +1 -1
  101. package/dist/adapter/ezsp/adapter/backup.d.ts +1 -1
  102. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  103. package/dist/adapter/ezsp/adapter/backup.js +11 -10
  104. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  105. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +4 -4
  106. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  107. package/dist/adapter/ezsp/adapter/ezspAdapter.js +74 -41
  108. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  109. package/dist/adapter/ezsp/adapter/index.d.ts +1 -1
  110. package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
  111. package/dist/adapter/ezsp/adapter/index.js.map +1 -1
  112. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  113. package/dist/adapter/ezsp/driver/commands.js +452 -452
  114. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  115. package/dist/adapter/ezsp/driver/consts.js +4 -4
  116. package/dist/adapter/ezsp/driver/consts.js.map +1 -1
  117. package/dist/adapter/ezsp/driver/driver.d.ts +5 -5
  118. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  119. package/dist/adapter/ezsp/driver/driver.js +82 -82
  120. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  121. package/dist/adapter/ezsp/driver/ezsp.d.ts +3 -3
  122. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  123. package/dist/adapter/ezsp/driver/ezsp.js +58 -58
  124. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  125. package/dist/adapter/ezsp/driver/frame.js +9 -9
  126. package/dist/adapter/ezsp/driver/frame.js.map +1 -1
  127. package/dist/adapter/ezsp/driver/index.d.ts +1 -1
  128. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  129. package/dist/adapter/ezsp/driver/index.js +2 -2
  130. package/dist/adapter/ezsp/driver/index.js.map +1 -1
  131. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  132. package/dist/adapter/ezsp/driver/multicast.js +1 -1
  133. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  134. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  135. package/dist/adapter/ezsp/driver/parser.js +1 -1
  136. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  137. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  138. package/dist/adapter/ezsp/driver/types/basic.js +5 -5
  139. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  140. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  141. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  142. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  143. package/dist/adapter/ezsp/driver/types/named.js +236 -234
  144. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  145. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  146. package/dist/adapter/ezsp/driver/types/struct.js +5 -3
  147. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  148. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  149. package/dist/adapter/ezsp/driver/uart.js +8 -8
  150. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  151. package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -1
  152. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  153. package/dist/adapter/ezsp/driver/utils/index.js +12 -11
  154. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  155. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  156. package/dist/adapter/ezsp/driver/writer.js +6 -7
  157. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  158. package/dist/adapter/index.d.ts +2 -2
  159. package/dist/adapter/index.d.ts.map +1 -1
  160. package/dist/adapter/index.js +2 -2
  161. package/dist/adapter/index.js.map +1 -1
  162. package/dist/adapter/serialPort.d.ts +1 -1
  163. package/dist/adapter/serialPort.d.ts.map +1 -1
  164. package/dist/adapter/serialPort.js +1 -1
  165. package/dist/adapter/serialPort.js.map +1 -1
  166. package/dist/adapter/serialPortUtils.js +1 -1
  167. package/dist/adapter/serialPortUtils.js.map +1 -1
  168. package/dist/adapter/socketPortUtils.js +3 -3
  169. package/dist/adapter/tstype.d.ts +1 -1
  170. package/dist/adapter/tstype.d.ts.map +1 -1
  171. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +3 -3
  172. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  173. package/dist/adapter/z-stack/adapter/adapter-backup.js +101 -86
  174. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  175. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +10 -10
  176. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  177. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +30 -24
  178. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  179. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
  180. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  181. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  182. package/dist/adapter/z-stack/adapter/index.d.ts +1 -1
  183. package/dist/adapter/z-stack/adapter/index.d.ts.map +1 -1
  184. package/dist/adapter/z-stack/adapter/index.js.map +1 -1
  185. package/dist/adapter/z-stack/adapter/manager.d.ts +5 -5
  186. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  187. package/dist/adapter/z-stack/adapter/manager.js +90 -81
  188. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  189. package/dist/adapter/z-stack/adapter/tstype.d.ts +1 -1
  190. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
  191. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +5 -5
  192. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  193. package/dist/adapter/z-stack/adapter/zStackAdapter.js +72 -57
  194. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  195. package/dist/adapter/z-stack/constants/af.js +5 -5
  196. package/dist/adapter/z-stack/constants/af.js.map +1 -1
  197. package/dist/adapter/z-stack/constants/dbg.js +2 -2
  198. package/dist/adapter/z-stack/constants/index.d.ts +2 -2
  199. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  200. package/dist/adapter/z-stack/constants/index.js +2 -2
  201. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  202. package/dist/adapter/z-stack/constants/mac.js +11 -11
  203. package/dist/adapter/z-stack/constants/sapi.js +4 -4
  204. package/dist/adapter/z-stack/constants/sys.js +11 -11
  205. package/dist/adapter/z-stack/constants/util.js +11 -11
  206. package/dist/adapter/z-stack/constants/utils.d.ts.map +1 -1
  207. package/dist/adapter/z-stack/constants/utils.js +3 -3
  208. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  209. package/dist/adapter/z-stack/constants/zdo.js +13 -13
  210. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  211. package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
  212. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +1 -1
  213. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +4 -4
  214. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  215. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +2 -2
  216. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  217. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +4 -7
  218. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  219. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +1 -1
  220. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  221. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -5
  222. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  223. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +2 -2
  224. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  225. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +3 -6
  226. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  227. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +1 -1
  228. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +6 -6
  229. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +2 -2
  230. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  231. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +3 -6
  232. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  233. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +1 -1
  234. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  235. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -3
  236. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  237. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  238. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  239. package/dist/adapter/z-stack/structs/entries/has-configured.js +2 -2
  240. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  241. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  242. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  243. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  244. package/dist/adapter/z-stack/structs/entries/nib.js +50 -50
  245. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  246. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  247. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  248. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +1 -4
  249. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  250. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  251. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  252. package/dist/adapter/z-stack/structs/entries/nwk-key.js +1 -3
  253. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  254. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +1 -1
  255. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  256. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -3
  257. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  258. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +1 -1
  259. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  260. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +3 -3
  261. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  262. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +2 -2
  263. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  264. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +3 -6
  265. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  266. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +1 -1
  267. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +4 -4
  268. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +2 -2
  269. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  270. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +3 -7
  271. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  272. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  273. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +1 -1
  274. package/dist/adapter/z-stack/structs/struct.d.ts +6 -6
  275. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  276. package/dist/adapter/z-stack/structs/struct.js +53 -52
  277. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  278. package/dist/adapter/z-stack/structs/table.d.ts +3 -3
  279. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  280. package/dist/adapter/z-stack/structs/table.js +16 -16
  281. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  282. package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
  283. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
  284. package/dist/adapter/z-stack/unpi/constants.js +1 -1
  285. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  286. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  287. package/dist/adapter/z-stack/unpi/frame.js +5 -6
  288. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  289. package/dist/adapter/z-stack/unpi/index.d.ts +4 -4
  290. package/dist/adapter/z-stack/unpi/index.d.ts.map +1 -1
  291. package/dist/adapter/z-stack/unpi/index.js +6 -6
  292. package/dist/adapter/z-stack/unpi/index.js.map +1 -1
  293. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
  294. package/dist/adapter/z-stack/unpi/parser.js +1 -1
  295. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  296. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  297. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  298. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +1 -1
  299. package/dist/adapter/z-stack/utils/channel-list.js +5 -2
  300. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  301. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  302. package/dist/adapter/z-stack/utils/network-options.d.ts +1 -1
  303. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  304. package/dist/adapter/z-stack/utils/network-options.js +1 -1
  305. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  306. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  307. package/dist/adapter/z-stack/znp/buffaloZnp.js +8 -8
  308. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  309. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  310. package/dist/adapter/z-stack/znp/definition.js +200 -592
  311. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  312. package/dist/adapter/z-stack/znp/index.d.ts +1 -1
  313. package/dist/adapter/z-stack/znp/index.d.ts.map +1 -1
  314. package/dist/adapter/z-stack/znp/index.js.map +1 -1
  315. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +1 -1
  316. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
  317. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  318. package/dist/adapter/z-stack/znp/znp.d.ts +3 -3
  319. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  320. package/dist/adapter/z-stack/znp/znp.js +12 -15
  321. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  322. package/dist/adapter/z-stack/znp/zpiObject.d.ts +1 -1
  323. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  324. package/dist/adapter/z-stack/znp/zpiObject.js +17 -9
  325. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  326. package/dist/adapter/zigate/adapter/index.d.ts.map +1 -1
  327. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  328. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -1
  329. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  330. package/dist/adapter/zigate/adapter/zigateAdapter.js +88 -92
  331. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  332. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  333. package/dist/adapter/zigate/driver/commandType.d.ts +2 -2
  334. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  335. package/dist/adapter/zigate/driver/commandType.js +72 -80
  336. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  337. package/dist/adapter/zigate/driver/constants.d.ts +9 -9
  338. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  339. package/dist/adapter/zigate/driver/constants.js +11 -65
  340. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  341. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  342. package/dist/adapter/zigate/driver/frame.js +3 -15
  343. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  344. package/dist/adapter/zigate/driver/messageType.d.ts +1 -1
  345. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  346. package/dist/adapter/zigate/driver/messageType.js +29 -30
  347. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  348. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  349. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  350. package/dist/adapter/zigate/driver/ziGateObject.d.ts +2 -2
  351. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  352. package/dist/adapter/zigate/driver/ziGateObject.js +11 -5
  353. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  354. package/dist/adapter/zigate/driver/zigate.d.ts +5 -5
  355. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  356. package/dist/adapter/zigate/driver/zigate.js +12 -12
  357. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  358. package/dist/buffalo/buffalo.d.ts +1 -1
  359. package/dist/buffalo/buffalo.d.ts.map +1 -1
  360. package/dist/buffalo/buffalo.js +1 -1
  361. package/dist/buffalo/buffalo.js.map +1 -1
  362. package/dist/controller/controller.d.ts.map +1 -1
  363. package/dist/controller/controller.js +34 -33
  364. package/dist/controller/controller.js.map +1 -1
  365. package/dist/controller/database.d.ts.map +1 -1
  366. package/dist/controller/database.js +6 -2
  367. package/dist/controller/database.js.map +1 -1
  368. package/dist/controller/events.d.ts +3 -3
  369. package/dist/controller/events.d.ts.map +1 -1
  370. package/dist/controller/greenPower.d.ts +1 -1
  371. package/dist/controller/greenPower.d.ts.map +1 -1
  372. package/dist/controller/greenPower.js +15 -17
  373. package/dist/controller/greenPower.js.map +1 -1
  374. package/dist/controller/helpers/index.d.ts +1 -1
  375. package/dist/controller/helpers/index.d.ts.map +1 -1
  376. package/dist/controller/helpers/index.js.map +1 -1
  377. package/dist/controller/helpers/request.d.ts +1 -1
  378. package/dist/controller/helpers/request.d.ts.map +1 -1
  379. package/dist/controller/helpers/request.js +7 -10
  380. package/dist/controller/helpers/request.js.map +1 -1
  381. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  382. package/dist/controller/helpers/requestQueue.js +2 -3
  383. package/dist/controller/helpers/requestQueue.js.map +1 -1
  384. package/dist/controller/helpers/zclFrameConverter.d.ts +1 -1
  385. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  386. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  387. package/dist/controller/index.d.ts +1 -1
  388. package/dist/controller/index.d.ts.map +1 -1
  389. package/dist/controller/index.js.map +1 -1
  390. package/dist/controller/model/device.d.ts +3 -3
  391. package/dist/controller/model/device.d.ts.map +1 -1
  392. package/dist/controller/model/device.js +247 -94
  393. package/dist/controller/model/device.js.map +1 -1
  394. package/dist/controller/model/endpoint.d.ts +4 -4
  395. package/dist/controller/model/endpoint.d.ts.map +1 -1
  396. package/dist/controller/model/endpoint.js +45 -31
  397. package/dist/controller/model/endpoint.js.map +1 -1
  398. package/dist/controller/model/entity.d.ts +2 -2
  399. package/dist/controller/model/entity.d.ts.map +1 -1
  400. package/dist/controller/model/entity.js.map +1 -1
  401. package/dist/controller/model/group.d.ts +2 -2
  402. package/dist/controller/model/group.d.ts.map +1 -1
  403. package/dist/controller/model/group.js +8 -6
  404. package/dist/controller/model/group.js.map +1 -1
  405. package/dist/controller/model/index.d.ts +1 -1
  406. package/dist/controller/model/index.d.ts.map +1 -1
  407. package/dist/controller/model/index.js.map +1 -1
  408. package/dist/controller/touchlink.d.ts.map +1 -1
  409. package/dist/controller/touchlink.js +2 -2
  410. package/dist/controller/touchlink.js.map +1 -1
  411. package/dist/controller/tstype.d.ts.map +1 -1
  412. package/dist/controller/tstype.js +0 -1
  413. package/dist/controller/tstype.js.map +1 -1
  414. package/dist/models/backup-storage-legacy.d.ts +4 -4
  415. package/dist/models/backup-storage-legacy.d.ts.map +1 -1
  416. package/dist/models/backup-storage-unified.d.ts +1 -1
  417. package/dist/models/backup.d.ts +2 -2
  418. package/dist/models/index.d.ts +4 -4
  419. package/dist/utils/backup.d.ts +1 -1
  420. package/dist/utils/backup.d.ts.map +1 -1
  421. package/dist/utils/backup.js +71 -58
  422. package/dist/utils/backup.js.map +1 -1
  423. package/dist/utils/index.d.ts +6 -6
  424. package/dist/utils/index.d.ts.map +1 -1
  425. package/dist/utils/index.js +10 -10
  426. package/dist/utils/index.js.map +1 -1
  427. package/dist/utils/isNumberArray.js +1 -1
  428. package/dist/utils/isNumberArray.js.map +1 -1
  429. package/dist/utils/queue.js +1 -1
  430. package/dist/utils/queue.js.map +1 -1
  431. package/dist/utils/waitress.d.ts.map +1 -1
  432. package/dist/utils/waitress.js +2 -2
  433. package/dist/utils/waitress.js.map +1 -1
  434. package/dist/zspec/consts.d.ts +1 -1
  435. package/dist/zspec/consts.d.ts.map +1 -1
  436. package/dist/zspec/consts.js +16 -16
  437. package/dist/zspec/consts.js.map +1 -1
  438. package/dist/zspec/enums.js +0 -1
  439. package/dist/zspec/enums.js.map +1 -1
  440. package/dist/zspec/utils.d.ts.map +1 -1
  441. package/dist/zspec/utils.js +5 -3
  442. package/dist/zspec/utils.js.map +1 -1
  443. package/dist/zspec/zcl/buffaloZcl.d.ts +2 -2
  444. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  445. package/dist/zspec/zcl/buffaloZcl.js +44 -51
  446. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  447. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  448. package/dist/zspec/zcl/definition/cluster.js +283 -380
  449. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  450. package/dist/zspec/zcl/definition/consts.js +10 -10
  451. package/dist/zspec/zcl/definition/consts.js.map +1 -1
  452. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
  453. package/dist/zspec/zcl/definition/enums.js.map +1 -1
  454. package/dist/zspec/zcl/definition/foundation.d.ts +1 -1
  455. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  456. package/dist/zspec/zcl/definition/foundation.js +51 -22
  457. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  458. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -1
  459. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
  460. package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
  461. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  462. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  463. package/dist/zspec/zcl/definition/tstype.js +0 -1
  464. package/dist/zspec/zcl/definition/tstype.js.map +1 -1
  465. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  466. package/dist/zspec/zcl/utils.js +59 -19
  467. package/dist/zspec/zcl/utils.js.map +1 -1
  468. package/dist/zspec/zcl/zclFrame.d.ts +1 -1
  469. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  470. package/dist/zspec/zcl/zclFrame.js +14 -15
  471. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  472. package/dist/zspec/zcl/zclHeader.d.ts +1 -1
  473. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  474. package/dist/zspec/zcl/zclHeader.js +7 -7
  475. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  476. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
  477. package/dist/zspec/zcl/zclStatusError.js.map +1 -1
  478. package/dist/zspec/zdo/buffaloZdo.d.ts +3 -3
  479. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  480. package/dist/zspec/zdo/buffaloZdo.js +92 -92
  481. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  482. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -1
  483. package/dist/zspec/zdo/definition/clusters.js +0 -1
  484. package/dist/zspec/zdo/definition/clusters.js.map +1 -1
  485. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -1
  486. package/dist/zspec/zdo/definition/consts.js.map +1 -1
  487. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -1
  488. package/dist/zspec/zdo/definition/enums.js +0 -5
  489. package/dist/zspec/zdo/definition/enums.js.map +1 -1
  490. package/dist/zspec/zdo/definition/status.d.ts.map +1 -1
  491. package/dist/zspec/zdo/definition/status.js +0 -1
  492. package/dist/zspec/zdo/definition/status.js.map +1 -1
  493. package/dist/zspec/zdo/definition/tstypes.d.ts +2 -2
  494. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  495. package/dist/zspec/zdo/utils.d.ts.map +1 -1
  496. package/dist/zspec/zdo/utils.js +14 -14
  497. package/dist/zspec/zdo/utils.js.map +1 -1
  498. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -1
  499. package/dist/zspec/zdo/zdoStatusError.js.map +1 -1
  500. package/package.json +6 -1
  501. package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -57
  502. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
  503. package/dist/adapter/ember/adapter/requestQueue.js +0 -139
  504. package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
  505. package/dist/adapter/ember/zdo.d.ts +0 -925
  506. package/dist/adapter/ember/zdo.d.ts.map +0 -1
  507. package/dist/adapter/ember/zdo.js +0 -723
  508. package/dist/adapter/ember/zdo.js.map +0 -1
@@ -5,37 +5,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.UartAsh = exports.AshEvents = void 0;
7
7
  /* istanbul ignore file */
8
- const stream_1 = require("stream");
9
8
  const net_1 = require("net");
10
- const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
9
+ const stream_1 = require("stream");
10
+ const utils_1 = require("../../../utils");
11
+ const logger_1 = require("../../../utils/logger");
11
12
  const serialPort_1 = require("../../serialPort");
12
- const consts_1 = require("./consts");
13
- const math_1 = require("../utils/math");
13
+ const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
14
14
  const enums_1 = require("../enums");
15
+ const math_1 = require("../utils/math");
16
+ const consts_1 = require("./consts");
15
17
  const enums_2 = require("./enums");
18
+ const parser_1 = require("./parser");
16
19
  const queues_1 = require("./queues");
17
20
  const writer_1 = require("./writer");
18
- const parser_1 = require("./parser");
19
- const utils_1 = require("../../../utils");
20
- const logger_1 = require("../../../utils/logger");
21
21
  const NS = 'zh:ember:uart:ash';
22
22
  /** ASH get rflag in control byte */
23
23
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- const ashGetRFlag = (ctrl) => ((ctrl & consts_1.ASH_RFLAG_MASK) >> consts_1.ASH_RFLAG_BIT);
24
+ const ashGetRFlag = (ctrl) => (ctrl & consts_1.ASH_RFLAG_MASK) >> consts_1.ASH_RFLAG_BIT;
25
25
  /** ASH get nflag in control byte */
26
26
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
- const ashGetNFlag = (ctrl) => ((ctrl & consts_1.ASH_NFLAG_MASK) >> consts_1.ASH_NFLAG_BIT);
27
+ const ashGetNFlag = (ctrl) => (ctrl & consts_1.ASH_NFLAG_MASK) >> consts_1.ASH_NFLAG_BIT;
28
28
  /** ASH get frmnum in control byte */
29
- const ashGetFrmNum = (ctrl) => ((ctrl & consts_1.ASH_FRMNUM_MASK) >> consts_1.ASH_FRMNUM_BIT);
29
+ const ashGetFrmNum = (ctrl) => (ctrl & consts_1.ASH_FRMNUM_MASK) >> consts_1.ASH_FRMNUM_BIT;
30
30
  /** ASH get acknum in control byte */
31
- const ashGetACKNum = (ctrl) => ((ctrl & consts_1.ASH_ACKNUM_MASK) >> consts_1.ASH_ACKNUM_BIT);
32
- var AshEvents;
33
- (function (AshEvents) {
34
- /** When the ASH protocol detects a fatal error (bubbles up to restart adapter). */
35
- AshEvents["FATAL_ERROR"] = "fatalError";
36
- /** When a frame has been parsed and queued in the rxQueue. */
37
- AshEvents["FRAME"] = "frame";
38
- })(AshEvents || (exports.AshEvents = AshEvents = {}));
31
+ const ashGetACKNum = (ctrl) => (ctrl & consts_1.ASH_ACKNUM_MASK) >> consts_1.ASH_ACKNUM_BIT;
39
32
  var SendState;
40
33
  (function (SendState) {
41
34
  SendState[SendState["IDLE"] = 0] = "IDLE";
@@ -87,6 +80,13 @@ const CONFIG_NR_HIGH_LIMIT = 12; // RX_FREE_HW
87
80
  const CONFIG_NR_TIME = 480;
88
81
  /** Read/write max bytes count at stream level */
89
82
  const CONFIG_HIGHWATER_MARK = 256;
83
+ var AshEvents;
84
+ (function (AshEvents) {
85
+ /** When the ASH protocol detects a fatal error (bubbles up to restart adapter). */
86
+ AshEvents["FATAL_ERROR"] = "fatalError";
87
+ /** When a frame has been parsed and queued in the rxQueue. */
88
+ AshEvents["FRAME"] = "frame";
89
+ })(AshEvents || (exports.AshEvents = AshEvents = {}));
90
90
  /**
91
91
  * ASH Protocol handler.
92
92
  */
@@ -228,21 +228,21 @@ class UartAsh extends stream_1.EventEmitter {
228
228
  * - false - host and NCP cannot now exchange DATA frames
229
229
  */
230
230
  get connected() {
231
- return ((this.flags & Flag.CONNECTED) !== 0);
231
+ return (this.flags & Flag.CONNECTED) !== 0;
232
232
  }
233
233
  /**
234
234
  * Has nothing to do...
235
235
  */
236
236
  get idle() {
237
- return (!this.decodeInProgress // don't have a partial frame
237
+ return (!this.decodeInProgress && // don't have a partial frame
238
238
  // && (this.serial.readAvailable() === EzspStatus.NO_RX_DATA) // no rx data
239
- && this.rxQueue.empty // no rx frames to process
240
- && !this.ncpHasCallbacks // no pending callbacks
241
- && (this.flags === Flag.CONNECTED) // no pending ACKs, NAKs, etc.
242
- && (this.ackTx === this.frmRx) // do not need to send an ACK
243
- && (this.ackRx === this.frmTx) // not waiting to receive an ACK
244
- && (this.sendState === SendState.IDLE) // nothing being transmitted now
245
- && this.txQueue.empty // nothing waiting to transmit
239
+ this.rxQueue.empty && // no rx frames to process
240
+ !this.ncpHasCallbacks && // no pending callbacks
241
+ this.flags === Flag.CONNECTED && // no pending ACKs, NAKs, etc.
242
+ this.ackTx === this.frmRx && // do not need to send an ACK
243
+ this.ackRx === this.frmTx && // not waiting to receive an ACK
244
+ this.sendState === SendState.IDLE && // nothing being transmitted now
245
+ this.txQueue.empty // nothing waiting to transmit
246
246
  // && this.serial.outputIsIdle() // nothing in OS buffers or UART FIFO
247
247
  );
248
248
  }
@@ -271,14 +271,14 @@ class UartAsh extends stream_1.EventEmitter {
271
271
  this.encodeCount = 0;
272
272
  this.encodeState = 0;
273
273
  this.encodeEscFlag = false;
274
- this.encodeCrc = 0xFFFF;
274
+ this.encodeCrc = 0xffff;
275
275
  this.txOffset = 0;
276
276
  // init to "start of frame" default
277
277
  this.decodeLen = 0;
278
278
  this.decodeByte1 = 0;
279
279
  this.decodeByte2 = 0;
280
280
  this.decodeFlip = 0;
281
- this.decodeCrc = 0xFFFF;
281
+ this.decodeCrc = 0xffff;
282
282
  this.ncpError = enums_1.EzspStatus.NO_ERROR;
283
283
  this.hostError = enums_1.EzspStatus.NO_ERROR;
284
284
  this.sendState = SendState.IDLE;
@@ -329,12 +329,12 @@ class UartAsh extends stream_1.EventEmitter {
329
329
  this.reTxQueue.tail = null;
330
330
  this.txFree.link = null;
331
331
  for (let i = 0; i < consts_1.TX_POOL_BUFFERS; i++) {
332
- this.txFree.freeBuffer(this.txPool[i] = new queues_1.EzspBuffer());
332
+ this.txFree.freeBuffer((this.txPool[i] = new queues_1.EzspBuffer()));
333
333
  }
334
334
  this.rxQueue.tail = null;
335
335
  this.rxFree.link = null;
336
336
  for (let i = 0; i < consts_1.EZSP_HOST_RX_POOL_SIZE; i++) {
337
- this.rxFree.freeBuffer(this.rxPool[i] = new queues_1.EzspBuffer());
337
+ this.rxFree.freeBuffer((this.rxPool[i] = new queues_1.EzspBuffer()));
338
338
  }
339
339
  }
340
340
  /**
@@ -402,7 +402,7 @@ class UartAsh extends stream_1.EventEmitter {
402
402
  this.socketPort.on('connect', () => {
403
403
  logger_1.logger.debug(`Socket connected`, NS);
404
404
  });
405
- this.socketPort.on('ready', async () => {
405
+ this.socketPort.on('ready', () => {
406
406
  logger_1.logger.info(`Socket ready`, NS);
407
407
  this.socketPort.removeListener('error', openError);
408
408
  this.socketPort.once('close', this.onPortClose.bind(this));
@@ -457,7 +457,8 @@ class UartAsh extends stream_1.EventEmitter {
457
457
  return;
458
458
  }
459
459
  const status = this.receiveFrame(buffer);
460
- if ((status !== enums_1.EzspStatus.SUCCESS) && (status !== enums_1.EzspStatus.ASH_IN_PROGRESS) && (status !== enums_1.EzspStatus.NO_RX_DATA)) {
460
+ setImmediate(this.sendExec.bind(this)); // always trigger to cover all cases (also triggered in Ezsp layer when a DATA frame is emitted)
461
+ if (status !== enums_1.EzspStatus.SUCCESS && status !== enums_1.EzspStatus.ASH_IN_PROGRESS && status !== enums_1.EzspStatus.NO_RX_DATA) {
461
462
  logger_1.logger.error(`Error while parsing received frame, status=${enums_1.EzspStatus[status]}.`, NS);
462
463
  this.emit(AshEvents.FATAL_ERROR, enums_1.EzspStatus.HOST_FATAL_ERROR);
463
464
  return;
@@ -472,7 +473,7 @@ class UartAsh extends stream_1.EventEmitter {
472
473
  * - EzspStatus.ASH_NCP_FATAL_ERROR)
473
474
  */
474
475
  async start() {
475
- if (!this.portOpen || (this.flags & Flag.CONNECTED)) {
476
+ if (!this.portOpen || this.flags & Flag.CONNECTED) {
476
477
  return enums_1.EzspStatus.ERROR_INVALID_CALL;
477
478
  }
478
479
  logger_1.logger.info(`======== ASH starting ========`, NS);
@@ -491,11 +492,11 @@ class UartAsh extends stream_1.EventEmitter {
491
492
  // NOTE: on average, this seems to take around 1000ms when successful
492
493
  for (let i = 0; i < CONFIG_TIME_RST; i += CONFIG_TIME_RST_CHECK) {
493
494
  this.sendExec();
494
- if ((this.flags & Flag.CONNECTED)) {
495
+ if (this.flags & Flag.CONNECTED) {
495
496
  logger_1.logger.info(`======== ASH started ========`, NS);
496
497
  return enums_1.EzspStatus.SUCCESS;
497
498
  }
498
- else if ((this.hostError !== enums_1.EzspStatus.NO_ERROR) || (this.ncpError !== enums_1.EzspStatus.NO_ERROR)) {
499
+ else if (this.hostError !== enums_1.EzspStatus.NO_ERROR || this.ncpError !== enums_1.EzspStatus.NO_ERROR) {
499
500
  // don't wait for inevitable fail, bail early, let retry logic in EZSP layer do its thing
500
501
  break;
501
502
  }
@@ -547,7 +548,7 @@ class UartAsh extends stream_1.EventEmitter {
547
548
  if (this.closing) {
548
549
  return enums_1.EzspStatus.ERROR_INVALID_CALL;
549
550
  }
550
- logger_1.logger.info(`======== ASH NCP reset ========`, NS);
551
+ logger_1.logger.info(`======== ASH Adapter reset ========`, NS);
551
552
  this.initVariables();
552
553
  let status;
553
554
  // ask ncp to reset itself using RST frame
@@ -622,11 +623,12 @@ class UartAsh extends stream_1.EventEmitter {
622
623
  // Check for received acknowledgement timer expiry
623
624
  if (this.ackTimerHasExpired()) {
624
625
  if (this.flags & Flag.CONNECTED) {
625
- const expectedFrm = ((this.flags & Flag.RETX) ? this.frmReTx : this.frmTx);
626
+ const reTx = this.flags & Flag.RETX;
627
+ const expectedFrm = reTx ? this.frmReTx : this.frmTx;
626
628
  if (this.ackRx !== expectedFrm) {
627
629
  this.counters.rxAckTimeouts += 1;
628
630
  this.adjustAckPeriod(true);
629
- logger_1.logger.debug(`Timer expired waiting for ACK for ${expectedFrm}, current=${this.ackRx}`, NS);
631
+ logger_1.logger.debug(`Timer expired waiting for ACK for ${reTx ? 'frmReTx' : 'frmTx'}=${expectedFrm}, ackRx=${this.ackRx}`, NS);
630
632
  if (++this.timeouts >= consts_1.ASH_MAX_TIMEOUTS) {
631
633
  this.hostDisconnect(enums_1.EzspStatus.ASH_ERROR_TIMEOUTS);
632
634
  return;
@@ -689,12 +691,12 @@ class UartAsh extends stream_1.EventEmitter {
689
691
  if (this.flags & Flag.NAK) {
690
692
  this.txSHBuffer[0] = enums_2.AshFrameType.NAK + (this.frmRx << consts_1.ASH_ACKNUM_BIT);
691
693
  this.flags &= ~(Flag.NRTX | Flag.NAK | Flag.ACK);
692
- logger_1.logger.debug(`---> [FRAME type=NAK frmRx=${this.frmRx}]`, NS);
694
+ logger_1.logger.debug(`---> [FRAME type=NAK frmRx=${this.frmRx}](ackRx=${this.ackRx})`, NS);
693
695
  }
694
696
  else {
695
697
  this.txSHBuffer[0] = enums_2.AshFrameType.ACK + (this.frmRx << consts_1.ASH_ACKNUM_BIT);
696
698
  this.flags &= ~(Flag.NRTX | Flag.ACK);
697
- logger_1.logger.debug(`---> [FRAME type=ACK frmRx=${this.frmRx}]`, NS);
699
+ logger_1.logger.debug(`---> [FRAME type=ACK frmRx=${this.frmRx}](ackRx=${this.ackRx})`, NS);
698
700
  }
699
701
  if (this.flags & Flag.NR) {
700
702
  this.txSHBuffer[0] |= consts_1.ASH_NFLAG_MASK;
@@ -711,21 +713,21 @@ class UartAsh extends stream_1.EventEmitter {
711
713
  len = buffer.len + 1;
712
714
  this.txSHBuffer[0] = enums_2.AshFrameType.DATA | (this.frmReTx << consts_1.ASH_FRMNUM_BIT) | (this.frmRx << consts_1.ASH_ACKNUM_BIT) | consts_1.ASH_RFLAG_MASK;
713
715
  this.sendState = SendState.RETX_DATA;
714
- logger_1.logger.debug(`---> [FRAME type=DATA_RETX frmReTx=${this.frmReTx} frmRx=${this.frmRx}]`, NS);
716
+ logger_1.logger.debug(`---> [FRAME type=DATA_RETX frmReTx=${this.frmReTx} frmRx=${this.frmRx}](ackRx=${this.ackRx} frmTx=${this.frmTx})`, NS);
715
717
  }
716
718
  else if (this.ackTx != this.frmRx) {
717
719
  // An ACK should be generated
718
720
  this.flags |= Flag.ACK;
719
721
  break;
720
722
  }
721
- else if (!this.txQueue.empty && (0, math_1.withinRange)(this.ackRx, this.frmTx, (this.ackRx + CONFIG_TX_K - 1))) {
723
+ else if (!this.txQueue.empty && (0, math_1.withinRange)(this.ackRx, this.frmTx, this.ackRx + CONFIG_TX_K - 1)) {
722
724
  // Send a DATA frame if ready
723
725
  buffer = this.txQueue.head;
724
726
  len = buffer.len + 1;
725
- this.counters.txData += (len - 1);
727
+ this.counters.txData += len - 1;
726
728
  this.txSHBuffer[0] = enums_2.AshFrameType.DATA | (this.frmTx << consts_1.ASH_FRMNUM_BIT) | (this.frmRx << consts_1.ASH_ACKNUM_BIT);
727
729
  this.sendState = SendState.TX_DATA;
728
- logger_1.logger.debug(`---> [FRAME type=DATA frmTx=${this.frmTx} frmRx=${this.frmRx}]`, NS);
730
+ logger_1.logger.debug(`---> [FRAME type=DATA frmTx=${this.frmTx} frmRx=${this.frmRx}](ackRx=${this.ackRx})`, NS);
729
731
  }
730
732
  else {
731
733
  // Otherwise there's nothing to send
@@ -739,7 +741,7 @@ class UartAsh extends stream_1.EventEmitter {
739
741
  break;
740
742
  case SendState.SHFRAME:
741
743
  // sending short frame
742
- if (this.txOffset !== 0xFF) {
744
+ if (this.txOffset !== 0xff) {
743
745
  inByte = this.txSHBuffer[this.txOffset];
744
746
  outByte = this.encodeByte(0, inByte);
745
747
  this.writer.writeByte(outByte);
@@ -751,7 +753,7 @@ class UartAsh extends stream_1.EventEmitter {
751
753
  case SendState.TX_DATA:
752
754
  case SendState.RETX_DATA:
753
755
  // sending OR resending data frame
754
- if (this.txOffset !== 0xFF) {
756
+ if (this.txOffset !== 0xff) {
755
757
  inByte = this.txOffset ? buffer.data[this.txOffset - 1] : this.txSHBuffer[0];
756
758
  outByte = this.encodeByte(0, inByte);
757
759
  this.writer.writeByte(outByte);
@@ -843,7 +845,7 @@ class UartAsh extends stream_1.EventEmitter {
843
845
  // DATA frame, and not in the CONNECTED state
844
846
  // not a DATA frame
845
847
  if (frameType === enums_2.AshFrameType.DATA) {
846
- if (!(this.flags & Flag.CONNECTED) || (ashGetFrmNum(this.rxSHBuffer[0]) !== this.frmRx)) {
848
+ if (!(this.flags & Flag.CONNECTED) || ashGetFrmNum(this.rxSHBuffer[0]) !== this.frmRx) {
847
849
  this.freeNonNullRxBuffer();
848
850
  }
849
851
  }
@@ -875,15 +877,15 @@ class UartAsh extends stream_1.EventEmitter {
875
877
  return enums_1.EzspStatus.SUCCESS;
876
878
  }
877
879
  else if (frameType === enums_2.AshFrameType.ERROR) {
878
- logger_1.logger.error(`Received ERROR from NCP while connecting, with code=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
880
+ logger_1.logger.error(`Received ERROR from adapter while connecting, with code=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
879
881
  return this.ncpDisconnect(enums_1.EzspStatus.ASH_NCP_FATAL_ERROR);
880
882
  }
881
883
  return enums_1.EzspStatus.ASH_IN_PROGRESS;
882
884
  }
883
885
  // Connected - process the ackNum in ACK, NAK and DATA frames
884
- if ((frameType === enums_2.AshFrameType.DATA) || (frameType === enums_2.AshFrameType.ACK) || (frameType === enums_2.AshFrameType.NAK)) {
886
+ if (frameType === enums_2.AshFrameType.DATA || frameType === enums_2.AshFrameType.ACK || frameType === enums_2.AshFrameType.NAK) {
885
887
  ackNum = ashGetACKNum(this.rxSHBuffer[0]);
886
- logger_1.logger.debug(`<--- [FRAME type=${frameTypeStr} ackNum=${ackNum}]`, NS);
888
+ logger_1.logger.debug(`<--- [FRAME type=${frameTypeStr} ackNum=${ackNum}](ackRx=${this.ackRx} frmTx=${this.frmTx})`, NS);
887
889
  if (!(0, math_1.withinRange)(this.ackRx, ackNum, this.frmTx)) {
888
890
  this.counters.rxBadAckNumber += 1;
889
891
  logger_1.logger.debug(`<-x- [FRAME type=${frameTypeStr} ackNum=${ackNum}] Invalid ACK num; not within <${this.ackRx}-${this.frmTx}>`, NS);
@@ -914,7 +916,7 @@ class UartAsh extends stream_1.EventEmitter {
914
916
  switch (frameType) {
915
917
  case enums_2.AshFrameType.DATA:
916
918
  frmNum = ashGetFrmNum(this.rxSHBuffer[0]);
917
- const frameStr = `[FRAME type=${frameTypeStr} ackNum=${ackNum} frmNum=${frmNum}]`;
919
+ const frameStr = `[FRAME type=${frameTypeStr} ackNum=${ackNum} frmNum=${frmNum}](frmRx=${this.frmRx})`;
918
920
  if (frmNum === this.frmRx) {
919
921
  // is frame in sequence?
920
922
  if (this.rxDataBuffer == null) {
@@ -934,9 +936,7 @@ class UartAsh extends stream_1.EventEmitter {
934
936
  this.rxQueue.addTail(this.rxDataBuffer); // add frame to receive queue
935
937
  logger_1.logger.debug(`<--- ${frameStr} Added to rxQueue`, NS);
936
938
  this.counters.rxData += this.rxDataBuffer.len;
937
- setImmediate(() => {
938
- this.emit(AshEvents.FRAME);
939
- });
939
+ setImmediate(() => this.emit(AshEvents.FRAME));
940
940
  return enums_1.EzspStatus.SUCCESS;
941
941
  }
942
942
  else {
@@ -965,12 +965,12 @@ class UartAsh extends stream_1.EventEmitter {
965
965
  break;
966
966
  case enums_2.AshFrameType.RSTACK:
967
967
  // unexpected ncp reset
968
- logger_1.logger.error(`Received unexpected reset from NCP, with reason=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
968
+ logger_1.logger.error(`Received unexpected reset from adapter, with reason=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
969
969
  this.ncpError = enums_1.EzspStatus.ASH_NCP_FATAL_ERROR;
970
970
  return this.hostDisconnect(enums_1.EzspStatus.ASH_ERROR_NCP_RESET);
971
971
  case enums_2.AshFrameType.ERROR:
972
972
  // ncp error
973
- logger_1.logger.error(`Received ERROR from NCP, with code=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
973
+ logger_1.logger.error(`Received ERROR from adapter, with code=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
974
974
  return this.ncpDisconnect(enums_1.EzspStatus.ASH_NCP_FATAL_ERROR);
975
975
  case enums_2.AshFrameType.INVALID:
976
976
  // reject invalid frames
@@ -985,9 +985,8 @@ class UartAsh extends stream_1.EventEmitter {
985
985
  * then send a NAK and set the reject condition.
986
986
  */
987
987
  rejectFrame() {
988
- if (((this.rxSHBuffer[0] & consts_1.ASH_DFRAME_MASK) === enums_2.AshFrameType.DATA)
989
- && ((this.flags & (Flag.REJ | Flag.CONNECTED)) === Flag.CONNECTED)) {
990
- this.flags |= (Flag.REJ | Flag.NAK);
988
+ if ((this.rxSHBuffer[0] & consts_1.ASH_DFRAME_MASK) === enums_2.AshFrameType.DATA && (this.flags & (Flag.REJ | Flag.CONNECTED)) === Flag.CONNECTED) {
989
+ this.flags |= Flag.REJ | Flag.NAK;
991
990
  }
992
991
  }
993
992
  /**
@@ -1005,7 +1004,7 @@ class UartAsh extends stream_1.EventEmitter {
1005
1004
  }
1006
1005
  for (const inByte of buffer) {
1007
1006
  // 0xFF byte signals a callback is pending when between frames in synchronous (polled) callback mode.
1008
- if (!this.decodeInProgress && (inByte === consts_1.ASH_WAKE)) {
1007
+ if (!this.decodeInProgress && inByte === consts_1.ASH_WAKE) {
1009
1008
  if (this.ncpSleepEnabled) {
1010
1009
  this.ncpHasCallbacks = true;
1011
1010
  }
@@ -1017,7 +1016,7 @@ class UartAsh extends stream_1.EventEmitter {
1017
1016
  index = this.rxLen;
1018
1017
  [status, outByte, this.rxLen] = this.decodeByte(inByte, outByte, this.rxLen);
1019
1018
  // discard an invalid frame
1020
- if ((status !== enums_1.EzspStatus.ASH_IN_PROGRESS) && (status !== enums_1.EzspStatus.SUCCESS)) {
1019
+ if (status !== enums_1.EzspStatus.ASH_IN_PROGRESS && status !== enums_1.EzspStatus.SUCCESS) {
1021
1020
  this.freeNonNullRxBuffer();
1022
1021
  break;
1023
1022
  }
@@ -1031,7 +1030,7 @@ class UartAsh extends stream_1.EventEmitter {
1031
1030
  // if a longer DATA frame, allocate an EzspBuffer for it.
1032
1031
  // (Note the control byte is always returned in shRxBuffer[0].
1033
1032
  // Even if no buffer can be allocated, the control's ackNum must be processed.)
1034
- if (this.rxLen === (consts_1.SH_RX_BUFFER_LEN + 1)) {
1033
+ if (this.rxLen === consts_1.SH_RX_BUFFER_LEN + 1) {
1035
1034
  // alloc buffer, copy prior data
1036
1035
  this.rxDataBuffer = this.rxFree.allocBuffer();
1037
1036
  if (this.rxDataBuffer !== null) {
@@ -1078,10 +1077,10 @@ class UartAsh extends stream_1.EventEmitter {
1078
1077
  * If not already retransmitting, and there are unacked frames, start retransmitting after the last frame that was acked.
1079
1078
  */
1080
1079
  startRetransmission() {
1081
- if (!(this.flags & Flag.RETX) && (this.ackRx != this.frmTx)) {
1080
+ if (!(this.flags & Flag.RETX) && this.ackRx != this.frmTx) {
1082
1081
  this.stopAckTimer();
1083
1082
  this.frmReTx = this.ackRx;
1084
- this.flags |= (Flag.RETX | Flag.CAN);
1083
+ this.flags |= Flag.RETX | Flag.CAN;
1085
1084
  }
1086
1085
  }
1087
1086
  /**
@@ -1094,7 +1093,7 @@ class UartAsh extends stream_1.EventEmitter {
1094
1093
  // Set/clear NR flag based on the number of buffers free
1095
1094
  if (this.rxFree.length < CONFIG_NR_LOW_LIMIT) {
1096
1095
  this.flags |= Flag.NR;
1097
- logger_1.logger.warning(`NOT READY - Signaling NCP`, NS);
1096
+ logger_1.logger.warning(`NOT READY - Signaling adapter`, NS);
1098
1097
  }
1099
1098
  else if (this.rxFree.length > CONFIG_NR_HIGH_LIMIT) {
1100
1099
  this.flags &= ~Flag.NR;
@@ -1129,7 +1128,7 @@ class UartAsh extends stream_1.EventEmitter {
1129
1128
  hostDisconnect(error) {
1130
1129
  this.flags = 0;
1131
1130
  this.hostError = error;
1132
- logger_1.logger.error(`ASH disconnected: ${enums_1.EzspStatus[error]} | NCP status: ${enums_1.EzspStatus[this.ncpError]}`, NS);
1131
+ logger_1.logger.error(`ASH disconnected: ${enums_1.EzspStatus[error]} | Adapter status: ${enums_1.EzspStatus[this.ncpError]}`, NS);
1133
1132
  return enums_1.EzspStatus.HOST_FATAL_ERROR;
1134
1133
  }
1135
1134
  /**
@@ -1140,7 +1139,7 @@ class UartAsh extends stream_1.EventEmitter {
1140
1139
  ncpDisconnect(error) {
1141
1140
  this.flags = 0;
1142
1141
  this.ncpError = error;
1143
- logger_1.logger.error(`ASH disconnected | NCP status: ${enums_1.EzspStatus[this.ncpError]}`, NS);
1142
+ logger_1.logger.error(`ASH disconnected | Adapter status: ${enums_1.EzspStatus[this.ncpError]}`, NS);
1144
1143
  return enums_1.EzspStatus.ASH_NCP_FATAL_ERROR;
1145
1144
  }
1146
1145
  /**
@@ -1175,7 +1174,7 @@ class UartAsh extends stream_1.EventEmitter {
1175
1174
  while (len--) {
1176
1175
  // *buf++ ^= seed;
1177
1176
  buf[outIdx++] ^= seed;
1178
- seed = (seed & 1) ? ((seed >> 1) ^ consts_1.LFSR_POLY) : (seed >> 1);
1177
+ seed = seed & 1 ? (seed >> 1) ^ consts_1.LFSR_POLY : seed >> 1;
1179
1178
  }
1180
1179
  return seed;
1181
1180
  }
@@ -1233,7 +1232,7 @@ class UartAsh extends stream_1.EventEmitter {
1233
1232
  this.txOffset = 0;
1234
1233
  this.encodeState = 0;
1235
1234
  this.encodeEscFlag = false;
1236
- this.encodeCrc = 0xFFFF;
1235
+ this.encodeCrc = 0xffff;
1237
1236
  }
1238
1237
  // was an escape last time?
1239
1238
  if (this.encodeEscFlag) {
@@ -1260,9 +1259,9 @@ class UartAsh extends stream_1.EventEmitter {
1260
1259
  else if (this.encodeState === 2) {
1261
1260
  // CRC low byte
1262
1261
  this.encodeState = 3;
1263
- return this.encodeStuffByte(this.encodeCrc & 0xFF);
1262
+ return this.encodeStuffByte(this.encodeCrc & 0xff);
1264
1263
  }
1265
- this.txOffset = 0xFF;
1264
+ this.txOffset = 0xff;
1266
1265
  return enums_2.AshReservedByte.FLAG;
1267
1266
  }
1268
1267
  /**
@@ -1303,7 +1302,7 @@ class UartAsh extends stream_1.EventEmitter {
1303
1302
  this.decodeByte1 = 0;
1304
1303
  this.decodeByte2 = 0;
1305
1304
  this.decodeFlip = 0;
1306
- this.decodeCrc = 0xFFFF;
1305
+ this.decodeCrc = 0xffff;
1307
1306
  }
1308
1307
  switch (byte) {
1309
1308
  case enums_2.AshReservedByte.FLAG:
@@ -1313,10 +1312,10 @@ class UartAsh extends stream_1.EventEmitter {
1313
1312
  this.decodeFlip = 0; // ignore isolated data escape between flags
1314
1313
  break;
1315
1314
  }
1316
- else if (this.decodeLen === 0xFF) {
1315
+ else if (this.decodeLen === 0xff) {
1317
1316
  status = enums_1.EzspStatus.ASH_COMM_ERROR;
1318
1317
  }
1319
- else if (this.decodeCrc !== ((this.decodeByte2 << 8) + this.decodeByte1)) {
1318
+ else if (this.decodeCrc !== (this.decodeByte2 << 8) + this.decodeByte1) {
1320
1319
  status = enums_1.EzspStatus.ASH_BAD_CRC;
1321
1320
  }
1322
1321
  else if (this.decodeLen < consts_1.ASH_MIN_FRAME_WITH_CRC_LEN) {
@@ -1339,7 +1338,7 @@ class UartAsh extends stream_1.EventEmitter {
1339
1338
  break;
1340
1339
  case enums_2.AshReservedByte.SUBSTITUTE:
1341
1340
  // discard remainder of frame
1342
- this.decodeLen = 0xFF; // special value flags low level comm error
1341
+ this.decodeLen = 0xff; // special value flags low level comm error
1343
1342
  break;
1344
1343
  case enums_2.AshReservedByte.XON:
1345
1344
  case enums_2.AshReservedByte.XOFF:
@@ -1372,7 +1371,7 @@ class UartAsh extends stream_1.EventEmitter {
1372
1371
  this.decodeByte1 = byte;
1373
1372
  break;
1374
1373
  }
1375
- this.decodeInProgress = (status === enums_1.EzspStatus.ASH_IN_PROGRESS);
1374
+ this.decodeInProgress = status === enums_1.EzspStatus.ASH_IN_PROGRESS;
1376
1375
  return [status, inByte, inLen];
1377
1376
  }
1378
1377
  /**
@@ -1383,7 +1382,7 @@ class UartAsh extends stream_1.EventEmitter {
1383
1382
  * On the NCP, if this times out the NCP resumes sending callbacks.
1384
1383
  */
1385
1384
  startNrTimer() {
1386
- this.nrTimer = (Date.now() + CONFIG_NR_TIME);
1385
+ this.nrTimer = Date.now() + CONFIG_NR_TIME;
1387
1386
  }
1388
1387
  /**
1389
1388
  * Stop Not Ready timer (set to 0).
@@ -1398,11 +1397,11 @@ class UartAsh extends stream_1.EventEmitter {
1398
1397
  */
1399
1398
  nrTimerHasExpired() {
1400
1399
  if (this.nrTimer) {
1401
- if ((Date.now() - this.nrTimer) >= 0) {
1400
+ if (Date.now() - this.nrTimer >= 0) {
1402
1401
  this.nrTimer = 0;
1403
1402
  }
1404
1403
  }
1405
- return (!this.nrTimer);
1404
+ return !this.nrTimer;
1406
1405
  }
1407
1406
  /**
1408
1407
  * Indicates whether or not Not Ready timer is currently running.
@@ -1456,7 +1455,7 @@ class UartAsh extends stream_1.EventEmitter {
1456
1455
  temp = (temp << 3) - temp;
1457
1456
  temp += lastAckTime << 2;
1458
1457
  temp >>= 3;
1459
- this.ackPeriod = (temp & 0xFFFF);
1458
+ this.ackPeriod = temp & 0xffff;
1460
1459
  }
1461
1460
  // keep ackPeriod within limits
1462
1461
  if (this.ackPeriod > CONFIG_ACK_TIME_MAX) {
@@ -1491,7 +1490,7 @@ class UartAsh extends stream_1.EventEmitter {
1491
1490
  return false;
1492
1491
  }
1493
1492
  // return ((halCommonGetInt16uMillisecondTick() - this.ackTimer) >= this.ackPeriod);
1494
- return ((Date.now() - this.ackTimer) >= this.ackPeriod);
1493
+ return Date.now() - this.ackTimer >= this.ackPeriod;
1495
1494
  }
1496
1495
  /**
1497
1496
  * Indicates whether or not ACK Timer is currently running (!= 0).