jooby-codec 1.4.0 → 1.6.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 (74) hide show
  1. package/dist/Command.d.ts +13 -4
  2. package/dist/Command.js +7 -3
  3. package/dist/Command.js.map +1 -1
  4. package/dist/CommandBinaryBuffer.d.ts +53 -23
  5. package/dist/CommandBinaryBuffer.js +111 -58
  6. package/dist/CommandBinaryBuffer.js.map +1 -1
  7. package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +2 -2
  8. package/dist/commands/downlink/ExAbsArchiveDaysMC.js +6 -6
  9. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
  10. package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +2 -2
  11. package/dist/commands/downlink/ExAbsArchiveHoursMC.js +6 -6
  12. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
  13. package/dist/commands/downlink/ExAbsCurrentMC.d.ts +30 -0
  14. package/dist/commands/downlink/ExAbsCurrentMC.js +43 -0
  15. package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -0
  16. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +2 -2
  17. package/dist/commands/downlink/GetArchiveDaysMC.js +6 -6
  18. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  19. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +2 -2
  20. package/dist/commands/downlink/GetArchiveHoursMC.js +6 -6
  21. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  22. package/dist/commands/downlink/GetCurrentMC.d.ts +25 -0
  23. package/dist/commands/downlink/GetCurrentMC.js +41 -0
  24. package/dist/commands/downlink/GetCurrentMC.js.map +1 -0
  25. package/dist/commands/downlink/SetParameter.d.ts +7 -1
  26. package/dist/commands/downlink/SetParameter.js +11 -0
  27. package/dist/commands/downlink/SetParameter.js.map +1 -1
  28. package/dist/commands/downlink/index.d.ts +2 -0
  29. package/dist/commands/downlink/index.js +2 -0
  30. package/dist/commands/downlink/index.js.map +1 -1
  31. package/dist/commands/uplink/DataDayMC.d.ts +2 -2
  32. package/dist/commands/uplink/DataDayMC.js +8 -8
  33. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  34. package/dist/commands/uplink/DataHourMC.d.ts +10 -4
  35. package/dist/commands/uplink/DataHourMC.js +13 -35
  36. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  37. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +9 -38
  38. package/dist/commands/uplink/ExAbsArchiveDaysMC.js +16 -38
  39. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
  40. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +13 -7
  41. package/dist/commands/uplink/ExAbsArchiveHoursMC.js +24 -60
  42. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
  43. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +15 -0
  44. package/dist/commands/uplink/ExAbsCurrentMC.js +30 -0
  45. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -0
  46. package/dist/commands/uplink/ExAbsDayMC.d.ts +8 -3
  47. package/dist/commands/uplink/ExAbsDayMC.js +10 -36
  48. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  49. package/dist/commands/uplink/ExAbsHourMC.d.ts +58 -6
  50. package/dist/commands/uplink/ExAbsHourMC.js +45 -50
  51. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  52. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +5 -29
  53. package/dist/commands/uplink/GetArchiveDaysMC.js +11 -37
  54. package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
  55. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +47 -7
  56. package/dist/commands/uplink/GetArchiveHoursMC.js +43 -23
  57. package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
  58. package/dist/commands/uplink/GetCurrentMC.d.ts +25 -9
  59. package/dist/commands/uplink/GetCurrentMC.js +59 -3
  60. package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
  61. package/dist/commands/uplink/NewEvent.d.ts +1 -1
  62. package/dist/commands/uplink/NewEvent.js +1 -1
  63. package/dist/commands/uplink/index.d.ts +1 -0
  64. package/dist/commands/uplink/index.js +1 -0
  65. package/dist/commands/uplink/index.js.map +1 -1
  66. package/dist/constants/deviceParameters.d.ts +5 -1
  67. package/dist/constants/deviceParameters.js +5 -1
  68. package/dist/constants/deviceParameters.js.map +1 -1
  69. package/dist/utils/bitSet.d.ts +2 -2
  70. package/dist/utils/bitSet.js +2 -2
  71. package/dist/utils/message.d.ts +8 -0
  72. package/dist/utils/message.js +1 -1
  73. package/dist/utils/message.js.map +1 -1
  74. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ /**
2
+ * [[include:commands/downlink/ExAbsCurrentMC.md]]
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import Command from '../../Command.js';
7
+ /**
8
+ * Downlink command
9
+ *
10
+ * @example
11
+ * ```js
12
+ * import ExAbsCurrentMC from 'jooby-codec/commands/downlink/ExAbsCurrentMC';
13
+ *
14
+ * const command = new ExAbsCurrentMC();
15
+ *
16
+ * // output command binary in hex representation
17
+ * console.log(command.toHex());
18
+ * // 1f 0f 00
19
+ * ```
20
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsCurrentMC.md#request)
21
+ */
22
+ declare class ExAbsCurrentMC extends Command {
23
+ constructor();
24
+ static readonly id = 3871;
25
+ static readonly directionType = 1;
26
+ static readonly title = "EX_ABS_CURRENT_MC";
27
+ static fromBytes(): ExAbsCurrentMC;
28
+ toBytes(): Uint8Array;
29
+ }
30
+ export default ExAbsCurrentMC;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * [[include:commands/downlink/ExAbsCurrentMC.md]]
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import Command from '../../Command.js';
7
+ import { DOWNLINK } from '../../constants/directionTypes.js';
8
+ // TODO: rework extended headers detection
9
+ const COMMAND_ID = 0x0f1f;
10
+ const COMMAND_TITLE = 'EX_ABS_CURRENT_MC';
11
+ /**
12
+ * Downlink command
13
+ *
14
+ * @example
15
+ * ```js
16
+ * import ExAbsCurrentMC from 'jooby-codec/commands/downlink/ExAbsCurrentMC';
17
+ *
18
+ * const command = new ExAbsCurrentMC();
19
+ *
20
+ * // output command binary in hex representation
21
+ * console.log(command.toHex());
22
+ * // 1f 0f 00
23
+ * ```
24
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsCurrentMC.md#request)
25
+ */
26
+ class ExAbsCurrentMC extends Command {
27
+ constructor() {
28
+ super();
29
+ }
30
+ // data - only body (without header)
31
+ static fromBytes() {
32
+ return new ExAbsCurrentMC();
33
+ }
34
+ // eslint-disable-next-line class-methods-use-this
35
+ toBytes() {
36
+ return Command.toBytes(COMMAND_ID);
37
+ }
38
+ }
39
+ ExAbsCurrentMC.id = COMMAND_ID;
40
+ ExAbsCurrentMC.directionType = DOWNLINK;
41
+ ExAbsCurrentMC.title = COMMAND_TITLE;
42
+ export default ExAbsCurrentMC;
43
+ //# sourceMappingURL=ExAbsCurrentMC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExAbsCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/ExAbsCurrentMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAG1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAe,SAAQ,OAAO;IAChC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,QAAQ,CAAC;AAEzB,oBAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,cAAc,CAAC"}
@@ -15,7 +15,7 @@ interface IDownlinkGetArchiveDaysMCParameters {
15
15
  /** amount of days to retrieve */
16
16
  days: number;
17
17
  /** time */
18
- seconds: number;
18
+ startTime: number;
19
19
  /** array of channelList indexes */
20
20
  channelList: Array<number>;
21
21
  }
