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
package/dist/Command.d.ts CHANGED
@@ -4,7 +4,7 @@ import { IHexFormatOptions } from './utils/getHexFromBytes.js';
4
4
  */
5
5
  declare class Command {
6
6
  static id: number;
7
- static isUplink: boolean;
7
+ static directionType: unknown;
8
8
  static title: string;
9
9
  parameters: unknown;
10
10
  /** Get command ID in hex format. */
@@ -24,10 +24,10 @@ declare class Command {
24
24
  * Build header with body.
25
25
  *
26
26
  * @param id command id
27
- * @param commandData command binary data
27
+ * @param commandData optional command binary data
28
28
  * @returns merged data
29
29
  */
30
- static toBytes(id: number, commandData: Uint8Array): Uint8Array;
30
+ static toBytes(id: number, commandData?: Uint8Array): Uint8Array;
31
31
  /** Get command parameters. */
32
32
  getParameters(): unknown;
33
33
  toBytes(): Uint8Array;
package/dist/Command.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as header from './utils/header.js';
2
2
  import getHexFromBytes from './utils/getHexFromBytes.js';
3
+ import { UPLINK } from './constants/directionTypes.js';
3
4
  /**
4
5
  * private
5
6
  */
@@ -10,7 +11,8 @@ class Command {
10
11
  }
11
12
  /** Get command ID and title. */
12
13
  static getName() {
13
- return `${this.isUplink ? 'uplink' : 'downlink'} command ${this.getId()}:${this.title}`;
14
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
15
+ return `${this.directionType === UPLINK ? 'uplink' : 'downlink'} command ${this.getId()}:${this.title}`;
14
16
  }
15
17
  /**
16
18
  * Parse header with body.
@@ -43,15 +45,20 @@ class Command {
43
45
  * Build header with body.
44
46
  *
45
47
  * @param id command id
46
- * @param commandData command binary data
48
+ * @param commandData optional command binary data
47
49
  * @returns merged data
48
50
  */
49
51
  static toBytes(id, commandData) {
50
- const headerData = header.toBytes(id, commandData.length);
51
- const resultData = new Uint8Array(headerData.length + commandData.length);
52
- resultData.set(headerData);
53
- resultData.set(commandData, headerData.length);
54
- return resultData;
52
+ const commandLength = commandData?.length ?? 0;
53
+ const headerData = header.toBytes(id, commandLength);
54
+ if (commandData && commandLength) {
55
+ const resultData = new Uint8Array(headerData.length + commandLength);
56
+ resultData.set(headerData);
57
+ resultData.set(commandData, headerData.length);
58
+ return resultData;
59
+ }
60
+ // simple command without body
61
+ return headerData;
55
62
  }
56
63
  /** Get command parameters. */
57
64
  getParameters() {
@@ -73,8 +80,5 @@ class Command {
73
80
  return JSON.stringify(this.getParameters());
74
81
  }
75
82
  }
76
- Command.id = 0;
77
- Command.isUplink = false;
78
- Command.title = '';
79
83
  export default Command;
80
84
  //# sourceMappingURL=Command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;AAG9E;;GAEG;AACH,MAAM,OAAO;IAST,oCAAoC;IACpC,MAAM,CAAC,KAAK;QACR,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,OAAO;QACV,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5F,CAAC;IAGD;;;;;;;;OAQG;IACH,kEAAkE;IAClE,iDAAiD;IAEjD,4EAA4E;IAC5E,2BAA2B;IAC3B,2IAA2I;IAC3I,aAAa;IACb,QAAQ;IAER,0DAA0D;IAE1D,wBAAwB;IACxB,2BAA2B;IAC3B,sEAAsE;IACtE,aAAa;IACb,QAAQ;IAER,oEAAoE;IACpE,gCAAgC;IAChC,4FAA4F;IAC5F,SAAS;IACT,IAAI;IAGJ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAuB;QAChD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1E,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAE/C,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAG,UAA6B,EAAE;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;;AA1FM,UAAE,GAAG,CAAC,CAAC;AAEP,gBAAQ,GAAG,KAAK,CAAC;AAEjB,aAAK,GAAG,EAAE,CAAC;AA0FtB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD;;GAEG;AACH,MAAM,OAAO;IAST,oCAAoC;IACpC,MAAM,CAAC,KAAK;QACR,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,OAAO;QACV,uEAAuE;QACvE,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5G,CAAC;IAGD;;;;;;;;OAQG;IACH,kEAAkE;IAClE,iDAAiD;IAEjD,4EAA4E;IAC5E,2BAA2B;IAC3B,2IAA2I;IAC3I,aAAa;IACb,QAAQ;IAER,0DAA0D;IAE1D,wBAAwB;IACxB,2BAA2B;IAC3B,sEAAsE;IACtE,aAAa;IACb,QAAQ;IAER,oEAAoE;IACpE,gCAAgC;IAChC,4FAA4F;IAC5F,SAAS;IACT,IAAI;IAGJ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAwB;QACjD,MAAM,aAAa,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAErD,IAAK,WAAW,IAAI,aAAa,EAAG;YAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YAErE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAE/C,OAAO,UAAU,CAAC;SACrB;QAED,8BAA8B;QAC9B,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAG,UAA6B,EAAE;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAGD,eAAe,OAAO,CAAC"}
@@ -1,4 +1,53 @@
1
1
  import BinaryBuffer from './BinaryBuffer.js';
2
+ /**
3
+ * Time from UTC 2000-01-01 00:00:00 in seconds.
4
+ */
5
+ export type Seconds = number;
6
+ export interface IBatteryVoltage {
7
+ /**
8
+ * battery voltage value at low consumption, in mV;
9
+ *
10
+ * 4095 === undefined
11
+ */
12
+ low: number | undefined;
13
+ /**
14
+ * battery voltage value at hight consumption, in mV;
15
+ *
16
+ * 4095 === undefined
17
+ */
18
+ high: number | undefined;
19
+ }
20
+ /**
21
+ * Hour channel
22
+ */
23
+ export interface IHourDiff {
24
+ value: number;
25
+ hour: number;
26
+ time: Seconds;
27
+ date: Date;
28
+ }
29
+ export interface IChannel {
30
+ /**
31
+ * Channel number.
32
+ */
33
+ index: number;
34
+ /**
35
+ * Pulse counter or absolute value of device channel.
36
+ */
37
+ value: number;
38
+ /**
39
+ * Values differences between hours.
40
+ */
41
+ diff: Array<IHourDiff>;
42
+ /**
43
+ * Value time.
44
+ */
45
+ time: Seconds | undefined;
46
+ /**
47
+ * Normal date in UTC.
48
+ */
49
+ date: Date | undefined;
50
+ }
2
51
  /**
3
52
  * Command specific byte array manipulation.
4
53
  */
@@ -41,5 +90,15 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
41
90
  hour: number;
42
91
  };
43
92
  setHours(hour: number, hours: number): void;
93
+ getTime(): number;
94
+ setTime(value: number): void;
95
+ getBatterVoltage(): IBatteryVoltage;
96
+ setBatterVoltage(batteryVoltage: IBatteryVoltage): void;
97
+ getChannelsValuesWithHourDiff(): {
98
+ hourAmount: number;
99
+ channels: Array<IChannel>;
100
+ date: Date;
101
+ };
102
+ setChannelsValuesWithHourDiff(hourAmount: number, date: Date, channels: Array<IChannel>): void;
44
103
  }
