jooby-codec 1.6.0 → 1.8.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 (150) hide show
  1. package/dist/Command.d.ts +1 -0
  2. package/dist/Command.js +3 -2
  3. package/dist/Command.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +190 -32
  5. package/dist/CommandBinaryBuffer.js +301 -2
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
  8. package/dist/commands/downlink/CorrectTime2000.js +2 -8
  9. package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
  10. package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
  11. package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
  12. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
  13. package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
  14. package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
  15. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
  16. package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
  17. package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
  18. package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
  19. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
  20. package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
  21. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  22. package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
  23. package/dist/commands/downlink/GetArchiveEvents.js +58 -0
  24. package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
  25. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
  26. package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
  27. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  28. package/dist/commands/downlink/GetCurrentMC.d.ts +1 -1
  29. package/dist/commands/downlink/GetCurrentMC.js +3 -3
  30. package/dist/commands/downlink/GetCurrentMC.js.map +1 -1
  31. package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
  32. package/dist/commands/downlink/GetLmicVersion.js +41 -0
  33. package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
  34. package/dist/commands/downlink/GetParameter.d.ts +37 -0
  35. package/dist/commands/downlink/GetParameter.js +64 -0
  36. package/dist/commands/downlink/GetParameter.js.map +1 -0
  37. package/dist/commands/downlink/GetStatus.d.ts +26 -0
  38. package/dist/commands/downlink/GetStatus.js +45 -0
  39. package/dist/commands/downlink/GetStatus.js.map +1 -0
  40. package/dist/commands/downlink/SetParameter.d.ts +6 -56
  41. package/dist/commands/downlink/SetParameter.js +45 -105
  42. package/dist/commands/downlink/SetParameter.js.map +1 -1
  43. package/dist/commands/downlink/SetTime2000.d.ts +1 -6
  44. package/dist/commands/downlink/SetTime2000.js +2 -8
  45. package/dist/commands/downlink/SetTime2000.js.map +1 -1
  46. package/dist/commands/downlink/SoftRestart.d.ts +1 -1
  47. package/dist/commands/downlink/SoftRestart.js +3 -3
  48. package/dist/commands/downlink/SoftRestart.js.map +1 -1
  49. package/dist/commands/downlink/index.d.ts +4 -1
  50. package/dist/commands/downlink/index.js +4 -1
  51. package/dist/commands/downlink/index.js.map +1 -1
  52. package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
  53. package/dist/commands/uplink/CorrectTime2000.js +3 -3
  54. package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
  55. package/dist/commands/uplink/DataDayMC.d.ts +3 -5
  56. package/dist/commands/uplink/DataDayMC.js +4 -3
  57. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  58. package/dist/commands/uplink/DataHourMC.d.ts +3 -2
  59. package/dist/commands/uplink/DataHourMC.js +4 -3
  60. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  61. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
  62. package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
  63. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
  64. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
  65. package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
  66. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
  67. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
  68. package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
  69. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
  70. package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
  71. package/dist/commands/uplink/ExAbsDayMC.js +4 -3
  72. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  73. package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
  74. package/dist/commands/uplink/ExAbsHourMC.js +4 -3
  75. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  76. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
  77. package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
  78. package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
  79. package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
  80. package/dist/commands/uplink/GetArchiveEvents.js +105 -0
  81. package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
  82. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
  83. package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
  84. package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
  85. package/dist/commands/uplink/GetCurrentMC.d.ts +1 -1
  86. package/dist/commands/uplink/GetCurrentMC.js +4 -3
  87. package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
  88. package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
  89. package/dist/commands/uplink/GetLmicVersion.js +90 -0
  90. package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
  91. package/dist/commands/uplink/GetParameter.d.ts +30 -0
  92. package/dist/commands/uplink/GetParameter.js +91 -0
  93. package/dist/commands/uplink/GetParameter.js.map +1 -0
  94. package/dist/commands/uplink/GetStatus.d.ts +57 -0
  95. package/dist/commands/uplink/{NewStatus.js → GetStatus.js} +56 -37
  96. package/dist/commands/uplink/GetStatus.js.map +1 -0
  97. package/dist/commands/uplink/LastEvent.d.ts +5 -76
  98. package/dist/commands/uplink/LastEvent.js +67 -115
  99. package/dist/commands/uplink/LastEvent.js.map +1 -1
  100. package/dist/commands/uplink/NewEvent.d.ts +35 -7
  101. package/dist/commands/uplink/NewEvent.js +96 -20
  102. package/dist/commands/uplink/NewEvent.js.map +1 -1
  103. package/dist/commands/uplink/SetTime2000.d.ts +1 -1
  104. package/dist/commands/uplink/SetTime2000.js +3 -3
  105. package/dist/commands/uplink/SetTime2000.js.map +1 -1
  106. package/dist/commands/uplink/SoftRestart.d.ts +1 -1
  107. package/dist/commands/uplink/SoftRestart.js +3 -3
  108. package/dist/commands/uplink/SoftRestart.js.map +1 -1
  109. package/dist/commands/uplink/Time2000.d.ts +5 -5
  110. package/dist/commands/uplink/Time2000.js +6 -7
  111. package/dist/commands/uplink/Time2000.js.map +1 -1
  112. package/dist/commands/uplink/index.d.ts +5 -2
  113. package/dist/commands/uplink/index.js +5 -2
  114. package/dist/commands/uplink/index.js.map +1 -1
  115. package/dist/constants/deviceParameters.d.ts +12 -12
  116. package/dist/constants/deviceParameters.js +12 -12
  117. package/dist/constants/deviceParameters.js.map +1 -1
  118. package/dist/constants/{directionTypes.js → directions.js} +1 -1
  119. package/dist/constants/directions.js.map +1 -0
  120. package/dist/constants/events.d.ts +30 -4
  121. package/dist/constants/events.js +30 -4
  122. package/dist/constants/events.js.map +1 -1
  123. package/dist/constants/hardwareTypes.d.ts +2 -2
  124. package/dist/constants/hardwareTypes.js +2 -2
  125. package/dist/constants/index.d.ts +1 -1
  126. package/dist/constants/index.js +1 -1
  127. package/dist/constants/index.js.map +1 -1
  128. package/dist/utils/message.js +2 -2
  129. package/dist/utils/message.js.map +1 -1
  130. package/dist/utils/time.d.ts +20 -3
  131. package/dist/utils/time.js +2 -2
  132. package/dist/utils/time.js.map +1 -1
  133. package/package.json +2 -1
  134. package/readme.md +33 -16
  135. package/dist/commands/downlink/NewStatus.d.ts +0 -25
  136. package/dist/commands/downlink/NewStatus.js +0 -37
  137. package/dist/commands/downlink/NewStatus.js.map +0 -1
  138. package/dist/commands/uplink/NewStatus.d.ts +0 -56
  139. package/dist/commands/uplink/NewStatus.js.map +0 -1
  140. package/dist/constants/directionTypes.js.map +0 -1
  141. package/dist/constants/general.d.ts +0 -1
  142. package/dist/constants/general.js +0 -2
  143. package/dist/constants/general.js.map +0 -1
  144. package/dist/utils/getBitArrayFromNumber.d.ts +0 -14
  145. package/dist/utils/getBitArrayFromNumber.js +0 -15
  146. package/dist/utils/getBitArrayFromNumber.js.map +0 -1
  147. package/dist/utils/getIntFromBitString.d.ts +0 -6
  148. package/dist/utils/getIntFromBitString.js +0 -6
  149. package/dist/utils/getIntFromBitString.js.map +0 -1
  150. /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
