jooby-codec 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Command.d.ts +3 -3
- package/dist/Command.js +14 -10
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +59 -0
- package/dist/CommandBinaryBuffer.js +83 -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 +2 -2
- package/dist/commands/downlink/CorrectTime2000.js +2 -1
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- 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 +25 -0
- package/dist/commands/downlink/NewStatus.js +37 -0
- package/dist/commands/downlink/NewStatus.js.map +1 -0
- package/dist/commands/downlink/SetTime2000.d.ts +2 -2
- package/dist/commands/downlink/SetTime2000.js +2 -1
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +24 -0
- package/dist/commands/downlink/SoftRestart.js +34 -0
- package/dist/commands/downlink/SoftRestart.js.map +1 -0
- package/dist/commands/downlink/index.d.ts +3 -0
- package/dist/commands/downlink/index.js +3 -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 +1 -1
- package/dist/commands/uplink/DataDayMul.js +3 -2
- package/dist/commands/uplink/DataDayMul.js.map +1 -1
- package/dist/commands/uplink/DataHourMul.d.ts +1 -1
- package/dist/commands/uplink/DataHourMul.js +5 -5
- package/dist/commands/uplink/DataHourMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsDayMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsDayMul.js +3 -3
- package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsHourMul.js +3 -3
- package/dist/commands/uplink/ExAbsHourMul.js.map +1 -1
- 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 +3 -2
- 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 +30 -1
- package/dist/commands/uplink/NewEvent.js +50 -14
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +56 -0
- package/dist/commands/uplink/NewStatus.js +140 -0
- package/dist/commands/uplink/NewStatus.js.map +1 -0
- 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 +24 -0
- package/dist/commands/uplink/SoftRestart.js +34 -0
- package/dist/commands/uplink/SoftRestart.js.map +1 -0
- package/dist/commands/uplink/Time2000.d.ts +2 -2
- package/dist/commands/uplink/Time2000.js +7 -6
- 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/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 +70 -0
- package/dist/constants/hardwareTypes.js +71 -0
- package/dist/constants/hardwareTypes.js.map +1 -0
- 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 +54 -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/package.json +36 -76
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
3
|
+
const COMMAND_ID = 0x19;
|
|
4
|
+
const COMMAND_TITLE = 'SOFT_RESTART';
|
|
5
|
+
/**
|
|
6
|
+
* Downlink command.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* import SoftRestart from 'jooby-codec/commands/downlink/SoftRestart';
|
|
11
|
+
*
|
|
12
|
+
* const command = new SoftRestart();
|
|
13
|
+
*
|
|
14
|
+
* // output command binary in hex representation
|
|
15
|
+
* console.log(command.toHex());
|
|
16
|
+
* // 19 00
|
|
17
|
+
* ```
|
|
18
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/SoftRestart.md#request)
|
|
19
|
+
*/
|
|
20
|
+
class SoftRestart extends Command {
|
|
21
|
+
// data - only body (without header)
|
|
22
|
+
static fromBytes() {
|
|
23
|
+
return new SoftRestart();
|
|
24
|
+
}
|
|
25
|
+
// eslint-disable-next-line class-methods-use-this
|
|
26
|
+
toBytes() {
|
|
27
|
+
return Command.toBytes(COMMAND_ID);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
SoftRestart.id = COMMAND_ID;
|
|
31
|
+
SoftRestart.directionType = DOWNLINK;
|
|
32
|
+
SoftRestart.title = COMMAND_TITLE;
|
|
33
|
+
export default SoftRestart;
|
|
34
|
+
//# sourceMappingURL=SoftRestart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SoftRestart.js","sourceRoot":"","sources":["../../../src/commands/downlink/SoftRestart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAGrC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAY,SAAQ,OAAO;IAO7B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,WAAW,CAAC"}
|
|
@@ -4,4 +4,7 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
+
export { default as GetArchiveHoursMul } from './GetArchiveHoursMul.js';
|
|
8
|
+
export { default as NewStatus } from './NewStatus.js';
|
|
7
9
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
10
|
+
export { default as SoftRestart } from './SoftRestart.js';
|
|
@@ -4,5 +4,8 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
+
export { default as GetArchiveHoursMul } from './GetArchiveHoursMul.js';
|
|
8
|
+
export { default as NewStatus } from './NewStatus.js';
|
|
7
9
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
10
|
+
export { default as SoftRestart } from './SoftRestart.js';
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,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,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -29,7 +29,7 @@ declare class CorrectTime2000 extends Command {
|
|
|
29
29
|
parameters: IUplinkCorrectTime2000Parameters;
|
|
30
30
|
constructor(parameters: IUplinkCorrectTime2000Parameters);
|
|
31
31
|
static readonly id = 12;
|
|
32
|
-
static readonly
|
|
32
|
+
static readonly directionType = 2;
|
|
33
33
|
static readonly title = "CORRECT_TIME_2000";
|
|
34
34
|
static fromBytes(data: Uint8Array): CorrectTime2000;
|
|
35
35
|
toBytes(): Uint8Array;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
3
4
|
const COMMAND_ID = 0x0c;
|
|
4
5
|
const COMMAND_TITLE = 'CORRECT_TIME_2000';
|
|
5
6
|
const COMMAND_BODY_SIZE = 1;
|
|
@@ -47,7 +48,7 @@ class CorrectTime2000 extends Command {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
CorrectTime2000.id = COMMAND_ID;
|
|
50
|
-
CorrectTime2000.
|
|
51
|
+
CorrectTime2000.directionType = UPLINK;
|
|
51
52
|
CorrectTime2000.title = COMMAND_TITLE;
|
|
52
53
|
export default CorrectTime2000;
|
|
53
54
|
//# sourceMappingURL=CorrectTime2000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/uplink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA4C;QAC7D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAkC;IAEjE,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;QAE7C,MAAM,UAAU,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,QAAQ,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,OAAO;QACH,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAhCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,MAAM,CAAC;AAEvB,qBAAK,GAAG,aAAa,CAAC;AAgC1C,eAAe,eAAe,CAAC"}
|
|
@@ -12,7 +12,7 @@ declare class DataDayMul extends GetCurrentMul {
|
|
|
12
12
|
parameters: IDataDayMulParameters;
|
|
13
13
|
constructor(parameters: IDataDayMulParameters);
|
|
14
14
|
static readonly id = 22;
|
|
15
|
-
static readonly
|
|
15
|
+
static readonly directionType = 2;
|
|
16
16
|
static readonly title = "DATA_DAY_MUL";
|
|
17
17
|
static fromBytes(data: Uint8Array): DataDayMul;
|
|
18
18
|
toBytes(): Uint8Array;
|
|
@@ -3,6 +3,7 @@ import Command from '../../Command.js';
|
|
|
3
3
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
4
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
5
|
import GetCurrentMul from './GetCurrentMul.js';
|
|
6
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
6
7
|
const COMMAND_ID = 0x16;
|
|
7
8
|
const COMMAND_TITLE = 'DATA_DAY_MUL';
|
|
8
9
|
// 2 byte for date + 2 for channels (max channels: 7)
|
|
@@ -26,7 +27,7 @@ class DataDayMul extends GetCurrentMul {
|
|
|
26
27
|
return new DataDayMul(parameters);
|
|
27
28
|
}
|
|
28
29
|
toBytes() {
|
|
29
|
-
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE
|
|
30
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
30
31
|
const { channels, time } = this.parameters;
|
|
31
32
|
buffer.setDate(time);
|
|
32
33
|
buffer.setChannels(channels.map(({ index }) => index));
|
|
@@ -35,7 +36,7 @@ class DataDayMul extends GetCurrentMul {
|
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
DataDayMul.id = COMMAND_ID;
|
|
38
|
-
DataDayMul.
|
|
39
|
+
DataDayMul.directionType = UPLINK;
|
|
39
40
|
DataDayMul.title = COMMAND_TITLE;
|
|
40
41
|
export default DataDayMul;
|
|
41
42
|
//# sourceMappingURL=DataDayMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;
|
|
1
|
+
{"version":3,"file":"DataDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMul.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,aAAyC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,UAAW,SAAQ,aAAa;IAClC,YAAqB,UAAiC;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAuB;IAEtD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA0B,EAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;QAElE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,aAAE,GAAG,UAAU,CAAC;AAEhB,wBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,UAAU,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class DataHourMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 23;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static readonly title = "DATA_HOUR_MUL";
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
|
-
/* eslint-disable no-restricted-syntax */
|
|
5
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
5
|
import Command from '../../Command.js';
|
|
7
6
|
import GetCurrentMul from './GetCurrentMul.js';
|
|
8
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
9
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
10
10
|
const COMMAND_ID = 0x17;
|
|
11
11
|
const COMMAND_TITLE = 'DATA_HOUR_MUL';
|
|
12
12
|
// date 2 bytes, hour 1 byte, channels - 1 byte, so max channels = 4
|
|
13
13
|
// max hours diff - 7 (3 bit value)
|
|
14
|
-
// 4 + (4 channels *
|
|
15
|
-
const COMMAND_BODY_MAX_SIZE =
|
|
14
|
+
// 4 + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
15
|
+
const COMMAND_BODY_MAX_SIZE = 164;
|
|
16
16
|
class DataHourMul extends GetCurrentMul {
|
|
17
17
|
constructor(parameters) {
|
|
18
18
|
super(parameters);
|
|
@@ -49,7 +49,7 @@ class DataHourMul extends GetCurrentMul {
|
|
|
49
49
|
return new DataHourMul({ channels });
|
|
50
50
|
}
|
|
51
51
|
toBytes() {
|
|
52
|
-
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE
|
|
52
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
53
53
|
const { channels } = this.parameters;
|
|
54
54
|
const { time } = channels[0];
|
|
55
55
|
const realDate = getDateFromSeconds(time);
|
|
@@ -71,7 +71,7 @@ class DataHourMul extends GetCurrentMul {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
DataHourMul.id = COMMAND_ID;
|
|
74
|
-
DataHourMul.
|
|
74
|
+
DataHourMul.directionType = UPLINK;
|
|
75
75
|
DataHourMul.title = COMMAND_TITLE;
|
|
76
76
|
export default DataHourMul;
|
|
77
77
|
//# sourceMappingURL=DataHourMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,0DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"DataHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMul.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,0DAA0D;AAC1D,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAGzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,oEAAoE;AACpE,mCAAmC;AACnC,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,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,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,WAAW;YACX,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,gCAAgC;YAChC,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpC,MAAM,IAAI,GAAe,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAC,CAAC;YAE1F,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,KAAM,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,EAAE,SAAS,EAAG;gBAC3D,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAElC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;gBAE/D,IAAI,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC;aAC7D;SACJ;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAEzC,IAAK,UAAU,KAAK,CAAC,EAAG;YACpB,UAAU,GAAG,CAAC,CAAC;SAClB;QAED,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,KAAM,MAAM,EAAC,KAAK,EAAE,IAAI,EAAC,IAAI,QAAQ,EAAG;YACpC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAE/B,KAAM,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,IAAI,IAAI,EAAG;gBACrC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aACtC;SACJ;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA3Ee,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,MAAM,CAAC;AAEvB,iBAAK,GAAG,aAAa,CAAC;AA2E1C,eAAe,WAAW,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class ExAbsDayMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static id: number;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static title: string;
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
1
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
|
|
|
8
7
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
8
|
import roundNumber from '../../utils/roundNumber.js';
|
|
10
9
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
10
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0b1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_DAY_MUL';
|
|
13
13
|
// date 2 bytes, channels - 1 byte (max channels: 4)
|
|
@@ -41,7 +41,7 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
41
41
|
return new ExAbsDayMul({ channels, date });
|
|
42
42
|
}
|
|
43
43
|
toBytes() {
|
|
44
|
-
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE
|
|
44
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
45
45
|
const { channels } = this.parameters;
|
|
46
46
|
const { time } = channels[0];
|
|
47
47
|
buffer.setDate(time);
|
|
@@ -54,7 +54,7 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
ExAbsDayMul.id = COMMAND_ID;
|
|
57
|
-
ExAbsDayMul.
|
|
57
|
+
ExAbsDayMul.directionType = UPLINK;
|
|
58
58
|
ExAbsDayMul.title = COMMAND_TITLE;
|
|
59
59
|
export default ExAbsDayMul;
|
|
60
60
|
//# sourceMappingURL=ExAbsDayMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExAbsDayMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMul.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,uDAAuD;AACvD,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAGzD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,oDAAoD;AACpD,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,WAAY,SAAQ,aAAa;IACnC,YAAqB,UAAe;QAChC,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAK;IAEpC,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,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAM,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,IAAI,UAAU,EAAE,EAAE,YAAY,EAAG;YACrE,sBAAsB;YACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3C,YAAY;YACZ,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBAC9B,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;aACpD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,WAAW,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,EAAC,IAAI,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,KAAM,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,IAAI,QAAQ,EAAG;YAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjDM,cAAE,GAAG,UAAU,CAAC;AAEP,yBAAa,GAAG,MAAM,CAAC;AAEhC,iBAAK,GAAG,aAAa,CAAC;AAiDjC,eAAe,WAAW,CAAC"}
|
|
@@ -3,7 +3,7 @@ declare class ExAbsHourMul extends GetCurrentMul {
|
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 2591;
|
|
6
|
-
static readonly
|
|
6
|
+
static readonly directionType = 2;
|
|
7
7
|
static readonly title = "EX_ABS_HOUR_MUL";
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
1
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -8,6 +7,7 @@ import GetCurrentMul from './GetCurrentMul.js';
|
|
|
8
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
9
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
10
9
|
import roundNumber from '../../utils/roundNumber.js';
|
|
10
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0a1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_HOUR_MUL';
|
|
13
13
|
// date 2 bytes, hour 1 byte, channels - 1 byte (max channels: 4)
|
|
@@ -62,7 +62,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
62
62
|
return new ExAbsHourMul({ channels, date });
|
|
63
63
|
}
|
|
64
64
|
toBytes() {
|
|
65
|
-
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE
|
|
65
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
66
66
|
const { channels } = this.parameters;
|
|
67
67
|
const { time } = channels[0];
|
|
68
68
|
const realDate = getDateFromSeconds(time);
|
|
@@ -86,7 +86,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
ExAbsHourMul.id = COMMAND_ID;
|
|
89
|
-
ExAbsHourMul.
|
|
89
|
+
ExAbsHourMul.directionType = UPLINK;
|
|
90
90
|
ExAbsHourMul.title = COMMAND_TITLE;
|
|
91
91
|
export default ExAbsHourMul;
|
|
92
92
|
//# sourceMappingURL=ExAbsHourMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExAbsHourMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMul.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import GetCurrentMul from './GetCurrentMul.js';
|
|
2
|
+
import { IChannel } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
/**
|
|
4
|
+
* GetArchiveHoursMul command parameters
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // archive hours values from 001-03-10T12:00:00.000Z with 1-hour diff
|
|
8
|
+
* {
|
|
9
|
+
* channels: [{value: 101, index: 0, diff: [value: 1]}],
|
|
10
|
+
* date: '2001-03-10T12:00:00.000Z',
|
|
11
|
+
* hourAmount: 1
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
interface IUplinkGetArchiveHoursMulParameters {
|
|
15
|
+
channels: Array<IChannel>;
|
|
16
|
+
date: Date | undefined | string;
|
|
17
|
+
hourAmount: number | undefined;
|
|
18
|
+
}
|
|
19
|
+
declare class GetArchiveHoursMul extends GetCurrentMul {
|
|
20
|
+
parameters: IUplinkGetArchiveHoursMulParameters;
|
|
21
|
+
constructor(parameters: IUplinkGetArchiveHoursMulParameters);
|
|
22
|
+
static readonly id = 26;
|
|
23
|
+
static readonly directionType = 2;
|
|
24
|
+
static readonly title = "GET_ARCHIVE_HOURS_MUL";
|
|
25
|
+
static fromBytes(data: Uint8Array): GetArchiveHoursMul;
|
|
26
|
+
toBytes(): Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
export default GetArchiveHoursMul;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import GetCurrentMul from './GetCurrentMul.js';
|
|
3
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
5
|
+
import { getDateFromSeconds } from '../../utils/time.js';
|
|
6
|
+
const COMMAND_ID = 0x1a;
|
|
7
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
|
|
8
|
+
// date 2 bytes, hour 1 byte, channels - 1 byte, so max channels = 4
|
|
9
|
+
// max hours diff - 7 (3 bit value)
|
|
10
|
+
// 4 + (4 channels * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
11
|
+
const COMMAND_BODY_MAX_SIZE = 164;
|
|
12
|
+
class GetArchiveHoursMul extends GetCurrentMul {
|
|
13
|
+
constructor(parameters) {
|
|
14
|
+
super(parameters);
|
|
15
|
+
this.parameters = parameters;
|
|
16
|
+
const { date, hourAmount, channels } = this.parameters;
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
18
|
+
if (date === undefined) {
|
|
19
|
+
const [{ time }] = channels;
|
|
20
|
+
if (time) {
|
|
21
|
+
this.parameters.date = getDateFromSeconds(time);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw new Error(`${GetArchiveHoursMul.getName()} can't recognize time`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else if (typeof date === 'string') {
|
|
28
|
+
this.parameters.date = new Date(date);
|
|
29
|
+
}
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
31
|
+
if (hourAmount === undefined) {
|
|
32
|
+
this.parameters.hourAmount = channels[0].diff.length;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static fromBytes(data) {
|
|
36
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
37
|
+
return new GetArchiveHoursMul(buffer.getChannelsValuesWithHourDiff());
|
|
38
|
+
}
|
|
39
|
+
toBytes() {
|
|
40
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
41
|
+
const { hourAmount, date, channels } = this.parameters;
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
43
|
+
buffer.setChannelsValuesWithHourDiff(hourAmount, date, channels);
|
|
44
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
GetArchiveHoursMul.id = COMMAND_ID;
|
|
48
|
+
GetArchiveHoursMul.directionType = UPLINK;
|
|
49
|
+
GetArchiveHoursMul.title = COMMAND_TITLE;
|
|
50
|
+
export default GetArchiveHoursMul;
|
|
51
|
+
//# sourceMappingURL=GetArchiveHoursMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAA+B,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAqBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAE9C,oEAAoE;AACpE,mCAAmC;AACnC,uFAAuF;AACvF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,kBAAmB,SAAQ,aAAa;IAC1C,YAAqB,UAA+C;QAChE,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAqC;QAGhE,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAErD,uEAAuE;QACvE,IAAK,IAAI,KAAK,SAAS,EAAG;YACtB,MAAM,CAAC,EAAC,IAAI,EAAC,CAAC,GAAG,QAAQ,CAAC;YAE1B,IAAK,IAAI,EAAG;gBACR,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACnD;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;aAC3E;SACJ;aAAM,IAAK,OAAO,IAAI,KAAK,QAAQ,EAAG;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,uEAAuE;QACvE,IAAK,UAAU,KAAK,SAAS,EAAG;YAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACxD;IACL,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAErD,oEAAoE;QACpE,MAAM,CAAC,6BAA6B,CAAC,UAAW,EAAE,IAAY,EAAE,QAAQ,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AApBe,qBAAE,GAAG,UAAU,CAAC;AAEhB,gCAAa,GAAG,MAAM,CAAC;AAEvB,wBAAK,GAAG,aAAa,CAAC;AAoB1C,eAAe,kBAAkB,CAAC"}
|
|
@@ -16,7 +16,7 @@ declare class GetCurrentMul extends Command {
|
|
|
16
16
|
parameters: IGetCurrentMulParameters;
|
|
17
17
|
constructor(parameters: IGetCurrentMulParameters);
|
|
18
18
|
static id: number;
|
|
19
|
-
static readonly
|
|
19
|
+
static readonly directionType = 2;
|
|
20
20
|
static title: string;
|
|
21
21
|
static fromBytes(data: Uint8Array): GetCurrentMul;
|
|
22
22
|
toBytes(): Uint8Array;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
3
4
|
const COMMAND_ID = 0x18;
|
|
4
5
|
const COMMAND_TITLE = 'GET_CURRENT_MUL';
|
|
5
6
|
// 2 bytes for 7 channels + (7 channels * 5 byte for current value of channel)
|
|
@@ -21,7 +22,7 @@ class GetCurrentMul extends Command {
|
|
|
21
22
|
return new GetCurrentMul(parameters);
|
|
22
23
|
}
|
|
23
24
|
toBytes() {
|
|
24
|
-
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE
|
|
25
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
25
26
|
const { channels } = this.parameters;
|
|
26
27
|
buffer.setChannels(channels.map(({ index }) => index));
|
|
27
28
|
channels.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
@@ -29,7 +30,7 @@ class GetCurrentMul extends Command {
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
GetCurrentMul.id = COMMAND_ID;
|
|
32
|
-
GetCurrentMul.
|
|
33
|
+
GetCurrentMul.directionType = UPLINK;
|
|
33
34
|
GetCurrentMul.title = COMMAND_TITLE;
|
|
34
35
|
export default GetCurrentMul;
|
|
35
36
|
//# sourceMappingURL=GetCurrentMul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetCurrentMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"GetCurrentMul.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMul.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAmBzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,aAAc,SAAQ,OAAO;IAC/B,YAAqB,UAAoC;QACrD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA0B;QAGrD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA6B,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE3C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAChD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA7BM,gBAAE,GAAG,UAAU,CAAC;AAEP,2BAAa,GAAG,MAAM,CAAC;AAEhC,mBAAK,GAAG,aAAa,CAAC;AA6BjC,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
interface ILastEventGasStatus {
|
|
3
|
+
/** the battery voltage has dropped below the set threshold */
|
|
4
|
+
isBatteryLow?: boolean;
|
|
5
|
+
/** there is a magnetic field influence */
|
|
6
|
+
isMagneticInfluence?: boolean;
|
|
7
|
+
/** button is release (device is unmounted) */
|
|
8
|
+
isButtonReleased?: boolean;
|
|
9
|
+
/** the device has detected a loss of connection to the server */
|
|
10
|
+
isConnectionLost?: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface ILastEvent2ChannelStatus {
|
|
13
|
+
/** the battery voltage has dropped below the set threshold */
|
|
14
|
+
isBatteryLow?: boolean;
|
|
15
|
+
/** the device has detected a loss of connection to the server */
|
|
16
|
+
isConnectionLost?: boolean;
|
|
17
|
+
/** the first channel is not active */
|
|
18
|
+
isFirstChannelInactive?: boolean;
|
|
19
|
+
/** the second channel is not active */
|
|
20
|
+
isSecondChannelInactive?: boolean;
|
|
21
|
+
}
|
|
22
|
+
interface ILastEventElimpStatus {
|
|
23
|
+
/** the device has detected a loss of connection to the server */
|
|
24
|
+
isConnectionLost?: boolean;
|
|
25
|
+
}
|
|
26
|
+
interface ILastEventWaterStatus {
|
|
27
|
+
/** the battery voltage has dropped below the set threshold */
|
|
28
|
+
isBatteryLow?: boolean;
|
|
29
|
+
/** the device has detected a loss of connection to the server */
|
|
30
|
+
isConnectionLost?: boolean;
|
|
31
|
+
}
|
|
32
|
+
interface ILastEvent4ChannelStatus {
|
|
33
|
+
/** the battery voltage has dropped below the set threshold */
|
|
34
|
+
isBatteryLow?: boolean;
|
|
35
|
+
/** the device has detected a loss of connection to the server */
|
|
36
|
+
isConnectionLost?: boolean;
|
|
37
|
+
/** the first channel is not active */
|
|
38
|
+
isFirstChannelInactive?: boolean;
|
|
39
|
+
/** the second channel is not active */
|
|
40
|
+
isSecondChannelInactive?: boolean;
|
|
41
|
+
/** the third channel is not active */
|
|
42
|
+
isThirdChannelInactive?: boolean;
|
|
43
|
+
/** the forth channel is not active */
|
|
44
|
+
isForthChannelInactive?: boolean;
|
|
45
|
+
}
|
|
46
|
+
interface ILastEventMtxStatus {
|
|
47
|
+
/** meter case is open */
|
|
48
|
+
isMeterCaseOpen?: boolean;
|
|
49
|
+
/** there is a magnetic field influence */
|
|
50
|
+
isMagneticInfluence?: boolean;
|
|
51
|
+
/** parameters set remotely */
|
|
52
|
+
isParametersSetRemotely?: boolean;
|
|
53
|
+
/** parameters set locally */
|
|
54
|
+
isParametersSetLocally?: boolean;
|
|
55
|
+
/** meter program restart */
|
|
56
|
+
isMeterProgramRestarted?: boolean;
|
|
57
|
+
/** incorrect password and lockout */
|
|
58
|
+
isLockedOut?: boolean;
|
|
59
|
+
/** time set */
|
|
60
|
+
isTimeSet?: boolean;
|
|
61
|
+
/** time correction */
|
|
62
|
+
isTimeCorrected?: boolean;
|
|
63
|
+
/** meter failure */
|
|
64
|
+
isMeterFailure?: boolean;
|
|
65
|
+
/** meter terminal box is open */
|
|
66
|
+
isMeterTerminalBoxOpen?: boolean;
|
|
67
|
+
/** meter module compartment is open */
|
|
68
|
+
isModuleCompartmentOpen?: boolean;
|
|
69
|
+
/** tariff plan changed */
|
|
70
|
+
isTariffPlanChanged?: boolean;
|
|
71
|
+
/** new tariff plan received */
|
|
72
|
+
isNewTariffPlanReceived?: boolean;
|
|
73
|
+
}
|
|
74
|
+
type TLastEventStatus = ILastEventGasStatus | ILastEvent2ChannelStatus | ILastEventElimpStatus | ILastEventWaterStatus | ILastEvent4ChannelStatus | ILastEventMtxStatus;
|
|
75
|
+
/**
|
|
76
|
+
* LastEvent command parameters
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* {sequenceNumber: 3, status: {isBatteryLow: true}}
|
|
80
|
+
*/
|
|
81
|
+
interface ILastEventParameters {
|
|
82
|
+
/** unique event number */
|
|
83
|
+
sequenceNumber: number;
|
|
84
|
+
/** object with boolean values depending on the device hardware type */
|
|
85
|
+
status: TLastEventStatus;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Uplink command.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```js
|
|
92
|
+
* import LastEvent from 'jooby-codec/commands/downlink/LastEvent';
|
|
93
|
+
* import hardwareTypes from 'jooby-codec/constants/hardwareTypes';
|
|
94
|
+
*
|
|
95
|
+
* const command = new LastEvent(
|
|
96
|
+
* {sequenceNumber: 8, status: {isBatteryLow: true}},
|
|
97
|
+
* hardwareTypes.IMP2EU
|
|
98
|
+
* );
|
|
99
|
+
*
|
|
100
|
+
* // output command binary in hex representation
|
|
101
|
+
* console.log(command.toHex());
|
|
102
|
+
* // 62 08 01
|
|
103
|
+
* ```
|
|
104
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/uplink/LastEvent.md)
|
|
105
|
+
*/
|
|
106
|
+
declare class LastEvent extends Command {
|
|
107
|
+
parameters: ILastEventParameters;
|
|
108
|
+
hardwareType: number;
|
|
109
|
+
constructor(parameters: ILastEventParameters, hardwareType: number);
|
|
110
|
+
static readonly id = 96;
|
|
111
|
+
static readonly directionType = 2;
|
|
112
|
+
static readonly title = "LAST_EVENT";
|
|
113
|
+
static fromBytes(data: Uint8Array, hardwareType?: number): LastEvent;
|
|
114
|
+
toBytes(): Uint8Array;
|
|
115
|
+
}
|
|
116
|
+
export default LastEvent;
|