jooby-codec 1.0.1 → 1.2.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 (85) hide show
  1. package/dist/Command.d.ts +3 -3
  2. package/dist/Command.js +14 -10
  3. package/dist/Command.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +59 -0
  5. package/dist/CommandBinaryBuffer.js +83 -2
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/UnknownCommand.d.ts +20 -0
  8. package/dist/UnknownCommand.js +22 -0
  9. package/dist/UnknownCommand.js.map +1 -0
  10. package/dist/commands/downlink/CorrectTime2000.d.ts +2 -2
  11. package/dist/commands/downlink/CorrectTime2000.js +2 -1
  12. package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
  13. package/dist/commands/downlink/GetArchiveHoursMul.d.ts +47 -0
  14. package/dist/commands/downlink/GetArchiveHoursMul.js +66 -0
  15. package/dist/commands/downlink/GetArchiveHoursMul.js.map +1 -0
  16. package/dist/commands/downlink/NewStatus.d.ts +25 -0
  17. package/dist/commands/downlink/NewStatus.js +37 -0
  18. package/dist/commands/downlink/NewStatus.js.map +1 -0
  19. package/dist/commands/downlink/SetTime2000.d.ts +2 -2
  20. package/dist/commands/downlink/SetTime2000.js +2 -1
  21. package/dist/commands/downlink/SetTime2000.js.map +1 -1
  22. package/dist/commands/downlink/SoftRestart.d.ts +24 -0
  23. package/dist/commands/downlink/SoftRestart.js +34 -0
  24. package/dist/commands/downlink/SoftRestart.js.map +1 -0
  25. package/dist/commands/downlink/index.d.ts +3 -0
  26. package/dist/commands/downlink/index.js +3 -0
  27. package/dist/commands/downlink/index.js.map +1 -1
  28. package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
  29. package/dist/commands/uplink/CorrectTime2000.js +2 -1
  30. package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
  31. package/dist/commands/uplink/DataDayMul.d.ts +1 -1
  32. package/dist/commands/uplink/DataDayMul.js +3 -2
  33. package/dist/commands/uplink/DataDayMul.js.map +1 -1
  34. package/dist/commands/uplink/DataHourMul.d.ts +1 -1
  35. package/dist/commands/uplink/DataHourMul.js +5 -5
  36. package/dist/commands/uplink/DataHourMul.js.map +1 -1
  37. package/dist/commands/uplink/ExAbsDayMul.d.ts +1 -1
  38. package/dist/commands/uplink/ExAbsDayMul.js +3 -3
  39. package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
  40. package/dist/commands/uplink/ExAbsHourMul.d.ts +1 -1
  41. package/dist/commands/uplink/ExAbsHourMul.js +3 -3
  42. package/dist/commands/uplink/ExAbsHourMul.js.map +1 -1
  43. package/dist/commands/uplink/GetArchiveHoursMul.d.ts +28 -0
  44. package/dist/commands/uplink/GetArchiveHoursMul.js +51 -0
  45. package/dist/commands/uplink/GetArchiveHoursMul.js.map +1 -0
  46. package/dist/commands/uplink/GetCurrentMul.d.ts +1 -1
  47. package/dist/commands/uplink/GetCurrentMul.js +3 -2
  48. package/dist/commands/uplink/GetCurrentMul.js.map +1 -1
  49. package/dist/commands/uplink/LastEvent.d.ts +116 -0
  50. package/dist/commands/uplink/LastEvent.js +164 -0
  51. package/dist/commands/uplink/LastEvent.js.map +1 -0
  52. package/dist/commands/uplink/NewEvent.d.ts +30 -1
  53. package/dist/commands/uplink/NewEvent.js +50 -14
  54. package/dist/commands/uplink/NewEvent.js.map +1 -1
  55. package/dist/commands/uplink/NewStatus.d.ts +56 -0
  56. package/dist/commands/uplink/NewStatus.js +140 -0
  57. package/dist/commands/uplink/NewStatus.js.map +1 -0
  58. package/dist/commands/uplink/SetTime2000.d.ts +1 -1
  59. package/dist/commands/uplink/SetTime2000.js +2 -1
  60. package/dist/commands/uplink/SetTime2000.js.map +1 -1
  61. package/dist/commands/uplink/SoftRestart.d.ts +24 -0
  62. package/dist/commands/uplink/SoftRestart.js +34 -0
  63. package/dist/commands/uplink/SoftRestart.js.map +1 -0
  64. package/dist/commands/uplink/Time2000.d.ts +2 -2
  65. package/dist/commands/uplink/Time2000.js +7 -6
  66. package/dist/commands/uplink/Time2000.js.map +1 -1
  67. package/dist/commands/uplink/index.d.ts +5 -0
  68. package/dist/commands/uplink/index.js +5 -0
  69. package/dist/commands/uplink/index.js.map +1 -1
  70. package/dist/constants/directionTypes.d.ts +3 -0
  71. package/dist/constants/directionTypes.js +4 -0
  72. package/dist/constants/directionTypes.js.map +1 -0
  73. package/dist/constants/hardwareTypes.d.ts +70 -0
  74. package/dist/constants/hardwareTypes.js +71 -0
  75. package/dist/constants/hardwareTypes.js.map +1 -0
  76. package/dist/constants/index.d.ts +2 -0
  77. package/dist/constants/index.js +2 -0
  78. package/dist/constants/index.js.map +1 -1
  79. package/dist/utils/bitSet.d.ts +40 -0
  80. package/dist/utils/bitSet.js +54 -0
  81. package/dist/utils/bitSet.js.map +1 -0
  82. package/dist/utils/message.d.ts +2 -5
  83. package/dist/utils/message.js +30 -30
  84. package/dist/utils/message.js.map +1 -1
  85. package/package.json +36 -76
