jooby-codec 1.4.0 → 1.5.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 (61) hide show
  1. package/dist/CommandBinaryBuffer.d.ts +40 -23
  2. package/dist/CommandBinaryBuffer.js +93 -58
  3. package/dist/CommandBinaryBuffer.js.map +1 -1
  4. package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +2 -2
  5. package/dist/commands/downlink/ExAbsArchiveDaysMC.js +6 -6
  6. package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
  7. package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +2 -2
  8. package/dist/commands/downlink/ExAbsArchiveHoursMC.js +6 -6
  9. package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
  10. package/dist/commands/downlink/ExAbsCurrentMC.d.ts +30 -0
  11. package/dist/commands/downlink/ExAbsCurrentMC.js +43 -0
  12. package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -0
  13. package/dist/commands/downlink/GetArchiveDaysMC.d.ts +2 -2
  14. package/dist/commands/downlink/GetArchiveDaysMC.js +6 -6
  15. package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
  16. package/dist/commands/downlink/GetArchiveHoursMC.d.ts +2 -2
  17. package/dist/commands/downlink/GetArchiveHoursMC.js +6 -6
  18. package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
  19. package/dist/commands/downlink/SetParameter.d.ts +7 -1
  20. package/dist/commands/downlink/SetParameter.js +11 -0
  21. package/dist/commands/downlink/SetParameter.js.map +1 -1
  22. package/dist/commands/downlink/index.d.ts +1 -0
  23. package/dist/commands/downlink/index.js +1 -0
  24. package/dist/commands/downlink/index.js.map +1 -1
  25. package/dist/commands/uplink/DataDayMC.d.ts +2 -2
  26. package/dist/commands/uplink/DataDayMC.js +8 -8
  27. package/dist/commands/uplink/DataDayMC.js.map +1 -1
  28. package/dist/commands/uplink/DataHourMC.d.ts +10 -4
  29. package/dist/commands/uplink/DataHourMC.js +13 -35
  30. package/dist/commands/uplink/DataHourMC.js.map +1 -1
  31. package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +9 -38
  32. package/dist/commands/uplink/ExAbsArchiveDaysMC.js +16 -38
  33. package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
  34. package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +13 -7
  35. package/dist/commands/uplink/ExAbsArchiveHoursMC.js +24 -60
  36. package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
  37. package/dist/commands/uplink/ExAbsCurrentMC.d.ts +15 -0
  38. package/dist/commands/uplink/ExAbsCurrentMC.js +30 -0
  39. package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -0
  40. package/dist/commands/uplink/ExAbsDayMC.d.ts +8 -3
  41. package/dist/commands/uplink/ExAbsDayMC.js +10 -36
  42. package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
  43. package/dist/commands/uplink/ExAbsHourMC.d.ts +58 -6
  44. package/dist/commands/uplink/ExAbsHourMC.js +45 -50
  45. package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
  46. package/dist/commands/uplink/GetArchiveDaysMC.d.ts +5 -29
  47. package/dist/commands/uplink/GetArchiveDaysMC.js +11 -37
  48. package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
  49. package/dist/commands/uplink/GetArchiveHoursMC.d.ts +47 -7
  50. package/dist/commands/uplink/GetArchiveHoursMC.js +43 -23
  51. package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
  52. package/dist/commands/uplink/GetCurrentMC.d.ts +2 -8
  53. package/dist/commands/uplink/GetCurrentMC.js +3 -3
  54. package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
  55. package/dist/commands/uplink/index.d.ts +1 -0
  56. package/dist/commands/uplink/index.js +1 -0
  57. package/dist/commands/uplink/index.js.map +1 -1
  58. package/dist/constants/deviceParameters.d.ts +5 -1
  59. package/dist/constants/deviceParameters.js +5 -1
  60. package/dist/constants/deviceParameters.js.map +1 -1
  61. package/package.json +1 -1
@@ -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"}
@@ -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":"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"}
@@ -6,6 +6,7 @@
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';
11
12
  export { default as NewStatus } from './NewStatus.js';
@@ -6,6 +6,7 @@
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';
11
12
  export { default as NewStatus } from './NewStatus.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,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;
@@ -1,14 +1,13 @@
1
1
  import Command from '../../Command.js';
2
2
  import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
3
- import roundNumber from '../../utils/roundNumber.js';
4
3
  import { getSecondsFromDate } from '../../utils/time.js';
5
4
  import { UPLINK } from '../../constants/directionTypes.js';
6
5
  const COMMAND_ID = 0x0d1f;
7
- const COMMAND_TITLE = 'EX_ABS_ARCH_DAYS_MUL';
6
+ const COMMAND_TITLE = 'EX_ABS_ARCHIVE_DAYS_MC';
8
7
  // date 2 bytes, channelList 1 byte (max channelList: 4), days 1 byte (max days - 255)
9
8
  // 4 + (4 channelList * (1 byte pulse coefficient + 5 bytes of day values) * 255 max days)
10
9
  const COMMAND_BODY_MAX_SIZE = 6124;