45
104
  export default CommandBinaryBuffer;
@@ -1,11 +1,12 @@
1
1
  import BinaryBuffer from './BinaryBuffer.js';
2
- import { getDateFromSeconds } from './utils/time.js';
2
+ import { getDateFromSeconds, getSecondsFromDate } from './utils/time.js';
3
3
  const INITIAL_YEAR = 2000;
4
4
  const MONTH_BIT_SIZE = 4;
5
5
  const DATE_BIT_SIZE = 5;
6
6
  const YEAR_START_INDEX = 1;
7
7
  const CHANNELS_FULL_MASK = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40];
8
8
  const CHANNELS_SHORT_MASK = [0x01, 0x02, 0x04, 0x08];
9
+ const UNKNOWN_BATTER_VOLTAGE = 4095;
9
10
  /**
10
11
  * Command specific byte array manipulation.
11
12
  */
@@ -128,7 +129,87 @@ class CommandBinaryBuffer extends BinaryBuffer {
128
129
  return { hours, hour };
129
130
  }
130
131
  setHours(hour, hours) {
131
- this.setUint8(((hours & 0x07) << 5) | (hour & 0x1f));
132
+ let hourAmount = hours;
133
+ // TODO: add link to doc
134
+ if (hourAmount === 1) {
135
+ hourAmount = 0;
136
+ }
137
+ this.setUint8(((hourAmount & 0x07) << 5) | (hour & 0x1f));
138
+ }
139
+ getTime() {
140
+ return this.getUint32(false);
141
+ }
142
+ setTime(value) {
143
+ return this.setUint32(value, false);
144
+ }
145
+ getBatterVoltage() {
146
+ let high;
147
+ let low;
148
+ const lowVoltageByte = this.getUint8();
149
+ const lowAndHightVoltageByte = this.getUint8();
150
+ const highVoltageByte = this.getUint8();
151
+ low = lowVoltageByte << 4;
152
+ low |= (lowAndHightVoltageByte & 0xf0) >> 4;
153
+ high = ((lowAndHightVoltageByte & 0x0f) << 8) | highVoltageByte;
154
+ if (high === UNKNOWN_BATTER_VOLTAGE) {
155
+ high = undefined;
156
+ }
157
+ if (low === UNKNOWN_BATTER_VOLTAGE) {
158
+ low = undefined;
159
+ }
160
+ return { low, high };
161
+ }
162
+ setBatterVoltage(batteryVoltage) {
163
+ let { low, high } = batteryVoltage;
164
+ if (low === undefined) {
165
+ low = UNKNOWN_BATTER_VOLTAGE;
166
+ }
167
+ if (high === undefined) {
168
+ high = UNKNOWN_BATTER_VOLTAGE;
169
+ }
170
+ const lowVoltageByte = (low >> 4) & 0xff;
171
+ const lowAndHighVoltageByte = ((low & 0x0f) << 4) | ((high >> 8) & 0x0f);
172
+ const highVoltageByte = high & 0xff;
173
+ [lowVoltageByte, lowAndHighVoltageByte, highVoltageByte].forEach(byte => this.setUint8(byte));
174
+ }
175
+ getChannelsValuesWithHourDiff() {
176
+ const date = this.getDate();
177
+ const { hour, hours } = this.getHours();
178
+ const channelArray = this.getChannels(true);
179
+ const maxChannel = Math.max.apply(null, channelArray);
180
+ const channels = [];
181
+ let hourAmount = hours;
182
+ let value;
183
+ date.setUTCHours(hour);
184
+ const counterDate = new Date(date);
185
+ // TODO: add link to doc
186
+ if (hourAmount === 0) {
187
+ hourAmount = 1;
188
+ }
189
+ for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
190
+ // decode hour value for channel
191
+ value = this.getExtendedValue();
192
+ counterDate.setTime(date.getTime());
193
+ const diff = [];
194
+ const channel = { value, index: channelIndex, time: getSecondsFromDate(counterDate), date: new Date(counterDate), diff };
195
+ channels.push(channel);
196
+ for (let diffHour = 0; diffHour < hourAmount; ++diffHour) {
197
+ value = this.getExtendedValue();
198
+ counterDate.setUTCHours(counterDate.getUTCHours() + diffHour);
199
+ diff.push({ value, hour: diffHour, date: new Date(counterDate), time: getSecondsFromDate(counterDate) });
200
+ }
201
+ }
202
+ return { channels, date, hourAmount };
203
+ }
204
+ setChannelsValuesWithHourDiff(hourAmount, date, channels) {
205
+ const hour = date.getUTCHours();
206
+ this.setDate(date);
207
+ this.setHours(hour, hourAmount);
208
+ this.setChannels(channels);
209
+ channels.forEach(({ value, diff }) => {
210
+ this.setExtendedValue(value);
211
+ diff.forEach(({ value: diffValue }) => this.setExtendedValue(diffValue));
212
+ });
132
213
  }
