jooby-codec 1.2.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/CommandBinaryBuffer.d.ts +4 -8
- package/dist/CommandBinaryBuffer.js +9 -4
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/CorrectTime2000.d.ts +3 -3
- package/dist/commands/downlink/CorrectTime2000.js +4 -4
- 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 +5 -5
- package/dist/commands/downlink/GetArchiveHoursMul.js +5 -5
- package/dist/commands/downlink/GetArchiveHoursMul.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 +3 -3
- package/dist/commands/downlink/SetTime2000.js +4 -4
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +4 -0
- package/dist/commands/downlink/index.js +4 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/DataDayMul.d.ts +1 -1
- package/dist/commands/uplink/DataDayMul.js +4 -4
- package/dist/commands/uplink/DataDayMul.js.map +1 -1
- package/dist/commands/uplink/DataHourMul.js +5 -5
- 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.js +3 -3
- package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMul.js +5 -5
- 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 +2 -2
- package/dist/commands/uplink/GetArchiveHoursMul.js +6 -6
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +2 -2
- package/dist/commands/uplink/NewEvent.js +5 -5
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/Time2000.d.ts +3 -3
- package/dist/commands/uplink/Time2000.js +4 -4
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +3 -0
- package/dist/commands/uplink/index.js +3 -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/utils/bitSet.d.ts +2 -2
- package/dist/utils/bitSet.js +2 -3
- package/dist/utils/bitSet.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 +1 -1
- package/readme.md +3 -3
|
@@ -1,8 +1,4 @@
|
|
|
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
2
|
export interface IBatteryVoltage {
|
|
7
3
|
/**
|
|
8
4
|
* battery voltage value at low consumption, in mV;
|
|
@@ -18,12 +14,12 @@ export interface IBatteryVoltage {
|
|
|
18
14
|
high: number | undefined;
|
|
19
15
|
}
|
|
20
16
|
/**
|
|
21
|
-
*
|
|
17
|
+
* Channel value hour diff
|
|
22
18
|
*/
|
|
23
19
|
export interface IHourDiff {
|
|
24
20
|
value: number;
|
|
25
21
|
hour: number;
|
|
26
|
-
|
|
22
|
+
seconds: number;
|
|
27
23
|
date: Date;
|
|
28
24
|
}
|
|
29
25
|
export interface IChannel {
|
|
@@ -40,9 +36,9 @@ export interface IChannel {
|
|
|
40
36
|
*/
|
|
41
37
|
diff: Array<IHourDiff>;
|
|
42
38
|
/**
|
|
43
|
-
*
|
|
39
|
+
* time
|
|
44
40
|
*/
|
|
45
|
-
|
|
41
|
+
seconds: number | undefined;
|
|
46
42
|
/**
|
|
47
43
|
* Normal date in UTC.
|
|
48
44
|
*/
|
|
@@ -187,16 +187,21 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
187
187
|
hourAmount = 1;
|
|
188
188
|
}
|
|
189
189
|
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
190
|
+
const diff = [];
|
|
190
191
|
// decode hour value for channel
|
|
191
192
|
value = this.getExtendedValue();
|
|
192
193
|
counterDate.setTime(date.getTime());
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
channels.push({
|
|
195
|
+
value,
|
|
196
|
+
diff,
|
|
197
|
+
index: channelIndex,
|
|
198
|
+
seconds: getSecondsFromDate(counterDate),
|
|
199
|
+
date: new Date(counterDate)
|
|
200
|
+
});
|
|
196
201
|
for (let diffHour = 0; diffHour < hourAmount; ++diffHour) {
|
|
197
202
|
value = this.getExtendedValue();
|
|
198
203
|
counterDate.setUTCHours(counterDate.getUTCHours() + diffHour);
|
|
199
|
-
diff.push({ value, hour: diffHour, date: new Date(counterDate),
|
|
204
|
+
diff.push({ value, hour: diffHour, date: new Date(counterDate), seconds: getSecondsFromDate(counterDate) });
|
|
200
205
|
}
|
|
201
206
|
}
|
|
202
207
|
return { channels, date, hourAmount };
|
|
@@ -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,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ 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 */
|
|
@@ -18,7 +18,7 @@ interface IDownlinkCorrectTime2000Parameters {
|
|
|
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
|
|
@@ -17,7 +17,7 @@ const COMMAND_BODY_SIZE = 2;
|
|
|
17
17
|
* import CorrectTime2000 from 'jooby-codec/commands/downlink/CorrectTime2000';
|
|
18
18
|
*
|
|
19
19
|
* // 120 seconds to the past
|
|
20
|
-
* const parameters = {sequenceNumber: 45,
|
|
20
|
+
* const parameters = {sequenceNumber: 45, seconds: -120};
|
|
21
21
|
* const command = new CorrectTime2000(parameters);
|
|
22
22
|
*
|
|
23
23
|
* // output command binary in hex representation
|
|
@@ -39,7 +39,7 @@ class CorrectTime2000 extends Command {
|
|
|
39
39
|
const buffer = new BinaryBuffer(data, false);
|
|
40
40
|
const parameters = {
|
|
41
41
|
sequenceNumber: buffer.getUint8(),
|
|
42
|
-
|
|
42
|
+
seconds: buffer.getInt8()
|
|
43
43
|
};
|
|
44
44
|
if (!buffer.isEmpty) {
|
|
45
45
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
@@ -48,10 +48,10 @@ class CorrectTime2000 extends Command {
|
|
|
48
48
|
}
|
|
49
49
|
// returns full message - header with body
|
|
50
50
|
toBytes() {
|
|
51
|
-
const { sequenceNumber,
|
|
51
|
+
const { sequenceNumber, seconds } = this.parameters;
|
|
52
52
|
const buffer = new BinaryBuffer(COMMAND_BODY_SIZE, false);
|
|
53
53
|
buffer.setUint8(sequenceNumber);
|
|
54
|
-
buffer.setInt8(
|
|
54
|
+
buffer.setInt8(seconds);
|
|
55
55
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -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;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,
|
|
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;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveDaysMul.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 = 0x1b;
|
|
11
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MUL';
|
|
12
|
+
const COMMAND_BODY_SIZE = 4;
|
|
13
|
+
/**
|
|
14
|
+
* Downlink command
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```js
|
|
18
|
+
* import GetArchiveDaysMul from 'jooby-codec/commands/downlink/GetArchiveDaysMul';
|
|
19
|
+
*
|
|
20
|
+
* const parameters = {channels: [0], dayAmount: 1, seconds: 756691200};
|
|
21
|
+
* const command = new GetArchiveDaysMul(parameters);
|
|
22
|
+
*
|
|
23
|
+
* // output command binary in hex representation
|
|
24
|
+
* console.log(command.toHex());
|
|
25
|
+
* // 1b 04 2f 98 01 01
|
|
26
|
+
* ```
|
|
27
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMul.md#request)
|
|
28
|
+
*/
|
|
29
|
+
class GetArchiveDaysMul 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 channels = buffer.getChannels(true);
|
|
43
|
+
const dayAmount = buffer.getUint8();
|
|
44
|
+
if (!buffer.isEmpty) {
|
|
45
|
+
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
46
|
+
}
|
|
47
|
+
return new GetArchiveDaysMul({ channels, dayAmount, seconds: getSecondsFromDate(date) });
|
|
48
|
+
}
|
|
49
|
+
// returns full message - header with body
|
|
50
|
+
toBytes() {
|
|
51
|
+
const { channels, dayAmount, seconds } = this.parameters;
|
|
52
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
53
|
+
const date = getDateFromSeconds(seconds);
|
|
54
|
+
buffer.setDate(date);
|
|
55
|
+
buffer.setChannels(channels);
|
|
56
|
+
buffer.setUint8(dayAmount);
|
|
57
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
GetArchiveDaysMul.id = COMMAND_ID;
|
|
61
|
+
GetArchiveDaysMul.directionType = DOWNLINK;
|
|
62
|
+
GetArchiveDaysMul.title = COMMAND_TITLE;
|
|
63
|
+
export default GetArchiveDaysMul;
|
|
64
|
+
//# sourceMappingURL=GetArchiveDaysMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysMul.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveDaysMul.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,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAAgD;QACjE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsC;QAGjE,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,iBAAiB,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC3F,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,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAK,GAAG,aAAa,CAAC;AAqC1C,eAAe,iBAAiB,CAAC"}
|
|
@@ -4,29 +4,29 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
import Command from '../../Command.js';
|
|
7
|
-
import { Seconds } from '../../CommandBinaryBuffer.js';
|
|
8
7
|
/**
|
|
9
8
|
* GetArchiveHoursMul command parameters
|
|
10
9
|
*
|
|
11
10
|
* @example
|
|
12
11
|
* // 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,
|
|
12
|
+
* {channels: [0], hourAmount: 2, seconds: 756648000}
|
|
14
13
|
*/
|
|
15
14
|
interface IDownlinkGetArchiveHoursMulParameters {
|
|
16
15
|
/** amount of hours to retrieve */
|
|
17
16
|
hourAmount: number;
|
|
18
|
-
time
|
|
17
|
+
/** time */
|
|
18
|
+
seconds: number;
|
|
19
19
|
/** array of channels indexes */
|
|
20
20
|
channels: Array<number>;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
* Downlink command
|
|
23
|
+
* Downlink command
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
26
|
* ```js
|
|
27
27
|
* import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
|
|
28
28
|
*
|
|
29
|
-
* const parameters = {channels: [0], hourAmount: 0,
|
|
29
|
+
* const parameters = {channels: [0], hourAmount: 0, seconds: 756648000};
|
|
30
30
|
* const command = new GetArchiveHoursMul(parameters);
|
|
31
31
|
*
|
|
32
32
|
* // output command binary in hex representation
|
|
@@ -11,13 +11,13 @@ const COMMAND_ID = 0x1a;
|
|
|
11
11
|
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
|
|
12
12
|
const COMMAND_BODY_SIZE = 4;
|
|
13
13
|
/**
|
|
14
|
-
* Downlink command
|
|
14
|
+
* Downlink command
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```js
|
|
18
18
|
* import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
|
|
19
19
|
*
|
|
20
|
-
* const parameters = {channels: [0], hourAmount: 0,
|
|
20
|
+
* const parameters = {channels: [0], hourAmount: 0, seconds: 756648000};
|
|
21
21
|
* const command = new GetArchiveHoursMul(parameters);
|
|
22
22
|
*
|
|
23
23
|
* // output command binary in hex representation
|
|
@@ -45,13 +45,13 @@ class GetArchiveHoursMul extends Command {
|
|
|
45
45
|
if (!buffer.isEmpty) {
|
|
46
46
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
47
47
|
}
|
|
48
|
-
return new GetArchiveHoursMul({ channels, hourAmount,
|
|
48
|
+
return new GetArchiveHoursMul({ channels, hourAmount, seconds: getSecondsFromDate(date) });
|
|
49
49
|
}
|
|
50
50
|
// returns full message - header with body
|
|
51
51
|
toBytes() {
|
|
52
|
-
const { channels, hourAmount,
|
|
52
|
+
const { channels, hourAmount, seconds } = this.parameters;
|
|
53
53
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
54
|
-
const date = getDateFromSeconds(
|
|
54
|
+
const date = getDateFromSeconds(seconds);
|
|
55
55
|
const hour = date.getUTCHours();
|
|
56
56
|
buffer.setDate(date);
|
|
57
57
|
buffer.setHours(hour, hourAmount);
|
|
@@ -1 +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,
|
|
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,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,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,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC7F,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,qBAAE,GAAG,UAAU,CAAC;AAEhB,gCAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,kBAAkB,CAAC"}
|