@@ -40,7 +40,7 @@ declare class GetArchiveDaysMC extends Command {
40
40
  constructor(parameters: IDownlinkGetArchiveDaysMCParameters);
41
41
  static readonly id = 27;
42
42
  static readonly directionType = 1;
43
- static readonly title = "GET_ARCHIVE_DAYS_MUL";
43
+ static readonly title = "GET_ARCHIVE_DAYS_MC";
44
44
  static fromBytes(data: Uint8Array): GetArchiveDaysMC;
45
45
  toBytes(): Uint8Array;
46
46
  }
@@ -8,7 +8,7 @@ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
8
8
  import { DOWNLINK } from '../../constants/directionTypes.js';
9
9
  import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
10
10
  const COMMAND_ID = 0x1b;
11
- const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MUL';
11
+ const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MC';
12
12
  const COMMAND_BODY_SIZE = 4;
13
13
  /**
14
14
  * Downlink command
@@ -39,20 +39,20 @@ class GetArchiveDaysMC extends Command {
39
39
  }
40
40
  const buffer = new CommandBinaryBuffer(data);
41
41
  const date = buffer.getDate();
42
- const channelList = buffer.getChannels(true);
42
+ const channelList = buffer.getChannels();
43
43
  const days = buffer.getUint8();
44
44
  if (!buffer.isEmpty) {
45
45
  throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
46
46
  }
47
- return new GetArchiveDaysMC({ channelList, days, seconds: getSecondsFromDate(date) });
47
+ return new GetArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
48
48
  }
49
49
  // returns full message - header with body
50
50
  toBytes() {
51
- const { channelList, days, seconds } = this.parameters;
51
+ const { channelList, days, startTime } = this.parameters;
52
52
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
53
- const date = getDateFromSeconds(seconds);
53
+ const date = getDateFromSeconds(startTime);
54
54
  buffer.setDate(date);
55
- buffer.setChannels(channelList);
55
+ buffer.setChannels(channelList.map(index => ({ index })));
56
56
  buffer.setUint8(days);
57
57
  return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAA+C;QAChE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAqC;QAGhE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,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,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACxF,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AArCe,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,QAAQ,CAAC;AAEzB,sBAAK,GAAG,aAAa,CAAC;AAqC1C,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAC5C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAA+C;QAChE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAqC;QAGhE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,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,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAc,CAAA,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AArCe,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,QAAQ,CAAC;AAEzB,sBAAK,GAAG,aAAa,CAAC;AAqC1C,eAAe,gBAAgB,CAAC"}
@@ -15,7 +15,7 @@ interface IDownlinkGetArchiveHoursMCParameters {
15
15
  /** amount of hours to retrieve */