133
214
  }
134
215
  export default CommandBinaryBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import Command from './Command.js';
2
+ /**
3
+ * UnknownCommand command parameters.
4
+ */
5
+ interface IUnknownCommandParameters {
6
+ /** command id */
7
+ id: number;
8
+ /** raw data */
9
+ data: Uint8Array;
10
+ }
11
+ /**
12
+ * Unknown command.
13
+ */
14
+ declare class UnknownCommand extends Command {
15
+ parameters: IUnknownCommandParameters;
16
+ constructor(parameters: IUnknownCommandParameters);
17
+ static fromBytes(data: Uint8Array, id: number): UnknownCommand;
18
+ toBytes(): Uint8Array;
19
+ }
20
+ export default UnknownCommand;
@@ -0,0 +1,22 @@
1
+ import Command from './Command.js';
2
+ /**
3
+ * Unknown command.
4
+ */
5
+ class UnknownCommand extends Command {
6
+ constructor(parameters) {
7
+ super();
8
+ this.parameters = parameters;
9
+ }
10
+ // data - only body (without header)
11
+ static fromBytes(data, id) {
12
+ const parameters = { id, data };
13
+ return new UnknownCommand(parameters);
14
+ }
15
+ // returns full message - header with body
16
+ toBytes() {
17
+ const { id, data } = this.parameters;
18
+ return Command.toBytes(id, data);
19
+ }
20
+ }
21
+ export default UnknownCommand;
22
+ //# sourceMappingURL=UnknownCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnknownCommand.js","sourceRoot":"","sources":["../src/UnknownCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAcnC;;GAEG;AACH,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAAqC;QACtD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA2B;IAE1D,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB,EAAE,EAAU;QAC3C,MAAM,UAAU,GAA8B,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;QAEzD,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACJ;AAGD,eAAe,cAAc,CAAC"}
@@ -12,7 +12,7 @@ import Command from '../../Command.js';
12
12
  * {sequenceNumber: 45, time: -120}