@@ -1,7 +1,6 @@
1
1
  import Command from '../../Command.js';
2
- import { DOWNLINK } from '../../constants/directionTypes.js';
2
+ import { DOWNLINK } from '../../constants/directions.js';
3
3
  const COMMAND_ID = 0x18;
4
- const COMMAND_TITLE = 'GET_CURRENT_MC';
5
4
  const examples = [
6
5
  {
7
6
  name: 'simple request',
@@ -28,6 +27,7 @@ class GetCurrentMC extends Command {
28
27
  static fromBytes() {
29
28
  return new GetCurrentMC();
30
29
  }
30
+ // returns full message - header with body
31
31
  // eslint-disable-next-line class-methods-use-this
32
32
  toBytes() {
33
33
  return Command.toBytes(COMMAND_ID);
@@ -35,7 +35,7 @@ class GetCurrentMC extends Command {
35
35
  }
36
36
  GetCurrentMC.id = COMMAND_ID;
37
37
  GetCurrentMC.directionType = DOWNLINK;
38
- GetCurrentMC.title = COMMAND_TITLE;
39
38
  GetCurrentMC.examples = examples;
39
+ GetCurrentMC.hasParameters = false;
40
40
  export default GetCurrentMC;
41
41
  //# sourceMappingURL=GetCurrentMC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetCurrentMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAC;KACnC;CACJ,CAAC;AAGF;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAa,SAAQ,OAAO;IAS9B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAhBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,kBAAK,GAAG,aAAa,CAAC;AAEtB,qBAAQ,GAAG,QAAQ,CAAC;AAcxC,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetCurrentMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAC;KACnC;CACJ,CAAC;AAGF;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAa,SAAQ,OAAO;IAU9B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAlBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ /**
3
+ * Downlink command.
4
+ *
5
+ * @example
6
+ * ```js
7
+ * import GetLmicVersion from 'jooby-codec/commands/downlink/GetLMICVersion';
8
+ *
9
+ * const command = new GetLmicVersion();
10
+ *
11
+ * // output command binary in hex representation
12
+ * console.log(command.toHex());
13
+ * // 1f 02 00
14
+ * ```
15
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetLmicVersion.md#request)
16
+ */
17
+ declare class GetLmicVersion extends Command {
18
+ static readonly id = 543;
19
+ static readonly directionType = 1;
20
+ static readonly examples: TCommandExampleList;
21
+ static readonly hasParameters = false;
22
+ static fromBytes(): GetLmicVersion;
23
+ toBytes(): Uint8Array;
24
+ }
25
+ export default GetLmicVersion;
@@ -0,0 +1,41 @@
1
+ import Command from '../../Command.js';
2
+ import { DOWNLINK } from '../../constants/directions.js';
3
+ const COMMAND_ID = 0x021f;
4
+ const examples = [
5
+ {
6
+ name: 'simple request',
7
+ hex: { header: '1f 02 00', body: '' }
8
+ }
9
+ ];
10
+ /**
11
+ * Downlink command.
12
+ *
13
+ * @example
14
+ * ```js
15
+ * import GetLmicVersion from 'jooby-codec/commands/downlink/GetLMICVersion';
16
+ *
17
+ * const command = new GetLmicVersion();
18
+ *
19
+ * // output command binary in hex representation
20
+ * console.log(command.toHex());
21
+ * // 1f 02 00
22
+ * ```
23
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetLmicVersion.md#request)
24
+ */
25
+ class GetLmicVersion extends Command {
26
+ // data - only body (without header)
27
+ static fromBytes() {
28
+ return new GetLmicVersion();
29
+ }
30
+ // returns full message - header with body
31
+ // eslint-disable-next-line class-methods-use-this
32
+ toBytes() {
33
+ return Command.toBytes(COMMAND_ID);
34
+ }
35
+ }
36
+ GetLmicVersion.id = COMMAND_ID;
37
+ GetLmicVersion.directionType = DOWNLINK;
38
+ GetLmicVersion.examples = examples;
39
+ GetLmicVersion.hasParameters = false;
40
+ export default GetLmicVersion;
41
+ //# sourceMappingURL=GetLmicVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetLmicVersion.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetLmicVersion.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAC;KACtC;CACJ,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAe,SAAQ,OAAO;IAUhC,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAlBe,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAQ,GAAG,QAAQ,CAAC;AAEpB,4BAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,cAAc,CAAC"}
@@ -0,0 +1,37 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ /**
3
+ * GetParameter command parameters
4
+ */
5
+ interface IDownlinkGetParameterParameters {
6
+ /**
7
+ * Parameter id - one of `constants/deviceParameters`.
8
+ */
9
+ id: number;
10
+ }
11
+ /**
12
+ * Downlink command.
13
+ *
14
+ * @example
15
+ * ```js
16
+ * import {constants} from 'jooby-codec';
17
+ * import GetParameter from 'jooby-codec/commands/downlink/GetParameter';
18
+ *
19
+ * const command = new GetParameter({id: constants.deviceParameters.INITIAL_DATA});
20
+ *
21
+ * // output command binary in hex representation
22
+ * console.log(command.toHex());
23
+ * // 04 01 17
24
+ * ```
25
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetParameter.md#request)
26
+ */
27
+ declare class GetParameter extends Command {
28
+ parameters: IDownlinkGetParameterParameters;
29
+ constructor(parameters: IDownlinkGetParameterParameters);
30
+ static readonly id = 4;
31
+ static readonly directionType = 1;
32
+ static readonly examples: TCommandExampleList;
33
+ static readonly hasParameters = true;
34
+ static fromBytes(data: Uint8Array): GetParameter;
35
+ toBytes(): Uint8Array;
36
+ }
37
+ export default GetParameter;
@@ -0,0 +1,64 @@
1
+ import Command from '../../Command.js';
2
+ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
4
+ import * as deviceParameters from '../../constants/deviceParameters.js';
5
+ const COMMAND_ID = 0x04;
6
+ const COMMAND_BODY_SIZE = 1;
7
+ const examples = [
8
+ {
9
+ name: 'request initial data from device',
10
+ parameters: { id: deviceParameters.INITIAL_DATA },
11
+ hex: {
12
+ header: '04 01',
13
+ body: '17'
14
+ }
15
+ },
16
+ {
17
+ name: 'request for data type sending from device',
18
+ parameters: { id: deviceParameters.ABSOLUTE_DATA_STATUS },
19
+ hex: {
20
+ header: '04 01',
21
+ body: '18'
22
+ }
23
+ }
24
+ ];
25
+ /**
26
+ * Downlink command.
27
+ *
28
+ * @example
29
+ * ```js
30
+ * import {constants} from 'jooby-codec';
31
+ * import GetParameter from 'jooby-codec/commands/downlink/GetParameter';
32
+ *
33
+ * const command = new GetParameter({id: constants.deviceParameters.INITIAL_DATA});
34
+ *
35
+ * // output command binary in hex representation
36
+ * console.log(command.toHex());
37
+ * // 04 01 17
38
+ * ```
39
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetParameter.md#request)
40
+ */
41
+ class GetParameter extends Command {
42
+ constructor(parameters) {
43
+ super();
44
+ this.parameters = parameters;
45
+ }
46
+ // data - only body (without header)
47
+ static fromBytes(data) {
48
+ const buffer = new CommandBinaryBuffer(data);
49
+ return new GetParameter({ id: buffer.getUint8() });
50
+ }
51
+ // returns full message - header with body
52
+ // eslint-disable-next-line class-methods-use-this
53
+ toBytes() {
54
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
55
+ buffer.setUint8(this.parameters.id);
56
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
57
+ }
58
+ }
59
+ GetParameter.id = COMMAND_ID;
60
+ GetParameter.directionType = DOWNLINK;
61
+ GetParameter.examples = examples;
62
+ GetParameter.hasParameters = true;
63
+ export default GetParameter;
64
+ //# sourceMappingURL=GetParameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetParameter.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAcxE,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,YAAY,EAAC;QAC/C,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI;SACb;KACJ;IACD;QACI,IAAI,EAAE,2CAA2C;QACjD,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,EAAC;QACvD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI;SACb;KACJ;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAA2C;QAC5D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAiC;IAEhE,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,YAAY,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,IAAI,CAAC;AAsBzC,eAAe,YAAY,CAAC"}
@@ -0,0 +1,26 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ /**
3
+ * Downlink command.
4
+ *
5
+ * @example
6
+ * ```js
7
+ * import GetStatus from 'jooby-codec/commands/downlink/GetStatus';
8
+ *
9
+ * const command = new GetStatus();
10
+ *
11
+ * // output command binary in hex representation
12
+ * console.log(command.toHex());
13
+ * // 14 00
14
+ * ```
15
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetStatus.md#request)
16
+ */
17
+ declare class GetStatus extends Command {
18
+ constructor();
19
+ static readonly id = 20;
20
+ static readonly directionType = 1;
21
+ static readonly examples: TCommandExampleList;
22
+ static readonly hasParameters = false;
23
+ static fromBytes(): GetStatus;
24
+ toBytes(): Uint8Array;
25
+ }
26
+ export default GetStatus;
@@ -0,0 +1,45 @@
1
+ import Command from '../../Command.js';
2
+ import { DOWNLINK } from '../../constants/directions.js';
3
+ const COMMAND_ID = 0x14;
4
+ const examples = [
5
+ {
6
+ name: 'simple request',
7
+ parameters: undefined,
8
+ hex: { header: '14 00', body: '' }
9
+ }
10
+ ];
11
+ /**
12
+ * Downlink command.
13
+ *
14
+ * @example
15
+ * ```js
16
+ * import GetStatus from 'jooby-codec/commands/downlink/GetStatus';
17
+ *
18
+ * const command = new GetStatus();
19
+ *
20
+ * // output command binary in hex representation
21
+ * console.log(command.toHex());
22
+ * // 14 00
23
+ * ```
24
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetStatus.md#request)
25
+ */
26
+ class GetStatus extends Command {
27
+ constructor() {
28
+ super();
29
+ }
30
+ // data - only body (without header)
31
+ static fromBytes() {
32
+ return new GetStatus();
33
+ }
34
+ // returns full message - header with body
35
+ // eslint-disable-next-line class-methods-use-this
36
+ toBytes() {
37
+ return Command.toBytes(COMMAND_ID);
38
+ }
39
+ }
40
+ GetStatus.id = COMMAND_ID;
41
+ GetStatus.directionType = DOWNLINK;
42
+ GetStatus.examples = examples;
43
+ GetStatus.hasParameters = false;
44
+ export default GetStatus;
45
+ //# sourceMappingURL=GetStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetStatus.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetStatus.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,SAAS;QACrB,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAC;KACnC;CACJ,CAAC;AAGF;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAU,SAAQ,OAAO;IAC3B;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAlBe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,QAAQ,CAAC;AAEzB,kBAAQ,GAAG,QAAQ,CAAC;AAEpB,uBAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,SAAS,CAAC"}
@@ -1,56 +1,5 @@
1
- /**
2
- * [[include:commands/downlink/SetParameter.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
- import Command from '../../Command.js';
7
- /**
8
- * Initial values for pulse devices.
9
- */
10
- interface IParameterInitialData {
11
- /**
12
- * 4 byte int BE
13
- */
14
- value: number;
15
- /**
16
- * 4 byte int BE
17
- */
18
- meterValue: number;
19
- pulseCoefficient: number;
20
- }
21
- interface IParameterInitialDataMC extends IParameterInitialData {
22
- /**
23
- * Channel that accept initial values.
24
- */
25
- channel: number;
26
- }
27
- interface IParameterAbsoluteDataStatus {
28
- status: number;
29
- }
30
- interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
31
- /**
32
- * Channel that accept status changing.
33
- */
34
- channel: number;
35
- }
36
- type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
37
- /**
38
- * SetParameter command parameters
39
- *
40
- * @example
41
- * import {constants} from 'jooby-codec';
42
- * {id: constants.deviceParameters.INITIAL_DATA, data: {value: 2023, meterValue: 204, pulseCoefficient: 100}}
43
- */
44
- interface ISetParameterParameters {
45
- /**
46
- * Parameter id - one of `constants/deviceParameters`.
47
- */
48
- id: number;
49
- /**
50
- * Parameter data, different - depending on id.
51
- */
52
- data: TParameter;
53
- }
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ import { IParameter } from '../../CommandBinaryBuffer.js';
54
3
  /**
55
4
  * Downlink command.
56
5
  *
@@ -68,11 +17,12 @@ interface ISetParameterParameters {
68
17
  * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/downlink/SetParameter.md)
69
18
  */
70
19
  declare class SetParameter extends Command {
71
- parameters: ISetParameterParameters;
72
- constructor(parameters: ISetParameterParameters);
20
+ parameters: IParameter;
21
+ constructor(parameters: IParameter);
73
22
  static readonly id = 3;
74
23
  static readonly directionType = 1;
75
- static readonly title = "SET_PARAMETER";
24
+ static readonly examples: TCommandExampleList;
25
+ static readonly hasParameters = true;
76
26
  static fromBytes(data: Uint8Array): SetParameter;
77
27
  toBytes(): Uint8Array;
78
28
  }
@@ -1,52 +1,51 @@
1
- /**
2
- * [[include:commands/downlink/SetParameter.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
8
- import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
9
4
  import * as deviceParameters from '../../constants/deviceParameters.js';
10
5
  const COMMAND_ID = 0x03;
11
- const COMMAND_TITLE = 'SET_PARAMETER';
12
- // max size for current implementation
13
- const COMMAND_MAX_BODY_SIZE = 11;
14
- const byteToPulseCoefficientMap = new Map([
15
- [0x80, 1000],
16
- [0x81, 5000],
17
- [0x82, 100],
18
- [0x83, 10],
19
- [0x84, 1],
20
- [0x85, 0.1],
21
- [0x86, 0.01]
22
- ]);
23
- const pulseCoefficientToByteMap = new Map([...byteToPulseCoefficientMap.entries()].map(([key, value]) => [value, key]));
24
- const isMSBSet = (value) => !!(value & 0x80);
25
- const getPulseCoefficient = (buffer) => {
26
- const pulseCoefficient = buffer.getUint8();
27
- if (isMSBSet(pulseCoefficient)) {
28
- const value = byteToPulseCoefficientMap.get(pulseCoefficient);
29
- if (value) {
30
- return value;
6
+ const examples = [
7
+ {
8
+ name: 'initial data setup',
9
+ parameters: {
10
+ id: deviceParameters.INITIAL_DATA,
11
+ data: { value: 2023, meterValue: 204, pulseCoefficient: 100 }
12
+ },
13
+ hex: {
14
+ header: '03 0a',
15
+ body: '17 00 00 00 cc 82 00 00 07 e7'
31
16
  }
32
- throw new Error('pulseCoefficient MSB is set, but value unknown');
33
- }
34
- return pulseCoefficient;
35
- };
36
- const setPulseCoefficient = (buffer, value) => {
37
- if (pulseCoefficientToByteMap.has(value)) {
38
- const byte = pulseCoefficientToByteMap.get(value);
39
- if (byte) {
40
- buffer.setUint8(byte);
17
+ },
18
+ {
19
+ name: 'enable sending absolute data',
20
+ parameters: { id: deviceParameters.ABSOLUTE_DATA_STATUS, data: { status: 1 } },
21
+ hex: {
22
+ header: '03 02',
23
+ body: '18 01'
41
24
  }
42
- else {
43
- throw new Error('pulseCoefficient MSB is set, but value unknown');
25
+ },
26
+ {
27
+ name: 'initial data setup for 1 channel',
28
+ parameters: {
29
+ id: deviceParameters.INITIAL_DATA_MULTI_CHANNEL,
30
+ data: { value: 2032, meterValue: 402, pulseCoefficient: 1000, channel: 1 }
31
+ },
32
+ hex: {
33
+ header: '03 0b',
34
+ body: '1d 01 00 00 01 92 80 00 00 07 f0'
35
+ }
36
+ },
37
+ {
38
+ name: 'disable sending absolute data from 2 channel',
39
+ parameters: {
40
+ id: deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL,
41
+ data: { status: 0, channel: 2 }
42
+ },
43
+ hex: {
44
+ header: '03 03',
45
+ body: '1e 02 00'
44
46
  }
45
47
  }
46
- else {
47
- buffer.setUint8(value);
48
- }
49
- };
48
+ ];
50
49
  /**
51
50
  * Downlink command.
52
51
  *
@@ -71,77 +70,18 @@ class SetParameter extends Command {
71
70
  // data - only body (without header)
72
71
  static fromBytes(data) {
73
72
  const buffer = new CommandBinaryBuffer(data);
74
- const id = buffer.getUint8();
75
- let parameterData;
76
- switch (id) {
77
- case deviceParameters.INITIAL_DATA:
78
- parameterData = {
79
- meterValue: buffer.getUint32(false),
80
- pulseCoefficient: getPulseCoefficient(buffer),
81
- value: buffer.getUint32(false)
82
- };
83
- break;
84
- case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
85
- parameterData = {
86
- channel: buffer.getUint8(),
87
- meterValue: buffer.getUint32(false),
88
- pulseCoefficient: getPulseCoefficient(buffer),
89
- value: buffer.getUint32(false)
90
- };
91
- break;
92
- case deviceParameters.ABSOLUTE_DATA_STATUS:
93
- parameterData = {
94
- status: buffer.getUint8()
95
- };
96
- break;
97
- case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
98
- parameterData = {
99
- channel: buffer.getUint8(),
100
- status: buffer.getUint8()
101
- };
102
- break;
103
- default:
104
- throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
105
- }
106
- return new SetParameter({ id, data: parameterData });
73
+ return new SetParameter(buffer.getParameter());
107
74
  }
108
75
  // returns full message - header with body
109
76
  toBytes() {
110
- const { id, data } = this.parameters;
111
- const buffer = new CommandBinaryBuffer(COMMAND_MAX_BODY_SIZE);
112
- let parameterData;
113
- buffer.setUint8(id);
114
- switch (id) {
115
- case deviceParameters.INITIAL_DATA:
116
- parameterData = data;
117
- buffer.setUint32(parameterData.meterValue, false);
118
- setPulseCoefficient(buffer, parameterData.pulseCoefficient);
119
- buffer.setUint32(parameterData.value, false);
120
- break;
121
- case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
122
- parameterData = data;
123
- buffer.setUint8(parameterData.channel);
124
- buffer.setUint32(parameterData.meterValue, false);
125
- setPulseCoefficient(buffer, parameterData.pulseCoefficient);
126
- buffer.setUint32(parameterData.value, false);
127
- break;
128
- case deviceParameters.ABSOLUTE_DATA_STATUS:
129
- parameterData = data;
130
- buffer.setUint8(parameterData.status);
131
- break;
132
- case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
133
- parameterData = data;
134
- buffer.setUint8(parameterData.channel);
135
- buffer.setUint8(parameterData.status);
136
- break;
137
- default:
138
- throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
139
- }
77
+ const buffer = new CommandBinaryBuffer(CommandBinaryBuffer.getParameterSize(this.parameters));
78
+ buffer.setParameter(this.parameters);
140
79
  return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
141
80
  }
142
81
  }
143
82
  SetParameter.id = COMMAND_ID;
144
83
  SetParameter.directionType = DOWNLINK;
145
- SetParameter.title = COMMAND_TITLE;
84
+ SetParameter.examples = examples;
85
+ SetParameter.hasParameters = true;
146
86
  export default SetParameter;
147
87
  //# sourceMappingURL=SetParameter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAiC,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAGxE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,YAAY;YACjC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAC;SAC9D;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,+BAA+B;SACxC;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,EAAC;QAC1E,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO;SAChB;KACJ;IACD;QACI,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,0BAA0B;YAC/C,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;SAC3E;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kCAAkC;SAC3C;KACJ;IACD;QACI,IAAI,EAAE,8CAA8C;QACpD,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,kCAAkC;YACvD,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;SAChC;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,UAAU;SACnB;KACJ;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAAsB;QACvC,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAY;IAE3C,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAvBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,YAAY,CAAC"}
@@ -1,8 +1,3 @@
1
- /**
2
- * [[include:commands/downlink/SetTime2000.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  /**
8
3
  * SetTime2000 command parameters
@@ -38,7 +33,7 @@ declare class SetTime2000 extends Command {
38
33
  constructor(parameters: IDownlinkSetTime2000Parameters);
39
34
  static readonly id = 2;
40
35
  static readonly directionType = 1;
41
- static readonly title = "SET_TIME_2000";
36
+ static readonly hasParameters = true;
42
37
  static fromBytes(data: Uint8Array): SetTime2000;
43
38
  toBytes(): Uint8Array;
44
39
  }
@@ -1,13 +1,7 @@
1
- /**
2
- * [[include:commands/downlink/SetTime2000.md]]
3
- *
4
- * @packageDocumentation
5
- */
6
1
  import Command from '../../Command.js';
7
2
  import BinaryBuffer from '../../BinaryBuffer.js';
8
- import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ import { DOWNLINK } from '../../constants/directions.js';
9
4
  const COMMAND_ID = 0x02;
10
- const COMMAND_TITLE = 'SET_TIME_2000';
11
5
  const COMMAND_BODY_SIZE = 5;
12
6
  /**
13
7
  * Downlink command.
@@ -56,6 +50,6 @@ class SetTime2000 extends Command {
56
50
  }
57
51
  SetTime2000.id = COMMAND_ID;
58
52
  SetTime2000.directionType = DOWNLINK;
59
- SetTime2000.title = COMMAND_TITLE;
53
+ SetTime2000.hasParameters = true;
60
54
  export default SetTime2000;
61
55
  //# sourceMappingURL=SetTime2000.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAkB3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAA0C;QAC3D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgC;IAE/D,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC7B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAkBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAA0C;QAC3D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgC;IAE/D,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC7B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAnCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAa,GAAG,IAAI,CAAC;AAmCzC,eAAe,WAAW,CAAC"}
@@ -17,7 +17,7 @@ import Command from '../../Command.js';
17
17
  declare class SoftRestart extends Command {
18
18
  static readonly id = 25;
19
19
  static readonly directionType = 1;
20
- static readonly title = "SOFT_RESTART";
20
+ static readonly hasParameters = false;
21
21
  static fromBytes(): SoftRestart;
22
22
  toBytes(): Uint8Array;
23
23
  }
@@ -1,7 +1,6 @@
1
1
  import Command from '../../Command.js';
2
- import { DOWNLINK } from '../../constants/directionTypes.js';
2
+ import { DOWNLINK } from '../../constants/directions.js';
3
3
  const COMMAND_ID = 0x19;
4
- const COMMAND_TITLE = 'SOFT_RESTART';
5
4
  /**
6
5
  * Downlink command.
7
6
  *
@@ -22,6 +21,7 @@ class SoftRestart extends Command {
22
21
  static fromBytes() {
23
22
  return new SoftRestart();
24
23
  }
24
+ // returns full message - header with body
25
25
  // eslint-disable-next-line class-methods-use-this
26
26
  toBytes() {
27
27
  return Command.toBytes(COMMAND_ID);
@@ -29,6 +29,6 @@ class SoftRestart extends Command {
29
29
  }
30
30
  SoftRestart.id = COMMAND_ID;
31
31
  SoftRestart.directionType = DOWNLINK;
32
- SoftRestart.title = COMMAND_TITLE;
32
+ SoftRestart.hasParameters = false;
33
33
  export default SoftRestart;
34
34
  //# sourceMappingURL=SoftRestart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoftRestart.js","sourceRoot":"","sources":["../../../src/commands/downlink/SoftRestart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAGrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAY,SAAQ,OAAO;IAO7B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SoftRestart.js","sourceRoot":"","sources":["../../../src/commands/downlink/SoftRestart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAY,SAAQ,OAAO;IAQ7B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAhBe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,WAAW,CAAC"}