16
16
  hours: number;
17
17
  /** time */
18
- seconds: number;
18
+ startTime: number;
19
19
  /** array of channelList indexes */
20
20
  channelList: Array<number>;
21
21
  }
@@ -40,7 +40,7 @@ declare class GetArchiveHoursMC extends Command {
40
40
  constructor(parameters: IDownlinkGetArchiveHoursMCParameters);
41
41
  static readonly id = 26;
42
42
  static readonly directionType = 1;
43
- static readonly title = "GET_ARCHIVE_HOURS_MUL";
43
+ static readonly title = "GET_ARCHIVE_HOURS_MC";
44
44
  static fromBytes(data: Uint8Array): GetArchiveHoursMC;
45
45
  toBytes(): Uint8Array;
46
46
  }
@@ -8,7 +8,7 @@ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
8
8
  import { DOWNLINK } from '../../constants/directionTypes.js';
9
9
  import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
10
10
  const COMMAND_ID = 0x1a;
11
- const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
11
+ const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MC';
12
12
  const COMMAND_BODY_SIZE = 4;
13
13
  /**
14
14
  * Downlink command
@@ -40,22 +40,22 @@ class GetArchiveHoursMC extends Command {
40
40
  const buffer = new CommandBinaryBuffer(data);
41
41
  const date = buffer.getDate();
42
42
  const { hour, hours } = buffer.getHours();
43
- const channelList = buffer.getChannels(true);
43
+ const channelList = buffer.getChannels();
44
44
  date.setUTCHours(hour);
45
45
  if (!buffer.isEmpty) {
46
46
  throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
47
47
  }
48
- return new GetArchiveHoursMC({ channelList, hours, seconds: getSecondsFromDate(date) });
48
+ return new GetArchiveHoursMC({ channelList, hours, startTime: getSecondsFromDate(date) });
49
49
  }
50
50
  // returns full message - header with body
51
51
  toBytes() {
52
- const { channelList, hours, seconds } = this.parameters;
52
+ const { channelList, hours, startTime } = this.parameters;
53
53
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
54
- const date = getDateFromSeconds(seconds);
54
+ const date = getDateFromSeconds(startTime);
55
55
  const hour = date.getUTCHours();
56
56
  buffer.setDate(date);
57
57
  buffer.setHours(hour, hours);
58
- buffer.setChannels(channelList);
58
+ buffer.setChannels(channelList.map(index => ({ index })));
59
59
  return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAAgD;QACjE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsC;QAGjE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,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,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,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,iBAAiB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAAgD;QACjE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsC;QAGjE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,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,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,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,iBAAiB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC5F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAc,CAAA,CAAC,CAAC,CAAC;QAEpE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import Command, { TCommandExampleList } from '../../Command.js';
2
+ /**
3
+ * Downlink command.
4
+ *
5
+ * @example
6
+ * ```js
7
+ * import GetCurrentMC from 'jooby-codec/commands/downlink/GetCurrentMC';
8
+ *
9
+ * const command = new GetCurrentMC();
10
+ *
11
+ * // output command binary in hex representation
12
+ * console.log(command.toHex());
13
+ * // 18 00
14
+ * ```
15
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#request)
16
+ */
17
+ declare class GetCurrentMC extends Command {
18
+ static readonly id = 24;
19
+ static readonly directionType = 1;
20
+ static readonly title = "GET_CURRENT_MC";
21
+ static readonly examples: TCommandExampleList;
22
+ static fromBytes(): GetCurrentMC;
23
+ toBytes(): Uint8Array;
24
+ }
25
+ export default GetCurrentMC;
@@ -0,0 +1,41 @@
1
+ import Command from '../../Command.js';
2
+ import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ const COMMAND_ID = 0x18;
4
+ const COMMAND_TITLE = 'GET_CURRENT_MC';
5
+ const examples = [
6
+ {
7
+ name: 'simple request',
8
+ hex: { header: '18 00', body: '' }
9
+ }
10
+ ];
11
+ /**
12
+ * Downlink command.
13
+ *
14
+ * @example
15
+ * ```js
16
+ * import GetCurrentMC from 'jooby-codec/commands/downlink/GetCurrentMC';
17
+ *
18
+ * const command = new GetCurrentMC();
19
+ *
20
+ * // output command binary in hex representation
21
+ * console.log(command.toHex());
22
+ * // 18 00
23
+ * ```
24
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#request)
25
+ */
26
+ class GetCurrentMC extends Command {
27
+ // data - only body (without header)
28
+ static fromBytes() {
29
+ return new GetCurrentMC();
30
+ }
31
+ // eslint-disable-next-line class-methods-use-this
32
+ toBytes() {
33
+ return Command.toBytes(COMMAND_ID);
34
+ }
35
+ }
36
+ GetCurrentMC.id = COMMAND_ID;
37
+ GetCurrentMC.directionType = DOWNLINK;
38
+ GetCurrentMC.title = COMMAND_TITLE;
39
+ GetCurrentMC.examples = examples;
40
+ export default GetCurrentMC;
41
+ //# sourceMappingURL=GetCurrentMC.js.map
@@ -0,0 +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"}
@@ -27,7 +27,13 @@ interface IParameterInitialDataMC extends IParameterInitialData {
27
27
  interface IParameterAbsoluteDataStatus {
28
28
  status: number;
29
29
  }
30
- type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus;
30
+ interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
31
+ /**
32
+ * Channel that accept status changing.
33
+ */
34
+ channel: number;
35
+ }
36
+ type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
31
37
  /**
32
38
  * SetParameter command parameters
33
39
  *
@@ -94,6 +94,12 @@ class SetParameter extends Command {
94
94
  status: buffer.getUint8()
95
95
  };
96
96
  break;
97
+ case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
98
+ parameterData = {
99
+ channel: buffer.getUint8(),
100
+ status: buffer.getUint8()
101
+ };
102
+ break;
97
103
  default:
98
104
  throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
99
105
  }
@@ -123,6 +129,11 @@ class SetParameter extends Command {
123
129
  parameterData = data;
124
130
  buffer.setUint8(parameterData.status);
125
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;
126
137
  default:
127
138
  throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
128
139
  }
@@ -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;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAiExE,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,sCAAsC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACtC,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,EAAE,CAAC;IACV,CAAC,IAAI,EAAE,CAAC,CAAC;IACT,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,IAAI,EAAE,IAAI,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CACrC,CAAC,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAC/E,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAE,KAAa,EAAY,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAEhE,MAAM,mBAAmB,GAAG,CAAE,MAA2B,EAAW,EAAE;IAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE3C,IAAK,QAAQ,CAAC,gBAAgB,CAAC,EAAG;QAC9B,MAAM,KAAK,GAAG,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE9D,IAAK,KAAK,EAAG;YACT,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;IAED,OAAO,gBAAgB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAE,MAA2B,EAAE,KAAa,EAAS,EAAE;IAC/E,IAAK,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAG;QACxC,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElD,IAAK,IAAI,EAAG;YACR,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACzB;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;KACJ;SAAM;QACH,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B;AACL,CAAC,CAAC;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAAmC;QACpD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAyB;IAExD,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,aAAa,CAAC;QAElB,QAAS,EAAE,EAAG;YACV,KAAK,gBAAgB,CAAC,YAAY;gBAC9B,aAAa,GAAG;oBACZ,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnC,gBAAgB,EAAE,mBAAmB,CAAC,MAAM,CAAC;oBAC7C,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;iBACR,CAAC;gBAC3B,MAAM;YAEV,KAAK,gBAAgB,CAAC,0BAA0B;gBAC5C,aAAa,GAAG;oBACZ,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;oBAC1B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;oBACnC,gBAAgB,EAAE,mBAAmB,CAAC,MAAM,CAAC;oBAC7C,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;iBACR,CAAC;gBAC3B,MAAM;YAEV,KAAK,gBAAgB,CAAC,oBAAoB;gBACtC,aAAa,GAAG;oBACZ,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;iBACI,CAAC;gBAClC,MAAM;YAEV,KAAK,gBAAgB,CAAC,kCAAkC;gBACpD,aAAa,GAAG;oBACZ,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;oBAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;iBACM,CAAC;gBACpC,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;SACpF;QAED,OAAO,IAAI,YAAY,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;IACvD,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAE9D,IAAI,aAAa,CAAC;QAElB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEpB,QAAS,EAAE,EAAG;YACV,KAAK,gBAAgB,CAAC,YAAY;gBAC9B,aAAa,GAAG,IAA6B,CAAC;gBAE9C,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClD,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM;YAEV,KAAK,gBAAgB,CAAC,0BAA0B;gBAC5C,aAAa,GAAG,IAA+B,CAAC;gBAEhD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClD,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM;YAEV,KAAK,gBAAgB,CAAC,oBAAoB;gBACtC,aAAa,GAAG,IAAoC,CAAC;gBAErD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM;YAEV,KAAK,gBAAgB,CAAC,kCAAkC;gBACpD,aAAa,GAAG,IAAsC,CAAC;gBAEvD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM;YAEV;gBACI,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;SACpF;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA/Fe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,kBAAK,GAAG,aAAa,CAAC;AA+F1C,eAAe,YAAY,CAAC"}
@@ -6,8 +6,10 @@
6
6
  export { default as CorrectTime2000 } from './CorrectTime2000.js';
7
7
  export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
8
8
  export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
9
+ export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
9
10
  export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
10
11
  export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
12
+ export { default as GetCurrentMC } from './GetCurrentMC.js';
11
13
  export { default as NewStatus } from './NewStatus.js';
12
14
  export { default as SetParameter } from './SetParameter.js';
13
15
  export { default as SetTime2000 } from './SetTime2000.js';
@@ -6,8 +6,10 @@
6
6
  export { default as CorrectTime2000 } from './CorrectTime2000.js';
7
7
  export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
8
8
  export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
9
+ export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
9
10
  export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
10
11
  export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
12
+ export { default as GetCurrentMC } from './GetCurrentMC.js';
11
13
  export { default as NewStatus } from './NewStatus.js';
12
14
  export { default as SetParameter } from './SetParameter.js';
13
15
  export { default as SetTime2000 } from './SetTime2000.js';
@@ -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,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,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,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
@@ -6,14 +6,14 @@ interface IDataDayMCParameters extends IGetCurrentMCParameters {
6
6
  /**
7
7
  * Seconds since year 2000, i.e. timestamp (in seconds) - 946684800
8
8
  */
