zigbee-herdsman 6.0.1 → 6.0.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 (260) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/adapter/ezsp/driver/uart.js +1 -1
  3. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  4. package/dist/adapter/z-stack/adapter/zStackAdapter.js +4 -4
  5. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  6. package/dist/adapter/zigate/adapter/zigateAdapter.js +4 -4
  7. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  8. package/dist/controller/model/device.d.ts.map +1 -1
  9. package/dist/controller/model/device.js +1 -0
  10. package/dist/controller/model/device.js.map +1 -1
  11. package/package.json +14 -6
  12. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  13. package/.github/dependabot.yml +0 -22
  14. package/.github/workflows/ci.yml +0 -64
  15. package/.github/workflows/release-please.yml +0 -18
  16. package/.github/workflows/stale.yml +0 -20
  17. package/.github/workflows/typedoc.yaml +0 -47
  18. package/.release-please-manifest.json +0 -3
  19. package/.vscode/extensions.json +0 -3
  20. package/.vscode/settings.json +0 -11
  21. package/biome.json +0 -98
  22. package/examples/join-and-log.js +0 -24
  23. package/release-please-config.json +0 -9
  24. package/src/adapter/adapter.ts +0 -189
  25. package/src/adapter/adapterDiscovery.ts +0 -666
  26. package/src/adapter/const.ts +0 -12
  27. package/src/adapter/deconz/adapter/deconzAdapter.ts +0 -877
  28. package/src/adapter/deconz/driver/constants.ts +0 -246
  29. package/src/adapter/deconz/driver/driver.ts +0 -1540
  30. package/src/adapter/deconz/driver/frame.ts +0 -11
  31. package/src/adapter/deconz/driver/frameParser.ts +0 -753
  32. package/src/adapter/deconz/driver/parser.ts +0 -45
  33. package/src/adapter/deconz/driver/writer.ts +0 -22
  34. package/src/adapter/deconz/types.d.ts +0 -13
  35. package/src/adapter/ember/adapter/emberAdapter.ts +0 -2265
  36. package/src/adapter/ember/adapter/endpoints.ts +0 -86
  37. package/src/adapter/ember/adapter/oneWaitress.ts +0 -324
  38. package/src/adapter/ember/adapter/tokensManager.ts +0 -782
  39. package/src/adapter/ember/consts.ts +0 -178
  40. package/src/adapter/ember/enums.ts +0 -1746
  41. package/src/adapter/ember/ezsp/buffalo.ts +0 -1392
  42. package/src/adapter/ember/ezsp/consts.ts +0 -148
  43. package/src/adapter/ember/ezsp/enums.ts +0 -1114
  44. package/src/adapter/ember/ezsp/ezsp.ts +0 -9061
  45. package/src/adapter/ember/ezspError.ts +0 -10
  46. package/src/adapter/ember/types.ts +0 -866
  47. package/src/adapter/ember/uart/ash.ts +0 -1960
  48. package/src/adapter/ember/uart/consts.ts +0 -109
  49. package/src/adapter/ember/uart/enums.ts +0 -192
  50. package/src/adapter/ember/uart/parser.ts +0 -48
  51. package/src/adapter/ember/uart/queues.ts +0 -247
  52. package/src/adapter/ember/uart/writer.ts +0 -53
  53. package/src/adapter/ember/utils/initters.ts +0 -58
  54. package/src/adapter/ember/utils/math.ts +0 -73
  55. package/src/adapter/events.ts +0 -21
  56. package/src/adapter/ezsp/adapter/backup.ts +0 -109
  57. package/src/adapter/ezsp/adapter/ezspAdapter.ts +0 -614
  58. package/src/adapter/ezsp/driver/commands.ts +0 -2497
  59. package/src/adapter/ezsp/driver/consts.ts +0 -11
  60. package/src/adapter/ezsp/driver/driver.ts +0 -1002
  61. package/src/adapter/ezsp/driver/ezsp.ts +0 -802
  62. package/src/adapter/ezsp/driver/frame.ts +0 -101
  63. package/src/adapter/ezsp/driver/index.ts +0 -4
  64. package/src/adapter/ezsp/driver/multicast.ts +0 -78
  65. package/src/adapter/ezsp/driver/parser.ts +0 -81
  66. package/src/adapter/ezsp/driver/types/basic.ts +0 -201
  67. package/src/adapter/ezsp/driver/types/index.ts +0 -239
  68. package/src/adapter/ezsp/driver/types/named.ts +0 -2330
  69. package/src/adapter/ezsp/driver/types/struct.ts +0 -844
  70. package/src/adapter/ezsp/driver/uart.ts +0 -460
  71. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +0 -44
  72. package/src/adapter/ezsp/driver/utils/index.ts +0 -32
  73. package/src/adapter/ezsp/driver/writer.ts +0 -64
  74. package/src/adapter/index.ts +0 -3
  75. package/src/adapter/serialPort.ts +0 -58
  76. package/src/adapter/socketPortUtils.ts +0 -16
  77. package/src/adapter/tstype.ts +0 -78
  78. package/src/adapter/z-stack/adapter/adapter-backup.ts +0 -519
  79. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +0 -457
  80. package/src/adapter/z-stack/adapter/endpoints.ts +0 -57
  81. package/src/adapter/z-stack/adapter/manager.ts +0 -543
  82. package/src/adapter/z-stack/adapter/tstype.ts +0 -6
  83. package/src/adapter/z-stack/adapter/zStackAdapter.ts +0 -1190
  84. package/src/adapter/z-stack/constants/af.ts +0 -27
  85. package/src/adapter/z-stack/constants/common.ts +0 -285
  86. package/src/adapter/z-stack/constants/dbg.ts +0 -23
  87. package/src/adapter/z-stack/constants/index.ts +0 -11
  88. package/src/adapter/z-stack/constants/mac.ts +0 -128
  89. package/src/adapter/z-stack/constants/sapi.ts +0 -25
  90. package/src/adapter/z-stack/constants/sys.ts +0 -72
  91. package/src/adapter/z-stack/constants/util.ts +0 -82
  92. package/src/adapter/z-stack/constants/utils.ts +0 -14
  93. package/src/adapter/z-stack/constants/zdo.ts +0 -103
  94. package/src/adapter/z-stack/models/startup-options.ts +0 -13
  95. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +0 -44
  96. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +0 -19
  97. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +0 -12
  98. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +0 -21
  99. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +0 -19
  100. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +0 -21
  101. package/src/adapter/z-stack/structs/entries/channel-list.ts +0 -8
  102. package/src/adapter/z-stack/structs/entries/has-configured.ts +0 -16
  103. package/src/adapter/z-stack/structs/entries/index.ts +0 -16
  104. package/src/adapter/z-stack/structs/entries/nib.ts +0 -66
  105. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +0 -15
  106. package/src/adapter/z-stack/structs/entries/nwk-key.ts +0 -13
  107. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +0 -8
  108. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +0 -20
  109. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +0 -19
  110. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +0 -33
  111. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +0 -22
  112. package/src/adapter/z-stack/structs/index.ts +0 -4
  113. package/src/adapter/z-stack/structs/serializable-memory-object.ts +0 -14
  114. package/src/adapter/z-stack/structs/struct.ts +0 -367
  115. package/src/adapter/z-stack/structs/table.ts +0 -198
  116. package/src/adapter/z-stack/unpi/constants.ts +0 -33
  117. package/src/adapter/z-stack/unpi/frame.ts +0 -62
  118. package/src/adapter/z-stack/unpi/index.ts +0 -4
  119. package/src/adapter/z-stack/unpi/parser.ts +0 -56
  120. package/src/adapter/z-stack/unpi/writer.ts +0 -21
  121. package/src/adapter/z-stack/utils/channel-list.ts +0 -40
  122. package/src/adapter/z-stack/utils/index.ts +0 -2
  123. package/src/adapter/z-stack/utils/network-options.ts +0 -26
  124. package/src/adapter/z-stack/znp/buffaloZnp.ts +0 -175
  125. package/src/adapter/z-stack/znp/definition.ts +0 -2713
  126. package/src/adapter/z-stack/znp/index.ts +0 -2
  127. package/src/adapter/z-stack/znp/parameterType.ts +0 -22
  128. package/src/adapter/z-stack/znp/tstype.ts +0 -44
  129. package/src/adapter/z-stack/znp/utils.ts +0 -10
  130. package/src/adapter/z-stack/znp/znp.ts +0 -342
  131. package/src/adapter/z-stack/znp/zpiObject.ts +0 -148
  132. package/src/adapter/zboss/adapter/zbossAdapter.ts +0 -526
  133. package/src/adapter/zboss/commands.ts +0 -1184
  134. package/src/adapter/zboss/consts.ts +0 -9
  135. package/src/adapter/zboss/driver.ts +0 -422
  136. package/src/adapter/zboss/enums.ts +0 -360
  137. package/src/adapter/zboss/frame.ts +0 -227
  138. package/src/adapter/zboss/reader.ts +0 -65
  139. package/src/adapter/zboss/types.ts +0 -0
  140. package/src/adapter/zboss/uart.ts +0 -428
  141. package/src/adapter/zboss/utils.ts +0 -58
  142. package/src/adapter/zboss/writer.ts +0 -49
  143. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +0 -27
  144. package/src/adapter/zigate/adapter/zigateAdapter.ts +0 -618
  145. package/src/adapter/zigate/driver/LICENSE +0 -17
  146. package/src/adapter/zigate/driver/buffaloZiGate.ts +0 -212
  147. package/src/adapter/zigate/driver/commandType.ts +0 -418
  148. package/src/adapter/zigate/driver/constants.ts +0 -150
  149. package/src/adapter/zigate/driver/frame.ts +0 -197
  150. package/src/adapter/zigate/driver/messageType.ts +0 -287
  151. package/src/adapter/zigate/driver/parameterType.ts +0 -32
  152. package/src/adapter/zigate/driver/ziGateObject.ts +0 -146
  153. package/src/adapter/zigate/driver/zigate.ts +0 -423
  154. package/src/adapter/zoh/adapter/utils.ts +0 -27
  155. package/src/adapter/zoh/adapter/zohAdapter.ts +0 -838
  156. package/src/buffalo/buffalo.ts +0 -342
  157. package/src/buffalo/index.ts +0 -1
  158. package/src/controller/controller.ts +0 -1022
  159. package/src/controller/database.ts +0 -124
  160. package/src/controller/events.ts +0 -52
  161. package/src/controller/greenPower.ts +0 -603
  162. package/src/controller/helpers/index.ts +0 -1
  163. package/src/controller/helpers/installCodes.ts +0 -107
  164. package/src/controller/helpers/request.ts +0 -96
  165. package/src/controller/helpers/requestQueue.ts +0 -125
  166. package/src/controller/helpers/zclFrameConverter.ts +0 -47
  167. package/src/controller/helpers/zclTransactionSequenceNumber.ts +0 -19
  168. package/src/controller/index.ts +0 -6
  169. package/src/controller/model/device.ts +0 -1248
  170. package/src/controller/model/endpoint.ts +0 -1105
  171. package/src/controller/model/entity.ts +0 -23
  172. package/src/controller/model/group.ts +0 -424
  173. package/src/controller/model/index.ts +0 -5
  174. package/src/controller/model/zigbeeEntity.ts +0 -30
  175. package/src/controller/touchlink.ts +0 -189
  176. package/src/controller/tstype.ts +0 -274
  177. package/src/index.ts +0 -12
  178. package/src/models/backup-storage-legacy.ts +0 -48
  179. package/src/models/backup-storage-unified.ts +0 -47
  180. package/src/models/backup.ts +0 -37
  181. package/src/models/index.ts +0 -5
  182. package/src/models/network-options.ts +0 -11
  183. package/src/utils/backup.ts +0 -152
  184. package/src/utils/index.ts +0 -5
  185. package/src/utils/logger.ts +0 -20
  186. package/src/utils/patchBigIntSerialization.ts +0 -8
  187. package/src/utils/queue.ts +0 -76
  188. package/src/utils/types.d.ts +0 -3
  189. package/src/utils/utils.ts +0 -19
  190. package/src/utils/wait.ts +0 -5
  191. package/src/utils/waitress.ts +0 -96
  192. package/src/zspec/consts.ts +0 -84
  193. package/src/zspec/enums.ts +0 -22
  194. package/src/zspec/index.ts +0 -3
  195. package/src/zspec/tstypes.ts +0 -18
  196. package/src/zspec/utils.ts +0 -247
  197. package/src/zspec/zcl/buffaloZcl.ts +0 -1220
  198. package/src/zspec/zcl/definition/cluster.ts +0 -5915
  199. package/src/zspec/zcl/definition/clusters-typegen.ts +0 -588
  200. package/src/zspec/zcl/definition/clusters-types.ts +0 -7331
  201. package/src/zspec/zcl/definition/consts.ts +0 -24
  202. package/src/zspec/zcl/definition/enums.ts +0 -203
  203. package/src/zspec/zcl/definition/foundation.ts +0 -329
  204. package/src/zspec/zcl/definition/manufacturerCode.ts +0 -729
  205. package/src/zspec/zcl/definition/status.ts +0 -69
  206. package/src/zspec/zcl/definition/tstype.ts +0 -377
  207. package/src/zspec/zcl/index.ts +0 -11
  208. package/src/zspec/zcl/utils.ts +0 -321
  209. package/src/zspec/zcl/zclFrame.ts +0 -356
  210. package/src/zspec/zcl/zclHeader.ts +0 -102
  211. package/src/zspec/zcl/zclStatusError.ts +0 -10
  212. package/src/zspec/zdo/buffaloZdo.ts +0 -2336
  213. package/src/zspec/zdo/definition/clusters.ts +0 -722
  214. package/src/zspec/zdo/definition/consts.ts +0 -16
  215. package/src/zspec/zdo/definition/enums.ts +0 -99
  216. package/src/zspec/zdo/definition/status.ts +0 -105
  217. package/src/zspec/zdo/definition/tstypes.ts +0 -1062
  218. package/src/zspec/zdo/index.ts +0 -7
  219. package/src/zspec/zdo/utils.ts +0 -76
  220. package/src/zspec/zdo/zdoStatusError.ts +0 -10
  221. package/test/adapter/adapter.test.ts +0 -1062
  222. package/test/adapter/ember/ash.test.ts +0 -337
  223. package/test/adapter/ember/consts.ts +0 -131
  224. package/test/adapter/ember/emberAdapter.test.ts +0 -3449
  225. package/test/adapter/ember/ezsp.test.ts +0 -385
  226. package/test/adapter/ember/ezspBuffalo.test.ts +0 -93
  227. package/test/adapter/ember/ezspError.test.ts +0 -12
  228. package/test/adapter/ember/math.test.ts +0 -206
  229. package/test/adapter/ezsp/frame.test.ts +0 -30
  230. package/test/adapter/ezsp/uart.test.ts +0 -181
  231. package/test/adapter/z-stack/adapter.test.ts +0 -3984
  232. package/test/adapter/z-stack/constants.test.ts +0 -33
  233. package/test/adapter/z-stack/structs.test.ts +0 -115
  234. package/test/adapter/z-stack/unpi.test.ts +0 -213
  235. package/test/adapter/z-stack/znp.test.ts +0 -1284
  236. package/test/adapter/zboss/fixZdoResponse.test.ts +0 -179
  237. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +0 -81
  238. package/test/adapter/zigate/zdo.test.ts +0 -187
  239. package/test/adapter/zoh/utils.test.ts +0 -36
  240. package/test/adapter/zoh/zohAdapter.test.ts +0 -1307
  241. package/test/buffalo.test.ts +0 -431
  242. package/test/controller.bench.ts +0 -193
  243. package/test/controller.test.ts +0 -8702
  244. package/test/greenpower.test.ts +0 -1408
  245. package/test/mockAdapters.ts +0 -65
  246. package/test/mockDevices.ts +0 -598
  247. package/test/requests.bench.ts +0 -206
  248. package/test/testUtils.ts +0 -20
  249. package/test/tsconfig.json +0 -9
  250. package/test/utils/math.ts +0 -19
  251. package/test/utils.test.ts +0 -279
  252. package/test/vitest.config.mts +0 -27
  253. package/test/zcl.test.ts +0 -2831
  254. package/test/zspec/utils.test.ts +0 -68
  255. package/test/zspec/zcl/buffalo.test.ts +0 -1374
  256. package/test/zspec/zcl/frame.test.ts +0 -960
  257. package/test/zspec/zcl/utils.test.ts +0 -273
  258. package/test/zspec/zdo/buffalo.test.ts +0 -1850
  259. package/test/zspec/zdo/utils.test.ts +0 -241
  260. package/tsconfig.json +0 -24
