jooby-codec 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Command.d.ts +13 -4
- package/dist/Command.js +7 -3
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +53 -23
- package/dist/CommandBinaryBuffer.js +111 -58
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +2 -2
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js +6 -6
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +2 -2
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js +6 -6
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsCurrentMC.d.ts +30 -0
- package/dist/commands/downlink/ExAbsCurrentMC.js +43 -0
- package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +2 -2
- package/dist/commands/downlink/GetArchiveDaysMC.js +6 -6
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +2 -2
- package/dist/commands/downlink/GetArchiveHoursMC.js +6 -6
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/GetCurrentMC.d.ts +25 -0
- package/dist/commands/downlink/GetCurrentMC.js +41 -0
- package/dist/commands/downlink/GetCurrentMC.js.map +1 -0
- package/dist/commands/downlink/SetParameter.d.ts +7 -1
- package/dist/commands/downlink/SetParameter.js +11 -0
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +2 -0
- package/dist/commands/downlink/index.js +2 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +2 -2
- package/dist/commands/uplink/DataDayMC.js +8 -8
- package/dist/commands/uplink/DataDayMC.js.map +1 -1
- package/dist/commands/uplink/DataHourMC.d.ts +10 -4
- package/dist/commands/uplink/DataHourMC.js +13 -35
- package/dist/commands/uplink/DataHourMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +9 -38
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +16 -38
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +13 -7
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +24 -60
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.d.ts +15 -0
- package/dist/commands/uplink/ExAbsCurrentMC.js +30 -0
- package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -0
- package/dist/commands/uplink/ExAbsDayMC.d.ts +8 -3
- package/dist/commands/uplink/ExAbsDayMC.js +10 -36
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMC.d.ts +58 -6
- package/dist/commands/uplink/ExAbsHourMC.js +45 -50
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +5 -29
- package/dist/commands/uplink/GetArchiveDaysMC.js +11 -37
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +47 -7
- package/dist/commands/uplink/GetArchiveHoursMC.js +43 -23
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/GetCurrentMC.d.ts +25 -9
- package/dist/commands/uplink/GetCurrentMC.js +59 -3
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +1 -1
- package/dist/commands/uplink/NewEvent.js +1 -1
- package/dist/commands/uplink/index.d.ts +1 -0
- package/dist/commands/uplink/index.js +1 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/deviceParameters.d.ts +5 -1
- package/dist/constants/deviceParameters.js +5 -1
- package/dist/constants/deviceParameters.js.map +1 -1
- package/dist/utils/bitSet.d.ts +2 -2
- package/dist/utils/bitSet.js +2 -2
- package/dist/utils/message.d.ts +8 -0
- package/dist/utils/message.js +1 -1
- package/dist/utils/message.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
+
import { IChannelDays } from '../../CommandBinaryBuffer.js';
|
|
2
3
|
/**
|
|
3
4
|
* GetArchiveDaysMC command parameters
|
|
4
5
|
*
|
|
@@ -11,34 +12,9 @@ import Command from '../../Command.js';
|
|
|
11
12
|
* }
|
|
12
13
|
*/
|
|
13
14
|
interface IUplinkGetArchiveDaysMCParameters {
|
|
14
|
-
channelList: Array<
|
|
15
|
-
|
|
16
|
-
days: number
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* channel value by day
|
|
20
|
-
*/
|
|
21
|
-
export interface IArchiveDayValue {
|
|
22
|
-
value: number;
|
|
23
|
-
day: number;
|
|
24
|
-
seconds: number;
|
|
25
|
-
date: Date;
|
|
26
|
-
}
|
|
27
|
-
interface IArchiveChannel {
|
|
28
|
-
/**
|
|
29
|
-
* channel number
|
|
30
|
-
*/
|
|
31
|
-
index: number;
|
|
32
|
-
/**
|
|
33
|
-
* values by days
|
|
34
|
-
*/
|
|
35
|
-
dayList: Array<IArchiveDayValue>;
|
|
36
|
-
/** time */
|
|
37
|
-
seconds: number;
|
|
38
|
-
/**
|
|
39
|
-
* Normal date in UTC.
|
|
40
|
-
*/
|
|
41
|
-
date: Date;
|
|
15
|
+
channelList: Array<IChannelDays>;
|
|
16
|
+
startTime: number;
|
|
17
|
+
days: number;
|
|
42
18
|
}
|
|
43
19
|
/**
|
|
44
20
|
* Uplink command
|
|
@@ -66,7 +42,7 @@ declare class GetArchiveDaysMC extends Command {
|
|
|
66
42
|
constructor(parameters: IUplinkGetArchiveDaysMCParameters);
|
|
67
43
|
static readonly id = 27;
|
|
68
44
|
static readonly directionType = 2;
|
|
69
|
-
static readonly title = "
|
|
45
|
+
static readonly title = "GET_ARCHIVE_DAYS_MC";
|
|
70
46
|
static fromBytes(data: Uint8Array): GetArchiveDaysMC;
|
|
71
47
|
toBytes(): Uint8Array;
|
|
72
48
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
4
|
-
import {
|
|
4
|
+
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
5
|
const COMMAND_ID = 0x1b;
|
|
6
|
-
const COMMAND_TITLE = '
|
|
6
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_DAYS_MC';
|
|
7
7
|
// date 2 bytes, channelList 1 byte (max channelList: 4), days 1 byte (max days - 255)
|
|
8
8
|
// 4 + (4 channelList * 5 bytes of day values * 255 max days)
|
|
9
9
|
const COMMAND_BODY_MAX_SIZE = 5104;
|
|
@@ -33,59 +33,33 @@ class GetArchiveDaysMC extends Command {
|
|
|
33
33
|
super();
|
|
34
34
|
this.parameters = parameters;
|
|
35
35
|
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
36
|
-
const { date, days, channelList } = this.parameters;
|
|
37
|
-
if (date === undefined) {
|
|
38
|
-
const [{ seconds }] = channelList;
|
|
39
|
-
if (seconds) {
|
|
40
|
-
this.parameters.date = getDateFromSeconds(seconds);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw new Error(`${GetArchiveDaysMC.getName()} can't recognize time`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else if (typeof date === 'string') {
|
|
47
|
-
this.parameters.date = new Date(date);
|
|
48
|
-
}
|
|
49
|
-
if (days === undefined) {
|
|
50
|
-
this.parameters.days = channelList[0].dayList.length;
|
|
51
|
-
}
|
|
52
36
|
}
|
|
53
37
|
static fromBytes(data) {
|
|
54
38
|
const buffer = new CommandBinaryBuffer(data);
|
|
55
39
|
const date = buffer.getDate();
|
|
56
|
-
const
|
|
40
|
+
const channels = buffer.getChannels();
|
|
57
41
|
const days = buffer.getUint8();
|
|
58
|
-
const maxChannel = Math.max.apply(null, channelArray);
|
|
59
42
|
const channelList = [];
|
|
60
|
-
|
|
61
|
-
let value;
|
|
62
|
-
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
43
|
+
channels.forEach(channelIndex => {
|
|
63
44
|
const dayList = [];
|
|
64
|
-
counterDate.setTime(date.getTime());
|
|
65
45
|
channelList.push({
|
|
66
46
|
dayList,
|
|
67
|
-
index: channelIndex
|
|
68
|
-
seconds: getSecondsFromDate(counterDate),
|
|
69
|
-
date: new Date(counterDate)
|
|
47
|
+
index: channelIndex
|
|
70
48
|
});
|
|
71
49
|
for (let day = 0; day < days; ++day) {
|
|
72
|
-
|
|
73
|
-
counterDate.setTime(date.getTime());
|
|
74
|
-
counterDate.setUTCHours(counterDate.getUTCHours() + (day * 24));
|
|
75
|
-
dayList.push({ value, day, date: new Date(counterDate), seconds: getSecondsFromDate(counterDate) });
|
|
50
|
+
dayList.push(buffer.getExtendedValue());
|
|
76
51
|
}
|
|
77
|
-
}
|
|
78
|
-
return new GetArchiveDaysMC({ channelList,
|
|
52
|
+
});
|
|
53
|
+
return new GetArchiveDaysMC({ channelList, days, startTime: getSecondsFromDate(date) });
|
|
79
54
|
}
|
|
80
55
|
toBytes() {
|
|
81
56
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
82
|
-
const { days,
|
|
83
|
-
buffer.setDate(
|
|
57
|
+
const { days, startTime, channelList } = this.parameters;
|
|
58
|
+
buffer.setDate(startTime);
|
|
84
59
|
buffer.setChannels(channelList);
|
|
85
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
86
60
|
buffer.setUint8(days);
|
|
87
61
|
channelList.forEach(({ dayList }) => {
|
|
88
|
-
dayList.forEach(
|
|
62
|
+
dayList.forEach(value => buffer.setExtendedValue(value));
|
|
89
63
|
});
|
|
90
64
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
91
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveDaysMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmC,MAAM,8BAA8B,CAAC;AAC/E,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,qBAAqB,CAAC;AAE5C,sFAAsF;AACtF,6DAA6D;AAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,gBAAiB,SAAQ,OAAO;IAClC,YAAqB,UAA6C;QAC9D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAmC;QAG9D,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;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAkB,EAAE,CAAC;YAElC,WAAW,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,KAAK,EAAE,YAAY;aACtB,CAAC,CAAC;YAEH,KAAM,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAG;gBACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,gBAAgB,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEvD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;YAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AA1Ce,mBAAE,GAAG,UAAU,CAAC;AAEhB,8BAAa,GAAG,MAAM,CAAC;AAEvB,sBAAK,GAAG,aAAa,CAAC;AA0C1C,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,27 +1,67 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
|
-
import {
|
|
2
|
+
import { IChannelHours } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
/**
|
|
4
4
|
* GetArchiveHoursMC command parameters
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
7
|
* // archive hours values from 001-03-10T12:00:00.000Z with 1-hour diff
|
|
8
8
|
* {
|
|
9
|
-
* channelList: [{value: 101, index: 0, diff: [
|
|
10
|
-
*
|
|
9
|
+
* channelList: [{value: 101, index: 0, diff: [1]}],
|
|
10
|
+
* startTime: 756648000,
|
|
11
11
|
* hours: 1
|
|
12
12
|
* }
|
|
13
13
|
*/
|
|
14
14
|
interface IUplinkGetArchiveHoursMCParameters {
|
|
15
|
-
channelList: Array<
|
|
16
|
-
|
|
17
|
-
hours: number
|
|
15
|
+
channelList: Array<IChannelHours>;
|
|
16
|
+
startTime: number;
|
|
17
|
+
hours: number;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Uplink command
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```js
|
|
24
|
+
* import GetArchiveHoursMC from 'jooby-codec/commands/uplink/GetArchiveHoursMC';
|
|
25
|
+
*
|
|
26
|
+
* const command = new GetArchiveHoursMC(
|
|
27
|
+
* startTime: 756648000,
|
|
28
|
+
* hours: 1,
|
|
29
|
+
* channelList: [
|
|
30
|
+
* {
|
|
31
|
+
* value: 131,
|
|
32
|
+
* index: 0,
|
|
33
|
+
* diff: [10]
|
|
34
|
+
* },
|
|
35
|
+
* {
|
|
36
|
+
* value: 8,
|
|
37
|
+
* index: 1,
|
|
38
|
+
* diff: [10]
|
|
39
|
+
* },
|
|
40
|
+
* {
|
|
41
|
+
* value: 8,
|
|
42
|
+
* index: 2,
|
|
43
|
+
* diff: [10]
|
|
44
|
+
* },
|
|
45
|
+
* {
|
|
46
|
+
* value: 12,
|
|
47
|
+
* index: 3,
|
|
48
|
+
* diff: [10]
|
|
49
|
+
* }
|
|
50
|
+
* ]
|
|
51
|
+
* );
|
|
52
|
+
*
|
|
53
|
+
* // output command binary in hex representation
|
|
54
|
+
* console.log(command.toHex());
|
|
55
|
+
* // 1a 0d 2f 97 0c 0f 83 01 0a 08 0a 08 0a 0c 0a
|
|
56
|
+
* ```
|
|
57
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMC.md#response)
|
|
58
|
+
*/
|
|
19
59
|
declare class GetArchiveHoursMC extends Command {
|
|
20
60
|
parameters: IUplinkGetArchiveHoursMCParameters;
|
|
21
61
|
constructor(parameters: IUplinkGetArchiveHoursMCParameters);
|
|
22
62
|
static readonly id = 26;
|
|
23
63
|
static readonly directionType = 2;
|
|
24
|
-
static readonly title = "
|
|
64
|
+
static readonly title = "GET_ARCHIVE_HOURS";
|
|
25
65
|
static fromBytes(data: Uint8Array): GetArchiveHoursMC;
|
|
26
66
|
toBytes(): Uint8Array;
|
|
27
67
|
}
|
|
@@ -1,35 +1,56 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
4
|
-
import { getDateFromSeconds } from '../../utils/time.js';
|
|
5
4
|
const COMMAND_ID = 0x1a;
|
|
6
|
-
const COMMAND_TITLE = '
|
|
5
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS';
|
|
7
6
|
// date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
|
|
8
7
|
// max hours diff - 7 (3 bit value)
|
|
9
8
|
// 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
10
9
|
const COMMAND_BODY_MAX_SIZE = 164;
|
|
10
|
+
/**
|
|
11
|
+
* Uplink command
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```js
|
|
15
|
+
* import GetArchiveHoursMC from 'jooby-codec/commands/uplink/GetArchiveHoursMC';
|
|
16
|
+
*
|
|
17
|
+
* const command = new GetArchiveHoursMC(
|
|
18
|
+
* startTime: 756648000,
|
|
19
|
+
* hours: 1,
|
|
20
|
+
* channelList: [
|
|
21
|
+
* {
|
|
22
|
+
* value: 131,
|
|
23
|
+
* index: 0,
|
|
24
|
+
* diff: [10]
|
|
25
|
+
* },
|
|
26
|
+
* {
|
|
27
|
+
* value: 8,
|
|
28
|
+
* index: 1,
|
|
29
|
+
* diff: [10]
|
|
30
|
+
* },
|
|
31
|
+
* {
|
|
32
|
+
* value: 8,
|
|
33
|
+
* index: 2,
|
|
34
|
+
* diff: [10]
|
|
35
|
+
* },
|
|
36
|
+
* {
|
|
37
|
+
* value: 12,
|
|
38
|
+
* index: 3,
|
|
39
|
+
* diff: [10]
|
|
40
|
+
* }
|
|
41
|
+
* ]
|
|
42
|
+
* );
|
|
43
|
+
*
|
|
44
|
+
* // output command binary in hex representation
|
|
45
|
+
* console.log(command.toHex());
|
|
46
|
+
* // 1a 0d 2f 97 0c 0f 83 01 0a 08 0a 08 0a 0c 0a
|
|
47
|
+
* ```
|
|
48
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMC.md#response)
|
|
49
|
+
*/
|
|
11
50
|
class GetArchiveHoursMC extends Command {
|
|
12
51
|
constructor(parameters) {
|
|
13
52
|
super();
|
|
14
53
|
this.parameters = parameters;
|
|
15
|
-
const { date, hours, channelList } = this.parameters;
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
17
|
-
if (date === undefined) {
|
|
18
|
-
const [{ seconds }] = channelList;
|
|
19
|
-
if (seconds) {
|
|
20
|
-
this.parameters.date = getDateFromSeconds(seconds);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
throw new Error(`${GetArchiveHoursMC.getName()} can't recognize time`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
else if (typeof date === 'string') {
|
|
27
|
-
this.parameters.date = new Date(date);
|
|
28
|
-
}
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
30
|
-
if (hours === undefined) {
|
|
31
|
-
this.parameters.hours = channelList[0].diff.length;
|
|
32
|
-
}
|
|
33
54
|
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
34
55
|
}
|
|
35
56
|
static fromBytes(data) {
|
|
@@ -38,9 +59,8 @@ class GetArchiveHoursMC extends Command {
|
|
|
38
59
|
}
|
|
39
60
|
toBytes() {
|
|
40
61
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
41
|
-
const { hours,
|
|
42
|
-
|
|
43
|
-
buffer.setChannelsValuesWithHourDiff(hours, date, channelList);
|
|
62
|
+
const { hours, startTime, channelList } = this.parameters;
|
|
63
|
+
buffer.setChannelsValuesWithHourDiff(hours, startTime, channelList);
|
|
44
64
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
45
65
|
}
|
|
46
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAqBzD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAE1C,0EAA0E;AAC1E,mCAAmC;AACnC,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;QAG/D,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,SAAS,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAExD,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAnBe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,MAAM,CAAC;AAEvB,uBAAK,GAAG,aAAa,CAAC;AAmB1C,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,23 +1,39 @@
|
|
|
1
|
-
import Command from '../../Command.js';
|
|
2
|
-
|
|
3
|
-
* GetCurrentMC command channel.
|
|
4
|
-
*/
|
|
5
|
-
export interface IChannel {
|
|
6
|
-
index: number;
|
|
7
|
-
value: number;
|
|
8
|
-
}
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IChannelValue } from '../../CommandBinaryBuffer.js';
|
|
9
3
|
/**
|
|
10
4
|
* GetCurrentMC command parameters.
|
|
11
5
|
*/
|
|
12
6
|
export interface IGetCurrentMCParameters {
|
|
13
|
-
channelList: Array<
|
|
7
|
+
channelList: Array<IChannelValue>;
|
|
14
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Uplink command
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```js
|
|
14
|
+
* import GetCurrentMC from 'jooby-codec/commands/uplink/GetCurrentMC';
|
|
15
|
+
*
|
|
16
|
+
* const parameters = {
|
|
17
|
+
* channelList: [
|
|
18
|
+
* {index: 1, value: 50}
|
|
19
|
+
* ]
|
|
20
|
+
* };
|
|
21
|
+
* const command = new GetCurrentMC(parameters);
|
|
22
|
+
*
|
|
23
|
+
* // output command binary in hex representation
|
|
24
|
+
* console.log(command.toHex());
|
|
25
|
+
* // 18 02 01 32
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#response)
|
|
29
|
+
*/
|
|
15
30
|
declare class GetCurrentMC extends Command {
|
|
16
31
|
parameters: IGetCurrentMCParameters;
|
|
17
32
|
constructor(parameters: IGetCurrentMCParameters);
|
|
18
33
|
static id: number;
|
|
19
34
|
static readonly directionType = 2;
|
|
20
35
|
static title: string;
|
|
36
|
+
static readonly examples: TCommandExampleList;
|
|
21
37
|
static fromBytes(data: Uint8Array): GetCurrentMC;
|
|
22
38
|
toBytes(): Uint8Array;
|
|
23
39
|
}
|
|
@@ -2,9 +2,64 @@ import Command from '../../Command.js';
|
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
4
4
|
const COMMAND_ID = 0x18;
|
|
5
|
-
const COMMAND_TITLE = '
|
|
5
|
+
const COMMAND_TITLE = 'GET_CURRENT_MC';
|
|
6
6
|
// 2 bytes for 7 channelList + (7 channelList * 5 byte for current value of channel)
|
|
7
7
|
const COMMAND_BODY_MAX_SIZE = 37;
|
|
8
|
+
const examples = [
|
|
9
|
+
{
|
|
10
|
+
name: '4 first channels',
|
|
11
|
+
parameters: {
|
|
12
|
+
channelList: [
|
|
13
|
+
{ index: 0, value: 131 },
|
|
14
|
+
{ index: 1, value: 8 },
|
|
15
|
+
{ index: 2, value: 10 },
|
|
16
|
+
{ index: 3, value: 12 }
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
hex: { header: '18 06', body: '0f 8301 08 0a 0c' }
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'single channel #2',
|
|
23
|
+
parameters: {
|
|
24
|
+
channelList: [
|
|
25
|
+
{ index: 2, value: 50 }
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
hex: { header: '18 02', body: '04 32' }
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'channels #5 #6 #12',
|
|
32
|
+
parameters: {
|
|
33
|
+
channelList: [
|
|
34
|
+
{ index: 5, value: 8146 },
|
|
35
|
+
{ index: 6, value: 164 },
|
|
36
|
+
{ index: 12, value: 75 }
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
hex: { header: '18 07', body: 'e020 d23f a401 4b' }
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Uplink command
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```js
|
|
47
|
+
* import GetCurrentMC from 'jooby-codec/commands/uplink/GetCurrentMC';
|
|
48
|
+
*
|
|
49
|
+
* const parameters = {
|
|
50
|
+
* channelList: [
|
|
51
|
+
* {index: 1, value: 50}
|
|
52
|
+
* ]
|
|
53
|
+
* };
|
|
54
|
+
* const command = new GetCurrentMC(parameters);
|
|
55
|
+
*
|
|
56
|
+
* // output command binary in hex representation
|
|
57
|
+
* console.log(command.toHex());
|
|
58
|
+
* // 18 02 01 32
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetCurrentMC.md#response)
|
|
62
|
+
*/
|
|
8
63
|
class GetCurrentMC extends Command {
|
|
9
64
|
constructor(parameters) {
|
|
10
65
|
super();
|
|
@@ -14,7 +69,7 @@ class GetCurrentMC extends Command {
|
|
|
14
69
|
static fromBytes(data) {
|
|
15
70
|
const parameters = { channelList: [] };
|
|
16
71
|
const buffer = new CommandBinaryBuffer(data);
|
|
17
|
-
const channelList = buffer.getChannels(
|
|
72
|
+
const channelList = buffer.getChannels();
|
|
18
73
|
parameters.channelList = channelList.map(channelIndex => ({
|
|
19
74
|
value: buffer.getExtendedValue(),
|
|
20
75
|
index: channelIndex
|
|
@@ -24,7 +79,7 @@ class GetCurrentMC extends Command {
|
|
|
24
79
|
toBytes() {
|
|
25
80
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
26
81
|
const { channelList } = this.parameters;
|
|
27
|
-
buffer.setChannels(channelList
|
|
82
|
+
buffer.setChannels(channelList);
|
|
28
83
|
channelList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
29
84
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
30
85
|
}
|
|
@@ -32,5 +87,6 @@ class GetCurrentMC extends Command {
|
|
|
32
87
|
GetCurrentMC.id = COMMAND_ID;
|
|
33
88
|
GetCurrentMC.directionType = UPLINK;
|
|
34
89
|
GetCurrentMC.title = COMMAND_TITLE;
|
|
90
|
+
GetCurrentMC.examples = examples;
|
|
35
91
|
export default GetCurrentMC;
|
|
36
92
|
//# sourceMappingURL=GetCurrentMC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMC.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ interface INewEventParameters {
|
|
|
25
25
|
* import NewEvent from 'jooby-codec/commands/uplink/NewEvent';
|
|
26
26
|
*
|
|
27
27
|
* // `Magnet On` event at 2023-04-05 13:17:20 GMT
|
|
28
|
-
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}}
|
|
28
|
+
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}};
|
|
29
29
|
* const command = new NewEvent(parameters);
|
|
30
30
|
*
|
|
31
31
|
* // output command binary in hex representation
|
|
@@ -31,7 +31,7 @@ const setDeviceId = (buffer, value) => {
|
|
|
31
31
|
* import NewEvent from 'jooby-codec/commands/uplink/NewEvent';
|
|
32
32
|
*
|
|
33
33
|
* // `Magnet On` event at 2023-04-05 13:17:20 GMT
|
|
34
|
-
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}}
|
|
34
|
+
* const parameters = {id: constants.events.MAGNET_ON, sequenceNumber: 3, data: {seconds: 734015840}};
|
|
35
35
|
* const command = new NewEvent(parameters);
|
|
36
36
|
*
|
|
37
37
|
* // output command binary in hex representation
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
7
|
export { default as DataDayMC } from './DataDayMC.js';
|
|
8
8
|
export { default as DataHourMC } from './DataHourMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
9
10
|
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
10
11
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
11
12
|
export { default as ExAbsDayMC } from './ExAbsDayMC.js';
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
7
|
export { default as DataDayMC } from './DataDayMC.js';
|
|
8
8
|
export { default as DataHourMC } from './DataHourMC.js';
|
|
9
|
+
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
9
10
|
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
10
11
|
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
11
12
|
export { default as ExAbsDayMC } from './ExAbsDayMC.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,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"}
|
|
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,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,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"}
|
|
@@ -10,6 +10,10 @@ export declare const INITIAL_DATA = 23;
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const ABSOLUTE_DATA_STATUS = 24;
|
|
12
12
|
/**
|
|
13
|
-
* same as INITIAL_DATA
|
|
13
|
+
* same as INITIAL_DATA for a specific channel
|
|
14
14
|
*/
|
|
15
15
|
export declare const INITIAL_DATA_MULTI_CHANNEL = 29;
|
|
16
|
+
/**
|
|
17
|
+
* Status of device data sending, absolute value or pulse counter for a specific channel
|
|
18
|
+
*/
|
|
19
|
+
export declare const ABSOLUTE_DATA_STATUS_MULTI_CHANNEL = 30;
|
|
@@ -10,7 +10,11 @@ export const INITIAL_DATA = 23;
|
|
|
10
10
|
*/
|
|
11
11
|
export const ABSOLUTE_DATA_STATUS = 24;
|
|
12
12
|
/**
|
|
13
|
-
* same as INITIAL_DATA
|
|
13
|
+
* same as INITIAL_DATA for a specific channel
|
|
14
14
|
*/
|
|
15
15
|
export const INITIAL_DATA_MULTI_CHANNEL = 29;
|
|
16
|
+
/**
|
|
17
|
+
* Status of device data sending, absolute value or pulse counter for a specific channel
|
|
18
|
+
*/
|
|
19
|
+
export const ABSOLUTE_DATA_STATUS_MULTI_CHANNEL = 30;
|
|
16
20
|
//# sourceMappingURL=deviceParameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceParameters.js","sourceRoot":"","sources":["../../src/constants/deviceParameters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"deviceParameters.js","sourceRoot":"","sources":["../../src/constants/deviceParameters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC"}
|
package/dist/utils/bitSet.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type TBooleanObject = Record<string, boolean>;
|
|
|
4
4
|
* Get integer number from object with boolean values values according to the given bit mask.
|
|
5
5
|
*
|
|
6
6
|
* @example
|
|
7
|
-
* ```
|
|
7
|
+
* ```js
|
|
8
8
|
* const bitMask: bitSet.TBitSetMask = {
|
|
9
9
|
* a: 2 ** 0,
|
|
10
10
|
* b: 2 ** 1,
|
|
@@ -23,7 +23,7 @@ export declare const fromObject: (bitMask?: TBitSetMask, booleanObject?: TBoolea
|
|
|
23
23
|
* Get object with boolean values values from integer number according to the given bit mask.
|
|
24
24
|
*
|
|
25
25
|
* @example
|
|
26
|
-
* ```
|
|
26
|
+
* ```js
|
|
27
27
|
* const bitMask: bitSet.TBitSetMask = {
|
|
28
28
|
* a: 2 ** 0,
|
|
29
29
|
* b: 2 ** 1,
|
package/dist/utils/bitSet.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Get integer number from object with boolean values values according to the given bit mask.
|
|
3
3
|
*
|
|
4
4
|
* @example
|
|
5
|
-
* ```
|
|
5
|
+
* ```js
|
|
6
6
|
* const bitMask: bitSet.TBitSetMask = {
|
|
7
7
|
* a: 2 ** 0,
|
|
8
8
|
* b: 2 ** 1,
|
|
@@ -29,7 +29,7 @@ export const fromObject = (bitMask = {}, booleanObject = {}) => {
|
|
|
29
29
|
* Get object with boolean values values from integer number according to the given bit mask.
|
|
30
30
|
*
|
|
31
31
|
* @example
|
|
32
|
-
* ```
|
|
32
|
+
* ```js
|
|
33
33
|
* const bitMask: bitSet.TBitSetMask = {
|
|
34
34
|
* a: 2 ** 0,
|
|
35
35
|
* b: 2 ** 1,
|
package/dist/utils/message.d.ts
CHANGED
|
@@ -17,6 +17,14 @@ interface IMessage {
|
|
|
17
17
|
};
|
|
18
18
|
isValid: boolean;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Calculate LRC
|
|
22
|
+
*
|
|
23
|
+
* @param data - byte array
|
|
24
|
+
*
|
|
25
|
+
* @return LRC
|
|
26
|
+
*/
|
|
27
|
+
export declare const calculateLrc: (data: Uint8Array, initialLrc?: number) => number;
|
|
20
28
|
export declare const fromBytes: (data: Uint8Array, direction?: number, hardwareType?: number) => IMessage;
|
|
21
29
|
export declare const fromHex: (data: string, direction?: number, hardwareType?: number) => IMessage;
|
|
22
30
|
export declare const toBytes: (commands: Array<Command>) => Uint8Array;
|
package/dist/utils/message.js
CHANGED
|
@@ -20,7 +20,7 @@ const uplinkCommandsById = Object.fromEntries(Object.values(uplinkCommands).map(
|
|
|
20
20
|
*
|
|
21
21
|
* @return LRC
|
|
22
22
|
*/
|
|
23
|
-
const calculateLrc = (data, initialLrc = 0x55) => {
|
|
23
|
+
export const calculateLrc = (data, initialLrc = 0x55) => {
|
|
24
24
|
let lrc = initialLrc;
|
|
25
25
|
data.forEach(item => {
|
|
26
26
|
lrc ^= item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAGhE,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,eAAoC,MAAM,sBAAsB,CAAC;AAuBxE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,oBAAoB;AACpB,MAAM,gBAAgB,GAAgB,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAErF,yEAAyE;AACzE,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAC/D,CAAC;AACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAC7D,CAAC;AAGF;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAE,IAAgB,EAAE,UAAU,GAAG,IAAI,EAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/utils/message.ts"],"names":[],"mappings":"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"}
|