9
- seconds: number;
9
+ startTime: number;
10
10
  }
11
11
  declare class DataDayMC extends GetCurrentMC {
12
12
  parameters: IDataDayMCParameters;
13
13
  constructor(parameters: IDataDayMCParameters);
14
14
  static readonly id = 22;
15
15
  static readonly directionType = 2;
16
- static readonly title = "DATA_DAY_MUL";
16
+ static readonly title = "DATA_DAY_MC";
17
17
  static fromBytes(data: Uint8Array): DataDayMC;
18
18
  toBytes(): Uint8Array;
19
19
  }
@@ -5,7 +5,7 @@ import { getSecondsFromDate } from '../../utils/time.js';
5
5
  import GetCurrentMC from './GetCurrentMC.js';
6
6
  import { UPLINK } from '../../constants/directionTypes.js';
7
7
  const COMMAND_ID = 0x16;
8
- const COMMAND_TITLE = 'DATA_DAY_MUL';
8
+ const COMMAND_TITLE = 'DATA_DAY_MC';
9
9
  // 2 byte for date + 2 for channels (max channels: 7)
10
10
  // 4 + (7 * 4)
11
11
  const COMMAND_BODY_MAX_SIZE = 32;
@@ -15,22 +15,22 @@ class DataDayMC extends GetCurrentMC {
15
15
  this.parameters = parameters;
16
16
  }
