jooby-codec 1.1.0 → 1.3.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.
- package/dist/Command.d.ts +1 -1
- package/dist/Command.js +3 -4
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +37 -0
- package/dist/CommandBinaryBuffer.js +51 -2
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/UnknownCommand.d.ts +20 -0
- package/dist/UnknownCommand.js +22 -0
- package/dist/UnknownCommand.js.map +1 -0
- package/dist/commands/downlink/CorrectTime2000.d.ts +5 -5
- package/dist/commands/downlink/CorrectTime2000.js +6 -5
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMul.d.ts +47 -0
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js +65 -0
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js.map +1 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.d.ts +47 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js +67 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMul.d.ts +47 -0
- package/dist/commands/downlink/GetArchiveDaysMul.js +64 -0
- package/dist/commands/downlink/GetArchiveDaysMul.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMul.d.ts +47 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js +66 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +1 -1
- package/dist/commands/downlink/NewStatus.js +2 -1
- package/dist/commands/downlink/NewStatus.js.map +1 -1
- package/dist/commands/downlink/SetParameter.d.ts +73 -0
- package/dist/commands/downlink/SetParameter.js +136 -0
- package/dist/commands/downlink/SetParameter.js.map +1 -0
- package/dist/commands/downlink/SetTime2000.d.ts +5 -5
- package/dist/commands/downlink/SetTime2000.js +6 -5
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +1 -1
- package/dist/commands/downlink/SoftRestart.js +2 -1
- package/dist/commands/downlink/SoftRestart.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +5 -0
- package/dist/commands/downlink/index.js +5 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
- package/dist/commands/uplink/CorrectTime2000.js +2 -1
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMul.d.ts +2 -2
- package/dist/commands/uplink/DataDayMul.js +6 -5
- package/dist/commands/uplink/DataDayMul.js.map +1 -1
- package/dist/commands/uplink/DataHourMul.d.ts +1 -1
- package/dist/commands/uplink/DataHourMul.js +9 -9
- package/dist/commands/uplink/DataHourMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMul.d.ts +46 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js +72 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js.map +1 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.d.ts +11 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js +93 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js.map +1 -0
- package/dist/commands/uplink/ExAbsDayMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsDayMul.js +5 -5
- package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsHourMul.js +7 -7
- package/dist/commands/uplink/ExAbsHourMul.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMul.d.ts +73 -0
- package/dist/commands/uplink/GetArchiveDaysMul.js +97 -0
- package/dist/commands/uplink/GetArchiveDaysMul.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +28 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js +51 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMul.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMul.js +2 -1
- package/dist/commands/uplink/GetCurrentMul.js.map +1 -1
- package/dist/commands/uplink/LastEvent.d.ts +116 -0
- package/dist/commands/uplink/LastEvent.js +164 -0
- package/dist/commands/uplink/LastEvent.js.map +1 -0
- package/dist/commands/uplink/NewEvent.d.ts +3 -3
- package/dist/commands/uplink/NewEvent.js +8 -7
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +1 -1
- package/dist/commands/uplink/NewStatus.js +3 -2
- package/dist/commands/uplink/NewStatus.js.map +1 -1
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +2 -1
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +1 -1
- package/dist/commands/uplink/SoftRestart.js +2 -1
- package/dist/commands/uplink/SoftRestart.js.map +1 -1
- package/dist/commands/uplink/Time2000.d.ts +5 -5
- package/dist/commands/uplink/Time2000.js +6 -5
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +5 -0
- package/dist/commands/uplink/index.js +5 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/deviceParameters.d.ts +15 -0
- package/dist/constants/deviceParameters.js +16 -0
- package/dist/constants/deviceParameters.js.map +1 -0
- package/dist/constants/directionTypes.d.ts +3 -0
- package/dist/constants/directionTypes.js +4 -0
- package/dist/constants/directionTypes.js.map +1 -0
- package/dist/constants/hardwareTypes.d.ts +56 -0
- package/dist/constants/hardwareTypes.js +56 -14
- package/dist/constants/hardwareTypes.js.map +1 -1
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/bitSet.d.ts +40 -0
- package/dist/utils/bitSet.js +53 -0
- package/dist/utils/bitSet.js.map +1 -0
- package/dist/utils/message.d.ts +2 -5
- package/dist/utils/message.js +30 -30
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/time.d.ts +2 -2
- package/dist/utils/time.js +2 -2
- package/dist/utils/time.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +3 -3
package/dist/Command.d.ts
CHANGED
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
|
-
|
|
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.
|
|
@@ -78,8 +80,5 @@ class Command {
|
|
|
78
80
|
return JSON.stringify(this.getParameters());
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
|
-
Command.id = 0;
|
|
82
|
-
Command.isUplink = false;
|
|
83
|
-
Command.title = '';
|
|
84
83
|
export default Command;
|
|
85
84
|
//# sourceMappingURL=Command.js.map
|
package/dist/Command.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -13,6 +13,37 @@ export interface IBatteryVoltage {
|
|
|
13
13
|
*/
|
|
14
14
|
high: number | undefined;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Channel value hour diff
|
|
18
|
+
*/
|
|
19
|
+
export interface IHourDiff {
|
|
20
|
+
value: number;
|
|
21
|
+
hour: number;
|
|
22
|
+
seconds: number;
|
|
23
|
+
date: Date;
|
|
24
|
+
}
|
|
25
|
+
export interface IChannel {
|
|
26
|
+
/**
|
|
27
|
+
* Channel number.
|
|
28
|
+
*/
|
|
29
|
+
index: number;
|
|
30
|
+
/**
|
|
31
|
+
* Pulse counter or absolute value of device channel.
|
|
32
|
+
*/
|
|
33
|
+
value: number;
|
|
34
|
+
/**
|
|
35
|
+
* Values differences between hours.
|
|
36
|
+
*/
|
|
37
|
+
diff: Array<IHourDiff>;
|
|
38
|
+
/**
|
|
39
|
+
* time
|
|
40
|
+
*/
|
|
41
|
+
seconds: number | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Normal date in UTC.
|
|
44
|
+
*/
|
|
45
|
+
date: Date | undefined;
|
|
46
|
+
}
|
|
16
47
|
/**
|
|
17
48
|
* Command specific byte array manipulation.
|
|
18
49
|
*/
|
|
@@ -59,5 +90,11 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
59
90
|
setTime(value: number): void;
|
|
60
91
|
getBatterVoltage(): IBatteryVoltage;
|
|
61
92
|
setBatterVoltage(batteryVoltage: IBatteryVoltage): void;
|
|
93
|
+
getChannelsValuesWithHourDiff(): {
|
|
94
|
+
hourAmount: number;
|
|
95
|
+
channels: Array<IChannel>;
|
|
96
|
+
date: Date;
|
|
97
|
+
};
|
|
98
|
+
setChannelsValuesWithHourDiff(hourAmount: number, date: Date, channels: Array<IChannel>): void;
|
|
62
99
|
}
|
|
63
100
|
export default CommandBinaryBuffer;
|
|
@@ -1,5 +1,5 @@
|
|
|
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;
|
|
@@ -129,7 +129,12 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
129
129
|
return { hours, hour };
|
|
130
130
|
}
|
|
131
131
|
setHours(hour, hours) {
|
|
132
|
-
|
|
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));
|
|
133
138
|
}
|
|
134
139
|
getTime() {
|
|
135
140
|
return this.getUint32(false);
|
|
@@ -167,6 +172,50 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
167
172
|
const highVoltageByte = high & 0xff;
|
|
168
173
|
[lowVoltageByte, lowAndHighVoltageByte, highVoltageByte].forEach(byte => this.setUint8(byte));
|
|
169
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
|
+
const diff = [];
|
|
191
|
+
// decode hour value for channel
|
|
192
|
+
value = this.getExtendedValue();
|
|
193
|
+
counterDate.setTime(date.getTime());
|
|
194
|
+
channels.push({
|
|
195
|
+
value,
|
|
196
|
+
diff,
|
|
197
|
+
index: channelIndex,
|
|
198
|
+
seconds: getSecondsFromDate(counterDate),
|
|
199
|
+
date: new Date(counterDate)
|
|
200
|
+
});
|
|
201
|
+
for (let diffHour = 0; diffHour < hourAmount; ++diffHour) {
|
|
202
|
+
value = this.getExtendedValue();
|
|
203
|
+
counterDate.setUTCHours(counterDate.getUTCHours() + diffHour);
|
|
204
|
+
diff.push({ value, hour: diffHour, date: new Date(counterDate), seconds: getSecondsFromDate(counterDate) });
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return { channels, date, hourAmount };
|
|
208
|
+
}
|
|
209
|
+
setChannelsValuesWithHourDiff(hourAmount, date, channels) {
|
|
210
|
+
const hour = date.getUTCHours();
|
|
211
|
+
this.setDate(date);
|
|
212
|
+
this.setHours(hour, hourAmount);
|
|
213
|
+
this.setChannels(channels);
|
|
214
|
+
channels.forEach(({ value, diff }) => {
|
|
215
|
+
this.setExtendedValue(value);
|
|
216
|
+
diff.forEach(({ value: diffValue }) => this.setExtendedValue(diffValue));
|
|
217
|
+
});
|
|
218
|
+
}
|
|
170
219
|
}
|
|
171
220
|
export default CommandBinaryBuffer;
|
|
172
221
|
//# sourceMappingURL=CommandBinaryBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;
|
|
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"}
|
|
@@ -9,16 +9,16 @@ import Command from '../../Command.js';
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* // 120 seconds to the past
|
|
12
|
-
* {sequenceNumber: 45,
|
|
12
|
+
* {sequenceNumber: 45, seconds: -120}
|
|
13
13
|
*/
|
|
14
14
|
interface IDownlinkCorrectTime2000Parameters {
|
|
15
|
-
/**
|
|
15
|
+
/** unique time manipulation operation number */
|
|
16
16
|
sequenceNumber: number;
|
|
17
17
|
/**
|
|
18
18
|
* seconds
|
|
19
19
|
* range: [-127..+127]
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
seconds: number;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Downlink command.
|
|
@@ -28,7 +28,7 @@ interface IDownlinkCorrectTime2000Parameters {
|
|
|
28
28
|
* import CorrectTime2000 from 'jooby-codec/commands/downlink/CorrectTime2000';
|
|
29
29
|
*
|
|
30
30
|
* // 120 seconds to the past
|
|
31
|
-
* const parameters = {sequenceNumber: 45,
|
|
31
|
+
* const parameters = {sequenceNumber: 45, seconds: -120};
|
|
32
32
|
* const command = new CorrectTime2000(parameters);
|
|
33
33
|
*
|
|
34
34
|
* // output command binary in hex representation
|
|
@@ -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
|
|
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;
|
|
@@ -16,7 +17,7 @@ const COMMAND_BODY_SIZE = 2;
|
|
|
16
17
|
* import CorrectTime2000 from 'jooby-codec/commands/downlink/CorrectTime2000';
|
|
17
18
|
*
|
|
18
19
|
* // 120 seconds to the past
|
|
19
|
-
* const parameters = {sequenceNumber: 45,
|
|
20
|
+
* const parameters = {sequenceNumber: 45, seconds: -120};
|
|
20
21
|
* const command = new CorrectTime2000(parameters);
|
|
21
22
|
*
|
|
22
23
|
* // output command binary in hex representation
|
|
@@ -38,7 +39,7 @@ class CorrectTime2000 extends Command {
|
|
|
38
39
|
const buffer = new BinaryBuffer(data, false);
|
|
39
40
|
const parameters = {
|
|
40
41
|
sequenceNumber: buffer.getUint8(),
|
|
41
|
-
|
|
42
|
+
seconds: buffer.getInt8()
|
|
42
43
|
};
|
|
43
44
|
if (!buffer.isEmpty) {
|
|
44
45
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
@@ -47,15 +48,15 @@ class CorrectTime2000 extends Command {
|
|
|
47
48
|
}
|
|
48
49
|
// returns full message - header with body
|
|
49
50
|
toBytes() {
|
|
50
|
-
const { sequenceNumber,
|
|
51
|
+
const { sequenceNumber, seconds } = this.parameters;
|
|
51
52
|
const buffer = new BinaryBuffer(COMMAND_BODY_SIZE, false);
|
|
52
53
|
buffer.setUint8(sequenceNumber);
|
|
53
|
-
buffer.setInt8(
|
|
54
|
+
buffer.setInt8(seconds);
|
|
54
55
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
CorrectTime2000.id = COMMAND_ID;
|
|
58
|
-
CorrectTime2000.
|
|
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;
|
|
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,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;SAC5B,CAAC;QAEF,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExB,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/ExAbsArchiveDaysMul.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* ExAbsArchiveDaysMul command parameters
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // request for 1 days archive values from channel #1 from 2023-12-24T00:00:00.000Z or 756691200 seconds since 2000 year
|
|
12
|
+
* {channels: [0], dayAmount: 1, seconds: 756691200}
|
|
13
|
+
*/
|
|
14
|
+
interface IDownlinkExAbsArchiveDaysMulParameters {
|
|
15
|
+
/** amount of days to retrieve */
|
|
16
|
+
dayAmount: number;
|
|
17
|
+
/** time */
|
|
18
|
+
seconds: number;
|
|
19
|
+
/** array of channels indexes */
|
|
20
|
+
channels: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import ExAbsArchiveDaysMul from 'jooby-codec/commands/downlink/ExAbsArchiveDaysMul';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channels: [0], dayAmount: 1, seconds: 756691200};
|
|
30
|
+
* const command = new ExAbsArchiveDaysMul(parameters);
|
|
31
|
+
*
|
|
32
|
+
* // output command binary in hex representation
|
|
33
|
+
* console.log(command.toHex());
|
|
34
|
+
* // 1f 0c 04 2f 98 01 01
|
|
35
|
+
* ```
|
|
36
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsArchiveDaysMul.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class ExAbsArchiveDaysMul extends Command {
|
|
39
|
+
parameters: IDownlinkExAbsArchiveDaysMulParameters;
|
|
40
|
+
constructor(parameters: IDownlinkExAbsArchiveDaysMulParameters);
|
|
41
|
+
static readonly id = 3359;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "EX_ABS_ARCHIVE_DAYS_MUL";
|
|
44
|
+
static fromBytes(data: Uint8Array): ExAbsArchiveDaysMul;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default ExAbsArchiveDaysMul;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/ExAbsArchiveDaysMul.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
|
+
// TODO: rework extended headers detection
|
|
11
|
+
const COMMAND_ID = 0x0d1f;
|
|
12
|
+
const COMMAND_TITLE = 'EX_ABS_ARCHIVE_DAYS_MUL';
|
|
13
|
+
const COMMAND_BODY_SIZE = 4;
|
|
14
|
+
/**
|
|
15
|
+
* Downlink command
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```js
|
|
19
|
+
* import ExAbsArchiveDaysMul from 'jooby-codec/commands/downlink/ExAbsArchiveDaysMul';
|
|
20
|
+
*
|
|
21
|
+
* const parameters = {channels: [0], dayAmount: 1, seconds: 756691200};
|
|
22
|
+
* const command = new ExAbsArchiveDaysMul(parameters);
|
|
23
|
+
*
|
|
24
|
+
* // output command binary in hex representation
|
|
25
|
+
* console.log(command.toHex());
|
|
26
|
+
* // 1f 0c 04 2f 98 01 01
|
|
27
|
+
* ```
|
|
28
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsArchiveDaysMul.md#request)
|
|
29
|
+
*/
|
|
30
|
+
class ExAbsArchiveDaysMul extends Command {
|
|
31
|
+
constructor(parameters) {
|
|
32
|
+
super();
|
|
33
|
+
this.parameters = parameters;
|
|
34
|
+
this.parameters.channels = this.parameters.channels.sort((a, b) => a - b);
|
|
35
|
+
}
|
|
36
|
+
// data - only body (without header)
|
|
37
|
+
static fromBytes(data) {
|
|
38
|
+
if (data.byteLength !== COMMAND_BODY_SIZE) {
|
|
39
|
+
throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
|
|
40
|
+
}
|
|
41
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
42
|
+
const date = buffer.getDate();
|
|
43
|
+
const channels = buffer.getChannels(true);
|
|
44
|
+
const dayAmount = buffer.getUint8();
|
|
45
|
+
if (!buffer.isEmpty) {
|
|
46
|
+
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
47
|
+
}
|
|
48
|
+
return new ExAbsArchiveDaysMul({ channels, dayAmount, seconds: getSecondsFromDate(date) });
|
|
49
|
+
}
|
|
50
|
+
// returns full message - header with body
|
|
51
|
+
toBytes() {
|
|
52
|
+
const { channels, dayAmount, seconds } = this.parameters;
|
|
53
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
54
|
+
const date = getDateFromSeconds(seconds);
|
|
55
|
+
buffer.setDate(date);
|
|
56
|
+
buffer.setChannels(channels);
|
|
57
|
+
buffer.setUint8(dayAmount);
|
|
58
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ExAbsArchiveDaysMul.id = COMMAND_ID;
|
|
62
|
+
ExAbsArchiveDaysMul.directionType = DOWNLINK;
|
|
63
|
+
ExAbsArchiveDaysMul.title = COMMAND_TITLE;
|
|
64
|
+
export default ExAbsArchiveDaysMul;
|
|
65
|
+
//# sourceMappingURL=ExAbsArchiveDaysMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveDaysMul.js","sourceRoot":"","sources":["../../../src/commands/downlink/ExAbsArchiveDaysMul.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,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,mBAAoB,SAAQ,OAAO;IACrC,YAAqB,UAAkD;QACnE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAwC;QAGnE,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,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEpC,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,mBAAmB,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC7F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvD,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,QAAQ,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE3B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AArCe,sBAAE,GAAG,UAAU,CAAC;AAEhB,iCAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAK,GAAG,aAAa,CAAC;AAqC1C,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/ExAbsArchiveHoursMul.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* ExAbsArchiveHoursMul command parameters
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // request for 2 hours archive values from channel #1 from 2023-12-23T12:00:00.000Z or 756648000 seconds since 2000 year
|
|
12
|
+
* {channels: [0], hourAmount: 2, seconds: 756648000}
|
|
13
|
+
*/
|
|
14
|
+
interface IDownlinkExAbsArchiveHoursMulParameters {
|
|
15
|
+
/** amount of hours to retrieve */
|
|
16
|
+
hourAmount: number;
|
|
17
|
+
/** time */
|
|
18
|
+
seconds: number;
|
|
19
|
+
/** array of channels indexes */
|
|
20
|
+
channels: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import ExAbsArchiveHoursMul from 'jooby-codec/commands/downlink/ExAbsArchiveHoursMul';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channels: [0], hourAmount: 0, seconds: 756648000};
|
|
30
|
+
* const command = new ExAbsArchiveHoursMul(parameters);
|
|
31
|
+
*
|
|
32
|
+
* // output command binary in hex representation
|
|
33
|
+
* console.log(command.toHex());
|
|
34
|
+
* // 1f 0c 04 2f 97 0c 01
|
|
35
|
+
* ```
|
|
36
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsArchiveHoursMul.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class ExAbsArchiveHoursMul extends Command {
|
|
39
|
+
parameters: IDownlinkExAbsArchiveHoursMulParameters;
|
|
40
|
+
constructor(parameters: IDownlinkExAbsArchiveHoursMulParameters);
|
|
41
|
+
static readonly id = 3103;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "EX_ABS_ARCHIVE_HOUR_MUL";
|
|
44
|
+
static fromBytes(data: Uint8Array): ExAbsArchiveHoursMul;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default ExAbsArchiveHoursMul;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/ExAbsArchiveHoursMul.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
|
+
// TODO: rework extended headers detection
|
|
11
|
+
const COMMAND_ID = 0x0c1f;
|
|
12
|
+
const COMMAND_TITLE = 'EX_ABS_ARCHIVE_HOUR_MUL';
|
|
13
|
+
const COMMAND_BODY_SIZE = 4;
|
|
14
|
+
/**
|
|
15
|
+
* Downlink command
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```js
|
|
19
|
+
* import ExAbsArchiveHoursMul from 'jooby-codec/commands/downlink/ExAbsArchiveHoursMul';
|
|
20
|
+
*
|
|
21
|
+
* const parameters = {channels: [0], hourAmount: 0, seconds: 756648000};
|
|
22
|
+
* const command = new ExAbsArchiveHoursMul(parameters);
|
|
23
|
+
*
|
|
24
|
+
* // output command binary in hex representation
|
|
25
|
+
* console.log(command.toHex());
|
|
26
|
+
* // 1f 0c 04 2f 97 0c 01
|
|
27
|
+
* ```
|
|
28
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsArchiveHoursMul.md#request)
|
|
29
|
+
*/
|
|
30
|
+
class ExAbsArchiveHoursMul extends Command {
|
|
31
|
+
constructor(parameters) {
|
|
32
|
+
super();
|
|
33
|
+
this.parameters = parameters;
|
|
34
|
+
this.parameters.channels = this.parameters.channels.sort((a, b) => a - b);
|
|
35
|
+
}
|
|
36
|
+
// data - only body (without header)
|
|
37
|
+
static fromBytes(data) {
|
|
38
|
+
if (data.byteLength !== COMMAND_BODY_SIZE) {
|
|
39
|
+
throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
|
|
40
|
+
}
|
|
41
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
42
|
+
const date = buffer.getDate();
|
|
43
|
+
const { hour, hours: hourAmount } = buffer.getHours();
|
|
44
|
+
const channels = buffer.getChannels(true);
|
|
45
|
+
date.setUTCHours(hour);
|
|
46
|
+
if (!buffer.isEmpty) {
|
|
47
|
+
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
48
|
+
}
|
|
49
|
+
return new ExAbsArchiveHoursMul({ channels, hourAmount, seconds: getSecondsFromDate(date) });
|
|
50
|
+
}
|
|
51
|
+
// returns full message - header with body
|
|
52
|
+
toBytes() {
|
|
53
|
+
const { channels, hourAmount, seconds } = this.parameters;
|
|
54
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
55
|
+
const date = getDateFromSeconds(seconds);
|
|
56
|
+
const hour = date.getUTCHours();
|
|
57
|
+
buffer.setDate(date);
|
|
58
|
+
buffer.setHours(hour, hourAmount);
|
|
59
|
+
buffer.setChannels(channels);
|
|
60
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ExAbsArchiveHoursMul.id = COMMAND_ID;
|
|
64
|
+
ExAbsArchiveHoursMul.directionType = DOWNLINK;
|
|
65
|
+
ExAbsArchiveHoursMul.title = COMMAND_TITLE;
|
|
66
|
+
export default ExAbsArchiveHoursMul;
|
|
67
|
+
//# sourceMappingURL=ExAbsArchiveHoursMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/downlink/ExAbsArchiveHoursMul.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,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,oBAAqB,SAAQ,OAAO;IACtC,YAAqB,UAAmD;QACpE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAyC;QAGpE,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,oBAAoB,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC/F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxD,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,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,uBAAE,GAAG,UAAU,CAAC;AAEhB,kCAAa,GAAG,QAAQ,CAAC;AAEzB,0BAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveDaysMul.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* GetArchiveDaysMul command parameters
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // request for 1 days archive values from channel #1 from 2023-12-24T00:00:00.000Z or 756691200 seconds since 2000 year
|
|
12
|
+
* {channels: [0], dayAmount: 1, seconds: 756691200}
|
|
13
|
+
*/
|
|
14
|
+
interface IDownlinkGetArchiveDaysMulParameters {
|
|
15
|
+
/** amount of days to retrieve */
|
|
16
|
+
dayAmount: number;
|
|
17
|
+
/** time */
|
|
18
|
+
seconds: number;
|
|
19
|
+
/** array of channels indexes */
|
|
20
|
+
channels: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import GetArchiveDaysMul from 'jooby-codec/commands/downlink/GetArchiveDaysMul';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channels: [0], dayAmount: 1, seconds: 756691200};
|
|
30
|
+
* const command = new GetArchiveDaysMul(parameters);
|
|
31
|
+
*
|
|
32
|
+
* // output command binary in hex representation
|
|
33
|
+
* console.log(command.toHex());
|
|
34
|
+
* // 1b 04 2f 98 01 01
|
|
35
|
+
* ```
|
|
36
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMul.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class GetArchiveDaysMul extends Command {
|
|
39
|
+
parameters: IDownlinkGetArchiveDaysMulParameters;
|
|
40
|
+
constructor(parameters: IDownlinkGetArchiveDaysMulParameters);
|
|
41
|
+
static readonly id = 27;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "GET_ARCHIVE_DAYS_MUL";
|
|
44
|
+
static fromBytes(data: Uint8Array): GetArchiveDaysMul;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default GetArchiveDaysMul;
|