@@ -1,178 +0,0 @@
1
- //-------------------------------------------------------------------------------------------------
2
- // General
3
-
4
- /** Serves to initialize cache for config IDs */
5
- export const INVALID_CONFIG_VALUE = 0xffff;
6
- /** Serves to initialize cache */
7
- export const INVALID_RADIO_CHANNEL = 0xff;
8
- /**
9
- * A distinguished network ID that will never be assigned to any node.
10
- * This value is returned when getting the remote node ID from the binding table and the given binding table index refers
11
- * to a multicast binding entry.
12
- */
13
- export const EMBER_MULTICAST_NODE_ID = 0xfffe;
14
- /**
15
- * A distinguished network ID that will never be assigned
16
- * to any node. This value is used when getting the remote node ID
17
- * from the address or binding tables. It indicates that the address
18
- * or binding table entry is currently in use but the node ID
19
- * corresponding to the EUI64 in the table is currently unknown.
20
- */
21
- export const EMBER_UNKNOWN_NODE_ID = 0xfffd;
22
- /**
23
- * A distinguished network ID that will never be assigned
24
- * to any node. This value is used when getting the remote node ID
25
- * from the address or binding tables. It indicates that the address
26
- * or binding table entry is currently in use and network address
27
- * discovery is underway.
28
- */
29
- export const EMBER_DISCOVERY_ACTIVE_NODE_ID = 0xfffc;
30
- /** A distinguished address table index used to indicate the absence of an address table entry. */
31
- export const EMBER_NULL_ADDRESS_TABLE_INDEX = 0xff;
32
- /** Invalidates cached information */
33
- export const SOURCE_ROUTE_OVERHEAD_UNKNOWN = 0xff;
34
-
35
- //-------------------------------------------------------------------------------------------------
36
- // Network
37
-
38
- // From table 3.51 of 053474r14
39
- // When sending many-to-one route requests, the following
40
- // addresses are used
41
- // 0xFFF9 indicates a non-memory-constrained many-to-one route request
42
- // 0xFFF8 indicates a memory-constrained many-to-one route request
43
- export const EMBER_MIN_BROADCAST_ADDRESS = 0xfff8;
44
-
45
- /**
46
- * The additional overhead required for network source routing (relay count = 1, relay index = 1).
47
- * This does not include the size of the relay list itself.
48
- */
49
- export const NWK_SOURCE_ROUTE_OVERHEAD = 2;
50
- export const SOURCE_ROUTING_RESERVED_PAYLOAD_LENGTH = 0;
51
- /**
52
- * The maximum APS payload, not including any APS options.
53
- * This value is also available from emberMaximumApsPayloadLength() or ezspMaximumPayloadLength().
54
- * See http://portal.ember.com/faq/payload for more information.
55
- */
56
- export const MAXIMUM_APS_PAYLOAD_LENGTH = 82 - SOURCE_ROUTING_RESERVED_PAYLOAD_LENGTH;
57
- // export const MAXIMUM_APS_PAYLOAD_LENGTH_SECURITY_NONE = (100 - SOURCE_ROUTING_RESERVED_PAYLOAD_LENGTH);
58
- /** The additional overhead required for APS encryption (security = 5, MIC = 4). */
59
- export const APS_ENCRYPTION_OVERHEAD = 9;
60
- /** The additional overhead required for APS fragmentation. */
61
- export const APS_FRAGMENTATION_OVERHEAD = 2;
62
-
63
- /** An inactive concentrator. */
64
- export const EMBER_INACTIVE_CONCENTRATOR = 0xffff;
65
- /**
66
- * A concentrator with insufficient memory to store source routes for the entire network.
67
- * Route records are sent to the concentrator prior to every inbound APS unicast.
68
- */
69
- export const EMBER_LOW_RAM_CONCENTRATOR = 0xfff8;
70
- /**
71
- * A concentrator with sufficient memory to store source routes for the entire network.
72
- * Remote nodes stop sending route records once the concentrator has successfully received one.
73
- */
74
- export const EMBER_HIGH_RAM_CONCENTRATOR = 0xfff9;
75
-
76
- //-------------------------------------------------------------------------------------------------
77
- // Security
78
-
79
- /** The short address of the trust center. This address never changes dynamically. */
80
- export const EMBER_TRUST_CENTER_NODE_ID = 0x0000;
81
-
82
- /**
83
- * Default value for context's PSA algorithm permission (CCM* with 4 byte tag).
84
- * Only used by NCPs with secure key storage; define is mirrored here to allow
85
- * host code to initialize the context itself rather than needing a new EZSP frame.
86
- */
87
- export const ZB_PSA_ALG = 0x05440100;
88
-
89
- export const STACK_PROFILE_ZIGBEE_PRO = 0x02;
90
- export const SECURITY_LEVEL_Z3 = 0x05;
91
-
92
- /** This key is "ZigBeeAlliance09" */
93
- export const ZIGBEE_PROFILE_INTEROPERABILITY_LINK_KEY: readonly number[] = [
94
- 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39,
95
- ];
96
-
97
- //-------------------------------------------------------------------------------------------------
98
- // Zigbee Green Power types and defines.
99
-
100
- /** Number of GP sink list entries. Minimum is 2 sink list entries. */
101
- export const GP_SINK_LIST_ENTRIES = 2;
102
- /** The size of the SinkList entries in sink table in format of octet string that has a format of {<1 byte length>, <n bytes for sink groups>} */
103
- export const GP_SIZE_OF_SINK_LIST_ENTRIES_OCTET_STRING = 1 + GP_SINK_LIST_ENTRIES * 4; // sizeof(EmberGpSinkGroup) === uint16_t * 2
104
-
105
- //-------------------------------------------------------------------------------------------------
106
- //-- InterPAN
107
-
108
- // Max PHY size = 128
109
- // -1 byte for PHY length
110
- // -2 bytes for MAC CRC
111
- export const MAXIMUM_INTERPAN_LENGTH = 125;
112
-
113
- // MAC frame control
114
- // Bits:
115
- // | 0-2 | 3 | 4 | 5 | 6 | 7-9 | 10-11 | 12-13 | 14-15 |
116
- // | Frame | Security | Frame | Ack | Intra | Reserved | Dest. | Reserved | Src |
117
- // | Type | Enabled | Pending | Req | PAN | | Addr. | | Adrr. |
118
- // | | | | | | | Mode | | Mode |
119
-
120
- // Frame Type
121
- // 000 = Beacon
122
- // 001 = Data
123
- // 010 = Acknwoledgement
124
- // 011 = MAC Command
125
- // 100 - 111 = Reserved
126
-
127
- // Addressing Mode
128
- // 00 - PAN ID and address field are not present
129
- // 01 - Reserved
130
- // 10 - Address field contains a 16-bit short address
131
- // 11 - Address field contains a 64-bit extended address
132
-
133
- const MAC_FRAME_TYPE_DATA = 0x0001;
134
- // const MAC_FRAME_SOURCE_MODE_SHORT = 0x8000;
135
- const MAC_FRAME_SOURCE_MODE_LONG = 0xc000;
136
- const MAC_FRAME_DESTINATION_MODE_SHORT = 0x0800;
137
- const MAC_FRAME_DESTINATION_MODE_LONG = 0x0c00;
138
-
139
- // The two possible incoming MAC frame controls.
140
- // Using short source address is not allowed.
141
- export const SHORT_DEST_FRAME_CONTROL = MAC_FRAME_TYPE_DATA | MAC_FRAME_DESTINATION_MODE_SHORT | MAC_FRAME_SOURCE_MODE_LONG;
142
- export const LONG_DEST_FRAME_CONTROL = MAC_FRAME_TYPE_DATA | MAC_FRAME_DESTINATION_MODE_LONG | MAC_FRAME_SOURCE_MODE_LONG;
143
-
144
- export const MAC_ACK_REQUIRED = 0x0020;
145
-
146
- /** NWK stub frame has two control bytes. */
147
- export const STUB_NWK_SIZE = 2;
148
- export const STUB_NWK_FRAME_CONTROL = 0x000b;
149
-
150
- /**
151
- * Interpan APS Unicast, same for Broadcast.
152
- * - Frame Control (1-byte)
153
- * - Cluster ID (2-bytes)
154
- * - Profile ID (2-bytes)
155
- */
156
- export const INTERPAN_APS_UNICAST_BROADCAST_SIZE = 5;
157
- /**
158
- * Interpan APS Multicast
159
- * - Frame Control (1-byte)
160
- * - Group ID (2-bytes)
161
- * - Cluster ID (2-bytes)
162
- * - Profile ID (2-bytes)
163
- */
164
- export const INTERPAN_APS_MULTICAST_SIZE = 7;
165
-
166
- export const MAX_STUB_APS_SIZE = INTERPAN_APS_MULTICAST_SIZE;
167
- export const MIN_STUB_APS_SIZE = INTERPAN_APS_UNICAST_BROADCAST_SIZE;
168
-
169
- export const INTERPAN_APS_FRAME_TYPE = 0x03;
170
- export const INTERPAN_APS_FRAME_TYPE_MASK = 0x03;
171
-
172
- /** The only allowed APS FC value (without the delivery mode subfield) */
173
- export const INTERPAN_APS_FRAME_CONTROL_NO_DELIVERY_MODE = INTERPAN_APS_FRAME_TYPE;
174
-
175
- export const INTERPAN_APS_FRAME_DELIVERY_MODE_MASK = 0x0c;
176
- export const INTERPAN_APS_FRAME_SECURITY = 0x20;
177
-
178
- export const MANUFACTURING_STRING_SIZE = 16;