@@ -0,0 +1,34 @@
1
+ import Command from '../../Command.js';
2
+ import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ const COMMAND_ID = 0x19;
4
+ const COMMAND_TITLE = 'SOFT_RESTART';
5
+ /**
6
+ * Downlink command.
7
+ *
8
+ * @example
9
+ * ```js
10
+ * import SoftRestart from 'jooby-codec/commands/downlink/SoftRestart';
11
+ *
12
+ * const command = new SoftRestart();
13
+ *
14
+ * // output command binary in hex representation
15
+ * console.log(command.toHex());
16
+ * // 19 00
17
+ * ```
18
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/SoftRestart.md#request)
19
+ */
20
+ class SoftRestart extends Command {
21
+ // data - only body (without header)
22
+ static fromBytes() {
23
+ return new SoftRestart();
24
+ }
25
+ // eslint-disable-next-line class-methods-use-this
26
+ toBytes() {
27
+ return Command.toBytes(COMMAND_ID);
28
+ }
29
+ }
30
+ SoftRestart.id = COMMAND_ID;
31
+ SoftRestart.directionType = DOWNLINK;
32
+ SoftRestart.title = COMMAND_TITLE;
33
+ export default SoftRestart;
34
+ //# sourceMappingURL=SoftRestart.js.map
@@ -0,0 +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"}
@@ -4,4 +4,7 @@
4
4
  * @packageDocumentation
5
5
  */
6
6
  export { default as CorrectTime2000 } from './CorrectTime2000.js';
7
+ export { default as GetArchiveHoursMul } from './GetArchiveHoursMul.js';
8
+ export { default as NewStatus } from './NewStatus.js';
7
9
  export { default as SetTime2000 } from './SetTime2000.js';
10
+ export { default as SoftRestart } from './SoftRestart.js';
@@ -4,5 +4,8 @@
4
4
  * @packageDocumentation
5
5
  */
6
6
  export { default as CorrectTime2000 } from './CorrectTime2000.js';
7
+ export { default as GetArchiveHoursMul } from './GetArchiveHoursMul.js';
8
+ export { default as NewStatus } from './NewStatus.js';
7
9
  export { default as SetTime2000 } from './SetTime2000.js';
