jooby-codec 1.3.0 → 1.4.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 +5 -5
- package/dist/CommandBinaryBuffer.js +19 -19
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +47 -0
- package/dist/commands/downlink/{ExAbsArchiveDaysMul.js → ExAbsArchiveDaysMC.js} +18 -18
- 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} +18 -18
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +47 -0
- package/dist/commands/downlink/{GetArchiveDaysMul.js → GetArchiveDaysMC.js} +18 -18
- 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} +18 -18
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/downlink/SetParameter.d.ts +2 -2
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +4 -4
- package/dist/commands/downlink/index.js +4 -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} +13 -13
- package/dist/commands/uplink/DataDayMC.js.map +1 -0
- package/dist/commands/uplink/{DataHourMul.d.ts → DataHourMC.d.ts} +3 -3
- package/dist/commands/uplink/{DataHourMul.js → DataHourMC.js} +20 -20
- package/dist/commands/uplink/DataHourMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsArchiveDaysMul.d.ts → ExAbsArchiveDaysMC.d.ts} +9 -9
- package/dist/commands/uplink/{ExAbsArchiveDaysMul.js → ExAbsArchiveDaysMC.js} +22 -22
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsArchiveHoursMul.d.ts → ExAbsArchiveHoursMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsArchiveHoursMul.js → ExAbsArchiveHoursMC.js} +20 -20
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsDayMul.d.ts → ExAbsDayMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsDayMul.js → ExAbsDayMC.js} +16 -16
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsHourMul.d.ts → ExAbsHourMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsHourMul.js → ExAbsHourMC.js} +20 -20
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -0
- package/dist/commands/uplink/{GetArchiveDaysMul.d.ts → GetArchiveDaysMC.d.ts} +17 -17
- package/dist/commands/uplink/{GetArchiveDaysMul.js → GetArchiveDaysMC.js} +32 -32
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +28 -0
- package/dist/commands/uplink/{GetArchiveHoursMul.js → GetArchiveHoursMC.js} +17 -17
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMC.d.ts +24 -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 +9 -9
- package/dist/commands/uplink/index.js +9 -9
- package/dist/commands/uplink/index.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.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsDayMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsHourMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +0 -28
- 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
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
5
5
|
import Command from '../../Command.js';
|
|
6
|
-
import
|
|
6
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
7
7
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
8
8
|
import roundNumber from '../../utils/roundNumber.js';
|
|
9
9
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
10
10
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0b1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_DAY_MUL';
|
|
13
|
-
// date 2 bytes,
|
|
14
|
-
// 3 + (4
|
|
13
|
+
// date 2 bytes, channelList - 1 byte (max channelList: 4)
|
|
14
|
+
// 3 + (4 channelList * (1 byte IPK + 5 bytes of day values))
|
|
15
15
|
const COMMAND_BODY_MAX_SIZE = 27;
|
|
16
|
-
class
|
|
16
|
+
class ExAbsDayMC extends GetCurrentMC {
|
|
17
17
|
constructor(parameters) {
|
|
18
18
|
super(parameters);
|
|
19
19
|
this.parameters = parameters;
|
|
@@ -24,13 +24,13 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
24
24
|
const channelArray = buffer.getChannels(true);
|
|
25
25
|
const maxChannel = Math.max.apply(null, channelArray);
|
|
26
26
|
let value;
|
|
27
|
-
const
|
|
27
|
+
const channelList = [];
|
|
28
28
|
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
29
29
|
// IPK_${channelIndex}
|
|
30
30
|
const pulseCoefficient = buffer.getUint8();
|
|
31
31
|
// day value
|
|
32
32
|
value = buffer.getExtendedValue();
|
|
33
|
-
|
|
33
|
+
channelList.push({
|
|
34
34
|
value,
|
|
35
35
|
pulseCoefficient,
|
|
36
36
|
index: channelIndex,
|
|
@@ -38,23 +38,23 @@ class ExAbsDayMul extends GetCurrentMul {
|
|
|
38
38
|
meterValue: roundNumber(value / pulseCoefficient)
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
return new
|
|
41
|
+
return new ExAbsDayMC({ channelList, date });
|
|
42
42
|
}
|
|
43
43
|
toBytes() {
|
|
44
44
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
45
|
-
const {
|
|
46
|
-
const { seconds } =
|
|
45
|
+
const { channelList } = this.parameters;
|
|
46
|
+
const { seconds } = channelList[0];
|
|
47
47
|
buffer.setDate(seconds);
|
|
48
|
-
buffer.setChannels(
|
|
49
|
-
for (const { value, pulseCoefficient } of
|
|
48
|
+
buffer.setChannels(channelList);
|
|
49
|
+
for (const { value, pulseCoefficient } of channelList) {
|
|
50
50
|
buffer.setUint8(pulseCoefficient);
|
|
51
51
|
buffer.setExtendedValue(value);
|
|
52
52
|
}
|
|
53
53
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
export default
|
|
60
|
-
//# sourceMappingURL=
|
|
56
|
+
ExAbsDayMC.id = COMMAND_ID;
|
|
57
|
+
ExAbsDayMC.directionType = UPLINK;
|
|
58
|
+
ExAbsDayMC.title = COMMAND_TITLE;
|
|
59
|
+
export default ExAbsDayMC;
|
|
60
|
+
//# sourceMappingURL=ExAbsDayMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsDayMC.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4DAA4D;AAC5D,uDAAuD;AACvD,0DAA0D;AAE1D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,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,0DAA0D;AAC1D,6DAA6D;AAC7D,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,UAAW,SAAQ,YAAY;IACjC,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,WAAW,GAAe,EAAE,CAAC;QAEnC,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,WAAW,CAAC,IAAI,CAAC;gBACb,KAAK;gBACL,gBAAgB;gBAChB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;gBACjC,UAAU,EAAE,WAAW,CAAC,KAAK,GAAG,gBAAgB,CAAC;aACpD,CAAC,CAAC;SACN;QAED,OAAO,IAAI,UAAU,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,MAAM,EAAC,OAAO,EAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhC,KAAM,MAAM,EAAC,KAAK,EAAE,gBAAgB,EAAC,IAAI,WAAW,EAAG;YACnD,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,aAAE,GAAG,UAAU,CAAC;AAEP,wBAAa,GAAG,MAAM,CAAC;AAEhC,gBAAK,GAAG,aAAa,CAAC;AAiDjC,eAAe,UAAU,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare class
|
|
1
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
2
|
+
declare class ExAbsHourMC extends GetCurrentMC {
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 2591;
|
|
@@ -8,4 +8,4 @@ declare class ExAbsHourMul extends GetCurrentMul {
|
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
10
10
|
}
|
|
11
|
-
export default
|
|
11
|
+
export default ExAbsHourMC;
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
5
5
|
import Command from '../../Command.js';
|
|
6
|
-
import
|
|
6
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
7
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
8
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
9
|
import roundNumber from '../../utils/roundNumber.js';
|
|
10
10
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
11
11
|
const COMMAND_ID = 0x0a1f;
|
|
12
12
|
const COMMAND_TITLE = 'EX_ABS_HOUR_MUL';
|
|
13
|
-
// date 2 bytes, hour 1 byte,
|
|
13
|
+
// date 2 bytes, hour 1 byte, channelList - 1 byte (max channelList: 4)
|
|
14
14
|
// max hours diff - 7 (3 bit value)
|
|
15
|
-
// 4 + (4
|
|
15
|
+
// 4 + (4 channelList * (1 byte IPK + 5 bytes of hour value)) + (4 * 2 bytes of diff * 7 max hours diff)
|
|
16
16
|
const COMMAND_BODY_MAX_SIZE = 84;
|
|
17
|
-
class
|
|
17
|
+
class ExAbsHourMC extends GetCurrentMC {
|
|
18
18
|
constructor(parameters) {
|
|
19
19
|
super(parameters);
|
|
20
20
|
this.parameters = parameters;
|
|
@@ -28,7 +28,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
28
28
|
date.setUTCHours(hour);
|
|
29
29
|
const counterDate = new Date(date);
|
|
30
30
|
let hourAmount = hours;
|
|
31
|
-
const
|
|
31
|
+
const channelList = [];
|
|
32
32
|
if (hourAmount === 0) {
|
|
33
33
|
// one hour
|
|
34
34
|
hourAmount = 1;
|
|
@@ -50,7 +50,7 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
50
50
|
meterValue: roundNumber((value + pulseValue) / pulseCoefficient)
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
channelList.push({
|
|
54
54
|
diff,
|
|
55
55
|
pulseCoefficient,
|
|
56
56
|
index: channelIndex,
|
|
@@ -59,23 +59,23 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
59
59
|
meterValue: roundNumber(pulseValue / pulseCoefficient)
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
return new
|
|
62
|
+
return new ExAbsHourMC({ channelList, date });
|
|
63
63
|
}
|
|
64
64
|
toBytes() {
|
|
65
65
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
66
|
-
const {
|
|
67
|
-
const { seconds } =
|
|
66
|
+
const { channelList } = this.parameters;
|
|
67
|
+
const { seconds } = channelList[0];
|
|
68
68
|
const realDate = getDateFromSeconds(seconds);
|
|
69
69
|
const hour = realDate.getUTCHours();
|
|
70
|
-
let
|
|
70
|
+
let hours = channelList[0].diff.length;
|
|
71
71
|
// TODO: add link to doc
|
|
72
|
-
if (
|
|
73
|
-
|
|
72
|
+
if (hours === 1) {
|
|
73
|
+
hours = 0;
|
|
74
74
|
}
|
|
75
75
|
buffer.setDate(seconds);
|
|
76
|
-
buffer.setHours(hour,
|
|
77
|
-
buffer.setChannels(
|
|
78
|
-
for (const { value, diff, pulseCoefficient } of
|
|
76
|
+
buffer.setHours(hour, hours);
|
|
77
|
+
buffer.setChannels(channelList);
|
|
78
|
+
for (const { value, diff, pulseCoefficient } of channelList) {
|
|
79
79
|
buffer.setUint8(pulseCoefficient);
|
|
80
80
|
buffer.setExtendedValue(value);
|
|
81
81
|
for (const { value: diffValue } of diff) {
|
|
@@ -85,8 +85,8 @@ class ExAbsHourMul extends GetCurrentMul {
|
|
|
85
85
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
export default
|
|
92
|
-
//# sourceMappingURL=
|
|
88
|
+
ExAbsHourMC.id = COMMAND_ID;
|
|
89
|
+
ExAbsHourMC.directionType = UPLINK;
|
|
90
|
+
ExAbsHourMC.title = COMMAND_TITLE;
|
|
91
|
+
export default ExAbsHourMC;
|
|
92
|
+
//# sourceMappingURL=ExAbsHourMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsHourMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* GetArchiveDaysMC command parameters
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
6
|
* // archive 2 days values from 2001-03-10T00:00:00.000Z
|
|
7
7
|
* {
|
|
8
|
-
*
|
|
8
|
+
* channelList: [{index: 0, days: [{value: 234, day: 0}, {value: 332, day: 1}]}],
|
|
9
9
|
* date: '2001-03-10T12:00:00.000Z',
|
|
10
|
-
*
|
|
10
|
+
* days: 2
|
|
11
11
|
* }
|
|
12
12
|
*/
|
|
13
|
-
interface
|
|
14
|
-
|
|
13
|
+
interface IUplinkGetArchiveDaysMCParameters {
|
|
14
|
+
channelList: Array<IArchiveChannel>;
|
|
15
15
|
date: Date | undefined | string;
|
|
16
|
-
|
|
16
|
+
days: number | undefined;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* channel value by day
|
|
@@ -32,7 +32,7 @@ interface IArchiveChannel {
|
|
|
32
32
|
/**
|
|
33
33
|
* values by days
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
dayList: Array<IArchiveDayValue>;
|
|
36
36
|
/** time */
|
|
37
37
|
seconds: number;
|
|
38
38
|
/**
|
|
@@ -45,29 +45,29 @@ interface IArchiveChannel {
|
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
47
|
* ```js
|
|
48
|
-
* import
|
|
48
|
+
* import GetArchiveDaysMC from 'jooby-codec/commands/uplink/GetArchiveDaysMC';
|
|
49
49
|
*
|
|
50
50
|
* const parameters = {
|
|
51
|
-
*
|
|
51
|
+
* channelList: [{index: 0, days: [{value: 234, day: 0}, {value: 332, day: 1}]}],
|
|
52
52
|
* date: '2001-03-10T12:00:00.000Z',
|
|
53
|
-
*
|
|
53
|
+
* days: 2
|
|
54
54
|
* };
|
|
55
55
|
*
|
|
56
|
-
* const command = new
|
|
56
|
+
* const command = new GetArchiveDaysMC(parameters);
|
|
57
57
|
*
|
|
58
58
|
* // output command binary in hex representation
|
|
59
59
|
* console.log(command.toHex());
|
|
60
60
|
* // 1b 04 2f 97 0c 01
|
|
61
61
|
* ```
|
|
62
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
62
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMC.md#response)
|
|
63
63
|
*/
|
|
64
|
-
declare class
|
|
65
|
-
parameters:
|
|
66
|
-
constructor(parameters:
|
|
64
|
+
declare class GetArchiveDaysMC extends Command {
|
|
65
|
+
parameters: IUplinkGetArchiveDaysMCParameters;
|
|
66
|
+
constructor(parameters: IUplinkGetArchiveDaysMCParameters);
|
|
67
67
|
static readonly id = 27;
|
|
68
68
|
static readonly directionType = 2;
|
|
69
69
|
static readonly title = "GET_ARCHIVE_DAYS_MUL";
|
|
70
|
-
static fromBytes(data: Uint8Array):
|
|
70
|
+
static fromBytes(data: Uint8Array): GetArchiveDaysMC;
|
|
71
71
|
toBytes(): Uint8Array;
|
|
72
72
|
}
|
|
73
|
-
export default
|
|
73
|
+
export default GetArchiveDaysMC;
|
|
@@ -4,94 +4,94 @@ import { UPLINK } from '../../constants/directionTypes.js';
|
|
|
4
4
|
import { getDateFromSeconds, getSecondsFromDate } from '../../utils/time.js';
|
|
5
5
|
const COMMAND_ID = 0x1b;
|
|
6
6
|
const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MUL';
|
|
7
|
-
// date 2 bytes,
|
|
8
|
-
// 4 + (4
|
|
7
|
+
// date 2 bytes, channelList 1 byte (max channelList: 4), days 1 byte (max days - 255)
|
|
8
|
+
// 4 + (4 channelList * 5 bytes of day values * 255 max days)
|
|
9
9
|
const COMMAND_BODY_MAX_SIZE = 5104;
|
|
10
10
|
/**
|
|
11
11
|
* Uplink command
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```js
|
|
15
|
-
* import
|
|
15
|
+
* import GetArchiveDaysMC from 'jooby-codec/commands/uplink/GetArchiveDaysMC';
|
|
16
16
|
*
|
|
17
17
|
* const parameters = {
|
|
18
|
-
*
|
|
18
|
+
* channelList: [{index: 0, days: [{value: 234, day: 0}, {value: 332, day: 1}]}],
|
|
19
19
|
* date: '2001-03-10T12:00:00.000Z',
|
|
20
|
-
*
|
|
20
|
+
* days: 2
|
|
21
21
|
* };
|
|
22
22
|
*
|
|
23
|
-
* const command = new
|
|
23
|
+
* const command = new GetArchiveDaysMC(parameters);
|
|
24
24
|
*
|
|
25
25
|
* // output command binary in hex representation
|
|
26
26
|
* console.log(command.toHex());
|
|
27
27
|
* // 1b 04 2f 97 0c 01
|
|
28
28
|
* ```
|
|
29
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
29
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveDaysMC.md#response)
|
|
30
30
|
*/
|
|
31
|
-
class
|
|
31
|
+
class GetArchiveDaysMC extends Command {
|
|
32
32
|
constructor(parameters) {
|
|
33
33
|
super();
|
|
34
34
|
this.parameters = parameters;
|
|
35
|
-
this.parameters.
|
|
36
|
-
const { date,
|
|
35
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
36
|
+
const { date, days, channelList } = this.parameters;
|
|
37
37
|
if (date === undefined) {
|
|
38
|
-
const [{ seconds }] =
|
|
38
|
+
const [{ seconds }] = channelList;
|
|
39
39
|
if (seconds) {
|
|
40
40
|
this.parameters.date = getDateFromSeconds(seconds);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
|
-
throw new Error(`${
|
|
43
|
+
throw new Error(`${GetArchiveDaysMC.getName()} can't recognize time`);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
else if (typeof date === 'string') {
|
|
47
47
|
this.parameters.date = new Date(date);
|
|
48
48
|
}
|
|
49
|
-
if (
|
|
50
|
-
this.parameters.
|
|
49
|
+
if (days === undefined) {
|
|
50
|
+
this.parameters.days = channelList[0].dayList.length;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
static fromBytes(data) {
|
|
54
54
|
const buffer = new CommandBinaryBuffer(data);
|
|
55
55
|
const date = buffer.getDate();
|
|
56
56
|
const channelArray = buffer.getChannels(true);
|
|
57
|
-
const
|
|
57
|
+
const days = buffer.getUint8();
|
|
58
58
|
const maxChannel = Math.max.apply(null, channelArray);
|
|
59
|
-
const
|
|
59
|
+
const channelList = [];
|
|
60
60
|
const counterDate = new Date(date);
|
|
61
61
|
let value;
|
|
62
62
|
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
63
|
-
const
|
|
63
|
+
const dayList = [];
|
|
64
64
|
counterDate.setTime(date.getTime());
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
channelList.push({
|
|
66
|
+
dayList,
|
|
67
67
|
index: channelIndex,
|
|
68
68
|
seconds: getSecondsFromDate(counterDate),
|
|
69
69
|
date: new Date(counterDate)
|
|
70
70
|
});
|
|
71
|
-
for (let day = 0; day <
|
|
71
|
+
for (let day = 0; day < days; ++day) {
|
|
72
72
|
value = buffer.getExtendedValue();
|
|
73
73
|
counterDate.setTime(date.getTime());
|
|
74
74
|
counterDate.setUTCHours(counterDate.getUTCHours() + (day * 24));
|
|
75
|
-
|
|
75
|
+
dayList.push({ value, day, date: new Date(counterDate), seconds: getSecondsFromDate(counterDate) });
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
return new
|
|
78
|
+
return new GetArchiveDaysMC({ channelList, date, days });
|
|
79
79
|
}
|
|
80
80
|
toBytes() {
|
|
81
81
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
82
|
-
const {
|
|
82
|
+
const { days, date, channelList } = this.parameters;
|
|
83
83
|
buffer.setDate(date);
|
|
84
|
-
buffer.setChannels(
|
|
84
|
+
buffer.setChannels(channelList);
|
|
85
85
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
86
|
-
buffer.setUint8(
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
buffer.setUint8(days);
|
|
87
|
+
channelList.forEach(({ dayList }) => {
|
|
88
|
+
dayList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
89
89
|
});
|
|
90
90
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
export default
|
|
97
|
-
//# sourceMappingURL=
|
|
93
|
+
GetArchiveDaysMC.id = COMMAND_ID;
|
|
94
|
+
GetArchiveDaysMC.directionType = UPLINK;
|
|
95
|
+
GetArchiveDaysMC.title = COMMAND_TITLE;
|
|
96
|
+
export default GetArchiveDaysMC;
|
|
97
|
+
//# sourceMappingURL=GetArchiveDaysMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveDaysMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import { IChannel } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
/**
|
|
4
|
+
* GetArchiveHoursMC command parameters
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* // archive hours values from 001-03-10T12:00:00.000Z with 1-hour diff
|
|
8
|
+
* {
|
|
9
|
+
* channelList: [{value: 101, index: 0, diff: [value: 1]}],
|
|
10
|
+
* date: '2001-03-10T12:00:00.000Z',
|
|
11
|
+
* hours: 1
|
|
12
|
+
* }
|
|
13
|
+
*/
|
|
14
|
+
interface IUplinkGetArchiveHoursMCParameters {
|
|
15
|
+
channelList: Array<IChannel>;
|
|
16
|
+
date: Date | undefined | string;
|
|
17
|
+
hours: number | undefined;
|
|
18
|
+
}
|
|
19
|
+
declare class GetArchiveHoursMC extends Command {
|
|
20
|
+
parameters: IUplinkGetArchiveHoursMCParameters;
|
|
21
|
+
constructor(parameters: IUplinkGetArchiveHoursMCParameters);
|
|
22
|
+
static readonly id = 26;
|
|
23
|
+
static readonly directionType = 2;
|
|
24
|
+
static readonly title = "GET_ARCHIVE_HOURS_MUL";
|
|
25
|
+
static fromBytes(data: Uint8Array): GetArchiveHoursMC;
|
|
26
|
+
toBytes(): Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
export default GetArchiveHoursMC;
|
|
@@ -4,48 +4,48 @@ import { UPLINK } from '../../constants/directionTypes.js';
|
|
|
4
4
|
import { getDateFromSeconds } from '../../utils/time.js';
|
|
5
5
|
const COMMAND_ID = 0x1a;
|
|
6
6
|
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
|
|
7
|
-
// date 2 bytes, hour 1 byte,
|
|
7
|
+
// date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
|
|
8
8
|
// max hours diff - 7 (3 bit value)
|
|
9
|
-
// 4 + (4
|
|
9
|
+
// 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
10
10
|
const COMMAND_BODY_MAX_SIZE = 164;
|
|
11
|
-
class
|
|
11
|
+
class GetArchiveHoursMC extends Command {
|
|
12
12
|
constructor(parameters) {
|
|
13
13
|
super();
|
|
14
14
|
this.parameters = parameters;
|
|
15
|
-
const { date,
|
|
15
|
+
const { date, hours, channelList } = this.parameters;
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
17
17
|
if (date === undefined) {
|
|
18
|
-
const [{ seconds }] =
|
|
18
|
+
const [{ seconds }] = channelList;
|
|
19
19
|
if (seconds) {
|
|
20
20
|
this.parameters.date = getDateFromSeconds(seconds);
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
|
-
throw new Error(`${
|
|
23
|
+
throw new Error(`${GetArchiveHoursMC.getName()} can't recognize time`);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
else if (typeof date === 'string') {
|
|
27
27
|
this.parameters.date = new Date(date);
|
|
28
28
|
}
|
|
29
29
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
30
|
-
if (
|
|
31
|
-
this.parameters.
|
|
30
|
+
if (hours === undefined) {
|
|
31
|
+
this.parameters.hours = channelList[0].diff.length;
|
|
32
32
|
}
|
|
33
|
-
this.parameters.
|
|
33
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
34
34
|
}
|
|
35
35
|
static fromBytes(data) {
|
|
36
36
|
const buffer = new CommandBinaryBuffer(data);
|
|
37
|
-
return new
|
|
37
|
+
return new GetArchiveHoursMC(buffer.getChannelsValuesWithHourDiff());
|
|
38
38
|
}
|
|
39
39
|
toBytes() {
|
|
40
40
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
41
|
-
const {
|
|
41
|
+
const { hours, date, channelList } = this.parameters;
|
|
42
42
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
43
|
-
buffer.setChannelsValuesWithHourDiff(
|
|
43
|
+
buffer.setChannelsValuesWithHourDiff(hours, date, channelList);
|
|
44
44
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export default
|
|
51
|
-
//# sourceMappingURL=
|
|
47
|
+
GetArchiveHoursMC.id = COMMAND_ID;
|
|
48
|
+
GetArchiveHoursMC.directionType = UPLINK;
|
|
49
|
+
GetArchiveHoursMC.title = COMMAND_TITLE;
|
|
50
|
+
export default GetArchiveHoursMC;
|
|
51
|
+
//# sourceMappingURL=GetArchiveHoursMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,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,0EAA0E;AAC1E,mCAAmC;AACnC,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;QAG/D,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnD,uEAAuE;QACvE,IAAK,IAAI,KAAK,SAAS,EAAG;YACtB,MAAM,CAAC,EAAC,OAAO,EAAC,CAAC,GAAG,WAAW,CAAC;YAEhC,IAAK,OAAO,EAAG;gBACX,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;aACtD;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,GAAG,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;aAC1E;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,KAAK,KAAK,SAAS,EAAG;YACvB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACtD;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnD,oEAAoE;QACpE,MAAM,CAAC,6BAA6B,CAAC,KAAM,EAAE,IAAY,EAAE,WAAW,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AApBe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,MAAM,CAAC;AAEvB,uBAAK,GAAG,aAAa,CAAC;AAoB1C,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* GetCurrentMC command channel.
|
|
4
|
+
*/
|
|
5
|
+
export interface IChannel {
|
|
6
|
+
index: number;
|
|
7
|
+
value: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* GetCurrentMC command parameters.
|
|
11
|
+
*/
|
|
12
|
+
export interface IGetCurrentMCParameters {
|
|
13
|
+
channelList: Array<IChannel>;
|
|
14
|
+
}
|
|
15
|
+
declare class GetCurrentMC extends Command {
|
|
16
|
+
parameters: IGetCurrentMCParameters;
|
|
17
|
+
constructor(parameters: IGetCurrentMCParameters);
|
|
18
|
+
static id: number;
|
|
19
|
+
static readonly directionType = 2;
|
|
20
|
+
static title: string;
|
|
21
|
+
static fromBytes(data: Uint8Array): GetCurrentMC;
|
|
22
|
+
toBytes(): Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
export default GetCurrentMC;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directionTypes.js';
|
|
4
|
+
const COMMAND_ID = 0x18;
|
|
5
|
+
const COMMAND_TITLE = 'GET_CURRENT_MUL';
|
|
6
|
+
// 2 bytes for 7 channelList + (7 channelList * 5 byte for current value of channel)
|
|
7
|
+
const COMMAND_BODY_MAX_SIZE = 37;
|
|
8
|
+
class GetCurrentMC extends Command {
|
|
9
|
+
constructor(parameters) {
|
|
10
|
+
super();
|
|
11
|
+
this.parameters = parameters;
|
|
12
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
13
|
+
}
|
|
14
|
+
static fromBytes(data) {
|
|
15
|
+
const parameters = { channelList: [] };
|
|
16
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
17
|
+
const channelList = buffer.getChannels(false);
|
|
18
|
+
parameters.channelList = channelList.map(channelIndex => ({
|
|
19
|
+
value: buffer.getExtendedValue(),
|
|
20
|
+
index: channelIndex
|
|
21
|
+
}));
|
|
22
|
+
return new GetCurrentMC(parameters);
|
|
23
|
+
}
|
|
24
|
+
toBytes() {
|
|
25
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
26
|
+
const { channelList } = this.parameters;
|
|
27
|
+
buffer.setChannels(channelList.map(({ index }) => index));
|
|
28
|
+
channelList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
29
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
GetCurrentMC.id = COMMAND_ID;
|
|
33
|
+
GetCurrentMC.directionType = UPLINK;
|
|
34
|
+
GetCurrentMC.title = COMMAND_TITLE;
|
|
35
|
+
export default GetCurrentMC;
|
|
36
|
+
//# sourceMappingURL=GetCurrentMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMC.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,oFAAoF;AACpF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAAmC;QACpD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAyB;QAGpD,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAA4B,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE9C,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACtD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,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;;AA7BM,eAAE,GAAG,UAAU,CAAC;AAEP,0BAAa,GAAG,MAAM,CAAC;AAEhC,kBAAK,GAAG,aAAa,CAAC;AA6BjC,eAAe,YAAY,CAAC"}
|
|
@@ -4,15 +4,15 @@
|
|
|
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
|
|
11
|
-
export { default as
|
|
12
|
-
export { default as
|
|
13
|
-
export { default as
|
|
14
|
-
export { default as
|
|
15
|
-
export { default as
|
|
7
|
+
export { default as DataDayMC } from './DataDayMC.js';
|
|
8
|
+
export { default as DataHourMC } from './DataHourMC.js';
|
|
9
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
10
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
11
|
+
export { default as ExAbsDayMC } from './ExAbsDayMC.js';
|
|
12
|
+
export { default as ExAbsHourMC } from './ExAbsHourMC.js';
|
|
13
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
14
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
15
|
+
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
16
16
|
export { default as LastEvent } from './LastEvent.js';
|
|
17
17
|
export { default as NewEvent } from './NewEvent.js';
|
|
18
18
|
export { default as NewStatus } from './NewStatus.js';
|
|
@@ -4,15 +4,15 @@
|
|
|
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
|
|
11
|
-
export { default as
|
|
12
|
-
export { default as
|
|
13
|
-
export { default as
|
|
14
|
-
export { default as
|
|
15
|
-
export { default as
|
|
7
|
+
export { default as DataDayMC } from './DataDayMC.js';
|
|
8
|
+
export { default as DataHourMC } from './DataHourMC.js';
|
|
9
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
10
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
11
|
+
export { default as ExAbsDayMC } from './ExAbsDayMC.js';
|
|
12
|
+
export { default as ExAbsHourMC } from './ExAbsHourMC.js';
|
|
13
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
14
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
15
|
+
export { default as GetCurrentMC } from './GetCurrentMC.js';
|
|
16
16
|
export { default as LastEvent } from './LastEvent.js';
|
|
17
17
|
export { default as NewEvent } from './NewEvent.js';
|
|
18
18
|
export { default as NewStatus } from './NewStatus.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/uplink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/uplink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,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,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,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;AACxD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC"}
|