13
13
  */
14
14
  interface IDownlinkCorrectTime2000Parameters {
15
- /** sequence Number */
15
+ /** unique time manipulation operation number */
16
16
  sequenceNumber: number;
17
17
  /**
18
18
  * seconds
@@ -41,7 +41,7 @@ declare class CorrectTime2000 extends Command {
41
41
  parameters: IDownlinkCorrectTime2000Parameters;
42
42
  constructor(parameters: IDownlinkCorrectTime2000Parameters);
43
43
  static readonly id = 12;
44
- static readonly isUplink = false;
44
+ static readonly directionType = 1;
45
45
  static readonly title = "CORRECT_TIME_2000";
46
46
  static fromBytes(data: Uint8Array): CorrectTime2000;
47
47
  toBytes(): Uint8Array;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import Command from '../../Command.js';
7
7
  import BinaryBuffer from '../../BinaryBuffer.js';
8
+ import { DOWNLINK } from '../../constants/directionTypes.js';
8
9
  const COMMAND_ID = 0x0c;
9
10
  const COMMAND_TITLE = 'CORRECT_TIME_2000';
10
11
  const COMMAND_BODY_SIZE = 2;
@@ -55,7 +56,7 @@ class CorrectTime2000 extends Command {
55
56
  }
56
57
  }
57
58
  CorrectTime2000.id = COMMAND_ID;
58
- CorrectTime2000.isUplink = false;
59
+ CorrectTime2000.directionType = DOWNLINK;
59
60
  CorrectTime2000.title = COMMAND_TITLE;
60
61
  export default CorrectTime2000;
61
62
  //# sourceMappingURL=CorrectTime2000.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAGjD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAqB5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;IAEnE,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;SACzB,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,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,wBAAQ,GAAG,KAAK,CAAC;AAEjB,qBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAqB5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;IAEnE,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;SACzB,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,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,eAAe,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * [[include:commands/downlink/GetArchiveHoursMul.md]]
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import Command from '../../Command.js';
7
+ import { Seconds } from '../../CommandBinaryBuffer.js';
8
+ /**
9
+ * GetArchiveHoursMul command parameters
10
+ *
11
+ * @example
12
+ * // request for 2 hours archive values from channel #1 from 2023-12-23T12:00:00.000Z or 756648000 seconds since 2000 year
13
+ * {channels: [0], hourAmount: 2, time: 756648000}
14
+ */
15
+ interface IDownlinkGetArchiveHoursMulParameters {
16
+ /** amount of hours to retrieve */
17
+ hourAmount: number;
18
+ time: Seconds;
19
+ /** array of channels indexes */
20
+ channels: Array<number>;
21
+ }
22
+ /**
23
+ * Downlink command.
24
+ *
25
+ * @example
26
+ * ```js
27
+ * import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
28
+ *
29
+ * const parameters = {channels: [0], hourAmount: 0, time: 756648000};
30
+ * const command = new GetArchiveHoursMul(parameters);
31
+ *
32
+ * // output command binary in hex representation
33
+ * console.log(command.toHex());
34
+ * // 1a 04 2f 97 0c 01
35
+ * ```
36
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMul.md#request)
37
+ */
38
+ declare class GetArchiveHoursMul extends Command {
39
+ parameters: IDownlinkGetArchiveHoursMulParameters;
40
+ constructor(parameters: IDownlinkGetArchiveHoursMulParameters);
41
+ static readonly id = 26;
42
+ static readonly directionType = 1;
43
+ static readonly title = "GET_ARCHIVE_HOURS_MUL";
44
+ static fromBytes(data: Uint8Array): GetArchiveHoursMul;
45
+ toBytes(): Uint8Array;
46
+ }
47
+ export default GetArchiveHoursMul;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * [[include:commands/downlink/GetArchiveHoursMul.md]]
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import Command from '../../Command.js';
7
+ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
8
+ import { DOWNLINK } from '../../constants/directionTypes.js';
9
+ import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
10
+ const COMMAND_ID = 0x1a;
11
+ const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
12
+ const COMMAND_BODY_SIZE = 4;
13
+ /**
14
+ * Downlink command.
15
+ *
16
+ * @example
17
+ * ```js
18
+ * import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
19
+ *
20
+ * const parameters = {channels: [0], hourAmount: 0, time: 756648000};
21
+ * const command = new GetArchiveHoursMul(parameters);
22
+ *
23
+ * // output command binary in hex representation
24
+ * console.log(command.toHex());
25
+ * // 1a 04 2f 97 0c 01
26
+ * ```
27
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMul.md#request)
28
+ */
29
+ class GetArchiveHoursMul extends Command {
30
+ constructor(parameters) {
31
+ super();
32
+ this.parameters = parameters;
33
+ this.parameters.channels = this.parameters.channels.sort((a, b) => a - b);
34
+ }
35
+ // data - only body (without header)
36
+ static fromBytes(data) {
37
+ if (data.byteLength !== COMMAND_BODY_SIZE) {
38
+ throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
39
+ }
40
+ const buffer = new CommandBinaryBuffer(data);
41
+ const date = buffer.getDate();
42
+ const { hour, hours: hourAmount } = buffer.getHours();
43
+ const channels = buffer.getChannels(true);
44
+ date.setUTCHours(hour);
45
+ if (!buffer.isEmpty) {
46
+ throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
47
+ }
48
+ return new GetArchiveHoursMul({ channels, hourAmount, time: getSecondsFromDate(date) });
49
+ }
50
+ // returns full message - header with body
51
+ toBytes() {
52
+ const { channels, hourAmount, time } = this.parameters;
53
+ const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
54
+ const date = getDateFromSeconds(time);
55
+ const hour = date.getUTCHours();
56
+ buffer.setDate(date);
57
+ buffer.setHours(hour, hourAmount);
58
+ buffer.setChannels(channels);
59
+ return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
60
+ }
61
+ }
62
+ GetArchiveHoursMul.id = COMMAND_ID;
63
+ GetArchiveHoursMul.directionType = DOWNLINK;
64
+ GetArchiveHoursMul.title = COMMAND_TITLE;
65
+ export default GetArchiveHoursMul;
66
+ //# sourceMappingURL=GetArchiveHoursMul.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMul.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA8B,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAqB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAmB,SAAQ,OAAO;IACpC,YAAqB,UAAiD;QAClE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAuC;QAGlE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,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,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,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,kBAAkB,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,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,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,qBAAE,GAAG,UAAU,CAAC;AAEhB,gCAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import Command from '../../Command.js';
2
+ /**
3
+ * Downlink command.
4
+ *
5
+ * @example
6
+ * ```js
7
+ * import NewStatus from 'jooby-codec/commands/downlink/NewStatus';
8
+ *
9
+ * const command = new NewStatus();
10
+ *
11
+ * // output command binary in hex representation
12
+ * console.log(command.toHex());
13
+ * // 14 00
14
+ * ```
15
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/NewStatus.md#request)
16
+ */
17
+ declare class NewStatus extends Command {
18
+ constructor();
19
+ static readonly id = 20;
20
+ static readonly directionType = 1;
21
+ static readonly title = "NEW_STATUS";
22
+ static fromBytes(): NewStatus;
23
+ toBytes(): Uint8Array;
24
+ }
25
+ export default NewStatus;
@@ -0,0 +1,37 @@
1
+ import Command from '../../Command.js';
2
+ import { DOWNLINK } from '../../constants/directionTypes.js';
3
+ const COMMAND_ID = 0x14;
4
+ const COMMAND_TITLE = 'NEW_STATUS';
5
+ /**
6
+ * Downlink command.
7
+ *
8
+ * @example
9
+ * ```js
10
+ * import NewStatus from 'jooby-codec/commands/downlink/NewStatus';
11
+ *
12
+ * const command = new NewStatus();
13
+ *
14
+ * // output command binary in hex representation
15
+ * console.log(command.toHex());
16
+ * // 14 00
17
+ * ```
18
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/NewStatus.md#request)
19
+ */
20
+ class NewStatus extends Command {
21
+ constructor() {
22
+ super();
23
+ }
24
+ // data - only body (without header)
25
+ static fromBytes() {
26
+ return new NewStatus();
27
+ }
28
+ // eslint-disable-next-line class-methods-use-this
29
+ toBytes() {
30
+ return Command.toBytes(COMMAND_ID);
31
+ }
32
+ }
33
+ NewStatus.id = COMMAND_ID;
34
+ NewStatus.directionType = DOWNLINK;
35
+ NewStatus.title = COMMAND_TITLE;
36
+ export default NewStatus;
37
+ //# sourceMappingURL=NewStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewStatus.js","sourceRoot":"","sources":["../../../src/commands/downlink/NewStatus.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,YAAY,CAAC;AAGnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAU,SAAQ,OAAO;IAC3B;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,QAAQ,CAAC;AAEzB,eAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,SAAS,CAAC"}
@@ -12,7 +12,7 @@ import Command from '../../Command.js';
12
12
  * {sequenceNumber: 77, time: 733845677}
13
13
  */
14
14
  interface IDownlinkSetTime2000Parameters {
15
- /** sequence Number */
15
+ /** unique time manipulation operation number */
16
16
  sequenceNumber: number;
17
17
  /** seconds */
18
18
  time: number;
@@ -37,7 +37,7 @@ declare class SetTime2000 extends Command {
37
37
  parameters: IDownlinkSetTime2000Parameters;
38
38
  constructor(parameters: IDownlinkSetTime2000Parameters);
39
39
  static readonly id = 2;
40
- static readonly isUplink = false;
40
+ static readonly directionType = 1;
41
41
  static readonly title = "SET_TIME_2000";
42
42
  static fromBytes(data: Uint8Array): SetTime2000;
43
43
  toBytes(): Uint8Array;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import Command from '../../Command.js';
7
7
  import BinaryBuffer from '../../BinaryBuffer.js';
8
+ import { DOWNLINK } from '../../constants/directionTypes.js';
8
9
  const COMMAND_ID = 0x02;
9
10
  const COMMAND_TITLE = 'SET_TIME_2000';
10
11
  const COMMAND_BODY_SIZE = 5;
@@ -54,7 +55,7 @@ class SetTime2000 extends Command {
54
55
  }
55
56
  }
56
57
  SetTime2000.id = COMMAND_ID;
57
- SetTime2000.isUplink = false;
58
+ SetTime2000.directionType = DOWNLINK;
58
59
  SetTime2000.title = COMMAND_TITLE;
59
60
  export default SetTime2000;
60
61
  //# sourceMappingURL=SetTime2000.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAGjD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAkB5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAA0C;QAC3D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgC;IAE/D,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,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;;AAlCe,cAAE,GAAG,UAAU,CAAC;AAEhB,oBAAQ,GAAG,KAAK,CAAC;AAEjB,iBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAkB3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAA0C;QAC3D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgC;IAE/D,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,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;;AAlCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ import Command from '../../Command.js';
2
+ /**
3
+ * Downlink command.
4
+ *
5
+ * @example
6
+ * ```js
7
+ * import SoftRestart from 'jooby-codec/commands/downlink/SoftRestart';
8
+ *
9
+ * const command = new SoftRestart();
10
+ *
11
+ * // output command binary in hex representation
12
+ * console.log(command.toHex());
13
+ * // 19 00
14
+ * ```
15
+ * [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/SoftRestart.md#request)
16
+ */
17
+ declare class SoftRestart extends Command {
18
+ static readonly id = 25;
19
+ static readonly directionType = 1;
20
+ static readonly title = "SOFT_RESTART";
21
+ static fromBytes(): SoftRestart;
22
+ toBytes(): Uint8Array;
23
+ }
24
+ export default SoftRestart;