10
+ export { default as SoftRestart } from './SoftRestart.js';
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
@@ -29,7 +29,7 @@ declare class CorrectTime2000 extends Command {
29
29
  parameters: IUplinkCorrectTime2000Parameters;
30
30
  constructor(parameters: IUplinkCorrectTime2000Parameters);
31
31
  static readonly id = 12;
32
- static readonly isUplink = true;
32
+ static readonly directionType = 2;
33
33
  static readonly title = "CORRECT_TIME_2000";
34
34
  static fromBytes(data: Uint8Array): CorrectTime2000;
35
35
  toBytes(): Uint8Array;
@@ -1,5 +1,6 @@
1
1
  import Command from '../../Command.js';
2
2
  import BinaryBuffer from '../../BinaryBuffer.js';
3
+ import { UPLINK } from '../../constants/directionTypes.js';
3
4
  const COMMAND_ID = 0x0c;
4
5
  const COMMAND_TITLE = 'CORRECT_TIME_2000';
5
6
  const COMMAND_BODY_SIZE = 1;
@@ -47,7 +48,7 @@ class CorrectTime2000 extends Command {
47
48
  }
48
49
  }
49
50
  CorrectTime2000.id = COMMAND_ID;
50
- CorrectTime2000.isUplink = true;
51
+ CorrectTime2000.directionType = UPLINK;
51
52
  CorrectTime2000.title = COMMAND_TITLE;
52
53
  export default CorrectTime2000;
53
54
  //# sourceMappingURL=CorrectTime2000.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAGjD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAc5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA4C;QAC7D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAkC;IAEjE,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;QAE7C,MAAM,UAAU,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC5B,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,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAhCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,wBAAQ,GAAG,IAAI,CAAC;AAEhB,qBAAK,GAAG,aAAa,CAAC;AAgC1C,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA4C;QAC7D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAkC;IAEjE,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;QAE7C,MAAM,UAAU,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC5B,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,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAhCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,MAAM,CAAC;AAEvB,qBAAK,GAAG,aAAa,CAAC;AAgC1C,eAAe,eAAe,CAAC"}
@@ -12,7 +12,7 @@ declare class DataDayMul extends GetCurrentMul {
12
12
  parameters: IDataDayMulParameters;
13
13
  constructor(parameters: IDataDayMulParameters);
14
14
  static readonly id = 22;
15
- static readonly isUplink = true;
15
+ static readonly directionType = 2;
16
16
  static readonly title = "DATA_DAY_MUL";
17
17
  static fromBytes(data: Uint8Array): DataDayMul;
18
18
  toBytes(): Uint8Array;
@@ -3,6 +3,7 @@ import Command from '../../Command.js';
3
3
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
4
4
  import { getSecondsFromDate } from '../../utils/time.js';
5
5
  import GetCurrentMul from './GetCurrentMul.js';
6
+ import { UPLINK } from '../../constants/directionTypes.js';
6
7
  const COMMAND_ID = 0x16;
7
8
  const COMMAND_TITLE = 'DATA_DAY_MUL';
8
9
  // 2 byte for date + 2 for channels (max channels: 7)
@@ -26,7 +27,7 @@ class DataDayMul extends GetCurrentMul {
26
27
  return new DataDayMul(parameters);
27
28
  }
28
29
  toBytes() {
29
- const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE, false);
30
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
30
31
  const { channels, time } = this.parameters;
31
32
  buffer.setDate(time);
32
33
  buffer.setChannels(channels.map(({ index }) => index));
@@ -35,7 +36,7 @@ class DataDayMul extends GetCurrentMul {
35
36
  }
36
37
  }
37
38
  DataDayMul.id = COMMAND_ID;
38
- DataDayMul.isUplink = true;
39
+ DataDayMul.directionType = UPLINK;
39
40
  DataDayMul.title = COMMAND_TITLE;
40
41
  export default DataDayMul;
41
42
  //# sourceMappingURL=DataDayMul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,aAAyC,MAAM,oBAAoB,CAAC;AAE3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAcjC,MAAM,UAAW,SAAQ,aAAa;IAClC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA0B,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,aAAE,GAAG,UAAU,CAAC;AAEhB,mBAAQ,GAAG,IAAI,CAAC;AAEhB,gBAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,aAAyC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,UAAW,SAAQ,aAAa;IAClC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA0B,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,aAAE,GAAG,UAAU,CAAC;AAEhB,wBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,UAAU,CAAC"}
