jooby-codec 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Command.d.ts +13 -4
- package/dist/Command.js +7 -3
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +53 -23
- package/dist/CommandBinaryBuffer.js +111 -58
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +2 -2
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js +6 -6
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +2 -2
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js +6 -6
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsCurrentMC.d.ts +30 -0
- package/dist/commands/downlink/ExAbsCurrentMC.js +43 -0
- package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +2 -2
- package/dist/commands/downlink/GetArchiveDaysMC.js +6 -6
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +2 -2
- package/dist/commands/downlink/GetArchiveHoursMC.js +6 -6
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/GetCurrentMC.d.ts +25 -0
- package/dist/commands/downlink/GetCurrentMC.js +41 -0
- package/dist/commands/downlink/GetCurrentMC.js.map +1 -0
- package/dist/commands/downlink/SetParameter.d.ts +7 -1
- package/dist/commands/downlink/SetParameter.js +11 -0
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +2 -0
- package/dist/commands/downlink/index.js +2 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +2 -2
- package/dist/commands/uplink/DataDayMC.js +8 -8
- package/dist/commands/uplink/DataDayMC.js.map +1 -1
- package/dist/commands/uplink/DataHourMC.d.ts +10 -4
- package/dist/commands/uplink/DataHourMC.js +13 -35
- package/dist/commands/uplink/DataHourMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +9 -38
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +16 -38
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +13 -7
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +24 -60
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.d.ts +15 -0
- package/dist/commands/uplink/ExAbsCurrentMC.js +30 -0
- package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -0
- package/dist/commands/uplink/ExAbsDayMC.d.ts +8 -3
- package/dist/commands/uplink/ExAbsDayMC.js +10 -36
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMC.d.ts +58 -6
- package/dist/commands/uplink/ExAbsHourMC.js +45 -50
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +5 -29
- package/dist/commands/uplink/GetArchiveDaysMC.js +11 -37
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +47 -7
- package/dist/commands/uplink/GetArchiveHoursMC.js +43 -23
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/GetCurrentMC.d.ts +25 -9
- package/dist/commands/uplink/GetCurrentMC.js +59 -3
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +1 -1
- package/dist/commands/uplink/NewEvent.js +1 -1
- package/dist/commands/uplink/index.d.ts +1 -0
- package/dist/commands/uplink/index.js +1 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/deviceParameters.d.ts +5 -1
- package/dist/constants/deviceParameters.js +5 -1
- package/dist/constants/deviceParameters.js.map +1 -1
- package/dist/utils/bitSet.d.ts +2 -2
- package/dist/utils/bitSet.js +2 -2
- package/dist/utils/message.d.ts +8 -0
- package/dist/utils/message.js +1 -1
- package/dist/utils/message.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/ExAbsCurrentMC.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* Downlink command
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```js
|
|
12
|
+
* import ExAbsCurrentMC from 'jooby-codec/commands/downlink/ExAbsCurrentMC';
|
|
13
|
+
*
|
|
14
|
+
* const command = new ExAbsCurrentMC();
|
|
15
|
+
*
|
|
16
|
+
* // output command binary in hex representation
|
|
17
|
+
* console.log(command.toHex());
|
|
18
|
+
* // 1f 0f 00
|
|
19
|
+
* ```
|
|
20
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsCurrentMC.md#request)
|
|
21
|
+
*/
|
|
22
|
+
declare class ExAbsCurrentMC extends Command {
|
|
23
|
+
constructor();
|
|
24
|
+
static readonly id = 3871;
|
|
25
|
+
static readonly directionType = 1;
|
|
26
|
+
static readonly title = "EX_ABS_CURRENT_MC";
|
|
27
|
+
static fromBytes(): ExAbsCurrentMC;
|
|
28
|
+
toBytes(): Uint8Array;
|
|
29
|
+
}
|
|
30
|
+
export default ExAbsCurrentMC;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/ExAbsCurrentMC.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
8
|
+
// TODO: rework extended headers detection
|
|
9
|
+
const COMMAND_ID = 0x0f1f;
|
|
10
|
+
const COMMAND_TITLE = 'EX_ABS_CURRENT_MC';
|
|
11
|
+
/**
|
|
12
|
+
* Downlink command
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```js
|
|
16
|
+
* import ExAbsCurrentMC from 'jooby-codec/commands/downlink/ExAbsCurrentMC';
|
|
17
|
+
*
|
|
18
|
+
* const command = new ExAbsCurrentMC();
|
|
19
|
+
*
|
|
20
|
+
* // output command binary in hex representation
|
|
21
|
+
* console.log(command.toHex());
|
|
22
|
+
* // 1f 0f 00
|
|
23
|
+
* ```
|
|
24
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsCurrentMC.md#request)
|
|
25
|
+
*/
|
|
26
|
+
class ExAbsCurrentMC extends Command {
|
|
27
|
+
constructor() {
|
|
28
|
+
super();
|
|
29
|
+
}
|
|
30
|
+
// data - only body (without header)
|
|
31
|
+
static fromBytes() {
|
|
32
|
+
return new ExAbsCurrentMC();
|
|
33
|
+
}
|
|
34
|
+
// eslint-disable-next-line class-methods-use-this
|
|
35
|
+
toBytes() {
|
|
36
|
+
return Command.toBytes(COMMAND_ID);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ExAbsCurrentMC.id = COMMAND_ID;
|
|
40
|
+
ExAbsCurrentMC.directionType = DOWNLINK;
|
|
41
|
+
ExAbsCurrentMC.title = COMMAND_TITLE;
|
|
42
|
+
export default ExAbsCurrentMC;
|
|
43
|
+
//# sourceMappingURL=ExAbsCurrentMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/ExAbsCurrentMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAG1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAe,SAAQ,OAAO;IAChC;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,QAAQ,CAAC;AAEzB,oBAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,cAAc,CAAC"}
|
|
@@ -15,7 +15,7 @@ interface IDownlinkGetArchiveDaysMCParameters {
|
|
|
15
15
|
/** amount of days to retrieve */
|
|
16
16
|
days: number;
|
|
17
17
|
/** time */
|
|
18
|
-
|
|
18
|
+
startTime: number;
|
|
19
19
|
/** array of channelList indexes */
|
|
20
20
|
channelList: Array<number>;
|
|
21
21
|
}
|
|
@@ -40,7 +40,7 @@ declare class GetArchiveDaysMC extends Command {
|
|
|
40
40
|
constructor(parameters: IDownlinkGetArchiveDaysMCParameters);
|
|
41
41
|
static readonly id = 27;
|
|
42
42
|
static readonly directionType = 1;
|
|
43
|
-
static readonly title = "
|
|
43
|
+
static readonly title = "GET_ARCHIVE_DAYS_MC";
|
|
44
44
|
static fromBytes(data: Uint8Array): GetArchiveDaysMC;
|
|
45
45
|
toBytes(): Uint8Array;
|
|
46
46
|
}
|
|
@@ -8,7 +8,7 @@ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
|
8
8
|
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
9
9
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
10
10
|
const COMMAND_ID = 0x1b;
|
|
11
|
-
const COMMAND_TITLE = '
|
|
11
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MC';
|
|
12
12
|
const COMMAND_BODY_SIZE = 4;
|
|
13
13
|
/**
|
|
14
14
|
* Downlink command
|
|
@@ -39,20 +39,20 @@ class GetArchiveDaysMC extends Command {
|
|
|
39
39
|
}
|
|
40
40
|
const buffer = new CommandBinaryBuffer(data);
|
|
41
41
|
const date = buffer.getDate();
|
|
42
|
-
const channelList = buffer.getChannels(
|
|
42
|
+
const channelList = buffer.getChannels();
|
|
43
43
|
const days = buffer.getUint8();
|
|
44
44
|
if (!buffer.isEmpty) {
|
|
45
45
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
46
46
|
}
|
|
47
|
-
return new GetArchiveDaysMC({ channelList, days,
|
|
47
|
+
return new GetArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
|
|
48
48
|
}
|
|
49
49
|
// returns full message - header with body
|
|
50
50
|
toBytes() {
|
|
51
|
-
const { channelList, days,
|
|
51
|
+
const { channelList, days, startTime } = this.parameters;
|
|
52
52
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
53
|
-
const date = getDateFromSeconds(
|
|
53
|
+
const date = getDateFromSeconds(startTime);
|
|
54
54
|
buffer.setDate(date);
|
|
55
|
-
buffer.setChannels(channelList);
|
|
55
|
+
buffer.setChannels(channelList.map(index => ({ index })));
|
|
56
56
|
buffer.setUint8(days);
|
|
57
57
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAC5C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAA+C;QAChE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAqC;QAGhE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAc,CAAA,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AArCe,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,QAAQ,CAAC;AAEzB,sBAAK,GAAG,aAAa,CAAC;AAqC1C,eAAe,gBAAgB,CAAC"}
|
|
@@ -15,7 +15,7 @@ interface IDownlinkGetArchiveHoursMCParameters {
|
|
|
15
15
|
/** amount of hours to retrieve */
|
|
16
16
|
hours: number;
|
|
17
17
|
/** time */
|
|
18
|
-
|
|
18
|
+
startTime: number;
|
|
19
19
|
/** array of channelList indexes */
|
|
20
20
|
channelList: Array<number>;
|
|
21
21
|
}
|
|
@@ -40,7 +40,7 @@ declare class GetArchiveHoursMC extends Command {
|
|
|
40
40
|
constructor(parameters: IDownlinkGetArchiveHoursMCParameters);
|
|
41
41
|
static readonly id = 26;
|
|
42
42
|
static readonly directionType = 1;
|
|
43
|
-
static readonly title = "
|
|
43
|
+
static readonly title = "GET_ARCHIVE_HOURS_MC";
|
|
44
44
|
static fromBytes(data: Uint8Array): GetArchiveHoursMC;
|
|
45
45
|
toBytes(): Uint8Array;
|
|
46
46
|
}
|
|
@@ -8,7 +8,7 @@ import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
|
8
8
|
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
9
9
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
10
10
|
const COMMAND_ID = 0x1a;
|
|
11
|
-
const COMMAND_TITLE = '
|
|
11
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MC';
|
|
12
12
|
const COMMAND_BODY_SIZE = 4;
|
|
13
13
|
/**
|
|
14
14
|
* Downlink command
|
|
@@ -40,22 +40,22 @@ class GetArchiveHoursMC extends Command {
|
|
|
40
40
|
const buffer = new CommandBinaryBuffer(data);
|
|
41
41
|
const date = buffer.getDate();
|
|
42
42
|
const { hour, hours } = buffer.getHours();
|
|
43
|
-
const channelList = buffer.getChannels(
|
|
43
|
+
const channelList = buffer.getChannels();
|
|
44
44
|
date.setUTCHours(hour);
|
|
45
45
|
if (!buffer.isEmpty) {
|
|
46
46
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
47
47
|
}
|
|
48
|
-
return new GetArchiveHoursMC({ channelList, hours,
|
|
48
|
+
return new GetArchiveHoursMC({ channelList, hours, startTime: getSecondsFromDate(date) });
|
|
49
49
|
}
|
|
50
50
|
// returns full message - header with body
|
|
51
51
|
toBytes() {
|
|
52
|
-
const { channelList, hours,
|
|
52
|
+
const { channelList, hours, startTime } = this.parameters;
|
|
53
53
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
54
|
-
const date = getDateFromSeconds(
|
|
54
|
+
const date = getDateFromSeconds(startTime);
|
|
55
55
|
const hour = date.getUTCHours();
|
|
56
56
|
buffer.setDate(date);
|
|
57
57
|
buffer.setHours(hour, hours);
|
|
58
|
-
buffer.setChannels(channelList);
|
|
58
|
+
buffer.setChannels(channelList.map(index => ({ index })));
|
|
59
59
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAAgD;QACjE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsC;QAGjE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,iBAAiB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC5F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAc,CAAA,CAAC,CAAC,CAAC;QAEpE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Downlink command.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```js
|
|
7
|
+
* import GetCurrentMC from 'jooby-codec/commands/downlink/GetCurrentMC';
|
|
8
|
+
*
|
|
9
|
+
* const command = new GetCurrentMC();
|
|
10
|
+
*
|
|
11
|
+
* // output command binary in hex representation
|
|
12
|
+
* console.log(command.toHex());
|
|
13
|
+
* // 18 00
|
|
14
|
+
* ```
|
|
15
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#request)
|
|
16
|
+
*/
|
|
17
|
+
declare class GetCurrentMC extends Command {
|
|
18
|
+
static readonly id = 24;
|
|
19
|
+
static readonly directionType = 1;
|
|
20
|
+
static readonly title = "GET_CURRENT_MC";
|
|
21
|
+
static readonly examples: TCommandExampleList;
|
|
22
|
+
static fromBytes(): GetCurrentMC;
|
|
23
|
+
toBytes(): Uint8Array;
|
|
24
|
+
}
|
|
25
|
+
export default GetCurrentMC;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
3
|
+
const COMMAND_ID = 0x18;
|
|
4
|
+
const COMMAND_TITLE = 'GET_CURRENT_MC';
|
|
5
|
+
const examples = [
|
|
6
|
+
{
|
|
7
|
+
name: 'simple request',
|
|
8
|
+
hex: { header: '18 00', body: '' }
|
|
9
|
+
}
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Downlink command.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```js
|
|
16
|
+
* import GetCurrentMC from 'jooby-codec/commands/downlink/GetCurrentMC';
|
|
17
|
+
*
|
|
18
|
+
* const command = new GetCurrentMC();
|
|
19
|
+
*
|
|
20
|
+
* // output command binary in hex representation
|
|
21
|
+
* console.log(command.toHex());
|
|
22
|
+
* // 18 00
|
|
23
|
+
* ```
|
|
24
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#request)
|
|
25
|
+
*/
|
|
26
|
+
class GetCurrentMC extends Command {
|
|
27
|
+
// data - only body (without header)
|
|
28
|
+
static fromBytes() {
|
|
29
|
+
return new GetCurrentMC();
|
|
30
|
+
}
|
|
31
|
+
// eslint-disable-next-line class-methods-use-this
|
|
32
|
+
toBytes() {
|
|
33
|
+
return Command.toBytes(COMMAND_ID);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
GetCurrentMC.id = COMMAND_ID;
|
|
37
|
+
GetCurrentMC.directionType = DOWNLINK;
|
|
38
|
+
GetCurrentMC.title = COMMAND_TITLE;
|
|
39
|
+
GetCurrentMC.examples = examples;
|
|
40
|
+
export default GetCurrentMC;
|
|
41
|
+
//# sourceMappingURL=GetCurrentMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetCurrentMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAC;KACnC;CACJ,CAAC;AAGF;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAa,SAAQ,OAAO;IAS9B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAhBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,kBAAK,GAAG,aAAa,CAAC;AAEtB,qBAAQ,GAAG,QAAQ,CAAC;AAcxC,eAAe,YAAY,CAAC"}
|
|
@@ -27,7 +27,13 @@ interface IParameterInitialDataMC extends IParameterInitialData {
|
|
|
27
27
|
interface IParameterAbsoluteDataStatus {
|
|
28
28
|
status: number;
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
|
|
31
|
+
/**
|
|
32
|
+
* Channel that accept status changing.
|
|
33
|
+
*/
|
|
34
|
+
channel: number;
|
|
35
|
+
}
|
|
36
|
+
type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
|
|
31
37
|
/**
|
|
32
38
|
* SetParameter command parameters
|
|
33
39
|
*
|
|
@@ -94,6 +94,12 @@ class SetParameter extends Command {
|
|
|
94
94
|
status: buffer.getUint8()
|
|
95
95
|
};
|
|
96
96
|
break;
|
|
97
|
+
case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
|
|
98
|
+
parameterData = {
|
|
99
|
+
channel: buffer.getUint8(),
|
|
100
|
+
status: buffer.getUint8()
|
|
101
|
+
};
|
|
102
|
+
break;
|
|
97
103
|
default:
|
|
98
104
|
throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
|
|
99
105
|
}
|
|
@@ -123,6 +129,11 @@ class SetParameter extends Command {
|
|
|
123
129
|
parameterData = data;
|
|
124
130
|
buffer.setUint8(parameterData.status);
|
|
125
131
|
break;
|
|
132
|
+
case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
|
|
133
|
+
parameterData = data;
|
|
134
|
+
buffer.setUint8(parameterData.channel);
|
|
135
|
+
buffer.setUint8(parameterData.status);
|
|
136
|
+
break;
|
|
126
137
|
default:
|
|
127
138
|
throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
|
|
128
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
7
|
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
8
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
9
10
|
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
10
11
|
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
12
|
+
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
11
13
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
14
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
15
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
7
|
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
8
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
9
10
|
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
10
11
|
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
12
|
+
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
11
13
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
14
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
15
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -6,14 +6,14 @@ interface IDataDayMCParameters extends IGetCurrentMCParameters {
|
|
|
6
6
|
/**
|
|
7
7
|
* Seconds since year 2000, i.e. timestamp (in seconds) - 946684800
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
startTime: number;
|
|
10
10
|
}
|
|
11
11
|
declare class DataDayMC extends GetCurrentMC {
|
|
12
12
|
parameters: IDataDayMCParameters;
|
|
13
13
|
constructor(parameters: IDataDayMCParameters);
|
|
14
14
|
static readonly id = 22;
|
|
15
15
|
static readonly directionType = 2;
|
|
16
|
-
static readonly title = "
|
|
16
|
+
static readonly title = "DATA_DAY_MC";
|
|
17
17
|
static fromBytes(data: Uint8Array): DataDayMC;
|
|
18
18
|
toBytes(): Uint8Array;
|
|
19
19
|
}
|
|
@@ -5,7 +5,7 @@ import { getSecondsFromDate } from '../../utils/time.js';
|
|
|
5
5
|
import GetCurrentMC from './GetCurrentMC.js';
|
|
6
6
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
7
7
|
const COMMAND_ID = 0x16;
|
|
8
|
-
const COMMAND_TITLE = '
|
|
8
|
+
const COMMAND_TITLE = 'DATA_DAY_MC';
|
|
9
9
|
// 2 byte for date + 2 for channels (max channels: 7)
|
|
10
10
|
// 4 + (7 * 4)
|
|
11
11
|
const COMMAND_BODY_MAX_SIZE = 32;
|
|
@@ -15,22 +15,22 @@ class DataDayMC extends GetCurrentMC {
|
|
|
15
15
|
this.parameters = parameters;
|
|
16
16
|
}
|
|
17
17
|
static fromBytes(data) {
|
|
18
|
-
const parameters = { channelList: [],
|
|
18
|
+
const parameters = { channelList: [], startTime: 0 };
|
|
19
19
|
const buffer = new CommandBinaryBuffer(data);
|
|
20
20
|
const date = buffer.getDate();
|
|
21
|
-
const
|
|
22
|
-
parameters.channelList =
|
|
21
|
+
const channels = buffer.getChannels();
|
|
22
|
+
parameters.channelList = channels.map(channelIndex => ({
|
|
23
23
|
value: buffer.getExtendedValue(),
|
|
24
24
|
index: channelIndex
|
|
25
25
|
}));
|
|
26
|
-
parameters.
|
|
26
|
+
parameters.startTime = getSecondsFromDate(date);
|
|
27
27
|
return new DataDayMC(parameters);
|
|
28
28
|
}
|
|
29
29
|
toBytes() {
|
|
30
30
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
31
|
-
const { channelList,
|
|
32
|
-
buffer.setDate(
|
|
33
|
-
buffer.setChannels(channelList
|
|
31
|
+
const { channelList, startTime } = this.parameters;
|
|
32
|
+
buffer.setDate(startTime);
|
|
33
|
+
buffer.setChannels(channelList);
|
|
34
34
|
channelList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
35
35
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMC.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"DataDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMC.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,YAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,SAAU,SAAQ,YAAY;IAChC,YAAqB,UAAgC;QACjD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAsB;IAErD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAAyB,EAAC,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEtC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACnD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAkB,CAAC,CAAC;QAErB,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,eAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,SAAS,CAAC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import GetCurrentMC from './GetCurrentMC.js';
|
|
2
|
+
import { IChannelHours } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
interface IDataHourMCParameters {
|
|
4
|
+
channelList: Array<IChannelHours>;
|
|
5
|
+
startTime: number;
|
|
6
|
+
hours: number;
|
|
7
|
+
}
|
|
2
8
|
declare class DataHourMC extends GetCurrentMC {
|
|
3
|
-
parameters:
|
|
4
|
-
constructor(parameters:
|
|
9
|
+
parameters: IDataHourMCParameters;
|
|
10
|
+
constructor(parameters: IDataHourMCParameters);
|
|
5
11
|
static readonly id = 23;
|
|
6
12
|
static readonly directionType = 2;
|
|
7
|
-
static readonly title = "
|
|
8
|
-
static fromBytes(data: Uint8Array):
|
|
13
|
+
static readonly title = "DATA_HOUR_MC";
|
|
14
|
+
static fromBytes(data: Uint8Array): DataHourMC;
|
|
9
15
|
toBytes(): Uint8Array;
|
|
10
16
|
}
|
|
11
17
|
export default DataHourMC;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
1
|
import Command from '../../Command.js';
|
|
6
2
|
import GetCurrentMC from './GetCurrentMC.js';
|
|
7
3
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
8
4
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
5
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
10
6
|
const COMMAND_ID = 0x17;
|
|
11
|
-
const COMMAND_TITLE = '
|
|
7
|
+
const COMMAND_TITLE = 'DATA_HOUR_MC';
|
|
12
8
|
// date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
|
|
13
9
|
// max hours diff - 7 (3 bit value)
|
|
14
10
|
// 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
@@ -22,50 +18,32 @@ class DataHourMC extends GetCurrentMC {
|
|
|
22
18
|
const buffer = new CommandBinaryBuffer(data);
|
|
23
19
|
const date = buffer.getDate();
|
|
24
20
|
const { hour, hours } = buffer.getHours();
|
|
25
|
-
const
|
|
26
|
-
const maxChannel = Math.max.apply(null, channelArray);
|
|
21
|
+
const channels = buffer.getChannels();
|
|
27
22
|
date.setUTCHours(hour);
|
|
28
|
-
const counterDate = new Date(date);
|
|
29
|
-
let hourAmount = hours;
|
|
30
23
|
let value;
|
|
31
24
|
const channelList = [];
|
|
32
|
-
|
|
33
|
-
// one hour
|
|
34
|
-
hourAmount = 1;
|
|
35
|
-
}
|
|
36
|
-
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
25
|
+
channels.forEach(channelIndex => {
|
|
37
26
|
// decode hour value for channel
|
|
38
27
|
value = buffer.getExtendedValue();
|
|
39
|
-
counterDate.setTime(date.getTime());
|
|
40
28
|
const diff = [];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (let hourIndex = 0; hourIndex < hourAmount; ++hourIndex) {
|
|
44
|
-
value = buffer.getExtendedValue();
|
|
45
|
-
counterDate.setUTCHours(counterDate.getUTCHours() + hourIndex);
|
|
46
|
-
diff.push({ value, seconds: getSecondsFromDate(counterDate) });
|
|
29
|
+
for (let diffHour = 0; diffHour < hours; ++diffHour) {
|
|
30
|
+
diff.push(buffer.getExtendedValue());
|
|
47
31
|
}
|
|
48
|
-
|
|
49
|
-
|
|
32
|
+
channelList.push({ value, index: channelIndex, diff });
|
|
33
|
+
});
|
|
34
|
+
return new DataHourMC({ channelList, hours, startTime: getSecondsFromDate(date) });
|
|
50
35
|
}
|
|
51
36
|
toBytes() {
|
|
52
37
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
53
|
-
const { channelList } = this.parameters;
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
let hours = channelList[0].diff.length;
|
|
58
|
-
if (hours === 1) {
|
|
59
|
-
hours = 0;
|
|
60
|
-
}
|
|
61
|
-
buffer.setDate(seconds);
|
|
38
|
+
const { channelList, startTime, hours } = this.parameters;
|
|
39
|
+
const date = getDateFromSeconds(startTime);
|
|
40
|
+
const hour = date.getUTCHours();
|
|
41
|
+
buffer.setDate(date);
|
|
62
42
|
buffer.setHours(hour, hours);
|
|
63
43
|
buffer.setChannels(channelList);
|
|
64
44
|
for (const { value, diff } of channelList) {
|
|
65
45
|
buffer.setExtendedValue(value);
|
|
66
|
-
|
|
67
|
-
buffer.setExtendedValue(diffValue);
|
|
68
|
-
}
|
|
46
|
+
diff.forEach(diffValue => buffer.setExtendedValue(diffValue));
|
|
69
47
|
}
|
|
70
48
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
71
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMC.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DataHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAUzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,0EAA0E;AAC1E,mCAAmC;AACnC,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,UAAW,SAAQ,YAAY;IACjC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,KAAK,CAAC;QAEV,MAAM,WAAW,GAAyB,EAAE,CAAC;QAE7C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5B,gCAAgC;YAChC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAElC,MAAM,IAAI,GAAkB,EAAE,CAAC;YAE/B,KAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,QAAQ,EAAG;gBACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACxC;YAED,WAAW,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,UAAU,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IACrF,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAExD,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhC,KAAM,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,WAAW,EAAG;YACvC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;SACjE;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AApDe,aAAE,GAAG,UAAU,CAAC;AAEhB,wBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAK,GAAG,aAAa,CAAC;AAoD1C,eAAe,UAAU,CAAC"}
|
|
@@ -1,46 +1,17 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
value: number;
|
|
7
|
-
meterValue: number;
|
|
8
|
-
day: number;
|
|
9
|
-
seconds: number;
|
|
10
|
-
date: Date;
|
|
11
|
-
}
|
|
12
|
-
interface IArchiveChannelDayAbsolute {
|
|
13
|
-
/**
|
|
14
|
-
* channel number
|
|
15
|
-
*/
|
|
16
|
-
index: number;
|
|
17
|
-
/**
|
|
18
|
-
* values by days
|
|
19
|
-
*/
|
|
20
|
-
dayList: Array<IArchiveChannelDayAbsoluteValue>;
|
|
21
|
-
/**
|
|
22
|
-
* Channel pulse coefficient - IPK in bytes.
|
|
23
|
-
*/
|
|
24
|
-
pulseCoefficient: number;
|
|
25
|
-
/** time */
|
|
26
|
-
seconds: number;
|
|
27
|
-
/**
|
|
28
|
-
* Normal date in UTC.
|
|
29
|
-
*/
|
|
30
|
-
date: Date;
|
|
31
|
-
}
|
|
32
|
-
interface IUplinkExAbsArchiveDayMCParameters {
|
|
33
|
-
channelList: Array<IArchiveChannelDayAbsolute>;
|
|
34
|
-
date: Date;
|
|
2
|
+
import { IChannelArchiveDays } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
interface IUplinkExAbsArchiveDaysMCParameters {
|
|
4
|
+
channelList: Array<IChannelArchiveDays>;
|
|
5
|
+
startTime: number;
|
|
35
6
|
days: number;
|
|
36
7
|
}
|
|
37
|
-
declare class
|
|
38
|
-
parameters:
|
|
39
|
-
constructor(parameters:
|
|
8
|
+
declare class ExAbsArchiveDaysMC extends Command {
|
|
9
|
+
parameters: IUplinkExAbsArchiveDaysMCParameters;
|
|
10
|
+
constructor(parameters: IUplinkExAbsArchiveDaysMCParameters);
|
|
40
11
|
static id: number;
|
|
41
12
|
static readonly directionType = 2;
|
|
42
13
|
static title: string;
|
|
43
|
-
static fromBytes(data: Uint8Array):
|
|
14
|
+
static fromBytes(data: Uint8Array): ExAbsArchiveDaysMC;
|
|
44
15
|
toBytes(): Uint8Array;
|
|
45
16
|
}
|
|
46
|
-
export default
|
|
17
|
+
export default ExAbsArchiveDaysMC;
|