jooby-codec 1.3.0 → 1.5.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 +41 -24
- package/dist/CommandBinaryBuffer.js +100 -65
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +47 -0
- package/dist/commands/downlink/{ExAbsArchiveDaysMul.js → ExAbsArchiveDaysMC.js} +20 -20
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +47 -0
- package/dist/commands/downlink/{ExAbsArchiveHoursMul.js → ExAbsArchiveHoursMC.js} +20 -20
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -0
- 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 +47 -0
- package/dist/commands/downlink/{GetArchiveDaysMul.js → GetArchiveDaysMC.js} +20 -20
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +47 -0
- package/dist/commands/downlink/{GetArchiveHoursMul.js → GetArchiveHoursMC.js} +20 -20
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/downlink/SetParameter.d.ts +8 -2
- package/dist/commands/downlink/SetParameter.js +11 -0
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +5 -4
- package/dist/commands/downlink/index.js +5 -4
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +20 -0
- package/dist/commands/uplink/{DataDayMul.js → DataDayMC.js} +17 -17
- package/dist/commands/uplink/DataDayMC.js.map +1 -0
- package/dist/commands/uplink/DataHourMC.d.ts +17 -0
- package/dist/commands/uplink/DataHourMC.js +55 -0
- package/dist/commands/uplink/DataHourMC.js.map +1 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +17 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +50 -0
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +17 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +57 -0
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -0
- 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 +16 -0
- package/dist/commands/uplink/ExAbsDayMC.js +34 -0
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -0
- package/dist/commands/uplink/ExAbsHourMC.d.ts +63 -0
- package/dist/commands/uplink/ExAbsHourMC.js +87 -0
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -0
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +49 -0
- package/dist/commands/uplink/GetArchiveDaysMC.js +71 -0
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +68 -0
- package/dist/commands/uplink/GetArchiveHoursMC.js +71 -0
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMC.d.ts +18 -0
- package/dist/commands/uplink/GetCurrentMC.js +36 -0
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -0
- package/dist/commands/uplink/index.d.ts +10 -9
- package/dist/commands/uplink/index.js +10 -9
- 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/package.json +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMul.d.ts +0 -47
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js.map +0 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMul.d.ts +0 -47
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js.map +0 -1
- package/dist/commands/downlink/GetArchiveDaysMul.d.ts +0 -47
- package/dist/commands/downlink/GetArchiveDaysMul.js.map +0 -1
- package/dist/commands/downlink/GetArchiveHoursMul.d.ts +0 -47
- package/dist/commands/downlink/GetArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/DataDayMul.d.ts +0 -20
- package/dist/commands/uplink/DataDayMul.js.map +0 -1
- package/dist/commands/uplink/DataHourMul.d.ts +0 -11
- package/dist/commands/uplink/DataHourMul.js +0 -77
- package/dist/commands/uplink/DataHourMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMul.d.ts +0 -46
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js +0 -72
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMul.d.ts +0 -11
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js +0 -93
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsDayMul.d.ts +0 -11
- package/dist/commands/uplink/ExAbsDayMul.js +0 -60
- package/dist/commands/uplink/ExAbsDayMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsHourMul.d.ts +0 -11
- package/dist/commands/uplink/ExAbsHourMul.js +0 -92
- package/dist/commands/uplink/ExAbsHourMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveDaysMul.d.ts +0 -73
- package/dist/commands/uplink/GetArchiveDaysMul.js +0 -97
- package/dist/commands/uplink/GetArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +0 -28
- package/dist/commands/uplink/GetArchiveHoursMul.js +0 -51
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/GetCurrentMul.d.ts +0 -24
- package/dist/commands/uplink/GetCurrentMul.js +0 -36
- package/dist/commands/uplink/GetCurrentMul.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* [[include:commands/downlink/
|
|
2
|
+
* [[include:commands/downlink/ExAbsArchiveHoursMC.md]]
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
@@ -9,29 +9,29 @@ import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
|
9
9
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
10
10
|
// TODO: rework extended headers detection
|
|
11
11
|
const COMMAND_ID = 0x0c1f;
|
|
12
|
-
const COMMAND_TITLE = '
|
|
12
|
+
const COMMAND_TITLE = 'EX_ABS_ARCHIVE_HOUR_MC';
|
|
13
13
|
const COMMAND_BODY_SIZE = 4;
|
|
14
14
|
/**
|
|
15
15
|
* Downlink command
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```js
|
|
19
|
-
* import
|
|
19
|
+
* import ExAbsArchiveHoursMC from 'jooby-codec/commands/downlink/ExAbsArchiveHoursMC';
|
|
20
20
|
*
|
|
21
|
-
* const parameters = {
|
|
22
|
-
* const command = new
|
|
21
|
+
* const parameters = {channelList: [0], hours: 0, seconds: 756648000};
|
|
22
|
+
* const command = new ExAbsArchiveHoursMC(parameters);
|
|
23
23
|
*
|
|
24
24
|
* // output command binary in hex representation
|
|
25
25
|
* console.log(command.toHex());
|
|
26
26
|
* // 1f 0c 04 2f 97 0c 01
|
|
27
27
|
* ```
|
|
28
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
28
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/ExAbsArchiveHoursMC.md#request)
|
|
29
29
|
*/
|
|
30
|
-
class
|
|
30
|
+
class ExAbsArchiveHoursMC extends Command {
|
|
31
31
|
constructor(parameters) {
|
|
32
32
|
super();
|
|
33
33
|
this.parameters = parameters;
|
|
34
|
-
this.parameters.
|
|
34
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a - b);
|
|
35
35
|
}
|
|
36
36
|
// data - only body (without header)
|
|
37
37
|
static fromBytes(data) {
|
|
@@ -40,28 +40,28 @@ class ExAbsArchiveHoursMul extends Command {
|
|
|
40
40
|
}
|
|
41
41
|
const buffer = new CommandBinaryBuffer(data);
|
|
42
42
|
const date = buffer.getDate();
|
|
43
|
-
const { hour, hours
|
|
44
|
-
const
|
|
43
|
+
const { hour, hours } = buffer.getHours();
|
|
44
|
+
const channelList = buffer.getChannels();
|
|
45
45
|
date.setUTCHours(hour);
|
|
46
46
|
if (!buffer.isEmpty) {
|
|
47
47
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
48
48
|
}
|
|
49
|
-
return new
|
|
49
|
+
return new ExAbsArchiveHoursMC({ channelList, hours, startTime: getSecondsFromDate(date) });
|
|
50
50
|
}
|
|
51
51
|
// returns full message - header with body
|
|
52
52
|
toBytes() {
|
|
53
|
-
const {
|
|
53
|
+
const { channelList, hours, startTime } = this.parameters;
|
|
54
54
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
55
|
-
const date = getDateFromSeconds(
|
|
55
|
+
const date = getDateFromSeconds(startTime);
|
|
56
56
|
const hour = date.getUTCHours();
|
|
57
57
|
buffer.setDate(date);
|
|
58
|
-
buffer.setHours(hour,
|
|
59
|
-
buffer.setChannels(
|
|
58
|
+
buffer.setHours(hour, hours);
|
|
59
|
+
buffer.setChannels(channelList.map(index => ({ index })));
|
|
60
60
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
export default
|
|
67
|
-
//# sourceMappingURL=
|
|
63
|
+
ExAbsArchiveHoursMC.id = COMMAND_ID;
|
|
64
|
+
ExAbsArchiveHoursMC.directionType = DOWNLINK;
|
|
65
|
+
ExAbsArchiveHoursMC.title = COMMAND_TITLE;
|
|
66
|
+
export default ExAbsArchiveHoursMC;
|
|
67
|
+
//# sourceMappingURL=ExAbsArchiveHoursMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/ExAbsArchiveHoursMC.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,0CAA0C;AAC1C,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,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,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,mBAAmB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC9F,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,sBAAE,GAAG,UAAU,CAAC;AAEhB,iCAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,mBAAmB,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveDaysMC.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* GetArchiveDaysMC 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
|
+
* {channelList: [0], days: 1, seconds: 756691200}
|
|
13
|
+
*/
|
|
14
|
+
interface IDownlinkGetArchiveDaysMCParameters {
|
|
15
|
+
/** amount of days to retrieve */
|
|
16
|
+
days: number;
|
|
17
|
+
/** time */
|
|
18
|
+
startTime: number;
|
|
19
|
+
/** array of channelList indexes */
|
|
20
|
+
channelList: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import GetArchiveDaysMC from 'jooby-codec/commands/downlink/GetArchiveDaysMC';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channelList: [0], days: 1, seconds: 756691200};
|
|
30
|
+
* const command = new GetArchiveDaysMC(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/GetArchiveDaysMC.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class GetArchiveDaysMC extends Command {
|
|
39
|
+
parameters: IDownlinkGetArchiveDaysMCParameters;
|
|
40
|
+
constructor(parameters: IDownlinkGetArchiveDaysMCParameters);
|
|
41
|
+
static readonly id = 27;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "GET_ARCHIVE_DAYS_MC";
|
|
44
|
+
static fromBytes(data: Uint8Array): GetArchiveDaysMC;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default GetArchiveDaysMC;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* [[include:commands/downlink/
|
|
2
|
+
* [[include:commands/downlink/GetArchiveDaysMC.md]]
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
@@ -8,29 +8,29 @@ 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
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```js
|
|
18
|
-
* import
|
|
18
|
+
* import GetArchiveDaysMC from 'jooby-codec/commands/downlink/GetArchiveDaysMC';
|
|
19
19
|
*
|
|
20
|
-
* const parameters = {
|
|
21
|
-
* const command = new
|
|
20
|
+
* const parameters = {channelList: [0], days: 1, seconds: 756691200};
|
|
21
|
+
* const command = new GetArchiveDaysMC(parameters);
|
|
22
22
|
*
|
|
23
23
|
* // output command binary in hex representation
|
|
24
24
|
* console.log(command.toHex());
|
|
25
25
|
* // 1b 04 2f 98 01 01
|
|
26
26
|
* ```
|
|
27
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
27
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMC.md#request)
|
|
28
28
|
*/
|
|
29
|
-
class
|
|
29
|
+
class GetArchiveDaysMC extends Command {
|
|
30
30
|
constructor(parameters) {
|
|
31
31
|
super();
|
|
32
32
|
this.parameters = parameters;
|
|
33
|
-
this.parameters.
|
|
33
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a - b);
|
|
34
34
|
}
|
|
35
35
|
// data - only body (without header)
|
|
36
36
|
static fromBytes(data) {
|
|
@@ -39,26 +39,26 @@ class GetArchiveDaysMul extends Command {
|
|
|
39
39
|
}
|
|
40
40
|
const buffer = new CommandBinaryBuffer(data);
|
|
41
41
|
const date = buffer.getDate();
|
|
42
|
-
const
|
|
43
|
-
const
|
|
42
|
+
const channelList = buffer.getChannels();
|
|
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
|
|
47
|
+
return new GetArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
|
|
48
48
|
}
|
|
49
49
|
// returns full message - header with body
|
|
50
50
|
toBytes() {
|
|
51
|
-
const {
|
|
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(
|
|
56
|
-
buffer.setUint8(
|
|
55
|
+
buffer.setChannels(channelList.map(index => ({ index })));
|
|
56
|
+
buffer.setUint8(days);
|
|
57
57
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
export default
|
|
64
|
-
//# sourceMappingURL=
|
|
60
|
+
GetArchiveDaysMC.id = COMMAND_ID;
|
|
61
|
+
GetArchiveDaysMC.directionType = DOWNLINK;
|
|
62
|
+
GetArchiveDaysMC.title = COMMAND_TITLE;
|
|
63
|
+
export default GetArchiveDaysMC;
|
|
64
|
+
//# sourceMappingURL=GetArchiveDaysMC.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveHoursMC.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
/**
|
|
8
|
+
* GetArchiveHoursMC 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
|
+
* {channelList: [0], hours: 2, seconds: 756648000}
|
|
13
|
+
*/
|
|
14
|
+
interface IDownlinkGetArchiveHoursMCParameters {
|
|
15
|
+
/** amount of hours to retrieve */
|
|
16
|
+
hours: number;
|
|
17
|
+
/** time */
|
|
18
|
+
startTime: number;
|
|
19
|
+
/** array of channelList indexes */
|
|
20
|
+
channelList: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import GetArchiveHoursMC from 'jooby-codec/commands/downlink/GetArchiveHoursMC';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channelList: [0], hours: 0, seconds: 756648000};
|
|
30
|
+
* const command = new GetArchiveHoursMC(parameters);
|
|
31
|
+
*
|
|
32
|
+
* // output command binary in hex representation
|
|
33
|
+
* console.log(command.toHex());
|
|
34
|
+
* // 1a 04 2f 97 0c 01
|
|
35
|
+
* ```
|
|
36
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMC.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class GetArchiveHoursMC extends Command {
|
|
39
|
+
parameters: IDownlinkGetArchiveHoursMCParameters;
|
|
40
|
+
constructor(parameters: IDownlinkGetArchiveHoursMCParameters);
|
|
41
|
+
static readonly id = 26;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "GET_ARCHIVE_HOURS_MC";
|
|
44
|
+
static fromBytes(data: Uint8Array): GetArchiveHoursMC;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default GetArchiveHoursMC;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* [[include:commands/downlink/
|
|
2
|
+
* [[include:commands/downlink/GetArchiveHoursMC.md]]
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
@@ -8,29 +8,29 @@ 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
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```js
|
|
18
|
-
* import
|
|
18
|
+
* import GetArchiveHoursMC from 'jooby-codec/commands/downlink/GetArchiveHoursMC';
|
|
19
19
|
*
|
|
20
|
-
* const parameters = {
|
|
21
|
-
* const command = new
|
|
20
|
+
* const parameters = {channelList: [0], hours: 0, seconds: 756648000};
|
|
21
|
+
* const command = new GetArchiveHoursMC(parameters);
|
|
22
22
|
*
|
|
23
23
|
* // output command binary in hex representation
|
|
24
24
|
* console.log(command.toHex());
|
|
25
25
|
* // 1a 04 2f 97 0c 01
|
|
26
26
|
* ```
|
|
27
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
27
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMC.md#request)
|
|
28
28
|
*/
|
|
29
|
-
class
|
|
29
|
+
class GetArchiveHoursMC extends Command {
|
|
30
30
|
constructor(parameters) {
|
|
31
31
|
super();
|
|
32
32
|
this.parameters = parameters;
|
|
33
|
-
this.parameters.
|
|
33
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a - b);
|
|
34
34
|
}
|
|
35
35
|
// data - only body (without header)
|
|
36
36
|
static fromBytes(data) {
|
|
@@ -39,28 +39,28 @@ class GetArchiveHoursMul extends Command {
|
|
|
39
39
|
}
|
|
40
40
|
const buffer = new CommandBinaryBuffer(data);
|
|
41
41
|
const date = buffer.getDate();
|
|
42
|
-
const { hour, hours
|
|
43
|
-
const
|
|
42
|
+
const { hour, hours } = buffer.getHours();
|
|
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
|
|
48
|
+
return new GetArchiveHoursMC({ channelList, hours, startTime: getSecondsFromDate(date) });
|
|
49
49
|
}
|
|
50
50
|
// returns full message - header with body
|
|
51
51
|
toBytes() {
|
|
52
|
-
const {
|
|
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
|
-
buffer.setHours(hour,
|
|
58
|
-
buffer.setChannels(
|
|
57
|
+
buffer.setHours(hour, hours);
|
|
58
|
+
buffer.setChannels(channelList.map(index => ({ index })));
|
|
59
59
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
export default
|
|
66
|
-
//# sourceMappingURL=
|
|
62
|
+
GetArchiveHoursMC.id = COMMAND_ID;
|
|
63
|
+
GetArchiveHoursMC.directionType = DOWNLINK;
|
|
64
|
+
GetArchiveHoursMC.title = COMMAND_TITLE;
|
|
65
|
+
export default GetArchiveHoursMC;
|
|
66
|
+
//# sourceMappingURL=GetArchiveHoursMC.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -18,7 +18,7 @@ interface IParameterInitialData {
|
|
|
18
18
|
meterValue: number;
|
|
19
19
|
pulseCoefficient: number;
|
|
20
20
|
}
|
|
21
|
-
interface
|
|
21
|
+
interface IParameterInitialDataMC extends IParameterInitialData {
|
|
22
22
|
/**
|
|
23
23
|
* Channel that accept initial values.
|
|
24
24
|
*/
|
|
@@ -27,7 +27,13 @@ interface IParameterInitialDataMultiChannel 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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"}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
7
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
10
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
11
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
11
12
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
13
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
14
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
7
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
10
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
11
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
11
12
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
13
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
14
|
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,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,
|
|
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,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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import GetCurrentMC, { IGetCurrentMCParameters } from './GetCurrentMC.js';
|
|
2
|
+
/**
|
|
3
|
+
* DataDayMC command parameters.
|
|
4
|
+
*/
|
|
5
|
+
interface IDataDayMCParameters extends IGetCurrentMCParameters {
|
|
6
|
+
/**
|
|
7
|
+
* Seconds since year 2000, i.e. timestamp (in seconds) - 946684800
|
|
8
|
+
*/
|
|
9
|
+
startTime: number;
|
|
10
|
+
}
|
|
11
|
+
declare class DataDayMC extends GetCurrentMC {
|
|
12
|
+
parameters: IDataDayMCParameters;
|
|
13
|
+
constructor(parameters: IDataDayMCParameters);
|
|
14
|
+
static readonly id = 22;
|
|
15
|
+
static readonly directionType = 2;
|
|
16
|
+
static readonly title = "DATA_DAY_MC";
|
|
17
|
+
static fromBytes(data: Uint8Array): DataDayMC;
|
|
18
|
+
toBytes(): Uint8Array;
|
|
19
|
+
}
|
|
20
|
+
export default DataDayMC;
|
|
@@ -2,41 +2,41 @@
|
|
|
2
2
|
import Command from '../../Command.js';
|
|
3
3
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
4
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
|
-
import
|
|
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;
|
|
12
|
-
class
|
|
12
|
+
class DataDayMC extends GetCurrentMC {
|
|
13
13
|
constructor(parameters) {
|
|
14
14
|
super(parameters);
|
|
15
15
|
this.parameters = parameters;
|
|
16
16
|
}
|
|
17
17
|
static fromBytes(data) {
|
|
18
|
-
const parameters = {
|
|
18
|
+
const parameters = { channelList: [], startTime: 0 };
|
|
19
19
|
const buffer = new CommandBinaryBuffer(data);
|
|
20
20
|
const date = buffer.getDate();
|
|
21
|
-
const
|
|
22
|
-
parameters.
|
|
21
|
+
const channels = buffer.getChannels();
|
|
22
|
+
parameters.channelList = channels.map(channelIndex => ({
|
|
23
23
|
value: buffer.getExtendedValue(),
|
|
24
24
|
index: channelIndex
|
|
25
25
|
}));
|
|
26
|
-
parameters.
|
|
27
|
-
return new
|
|
26
|
+
parameters.startTime = getSecondsFromDate(date);
|
|
27
|
+
return new DataDayMC(parameters);
|
|
28
28
|
}
|
|
29
29
|
toBytes() {
|
|
30
30
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
31
|
-
const {
|
|
32
|
-
buffer.setDate(
|
|
33
|
-
buffer.setChannels(
|
|
34
|
-
|
|
31
|
+
const { channelList, startTime } = this.parameters;
|
|
32
|
+
buffer.setDate(startTime);
|
|
33
|
+
buffer.setChannels(channelList);
|
|
34
|
+
channelList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
35
35
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export default
|
|
42
|
-
//# sourceMappingURL=
|
|
38
|
+
DataDayMC.id = COMMAND_ID;
|
|
39
|
+
DataDayMC.directionType = UPLINK;
|
|
40
|
+
DataDayMC.title = COMMAND_TITLE;
|
|
41
|
+
export default DataDayMC;
|
|
42
|
+
//# sourceMappingURL=DataDayMC.js.map
|