@@ -3,7 +3,7 @@ declare class DataHourMul extends GetCurrentMul {
3
3
  parameters: any;
4
4
  constructor(parameters: any);
5
5
  static readonly id = 23;
6
- static readonly isUplink = true;
6
+ static readonly directionType = 2;
7
7
  static readonly title = "DATA_HOUR_MUL";
8
8
  static fromBytes(data: Uint8Array): any;
9
9
  toBytes(): Uint8Array;
@@ -1,18 +1,18 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
3
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
4
- /* eslint-disable no-restricted-syntax */
5
4
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
6
5
  import Command from '../../Command.js';
7
6
  import GetCurrentMul from './GetCurrentMul.js';
8
7
  import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
9
8
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
9
+ import { UPLINK } from '../../constants/directionTypes.js';
10
10
  const COMMAND_ID = 0x17;
11
11
  const COMMAND_TITLE = 'DATA_HOUR_MUL';
12
12
  // date 2 bytes, hour 1 byte, channels - 1 byte, so max channels = 4
13
13
  // max hours diff - 7 (3 bit value)
14
- // 4 + (4 channels * 3 bytes of hour values) + (4 * 2 bytes of diff * 7 max hours diff)
15
- const COMMAND_BODY_MAX_SIZE = 72;
14
+ // 4 + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
15
+ const COMMAND_BODY_MAX_SIZE = 164;
16
16
  class DataHourMul extends GetCurrentMul {
17
17
  constructor(parameters) {
18
18
  super(parameters);
@@ -49,7 +49,7 @@ class DataHourMul extends GetCurrentMul {
49
49
  return new DataHourMul({ channels });
50
50
  }
51
51
  toBytes() {
52
- const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE, false);
52
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
53
53
  const { channels } = this.parameters;
54
54
  const { time } = channels[0];
55
55
  const realDate = getDateFromSeconds(time);
@@ -71,7 +71,7 @@ class DataHourMul extends GetCurrentMul {
71
71
  }
72
72
  }
73
73
  DataHourMul.id = COMMAND_ID;
74
- DataHourMul.isUplink = true;
74
+ DataHourMul.directionType = UPLINK;
75
75
  DataHourMul.title = COMMAND_TITLE;
76
76
  export default DataHourMul;
77
77
  //# sourceMappingURL=DataHourMul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,0DAA0D;AAC1D,yCAAyC;AACzC,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAG/D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,oEAAoE;AACpE,mCAAmC;AACnC,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,WAAW;YACX,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,gCAAgC;YAChC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpC,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAC,CAAC;YAE1F,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,KAAM,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,EAAE,SAAS,EAAG;gBAC3D,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAElC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC;aAC7D;SACJ;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAEzC,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,QAAQ,EAAG;YACpC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE/B,KAAM,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,IAAI,IAAI,EAAG;gBACrC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aACtC;SACJ;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA3Ee,cAAE,GAAG,UAAU,CAAC;AAEhB,oBAAQ,GAAG,IAAI,CAAC;AAEhB,iBAAK,GAAG,aAAa,CAAC;AA2E1C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ declare class ExAbsDayMul extends GetCurrentMul {
3
3
  parameters: any;
4
4
  constructor(parameters: any);
5
5
  static id: number;
6
- static readonly isUplink = true;
6
+ static readonly directionType = 2;
7
7
  static title: string;
8
8
  static fromBytes(data: Uint8Array): any;
9
9
  toBytes(): Uint8Array;
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
1
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
2
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
4
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
8
7
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
9
8
  import roundNumber from '../../utils/roundNumber.js';
10
9
  import { getSecondsFromDate } from '../../utils/time.js';
10
+ import { UPLINK } from '../../constants/directionTypes.js';
11
11
  const COMMAND_ID = 0x0b1f;
12
12
  const COMMAND_TITLE = 'EX_ABS_DAY_MUL';
13
13
  // date 2 bytes, channels - 1 byte (max channels: 4)
@@ -41,7 +41,7 @@ class ExAbsDayMul extends GetCurrentMul {
41
41
  return new ExAbsDayMul({ channels, date });
42
42
  }
43
43
  toBytes() {
44
- const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE, false);
44
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
45
45
  const { channels } = this.parameters;
46
46
  const { time } = channels[0];
47
47
  buffer.setDate(time);
@@ -54,7 +54,7 @@ class ExAbsDayMul extends GetCurrentMul {
54
54
  }
55
55
  }
56
56
  ExAbsDayMul.id = COMMAND_ID;
57
- ExAbsDayMul.isUplink = true;
57
+ ExAbsDayMul.directionType = UPLINK;
58
58
  ExAbsDayMul.title = COMMAND_TITLE;
59
59
  export default ExAbsDayMul;
60
60
  //# sourceMappingURL=ExAbsDayMul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,+DAA+D;AAC/D,4DAA4D;AAC5D,uDAAuD;AACvD,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAGvD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,oDAAoD;AACpD,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,YAAY;YACZ,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBAC9B,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;aACpD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,IAAI,QAAQ,EAAG;YAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjDM,cAAE,GAAG,UAAU,CAAC;AAEP,oBAAQ,GAAG,IAAI,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAiDjC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,uDAAuD;AACvD,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAGzD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,oDAAoD;AACpD,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,YAAY;YACZ,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBAC9B,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;aACpD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,IAAI,QAAQ,EAAG;YAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjDM,cAAE,GAAG,UAAU,CAAC;AAEP,yBAAa,GAAG,MAAM,CAAC;AAEhC,iBAAK,GAAG,aAAa,CAAC;AAiDjC,eAAe,WAAW,CAAC"}
@@ -3,7 +3,7 @@ declare class ExAbsHourMul extends GetCurrentMul {
3
3
  parameters: any;
4
4
  constructor(parameters: any);
5
5
  static readonly id = 2591;
6
- static readonly isUplink = true;
6
+ static readonly directionType = 2;
7
7
  static readonly title = "EX_ABS_HOUR_MUL";
8
8
  static fromBytes(data: Uint8Array): any;
9
9
  toBytes(): Uint8Array;
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-restricted-syntax */
2
1
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
2
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
4
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
8
7
  import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
9
8
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
10
9
  import roundNumber from '../../utils/roundNumber.js';
10
+ import { UPLINK } from '../../constants/directionTypes.js';
11
11
  const COMMAND_ID = 0x0a1f;
12
12
  const COMMAND_TITLE = 'EX_ABS_HOUR_MUL';
13
13
  // date 2 bytes, hour 1 byte, channels - 1 byte (max channels: 4)
@@ -62,7 +62,7 @@ class ExAbsHourMul extends GetCurrentMul {
62
62
  return new ExAbsHourMul({ channels, date });
63
63
  }
64
64
  toBytes() {
65
- const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE, false);
65
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
66
66
  const { channels } = this.parameters;
67
67
  const { time } = channels[0];
68
68
  const realDate = getDateFromSeconds(time);
@@ -86,7 +86,7 @@ class ExAbsHourMul extends GetCurrentMul {
86
86
  }
87
87
  }
88
88
  ExAbsHourMul.id = COMMAND_ID;
89
- ExAbsHourMul.isUplink = true;
89
+ ExAbsHourMul.directionType = UPLINK;
90
90
  ExAbsHourMul.title = COMMAND_TITLE;
91
91
  export default ExAbsHourMul;
92
92
  //# sourceMappingURL=ExAbsHourMul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import GetCurrentMul from './GetCurrentMul.js';
2
+ import { IChannel } from '../../CommandBinaryBuffer.js';
3
+ /**
4
+ * GetArchiveHoursMul command parameters
5
+ *
6
+ * @example
7
+ * // archive hours values from 001-03-10T12:00:00.000Z with 1-hour diff
8
+ * {
9
+ * channels: [{value: 101, index: 0, diff: [value: 1]}],
10
+ * date: '2001-03-10T12:00:00.000Z',
11
+ * hourAmount: 1
12
+ * }
13
+ */
14
+ interface IUplinkGetArchiveHoursMulParameters {
15
+ channels: Array<IChannel>;
16
+ date: Date | undefined | string;
17
+ hourAmount: number | undefined;
18
+ }
19
+ declare class GetArchiveHoursMul extends GetCurrentMul {
20
+ parameters: IUplinkGetArchiveHoursMulParameters;
21
+ constructor(parameters: IUplinkGetArchiveHoursMulParameters);
22
+ static readonly id = 26;
23
+ static readonly directionType = 2;
24
+ static readonly title = "GET_ARCHIVE_HOURS_MUL";
25
+ static fromBytes(data: Uint8Array): GetArchiveHoursMul;
26
+ toBytes(): Uint8Array;
27
+ }
28
+ export default GetArchiveHoursMul;
@@ -0,0 +1,51 @@
1
+ import Command from '../../Command.js';
2
+ import GetCurrentMul from './GetCurrentMul.js';
3
+ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
4
+ import { UPLINK } from '../../constants/directionTypes.js';
5
+ import { getDateFromSeconds } from '../../utils/time.js';
6
+ const COMMAND_ID = 0x1a;
7
+ const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
8
+ // date 2 bytes, hour 1 byte, channels - 1 byte, so max channels = 4
9
+ // max hours diff - 7 (3 bit value)
10
+ // 4 + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
11
+ const COMMAND_BODY_MAX_SIZE = 164;
12
+ class GetArchiveHoursMul extends GetCurrentMul {
13
+ constructor(parameters) {
14
+ super(parameters);
15
+ this.parameters = parameters;
16
+ const { date, hourAmount, channels } = this.parameters;
17
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
18
+ if (date === undefined) {
19
+ const [{ time }] = channels;
20
+ if (time) {
21
+ this.parameters.date = getDateFromSeconds(time);
22
+ }
23
+ else {
24
+ throw new Error(`${GetArchiveHoursMul.getName()} can't recognize time`);
25
+ }
26
+ }
27
+ else if (typeof date === 'string') {
28
+ this.parameters.date = new Date(date);
29
+ }
30
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
31
+ if (hourAmount === undefined) {
32
+ this.parameters.hourAmount = channels[0].diff.length;
33
+ }
34
+ }
35
+ static fromBytes(data) {
36
+ const buffer = new CommandBinaryBuffer(data);
37
+ return new GetArchiveHoursMul(buffer.getChannelsValuesWithHourDiff());
38
+ }
39
+ toBytes() {
40
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
41
+ const { hourAmount, date, channels } = this.parameters;
42
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
43
+ buffer.setChannelsValuesWithHourDiff(hourAmount, date, channels);
44
+ return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
45
+ }
46
+ }
47
+ GetArchiveHoursMul.id = COMMAND_ID;
48
+ GetArchiveHoursMul.directionType = UPLINK;
49
+ GetArchiveHoursMul.title = COMMAND_TITLE;
50
+ export default GetArchiveHoursMul;
51
+ //# sourceMappingURL=GetArchiveHoursMul.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAqBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C,oEAAoE;AACpE,mCAAmC;AACnC,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,kBAAmB,SAAQ,aAAa;IAC1C,YAAqB,UAA+C;QAChE,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAqC;QAGhE,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAErD,uEAAuE;QACvE,IAAK,IAAI,KAAK,SAAS,EAAG;YACtB,MAAM,CAAC,EAAC,IAAI,EAAC,CAAC,GAAG,QAAQ,CAAC;YAE1B,IAAK,IAAI,EAAG;gBACR,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACnD;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;aAC3E;SACJ;aAAM,IAAK,OAAO,IAAI,KAAK,QAAQ,EAAG;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,uEAAuE;QACvE,IAAK,UAAU,KAAK,SAAS,EAAG;YAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACxD;IACL,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAErD,oEAAoE;QACpE,MAAM,CAAC,6BAA6B,CAAC,UAAW,EAAE,IAAY,EAAE,QAAQ,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AApBe,qBAAE,GAAG,UAAU,CAAC;AAEhB,gCAAa,GAAG,MAAM,CAAC;AAEvB,wBAAK,GAAG,aAAa,CAAC;AAoB1C,eAAe,kBAAkB,CAAC"}
@@ -16,7 +16,7 @@ declare class GetCurrentMul extends Command {
16
16
  parameters: IGetCurrentMulParameters;
17
17
  constructor(parameters: IGetCurrentMulParameters);
18
18
  static id: number;
19
- static readonly isUplink = true;
19
+ static readonly directionType = 2;
20
20
  static title: string;
21
21
  static fromBytes(data: Uint8Array): GetCurrentMul;
22
22
  toBytes(): Uint8Array;
@@ -1,5 +1,6 @@
1
1
  import Command from '../../Command.js';
2
2
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
3
+ import { UPLINK } from '../../constants/directionTypes.js';
3
4
  const COMMAND_ID = 0x18;
4
5
  const COMMAND_TITLE = 'GET_CURRENT_MUL';
5
6
  // 2 bytes for 7 channels + (7 channels * 5 byte for current value of channel)
@@ -21,7 +22,7 @@ class GetCurrentMul extends Command {
21
22
  return new GetCurrentMul(parameters);
22
23
  }
23
24
  toBytes() {
24
- const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE, false);
25
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
25
26
  const { channels } = this.parameters;
26
27
  buffer.setChannels(channels.map(({ index }) => index));
27
28
  channels.forEach(({ value }) => buffer.setExtendedValue(value));
@@ -29,7 +30,7 @@ class GetCurrentMul extends Command {
29
30
  }
30
31
  }
31
32
  GetCurrentMul.id = COMMAND_ID;
32
- GetCurrentMul.isUplink = true;
33
+ GetCurrentMul.directionType = UPLINK;
33
34
  GetCurrentMul.title = COMMAND_TITLE;
34
35
  export default GetCurrentMul;
35
36
  //# sourceMappingURL=GetCurrentMul.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetCurrentMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAG/D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAkBjC,MAAM,aAAc,SAAQ,OAAO;IAC/B,YAAqB,UAAoC;QACrD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA0B;QAGrD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA6B,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE3C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA7BM,gBAAE,GAAG,UAAU,CAAC;AAEP,sBAAQ,GAAG,IAAI,CAAC;AAEzB,mBAAK,GAAG,aAAa,CAAC;AA6BjC,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"GetCurrentMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAmBzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,aAAc,SAAQ,OAAO;IAC/B,YAAqB,UAAoC;QACrD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA0B;QAGrD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA6B,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE3C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA7BM,gBAAE,GAAG,UAAU,CAAC;AAEP,2BAAa,GAAG,MAAM,CAAC;AAEhC,mBAAK,GAAG,aAAa,CAAC;AA6BjC,eAAe,aAAa,CAAC"}
@@ -0,0 +1,116 @@
1
+ import Command from '../../Command.js';
2
+ interface ILastEventGasStatus {
3
+ /** the battery voltage has dropped below the set threshold */
4
+ isBatteryLow?: boolean;
5
+ /** there is a magnetic field influence */
6
+ isMagneticInfluence?: boolean;
7
+ /** button is release (device is unmounted) */
8
+ isButtonReleased?: boolean;
9
+ /** the device has detected a loss of connection to the server */
10
+ isConnectionLost?: boolean;
11
+ }
12
+ interface ILastEvent2ChannelStatus {
13
+ /** the battery voltage has dropped below the set threshold */
14
+ isBatteryLow?: boolean;
15
+ /** the device has detected a loss of connection to the server */
16
+ isConnectionLost?: boolean;
17
+ /** the first channel is not active */
18
+ isFirstChannelInactive?: boolean;
19
+ /** the second channel is not active */
20
+ isSecondChannelInactive?: boolean;
21
+ }
22
+ interface ILastEventElimpStatus {
23
+ /** the device has detected a loss of connection to the server */
24
+ isConnectionLost?: boolean;
25
+ }
26
+ interface ILastEventWaterStatus {
27
+ /** the battery voltage has dropped below the set threshold */
28
+ isBatteryLow?: boolean;
29
+ /** the device has detected a loss of connection to the server */
30
+ isConnectionLost?: boolean;
31
+ }
32
+ interface ILastEvent4ChannelStatus {
33
+ /** the battery voltage has dropped below the set threshold */
34
+ isBatteryLow?: boolean;
35
+ /** the device has detected a loss of connection to the server */
36
+ isConnectionLost?: boolean;
37
+ /** the first channel is not active */
38
+ isFirstChannelInactive?: boolean;
39
+ /** the second channel is not active */
40
+ isSecondChannelInactive?: boolean;
41
+ /** the third channel is not active */
42
+ isThirdChannelInactive?: boolean;
43
+ /** the forth channel is not active */
44
+ isForthChannelInactive?: boolean;
45
+ }
46
+ interface ILastEventMtxStatus {
47
+ /** meter case is open */
48
+ isMeterCaseOpen?: boolean;
49
+ /** there is a magnetic field influence */
50
+ isMagneticInfluence?: boolean;
51
+ /** parameters set remotely */
52
+ isParametersSetRemotely?: boolean;
53
+ /** parameters set locally */
54
+ isParametersSetLocally?: boolean;
55
+ /** meter program restart */
56
+ isMeterProgramRestarted?: boolean;
57
+ /** incorrect password and lockout */
58
+ isLockedOut?: boolean;
59
+ /** time set */
60
+ isTimeSet?: boolean;
61
+ /** time correction */
62
+ isTimeCorrected?: boolean;
63
+ /** meter failure */
64
+ isMeterFailure?: boolean;
65
+ /** meter terminal box is open */
66
+ isMeterTerminalBoxOpen?: boolean;
67
+ /** meter module compartment is open */
68
+ isModuleCompartmentOpen?: boolean;
69
+ /** tariff plan changed */
70
+ isTariffPlanChanged?: boolean;
71
+ /** new tariff plan received */
72
+ isNewTariffPlanReceived?: boolean;
73
+ }
74
+ type TLastEventStatus = ILastEventGasStatus | ILastEvent2ChannelStatus | ILastEventElimpStatus | ILastEventWaterStatus | ILastEvent4ChannelStatus | ILastEventMtxStatus;
75
+ /**
76
+ * LastEvent command parameters
77
+ *
78
+ * @example
79
+ * {sequenceNumber: 3, status: {isBatteryLow: true}}
80
+ */
81
+ interface ILastEventParameters {
82
+ /** unique event number */
83
+ sequenceNumber: number;
84
+ /** object with boolean values depending on the device hardware type */
85
+ status: TLastEventStatus;
86
+ }
87
+ /**
88
+ * Uplink command.
89
+ *
90
+ * @example
91
+ * ```js
92
+ * import LastEvent from 'jooby-codec/commands/downlink/LastEvent';
93
+ * import hardwareTypes from 'jooby-codec/constants/hardwareTypes';
94
+ *
95
+ * const command = new LastEvent(
96
+ * {sequenceNumber: 8, status: {isBatteryLow: true}},
97
+ * hardwareTypes.IMP2EU
98
+ * );
99
+ *
100
+ * // output command binary in hex representation
101
+ * console.log(command.toHex());
102
+ * // 62 08 01
103
+ * ```
104
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/uplink/LastEvent.md)
105
+ */
106
+ declare class LastEvent extends Command {
107
+ parameters: ILastEventParameters;
108
+ hardwareType: number;
109
+ constructor(parameters: ILastEventParameters, hardwareType: number);
110
+ static readonly id = 96;
111
+ static readonly directionType = 2;
112
+ static readonly title = "LAST_EVENT";
113
+ static fromBytes(data: Uint8Array, hardwareType?: number): LastEvent;
114
+ toBytes(): Uint8Array;
115
+ }
116
+ export default LastEvent;