11
- class ExAbsArchiveDayMC extends Command {
10
+ class ExAbsArchiveDaysMC extends Command {
12
11
  constructor(parameters) {
13
12
  super();
14
13
  this.parameters = parameters;
@@ -17,56 +16,35 @@ class ExAbsArchiveDayMC extends Command {
17
16
  static fromBytes(data) {
18
17
  const buffer = new CommandBinaryBuffer(data);
19
18
  const date = buffer.getDate();
20
- const channelArray = buffer.getChannels(true);
19
+ const channels = buffer.getChannels();
21
20
  const days = buffer.getUint8();
22
- const maxChannel = Math.max.apply(null, channelArray);
23
- const counterDate = new Date(date);
24
- let value;
25
21
  const channelList = [];
26
- for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
27
- // IPK_${channelIndex}
28
- const pulseCoefficient = buffer.getUint8();
22
+ channels.forEach(channelIndex => {
29
23
  const dayList = [];
30
- counterDate.setTime(date.getTime());
31
24
  channelList.push({
32
25
  dayList,
33
- pulseCoefficient,
34
- index: channelIndex,
35
- seconds: getSecondsFromDate(counterDate),
36
- date: new Date(counterDate)
26
+ index: channelIndex
37
27
  });
38
28
  for (let day = 0; day < days; ++day) {
39
- value = buffer.getExtendedValue();
40
- counterDate.setTime(date.getTime());
41
- counterDate.setUTCHours(counterDate.getUTCHours() + (day * 24));
42
- dayList.push({
43
- value,
44
- day,
45
- meterValue: roundNumber(value / pulseCoefficient),
46
- date: new Date(counterDate),
47
- seconds: getSecondsFromDate(counterDate)
48
- });
29
+ dayList.push(buffer.getExtendedValue());
49
30
  }
50
- }
51
- return new ExAbsArchiveDayMC({ channelList, date, days });
31
+ });
32
+ return new ExAbsArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
52
33
  }
53
34
  toBytes() {
54
35
  const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
55
- const { channelList, date, days } = this.parameters;
56
- buffer.setDate(date);
36
+ const { channelList, startTime, days } = this.parameters;
37
+ buffer.setDate(startTime);
57
38
  buffer.setChannels(channelList);
58
39
  buffer.setUint8(days);
59
- channelList.forEach(({ dayList, pulseCoefficient }) => {
60
- buffer.setUint8(pulseCoefficient);
61
- dayList.forEach(({ value }) => {
62
- buffer.setExtendedValue(value);
63
- });
40
+ channelList.forEach(({ dayList }) => {
41
+ dayList.forEach(value => buffer.setExtendedValue(value));
64
42
  });
65
43
  return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
66
44
  }
67
45
  }
68
- ExAbsArchiveDayMC.id = COMMAND_ID;
69
- ExAbsArchiveDayMC.directionType = UPLINK;
70
- ExAbsArchiveDayMC.title = COMMAND_TITLE;
71
- export default ExAbsArchiveDayMC;
46
+ ExAbsArchiveDaysMC.id = COMMAND_ID;
47
+ ExAbsArchiveDaysMC.directionType = UPLINK;
48
+ ExAbsArchiveDaysMC.title = COMMAND_TITLE;
49
+ export default ExAbsArchiveDaysMC;
72
50
  //# sourceMappingURL=ExAbsArchiveDaysMC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExAbsArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveDaysMC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExAbsArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveDaysMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA0C,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAUzD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,sFAAsF;AACtF,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAGnC,MAAM,kBAAmB,SAAQ,OAAO;IACpC,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,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAA+B,EAAE,CAAC;QAEnD,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAkB,EAAE,CAAC;YAElC,WAAW,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,KAAK,EAAE,YAAY;aACtB,CAAC,CAAC;YAEH,KAAM,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAG;gBACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,kBAAkB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEvD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA1CM,qBAAE,GAAG,UAAU,CAAC;AAEP,gCAAa,GAAG,MAAM,CAAC;AAEhC,wBAAK,GAAG,aAAa,CAAC;AA0CjC,eAAe,kBAAkB,CAAC"}
@@ -1,11 +1,17 @@
1
- import GetCurrentMC from './GetCurrentMC.js';
2
- declare class ExAbsArchiveHourMC extends GetCurrentMC {
3
- parameters: any;
4
- constructor(parameters: any);
1
+ import Command from '../../Command.js';
2
+ import { IChannelHours } from '../../CommandBinaryBuffer.js';
3
+ interface IUplinkExAbsArchiveHoursMCParameters {
4
+ channelList: Array<IChannelHours>;
5
+ startTime: number;
6
+ hours: number;
7
+ }
8
+ declare class ExAbsArchiveHoursMC extends Command {
9
+ parameters: IUplinkExAbsArchiveHoursMCParameters;
10
+ constructor(parameters: IUplinkExAbsArchiveHoursMCParameters);
5
11
  static readonly id = 3103;
6
12
  static readonly directionType = 2;
7
- static readonly title = "EX_ABS_ARCH_HOUR_MUL";
8
- static fromBytes(data: Uint8Array): any;
13
+ static readonly title = "EX_ABS_ARCHIVE_HOUR_MC";
14
+ static fromBytes(data: Uint8Array): ExAbsArchiveHoursMC;
9
15
  toBytes(): Uint8Array;
10
16
  }
11
- export default ExAbsArchiveHourMC;
17
+ export default ExAbsArchiveHoursMC;