17
17
  static fromBytes(data) {
18
- const parameters = { channelList: [], seconds: 0 };
18
+ const parameters = { channelList: [], startTime: 0 };
19
19
  const buffer = new CommandBinaryBuffer(data);
20
20
  const date = buffer.getDate();
21
- const channelArray = buffer.getChannels(false);
22
- parameters.channelList = channelArray.map(channelIndex => ({
21
+ const channels = buffer.getChannels();
22
+ parameters.channelList = channels.map(channelIndex => ({
23
23
  value: buffer.getExtendedValue(),
24
24
  index: channelIndex
25
25
  }));
26
- parameters.seconds = getSecondsFromDate(date);
26
+ parameters.startTime = getSecondsFromDate(date);
27
27
  return new DataDayMC(parameters);
28
28
  }
29
29
  toBytes() {
30
30
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
31
- const { channelList, seconds } = this.parameters;
32
- buffer.setDate(seconds);
33
- buffer.setChannels(channelList.map(({ index }) => index));
31
+ const { channelList, startTime } = this.parameters;
32
+ buffer.setDate(startTime);
33
+ buffer.setChannels(channelList);
34
34
  channelList.forEach(({ value }) => buffer.setExtendedValue(value));
35
35
  return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMC.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,YAAuC,MAAM,mBAAmB,CAAC;AACxE,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,SAAU,SAAQ,YAAY;IAChC,YAAqB,UAAgC;QACjD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAsB;IAErD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAAyB,EAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QAEvE,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,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,eAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"DataDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMC.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,YAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,SAAU,SAAQ,YAAY;IAChC,YAAqB,UAAgC;QACjD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAsB;IAErD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAAyB,EAAC,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEtC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAkB,CAAC,CAAC;QAErB,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,eAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,SAAS,CAAC"}
@@ -1,11 +1,17 @@
1
1
  import GetCurrentMC from './GetCurrentMC.js';
2
+ import { IChannelHours } from '../../CommandBinaryBuffer.js';
3
+ interface IDataHourMCParameters {
4
+ channelList: Array<IChannelHours>;
5
+ startTime: number;
6
+ hours: number;
7
+ }
2
8
  declare class DataHourMC extends GetCurrentMC {
3
- parameters: any;
4
- constructor(parameters: any);
9
+ parameters: IDataHourMCParameters;
10
+ constructor(parameters: IDataHourMCParameters);
5
11
  static readonly id = 23;
6
12
  static readonly directionType = 2;
7
- static readonly title = "DATA_HOUR_MUL";
8
- static fromBytes(data: Uint8Array): any;
13
+ static readonly title = "DATA_HOUR_MC";
14
+ static fromBytes(data: Uint8Array): DataHourMC;
9
15
  toBytes(): Uint8Array;
10
16
  }
11
17
  export default DataHourMC;
@@ -1,14 +1,10 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
4
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
1
  import Command from '../../Command.js';
6
2
  import GetCurrentMC from './GetCurrentMC.js';
7
3
  import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
8
4
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
9
5
  import { UPLINK } from '../../constants/directionTypes.js';
10
6
  const COMMAND_ID = 0x17;
11
- const COMMAND_TITLE = 'DATA_HOUR_MUL';
7
+ const COMMAND_TITLE = 'DATA_HOUR_MC';
12
8
  // date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
13
9
  // max hours diff - 7 (3 bit value)
14
10
  // 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
@@ -22,50 +18,32 @@ class DataHourMC extends GetCurrentMC {
22
18
  const buffer = new CommandBinaryBuffer(data);
23
19
  const date = buffer.getDate();
24
20
  const { hour, hours } = buffer.getHours();
25
- const channelArray = buffer.getChannels(true);
26
- const maxChannel = Math.max.apply(null, channelArray);
21
+ const channels = buffer.getChannels();
27
22
  date.setUTCHours(hour);
28
- const counterDate = new Date(date);
29
- let hourAmount = hours;
30
23
  let value;
31
24
  const channelList = [];
32
- if (hourAmount === 0) {
33
- // one hour
34
- hourAmount = 1;
35
- }
36
- for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
25
+ channels.forEach(channelIndex => {
37
26
  // decode hour value for channel
38
27
  value = buffer.getExtendedValue();
39
- counterDate.setTime(date.getTime());
40
28
  const diff = [];
41
- const channel = { value, index: channelIndex, seconds: getSecondsFromDate(counterDate), diff };
42
- channelList.push(channel);
43
- for (let hourIndex = 0; hourIndex < hourAmount; ++hourIndex) {
44
- value = buffer.getExtendedValue();
45
- counterDate.setUTCHours(counterDate.getUTCHours() + hourIndex);
46
- diff.push({ value, seconds: getSecondsFromDate(counterDate) });
29
+ for (let diffHour = 0; diffHour < hours; ++diffHour) {
30
+ diff.push(buffer.getExtendedValue());
47
31
  }
48
- }
49
- return new DataHourMC({ channelList });
32
+ channelList.push({ value, index: channelIndex, diff });
33
+ });
34
+ return new DataHourMC({ channelList, hours, startTime: getSecondsFromDate(date) });
50
35
  }
51
36
  toBytes() {
52
37
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
53
- const { channelList } = this.parameters;
54
- const { seconds } = channelList[0];
55
- const realDate = getDateFromSeconds(seconds);
56
- const hour = realDate.getUTCHours();
57
- let hours = channelList[0].diff.length;
58
- if (hours === 1) {
59
- hours = 0;
60
- }
61
- buffer.setDate(seconds);
38
+ const { channelList, startTime, hours } = this.parameters;
39
+ const date = getDateFromSeconds(startTime);
40
+ const hour = date.getUTCHours();
41
+ buffer.setDate(date);
62
42
  buffer.setHours(hour, hours);
63
43
  buffer.setChannels(channelList);
64
44
  for (const { value, diff } of channelList) {
65
45
  buffer.setExtendedValue(value);
66
- for (const { value: diffValue } of diff) {
67
- buffer.setExtendedValue(diffValue);
68
- }
46
+ diff.forEach(diffValue => buffer.setExtendedValue(diffValue));
69
47
  }
70
48
  return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
71
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAUzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,0EAA0E;AAC1E,mCAAmC;AACnC,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,UAAW,SAAQ,YAAY;IACjC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,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,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,KAAK,CAAC;QAEV,MAAM,WAAW,GAAyB,EAAE,CAAC;QAE7C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5B,gCAAgC;YAChC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAElC,MAAM,IAAI,GAAkB,EAAE,CAAC;YAE/B,KAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,QAAQ,EAAG;gBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACxC;YAED,WAAW,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,UAAU,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAExD,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhC,KAAM,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,WAAW,EAAG;YACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;SACjE;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AApDe,aAAE,GAAG,UAAU,CAAC;AAEhB,wBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAK,GAAG,aAAa,CAAC;AAoD1C,eAAe,UAAU,CAAC"}
@@ -1,46 +1,17 @@
1
1
  import Command from '../../Command.js';
2
- /**
3
- * Channel absolute value by day.
4
- */
5
- interface IArchiveChannelDayAbsoluteValue {
6
- value: number;
7
- meterValue: number;
8
- day: number;
9
- seconds: number;
10
- date: Date;
11
- }
12
- interface IArchiveChannelDayAbsolute {
13
- /**
14
- * channel number
15
- */
16
- index: number;
17
- /**
18
- * values by days
19
- */
20
- dayList: Array<IArchiveChannelDayAbsoluteValue>;
21
- /**
22
- * Channel pulse coefficient - IPK in bytes.
23
- */
24
- pulseCoefficient: number;
25
- /** time */
26
- seconds: number;
27
- /**
28
- * Normal date in UTC.
29
- */
30
- date: Date;
31
- }
32
- interface IUplinkExAbsArchiveDayMCParameters {
33
- channelList: Array<IArchiveChannelDayAbsolute>;
34
- date: Date;
2
+ import { IChannelArchiveDays } from '../../CommandBinaryBuffer.js';
3
+ interface IUplinkExAbsArchiveDaysMCParameters {
4
+ channelList: Array<IChannelArchiveDays>;
5
+ startTime: number;
35
6
  days: number;
36
7
  }
37
- declare class ExAbsArchiveDayMC extends Command {
38
- parameters: IUplinkExAbsArchiveDayMCParameters;
39
- constructor(parameters: IUplinkExAbsArchiveDayMCParameters);
8
+ declare class ExAbsArchiveDaysMC extends Command {
9
+ parameters: IUplinkExAbsArchiveDaysMCParameters;
10
+ constructor(parameters: IUplinkExAbsArchiveDaysMCParameters);
40
11
  static id: number;
41
12
  static readonly directionType = 2;
42
13
  static title: string;
43
- static fromBytes(data: Uint8Array): ExAbsArchiveDayMC;
14
+ static fromBytes(data: Uint8Array): ExAbsArchiveDaysMC;
44
15
  toBytes(): Uint8Array;
45
16
  }
46
- export default ExAbsArchiveDayMC;
17
+ export default ExAbsArchiveDaysMC;