jooby-codec 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Command.d.ts +1 -0
- package/dist/Command.js +3 -2
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +129 -5
- package/dist/CommandBinaryBuffer.js +257 -0
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
- package/dist/commands/downlink/CorrectTime2000.js +2 -8
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
- package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
- package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
- package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
- package/dist/commands/downlink/GetArchiveEvents.js +58 -0
- package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/downlink/GetCurrentMC.js +3 -3
- package/dist/commands/downlink/GetCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
- package/dist/commands/downlink/GetLmicVersion.js +41 -0
- package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
- package/dist/commands/downlink/GetParameter.d.ts +37 -0
- package/dist/commands/downlink/GetParameter.js +64 -0
- package/dist/commands/downlink/GetParameter.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +1 -1
- package/dist/commands/downlink/NewStatus.js +3 -3
- package/dist/commands/downlink/NewStatus.js.map +1 -1
- package/dist/commands/downlink/SetParameter.d.ts +6 -56
- package/dist/commands/downlink/SetParameter.js +45 -105
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/SetTime2000.d.ts +1 -6
- package/dist/commands/downlink/SetTime2000.js +2 -8
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +1 -1
- package/dist/commands/downlink/SoftRestart.js +3 -3
- package/dist/commands/downlink/SoftRestart.js.map +1 -1
- 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 +3 -3
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +3 -5
- package/dist/commands/uplink/DataDayMC.js +4 -3
- package/dist/commands/uplink/DataDayMC.js.map +1 -1
- package/dist/commands/uplink/DataHourMC.d.ts +3 -2
- package/dist/commands/uplink/DataHourMC.js +4 -3
- package/dist/commands/uplink/DataHourMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
- package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsDayMC.js +4 -3
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsHourMC.js +4 -3
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
- package/dist/commands/uplink/GetArchiveEvents.js +105 -0
- package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMC.js +4 -3
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
- package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
- package/dist/commands/uplink/GetLmicVersion.js +90 -0
- package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
- package/dist/commands/uplink/GetParameter.d.ts +30 -0
- package/dist/commands/uplink/GetParameter.js +91 -0
- package/dist/commands/uplink/GetParameter.js.map +1 -0
- package/dist/commands/uplink/LastEvent.d.ts +5 -76
- package/dist/commands/uplink/LastEvent.js +67 -115
- package/dist/commands/uplink/LastEvent.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +35 -7
- package/dist/commands/uplink/NewEvent.js +96 -20
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +1 -1
- package/dist/commands/uplink/NewStatus.js +4 -3
- package/dist/commands/uplink/NewStatus.js.map +1 -1
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +3 -3
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +1 -1
- package/dist/commands/uplink/SoftRestart.js +3 -3
- package/dist/commands/uplink/SoftRestart.js.map +1 -1
- package/dist/commands/uplink/Time2000.d.ts +5 -5
- package/dist/commands/uplink/Time2000.js +6 -7
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +3 -0
- package/dist/commands/uplink/index.js +3 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/{directionTypes.js → directions.js} +1 -1
- package/dist/constants/directions.js.map +1 -0
- package/dist/constants/events.d.ts +30 -4
- package/dist/constants/events.js +30 -4
- package/dist/constants/events.js.map +1 -1
- package/dist/constants/hardwareTypes.d.ts +2 -2
- package/dist/constants/hardwareTypes.js +2 -2
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/message.js +2 -2
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/time.d.ts +20 -3
- package/dist/utils/time.js +2 -2
- package/dist/utils/time.js.map +1 -1
- package/package.json +1 -1
- package/dist/constants/directionTypes.js.map +0 -1
- /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { DOWNLINK } from '../../constants/directions.js';
|
|
4
|
+
import * as deviceParameters from '../../constants/deviceParameters.js';
|
|
5
|
+
const COMMAND_ID = 0x04;
|
|
6
|
+
const COMMAND_BODY_SIZE = 1;
|
|
7
|
+
const examples = [
|
|
8
|
+
{
|
|
9
|
+
name: 'request initial data from device',
|
|
10
|
+
parameters: { id: deviceParameters.INITIAL_DATA },
|
|
11
|
+
hex: {
|
|
12
|
+
header: '04 01',
|
|
13
|
+
body: '17'
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'request for data type sending from device',
|
|
18
|
+
parameters: { id: deviceParameters.ABSOLUTE_DATA_STATUS },
|
|
19
|
+
hex: {
|
|
20
|
+
header: '04 01',
|
|
21
|
+
body: '18'
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Downlink command.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```js
|
|
30
|
+
* import {constants} from 'jooby-codec';
|
|
31
|
+
* import GetParameter from 'jooby-codec/commands/downlink/GetParameter';
|
|
32
|
+
*
|
|
33
|
+
* const command = new GetParameter({id: constants.deviceParameters.INITIAL_DATA});
|
|
34
|
+
*
|
|
35
|
+
* // output command binary in hex representation
|
|
36
|
+
* console.log(command.toHex());
|
|
37
|
+
* // 04 01 17
|
|
38
|
+
* ```
|
|
39
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetParameter.md#request)
|
|
40
|
+
*/
|
|
41
|
+
class GetParameter extends Command {
|
|
42
|
+
constructor(parameters) {
|
|
43
|
+
super();
|
|
44
|
+
this.parameters = parameters;
|
|
45
|
+
}
|
|
46
|
+
// data - only body (without header)
|
|
47
|
+
static fromBytes(data) {
|
|
48
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
49
|
+
return new GetParameter({ id: buffer.getUint8() });
|
|
50
|
+
}
|
|
51
|
+
// returns full message - header with body
|
|
52
|
+
// eslint-disable-next-line class-methods-use-this
|
|
53
|
+
toBytes() {
|
|
54
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
55
|
+
buffer.setUint8(this.parameters.id);
|
|
56
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
GetParameter.id = COMMAND_ID;
|
|
60
|
+
GetParameter.directionType = DOWNLINK;
|
|
61
|
+
GetParameter.examples = examples;
|
|
62
|
+
GetParameter.hasParameters = true;
|
|
63
|
+
export default GetParameter;
|
|
64
|
+
//# sourceMappingURL=GetParameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetParameter.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAcxE,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,YAAY,EAAC;QAC/C,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI;SACb;KACJ;IACD;QACI,IAAI,EAAE,2CAA2C;QACjD,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,EAAC;QACvD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI;SACb;KACJ;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAA2C;QAC5D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAiC;IAEhE,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,YAAY,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,IAAI,CAAC;AAsBzC,eAAe,YAAY,CAAC"}
|
|
@@ -18,7 +18,7 @@ declare class NewStatus extends Command {
|
|
|
18
18
|
constructor();
|
|
19
19
|
static readonly id = 20;
|
|
20
20
|
static readonly directionType = 1;
|
|
21
|
-
static readonly
|
|
21
|
+
static readonly hasParameters = false;
|
|
22
22
|
static fromBytes(): NewStatus;
|
|
23
23
|
toBytes(): Uint8Array;
|
|
24
24
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
import { DOWNLINK } from '../../constants/
|
|
2
|
+
import { DOWNLINK } from '../../constants/directions.js';
|
|
3
3
|
const COMMAND_ID = 0x14;
|
|
4
|
-
const COMMAND_TITLE = 'NEW_STATUS';
|
|
5
4
|
/**
|
|
6
5
|
* Downlink command.
|
|
7
6
|
*
|
|
@@ -25,6 +24,7 @@ class NewStatus extends Command {
|
|
|
25
24
|
static fromBytes() {
|
|
26
25
|
return new NewStatus();
|
|
27
26
|
}
|
|
27
|
+
// returns full message - header with body
|
|
28
28
|
// eslint-disable-next-line class-methods-use-this
|
|
29
29
|
toBytes() {
|
|
30
30
|
return Command.toBytes(COMMAND_ID);
|
|
@@ -32,6 +32,6 @@ class NewStatus extends Command {
|
|
|
32
32
|
}
|
|
33
33
|
NewStatus.id = COMMAND_ID;
|
|
34
34
|
NewStatus.directionType = DOWNLINK;
|
|
35
|
-
NewStatus.
|
|
35
|
+
NewStatus.hasParameters = false;
|
|
36
36
|
export default NewStatus;
|
|
37
37
|
//# sourceMappingURL=NewStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewStatus.js","sourceRoot":"","sources":["../../../src/commands/downlink/NewStatus.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"NewStatus.js","sourceRoot":"","sources":["../../../src/commands/downlink/NewStatus.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAU,SAAQ,OAAO;IAC3B;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAhBe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,SAAS,CAAC"}
|
|
@@ -1,56 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
|
-
import Command from '../../Command.js';
|
|
7
|
-
/**
|
|
8
|
-
* Initial values for pulse devices.
|
|
9
|
-
*/
|
|
10
|
-
interface IParameterInitialData {
|
|
11
|
-
/**
|
|
12
|
-
* 4 byte int BE
|
|
13
|
-
*/
|
|
14
|
-
value: number;
|
|
15
|
-
/**
|
|
16
|
-
* 4 byte int BE
|
|
17
|
-
*/
|
|
18
|
-
meterValue: number;
|
|
19
|
-
pulseCoefficient: number;
|
|
20
|
-
}
|
|
21
|
-
interface IParameterInitialDataMC extends IParameterInitialData {
|
|
22
|
-
/**
|
|
23
|
-
* Channel that accept initial values.
|
|
24
|
-
*/
|
|
25
|
-
channel: number;
|
|
26
|
-
}
|
|
27
|
-
interface IParameterAbsoluteDataStatus {
|
|
28
|
-
status: number;
|
|
29
|
-
}
|
|
30
|
-
interface IParameterAbsoluteDataStatusMC extends IParameterAbsoluteDataStatus {
|
|
31
|
-
/**
|
|
32
|
-
* Channel that accept status changing.
|
|
33
|
-
*/
|
|
34
|
-
channel: number;
|
|
35
|
-
}
|
|
36
|
-
type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus | IParameterAbsoluteDataStatusMC;
|
|
37
|
-
/**
|
|
38
|
-
* SetParameter command parameters
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* import {constants} from 'jooby-codec';
|
|
42
|
-
* {id: constants.deviceParameters.INITIAL_DATA, data: {value: 2023, meterValue: 204, pulseCoefficient: 100}}
|
|
43
|
-
*/
|
|
44
|
-
interface ISetParameterParameters {
|
|
45
|
-
/**
|
|
46
|
-
* Parameter id - one of `constants/deviceParameters`.
|
|
47
|
-
*/
|
|
48
|
-
id: number;
|
|
49
|
-
/**
|
|
50
|
-
* Parameter data, different - depending on id.
|
|
51
|
-
*/
|
|
52
|
-
data: TParameter;
|
|
53
|
-
}
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IParameter } from '../../CommandBinaryBuffer.js';
|
|
54
3
|
/**
|
|
55
4
|
* Downlink command.
|
|
56
5
|
*
|
|
@@ -68,11 +17,12 @@ interface ISetParameterParameters {
|
|
|
68
17
|
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/downlink/SetParameter.md)
|
|
69
18
|
*/
|
|
70
19
|
declare class SetParameter extends Command {
|
|
71
|
-
parameters:
|
|
72
|
-
constructor(parameters:
|
|
20
|
+
parameters: IParameter;
|
|
21
|
+
constructor(parameters: IParameter);
|
|
73
22
|
static readonly id = 3;
|
|
74
23
|
static readonly directionType = 1;
|
|
75
|
-
static readonly
|
|
24
|
+
static readonly examples: TCommandExampleList;
|
|
25
|
+
static readonly hasParameters = true;
|
|
76
26
|
static fromBytes(data: Uint8Array): SetParameter;
|
|
77
27
|
toBytes(): Uint8Array;
|
|
78
28
|
}
|
|
@@ -1,52 +1,51 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[include:commands/downlink/SetParameter.md]]
|
|
3
|
-
*
|
|
4
|
-
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
1
|
import Command from '../../Command.js';
|
|
7
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
8
|
-
import { DOWNLINK } from '../../constants/
|
|
3
|
+
import { DOWNLINK } from '../../constants/directions.js';
|
|
9
4
|
import * as deviceParameters from '../../constants/deviceParameters.js';
|
|
10
5
|
const COMMAND_ID = 0x03;
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
[0x86, 0.01]
|
|
22
|
-
]);
|
|
23
|
-
const pulseCoefficientToByteMap = new Map([...byteToPulseCoefficientMap.entries()].map(([key, value]) => [value, key]));
|
|
24
|
-
const isMSBSet = (value) => !!(value & 0x80);
|
|
25
|
-
const getPulseCoefficient = (buffer) => {
|
|
26
|
-
const pulseCoefficient = buffer.getUint8();
|
|
27
|
-
if (isMSBSet(pulseCoefficient)) {
|
|
28
|
-
const value = byteToPulseCoefficientMap.get(pulseCoefficient);
|
|
29
|
-
if (value) {
|
|
30
|
-
return value;
|
|
6
|
+
const examples = [
|
|
7
|
+
{
|
|
8
|
+
name: 'initial data setup',
|
|
9
|
+
parameters: {
|
|
10
|
+
id: deviceParameters.INITIAL_DATA,
|
|
11
|
+
data: { value: 2023, meterValue: 204, pulseCoefficient: 100 }
|
|
12
|
+
},
|
|
13
|
+
hex: {
|
|
14
|
+
header: '03 0a',
|
|
15
|
+
body: '17 00 00 00 cc 82 00 00 07 e7'
|
|
31
16
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (byte) {
|
|
40
|
-
buffer.setUint8(byte);
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'enable sending absolute data',
|
|
20
|
+
parameters: { id: deviceParameters.ABSOLUTE_DATA_STATUS, data: { status: 1 } },
|
|
21
|
+
hex: {
|
|
22
|
+
header: '03 02',
|
|
23
|
+
body: '18 01'
|
|
41
24
|
}
|
|
42
|
-
|
|
43
|
-
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'initial data setup for 1 channel',
|
|
28
|
+
parameters: {
|
|
29
|
+
id: deviceParameters.INITIAL_DATA_MULTI_CHANNEL,
|
|
30
|
+
data: { value: 2032, meterValue: 402, pulseCoefficient: 1000, channel: 1 }
|
|
31
|
+
},
|
|
32
|
+
hex: {
|
|
33
|
+
header: '03 0b',
|
|
34
|
+
body: '1d 01 00 00 01 92 80 00 00 07 f0'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'disable sending absolute data from 2 channel',
|
|
39
|
+
parameters: {
|
|
40
|
+
id: deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL,
|
|
41
|
+
data: { status: 0, channel: 2 }
|
|
42
|
+
},
|
|
43
|
+
hex: {
|
|
44
|
+
header: '03 03',
|
|
45
|
+
body: '1e 02 00'
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
|
-
|
|
47
|
-
buffer.setUint8(value);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
48
|
+
];
|
|
50
49
|
/**
|
|
51
50
|
* Downlink command.
|
|
52
51
|
*
|
|
@@ -71,77 +70,18 @@ class SetParameter extends Command {
|
|
|
71
70
|
// data - only body (without header)
|
|
72
71
|
static fromBytes(data) {
|
|
73
72
|
const buffer = new CommandBinaryBuffer(data);
|
|
74
|
-
|
|
75
|
-
let parameterData;
|
|
76
|
-
switch (id) {
|
|
77
|
-
case deviceParameters.INITIAL_DATA:
|
|
78
|
-
parameterData = {
|
|
79
|
-
meterValue: buffer.getUint32(false),
|
|
80
|
-
pulseCoefficient: getPulseCoefficient(buffer),
|
|
81
|
-
value: buffer.getUint32(false)
|
|
82
|
-
};
|
|
83
|
-
break;
|
|
84
|
-
case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
|
|
85
|
-
parameterData = {
|
|
86
|
-
channel: buffer.getUint8(),
|
|
87
|
-
meterValue: buffer.getUint32(false),
|
|
88
|
-
pulseCoefficient: getPulseCoefficient(buffer),
|
|
89
|
-
value: buffer.getUint32(false)
|
|
90
|
-
};
|
|
91
|
-
break;
|
|
92
|
-
case deviceParameters.ABSOLUTE_DATA_STATUS:
|
|
93
|
-
parameterData = {
|
|
94
|
-
status: buffer.getUint8()
|
|
95
|
-
};
|
|
96
|
-
break;
|
|
97
|
-
case deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL:
|
|
98
|
-
parameterData = {
|
|
99
|
-
channel: buffer.getUint8(),
|
|
100
|
-
status: buffer.getUint8()
|
|
101
|
-
};
|
|
102
|
-
break;
|
|
103
|
-
default:
|
|
104
|
-
throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
|
|
105
|
-
}
|
|
106
|
-
return new SetParameter({ id, data: parameterData });
|
|
73
|
+
return new SetParameter(buffer.getParameter());
|
|
107
74
|
}
|
|
108
75
|
// returns full message - header with body
|
|
109
76
|
toBytes() {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
let parameterData;
|
|
113
|
-
buffer.setUint8(id);
|
|
114
|
-
switch (id) {
|
|
115
|
-
case deviceParameters.INITIAL_DATA:
|
|
116
|
-
parameterData = data;
|
|
117
|
-
buffer.setUint32(parameterData.meterValue, false);
|
|
118
|
-
setPulseCoefficient(buffer, parameterData.pulseCoefficient);
|
|
119
|
-
buffer.setUint32(parameterData.value, false);
|
|
120
|
-
break;
|
|
121
|
-
case deviceParameters.INITIAL_DATA_MULTI_CHANNEL:
|
|
122
|
-
parameterData = data;
|
|
123
|
-
buffer.setUint8(parameterData.channel);
|
|
124
|
-
buffer.setUint32(parameterData.meterValue, false);
|
|
125
|
-
setPulseCoefficient(buffer, parameterData.pulseCoefficient);
|
|
126
|
-
buffer.setUint32(parameterData.value, false);
|
|
127
|
-
break;
|
|
128
|
-
case deviceParameters.ABSOLUTE_DATA_STATUS:
|
|
129
|
-
parameterData = data;
|
|
130
|
-
buffer.setUint8(parameterData.status);
|
|
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;
|
|
137
|
-
default:
|
|
138
|
-
throw new Error(`${SetParameter.getId()}: parameter ${id} is not supported`);
|
|
139
|
-
}
|
|
77
|
+
const buffer = new CommandBinaryBuffer(CommandBinaryBuffer.getParameterSize(this.parameters));
|
|
78
|
+
buffer.setParameter(this.parameters);
|
|
140
79
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
141
80
|
}
|
|
142
81
|
}
|
|
143
82
|
SetParameter.id = COMMAND_ID;
|
|
144
83
|
SetParameter.directionType = DOWNLINK;
|
|
145
|
-
SetParameter.
|
|
84
|
+
SetParameter.examples = examples;
|
|
85
|
+
SetParameter.hasParameters = true;
|
|
146
86
|
export default SetParameter;
|
|
147
87
|
//# sourceMappingURL=SetParameter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAiC,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAGxE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,YAAY;YACjC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAC;SAC9D;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,+BAA+B;SACxC;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE,EAAC,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,EAAC;QAC1E,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO;SAChB;KACJ;IACD;QACI,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,0BAA0B;YAC/C,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;SAC3E;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kCAAkC;SAC3C;KACJ;IACD;QACI,IAAI,EAAE,8CAA8C;QACpD,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,kCAAkC;YACvD,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;SAChC;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,UAAU;SACnB;KACJ;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAAsB;QACvC,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAY;IAE3C,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAvBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,YAAY,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[include:commands/downlink/SetTime2000.md]]
|
|
3
|
-
*
|
|
4
|
-
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
1
|
import Command from '../../Command.js';
|
|
7
2
|
/**
|
|
8
3
|
* SetTime2000 command parameters
|
|
@@ -38,7 +33,7 @@ declare class SetTime2000 extends Command {
|
|
|
38
33
|
constructor(parameters: IDownlinkSetTime2000Parameters);
|
|
39
34
|
static readonly id = 2;
|
|
40
35
|
static readonly directionType = 1;
|
|
41
|
-
static readonly
|
|
36
|
+
static readonly hasParameters = true;
|
|
42
37
|
static fromBytes(data: Uint8Array): SetTime2000;
|
|
43
38
|
toBytes(): Uint8Array;
|
|
44
39
|
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[include:commands/downlink/SetTime2000.md]]
|
|
3
|
-
*
|
|
4
|
-
* @packageDocumentation
|
|
5
|
-
*/
|
|
6
1
|
import Command from '../../Command.js';
|
|
7
2
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
8
|
-
import { DOWNLINK } from '../../constants/
|
|
3
|
+
import { DOWNLINK } from '../../constants/directions.js';
|
|
9
4
|
const COMMAND_ID = 0x02;
|
|
10
|
-
const COMMAND_TITLE = 'SET_TIME_2000';
|
|
11
5
|
const COMMAND_BODY_SIZE = 5;
|
|
12
6
|
/**
|
|
13
7
|
* Downlink command.
|
|
@@ -56,6 +50,6 @@ class SetTime2000 extends Command {
|
|
|
56
50
|
}
|
|
57
51
|
SetTime2000.id = COMMAND_ID;
|
|
58
52
|
SetTime2000.directionType = DOWNLINK;
|
|
59
|
-
SetTime2000.
|
|
53
|
+
SetTime2000.hasParameters = true;
|
|
60
54
|
export default SetTime2000;
|
|
61
55
|
//# sourceMappingURL=SetTime2000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAkBvD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAY,SAAQ,OAAO;IAC7B,YAAqB,UAA0C;QAC3D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgC;IAE/D,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC7B,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,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,cAAc,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAnCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAa,GAAG,IAAI,CAAC;AAmCzC,eAAe,WAAW,CAAC"}
|
|
@@ -17,7 +17,7 @@ import Command from '../../Command.js';
|
|
|
17
17
|
declare class SoftRestart extends Command {
|
|
18
18
|
static readonly id = 25;
|
|
19
19
|
static readonly directionType = 1;
|
|
20
|
-
static readonly
|
|
20
|
+
static readonly hasParameters = false;
|
|
21
21
|
static fromBytes(): SoftRestart;
|
|
22
22
|
toBytes(): Uint8Array;
|
|
23
23
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
import { DOWNLINK } from '../../constants/
|
|
2
|
+
import { DOWNLINK } from '../../constants/directions.js';
|
|
3
3
|
const COMMAND_ID = 0x19;
|
|
4
|
-
const COMMAND_TITLE = 'SOFT_RESTART';
|
|
5
4
|
/**
|
|
6
5
|
* Downlink command.
|
|
7
6
|
*
|
|
@@ -22,6 +21,7 @@ class SoftRestart extends Command {
|
|
|
22
21
|
static fromBytes() {
|
|
23
22
|
return new SoftRestart();
|
|
24
23
|
}
|
|
24
|
+
// returns full message - header with body
|
|
25
25
|
// eslint-disable-next-line class-methods-use-this
|
|
26
26
|
toBytes() {
|
|
27
27
|
return Command.toBytes(COMMAND_ID);
|
|
@@ -29,6 +29,6 @@ class SoftRestart extends Command {
|
|
|
29
29
|
}
|
|
30
30
|
SoftRestart.id = COMMAND_ID;
|
|
31
31
|
SoftRestart.directionType = DOWNLINK;
|
|
32
|
-
SoftRestart.
|
|
32
|
+
SoftRestart.hasParameters = false;
|
|
33
33
|
export default SoftRestart;
|
|
34
34
|
//# sourceMappingURL=SoftRestart.js.map
|
|
@@ -1 +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,
|
|
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,+BAA+B,CAAC;AAGvD,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAY,SAAQ,OAAO;IAQ7B,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,0CAA0C;IAC1C,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAhBe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,yBAAa,GAAG,KAAK,CAAC;AAgB1C,eAAe,WAAW,CAAC"}
|
|
@@ -8,8 +8,11 @@ export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
|
8
8
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
9
|
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
10
10
|
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
11
|
+
export { default as GetArchiveEvents } from './GetArchiveEvents.js';
|
|
11
12
|
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
12
13
|
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
14
|
+
export { default as GetLmicVersion } from './GetLmicVersion.js';
|
|
15
|
+
export { default as GetParameter } from './GetParameter.js';
|
|
13
16
|
export { default as NewStatus } from './NewStatus.js';
|
|
14
17
|
export { default as SetParameter } from './SetParameter.js';
|
|
15
18
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -8,8 +8,11 @@ export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
|
8
8
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
9
|
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
10
10
|
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
11
|
+
export { default as GetArchiveEvents } from './GetArchiveEvents.js';
|
|
11
12
|
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
12
13
|
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
14
|
+
export { default as GetLmicVersion } from './GetLmicVersion.js';
|
|
15
|
+
export { default as GetParameter } from './GetParameter.js';
|
|
13
16
|
export { default as NewStatus } from './NewStatus.js';
|
|
14
17
|
export { default as SetParameter } from './SetParameter.js';
|
|
15
18
|
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,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"}
|
|
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,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,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,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"}
|
|
@@ -30,7 +30,7 @@ declare class CorrectTime2000 extends Command {
|
|
|
30
30
|
constructor(parameters: IUplinkCorrectTime2000Parameters);
|
|
31
31
|
static readonly id = 12;
|
|
32
32
|
static readonly directionType = 2;
|
|
33
|
-
static readonly
|
|
33
|
+
static readonly hasParameters = true;
|
|
34
34
|
static fromBytes(data: Uint8Array): CorrectTime2000;
|
|
35
35
|
toBytes(): Uint8Array;
|
|
36
36
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
3
|
-
import { UPLINK } from '../../constants/
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x0c;
|
|
5
|
-
const COMMAND_TITLE = 'CORRECT_TIME_2000';
|
|
6
5
|
const COMMAND_BODY_SIZE = 1;
|
|
7
6
|
/**
|
|
8
7
|
* Uplink command.
|
|
@@ -40,6 +39,7 @@ class CorrectTime2000 extends Command {
|
|
|
40
39
|
}
|
|
41
40
|
return new CorrectTime2000(parameters);
|
|
42
41
|
}
|
|
42
|
+
// returns full message - header with body
|
|
43
43
|
toBytes() {
|
|
44
44
|
const { status } = this.parameters;
|
|
45
45
|
const buffer = new BinaryBuffer(COMMAND_BODY_SIZE, false);
|
|
@@ -49,6 +49,6 @@ class CorrectTime2000 extends Command {
|
|
|
49
49
|
}
|
|
50
50
|
CorrectTime2000.id = COMMAND_ID;
|
|
51
51
|
CorrectTime2000.directionType = UPLINK;
|
|
52
|
-
CorrectTime2000.
|
|
52
|
+
CorrectTime2000.hasParameters = true;
|
|
53
53
|
export default CorrectTime2000;
|
|
54
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;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,
|
|
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,+BAA+B,CAAC;AAcrD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,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;IAUD,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,0CAA0C;IAC1C,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;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,MAAM,CAAC;AAEvB,6BAAa,GAAG,IAAI,CAAC;AAkCzC,eAAe,eAAe,CAAC"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
+
import { TTime2000 } from '../../utils/time.js';
|
|
1
2
|
import GetCurrentMC, { IGetCurrentMCParameters } from './GetCurrentMC.js';
|
|
2
3
|
/**
|
|
3
4
|
* DataDayMC command parameters.
|
|
4
5
|
*/
|
|
5
6
|
interface IDataDayMCParameters extends IGetCurrentMCParameters {
|
|
6
|
-
|
|
7
|
-
* Seconds since year 2000, i.e. timestamp (in seconds) - 946684800
|
|
8
|
-
*/
|
|
9
|
-
startTime: number;
|
|
7
|
+
startTime: TTime2000;
|
|
10
8
|
}
|
|
11
9
|
declare class DataDayMC extends GetCurrentMC {
|
|
12
10
|
parameters: IDataDayMCParameters;
|
|
13
11
|
constructor(parameters: IDataDayMCParameters);
|
|
14
12
|
static readonly id = 22;
|
|
15
13
|
static readonly directionType = 2;
|
|
16
|
-
static readonly
|
|
14
|
+
static readonly hasParameters = true;
|
|
17
15
|
static fromBytes(data: Uint8Array): DataDayMC;
|
|
18
16
|
toBytes(): Uint8Array;
|
|
19
17
|
}
|
|
@@ -3,9 +3,8 @@ import Command from '../../Command.js';
|
|
|
3
3
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
4
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
5
|
import GetCurrentMC from './GetCurrentMC.js';
|
|
6
|
-
import { UPLINK } from '../../constants/
|
|
6
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
7
7
|
const COMMAND_ID = 0x16;
|
|
8
|
-
const COMMAND_TITLE = 'DATA_DAY_MC';
|
|
9
8
|
// 2 byte for date + 2 for channels (max channels: 7)
|
|
10
9
|
// 4 + (7 * 4)
|
|
11
10
|
const COMMAND_BODY_MAX_SIZE = 32;
|
|
@@ -14,6 +13,7 @@ class DataDayMC extends GetCurrentMC {
|
|
|
14
13
|
super(parameters);
|
|
15
14
|
this.parameters = parameters;
|
|
16
15
|
}
|
|
16
|
+
// data - only body (without header)
|
|
17
17
|
static fromBytes(data) {
|
|
18
18
|
const parameters = { channelList: [], startTime: 0 };
|
|
19
19
|
const buffer = new CommandBinaryBuffer(data);
|
|
@@ -26,6 +26,7 @@ class DataDayMC extends GetCurrentMC {
|
|
|
26
26
|
parameters.startTime = getSecondsFromDate(date);
|
|
27
27
|
return new DataDayMC(parameters);
|
|
28
28
|
}
|
|
29
|
+
// returns full message - header with body
|
|
29
30
|
toBytes() {
|
|
30
31
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
31
32
|
const { channelList, startTime } = this.parameters;
|
|
@@ -37,6 +38,6 @@ class DataDayMC extends GetCurrentMC {
|
|
|
37
38
|
}
|
|
38
39
|
DataDayMC.id = COMMAND_ID;
|
|
39
40
|
DataDayMC.directionType = UPLINK;
|
|
40
|
-
DataDayMC.
|
|
41
|
+
DataDayMC.hasParameters = true;
|
|
41
42
|
export default DataDayMC;
|
|
42
43
|
//# sourceMappingURL=DataDayMC.js.map
|
|
@@ -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,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,kBAAkB,
|
|
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,EAAY,MAAM,qBAAqB,CAAC;AAClE,OAAO,YAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAWrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,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;IAUD,oCAAoC;IACpC,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,0CAA0C;IAC1C,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;;AApCe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,uBAAa,GAAG,IAAI,CAAC;AAoCzC,eAAe,SAAS,CAAC"}
|