jooby-codec 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Command.d.ts +3 -3
- package/dist/Command.js +14 -10
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +59 -0
- package/dist/CommandBinaryBuffer.js +83 -2
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/UnknownCommand.d.ts +20 -0
- package/dist/UnknownCommand.js +22 -0
- package/dist/UnknownCommand.js.map +1 -0
- package/dist/commands/downlink/CorrectTime2000.d.ts +2 -2
- package/dist/commands/downlink/CorrectTime2000.js +2 -1
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/GetArchiveHoursMul.d.ts +47 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js +66 -0
- package/dist/commands/downlink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +25 -0
- package/dist/commands/downlink/NewStatus.js +37 -0
- package/dist/commands/downlink/NewStatus.js.map +1 -0
- package/dist/commands/downlink/SetTime2000.d.ts +2 -2
- package/dist/commands/downlink/SetTime2000.js +2 -1
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +24 -0
- package/dist/commands/downlink/SoftRestart.js +34 -0
- package/dist/commands/downlink/SoftRestart.js.map +1 -0
- package/dist/commands/downlink/index.d.ts +3 -0
- package/dist/commands/downlink/index.js +3 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
- package/dist/commands/uplink/CorrectTime2000.js +2 -1
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMul.d.ts +1 -1
- package/dist/commands/uplink/DataDayMul.js +3 -2
- package/dist/commands/uplink/DataDayMul.js.map +1 -1
- package/dist/commands/uplink/DataHourMul.d.ts +1 -1
- package/dist/commands/uplink/DataHourMul.js +5 -5
- package/dist/commands/uplink/DataHourMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsDayMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsDayMul.js +3 -3
- package/dist/commands/uplink/ExAbsDayMul.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMul.d.ts +1 -1
- package/dist/commands/uplink/ExAbsHourMul.js +3 -3
- package/dist/commands/uplink/ExAbsHourMul.js.map +1 -1
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +28 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js +51 -0
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMul.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMul.js +3 -2
- package/dist/commands/uplink/GetCurrentMul.js.map +1 -1
- package/dist/commands/uplink/LastEvent.d.ts +116 -0
- package/dist/commands/uplink/LastEvent.js +164 -0
- package/dist/commands/uplink/LastEvent.js.map +1 -0
- package/dist/commands/uplink/NewEvent.d.ts +30 -1
- package/dist/commands/uplink/NewEvent.js +50 -14
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +56 -0
- package/dist/commands/uplink/NewStatus.js +140 -0
- package/dist/commands/uplink/NewStatus.js.map +1 -0
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +2 -1
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +24 -0
- package/dist/commands/uplink/SoftRestart.js +34 -0
- package/dist/commands/uplink/SoftRestart.js.map +1 -0
- package/dist/commands/uplink/Time2000.d.ts +2 -2
- package/dist/commands/uplink/Time2000.js +7 -6
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +5 -0
- package/dist/commands/uplink/index.js +5 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/directionTypes.d.ts +3 -0
- package/dist/constants/directionTypes.js +4 -0
- package/dist/constants/directionTypes.js.map +1 -0
- package/dist/constants/hardwareTypes.d.ts +70 -0
- package/dist/constants/hardwareTypes.js +71 -0
- package/dist/constants/hardwareTypes.js.map +1 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/bitSet.d.ts +40 -0
- package/dist/utils/bitSet.js +54 -0
- package/dist/utils/bitSet.js.map +1 -0
- package/dist/utils/message.d.ts +2 -5
- package/dist/utils/message.js +30 -30
- package/dist/utils/message.js.map +1 -1
- package/package.json +36 -76
package/dist/Command.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { IHexFormatOptions } from './utils/getHexFromBytes.js';
|
|
|
4
4
|
*/
|
|
5
5
|
declare class Command {
|
|
6
6
|
static id: number;
|
|
7
|
-
static
|
|
7
|
+
static directionType: unknown;
|
|
8
8
|
static title: string;
|
|
9
9
|
parameters: unknown;
|
|
10
10
|
/** Get command ID in hex format. */
|
|
@@ -24,10 +24,10 @@ declare class Command {
|
|
|
24
24
|
* Build header with body.
|
|
25
25
|
*
|
|
26
26
|
* @param id command id
|
|
27
|
-
* @param commandData command binary data
|
|
27
|
+
* @param commandData optional command binary data
|
|
28
28
|
* @returns merged data
|
|
29
29
|
*/
|
|
30
|
-
static toBytes(id: number, commandData
|
|
30
|
+
static toBytes(id: number, commandData?: Uint8Array): Uint8Array;
|
|
31
31
|
/** Get command parameters. */
|
|
32
32
|
getParameters(): unknown;
|
|
33
33
|
toBytes(): Uint8Array;
|
package/dist/Command.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as header from './utils/header.js';
|
|
2
2
|
import getHexFromBytes from './utils/getHexFromBytes.js';
|
|
3
|
+
import { UPLINK } from './constants/directionTypes.js';
|
|
3
4
|
/**
|
|
4
5
|
* private
|
|
5
6
|
*/
|
|
@@ -10,7 +11,8 @@ class Command {
|
|
|
10
11
|
}
|
|
11
12
|
/** Get command ID and title. */
|
|
12
13
|
static getName() {
|
|
13
|
-
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
15
|
+
return `${this.directionType === UPLINK ? 'uplink' : 'downlink'} command ${this.getId()}:${this.title}`;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* Parse header with body.
|
|
@@ -43,15 +45,20 @@ class Command {
|
|
|
43
45
|
* Build header with body.
|
|
44
46
|
*
|
|
45
47
|
* @param id command id
|
|
46
|
-
* @param commandData command binary data
|
|
48
|
+
* @param commandData optional command binary data
|
|
47
49
|
* @returns merged data
|
|
48
50
|
*/
|
|
49
51
|
static toBytes(id, commandData) {
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
const commandLength = commandData?.length ?? 0;
|
|
53
|
+
const headerData = header.toBytes(id, commandLength);
|
|
54
|
+
if (commandData && commandLength) {
|
|
55
|
+
const resultData = new Uint8Array(headerData.length + commandLength);
|
|
56
|
+
resultData.set(headerData);
|
|
57
|
+
resultData.set(commandData, headerData.length);
|
|
58
|
+
return resultData;
|
|
59
|
+
}
|
|
60
|
+
// simple command without body
|
|
61
|
+
return headerData;
|
|
55
62
|
}
|
|
56
63
|
/** Get command parameters. */
|
|
57
64
|
getParameters() {
|
|
@@ -73,8 +80,5 @@ class Command {
|
|
|
73
80
|
return JSON.stringify(this.getParameters());
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
|
-
Command.id = 0;
|
|
77
|
-
Command.isUplink = false;
|
|
78
|
-
Command.title = '';
|
|
79
83
|
export default Command;
|
|
80
84
|
//# sourceMappingURL=Command.js.map
|
package/dist/Command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"Command.js","sourceRoot":"","sources":["../src/Command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,eAAoC,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD;;GAEG;AACH,MAAM,OAAO;IAST,oCAAoC;IACpC,MAAM,CAAC,KAAK;QACR,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,OAAO;QACV,uEAAuE;QACvE,OAAO,GAAG,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5G,CAAC;IAGD;;;;;;;;OAQG;IACH,kEAAkE;IAClE,iDAAiD;IAEjD,4EAA4E;IAC5E,2BAA2B;IAC3B,2IAA2I;IAC3I,aAAa;IACb,QAAQ;IAER,0DAA0D;IAE1D,wBAAwB;IACxB,2BAA2B;IAC3B,sEAAsE;IACtE,aAAa;IACb,QAAQ;IAER,oEAAoE;IACpE,gCAAgC;IAChC,4FAA4F;IAC5F,SAAS;IACT,IAAI;IAGJ;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAwB;QACjD,MAAM,aAAa,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAErD,IAAK,WAAW,IAAI,aAAa,EAAG;YAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;YAErE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAE/C,OAAO,UAAU,CAAC;SACrB;QAED,8BAA8B;QAC9B,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAG,UAA6B,EAAE;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AAGD,eAAe,OAAO,CAAC"}
|
|
@@ -1,4 +1,53 @@
|
|
|
1
1
|
import BinaryBuffer from './BinaryBuffer.js';
|
|
2
|
+
/**
|
|
3
|
+
* Time from UTC 2000-01-01 00:00:00 in seconds.
|
|
4
|
+
*/
|
|
5
|
+
export type Seconds = number;
|
|
6
|
+
export interface IBatteryVoltage {
|
|
7
|
+
/**
|
|
8
|
+
* battery voltage value at low consumption, in mV;
|
|
9
|
+
*
|
|
10
|
+
* 4095 === undefined
|
|
11
|
+
*/
|
|
12
|
+
low: number | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* battery voltage value at hight consumption, in mV;
|
|
15
|
+
*
|
|
16
|
+
* 4095 === undefined
|
|
17
|
+
*/
|
|
18
|
+
high: number | undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hour channel
|
|
22
|
+
*/
|
|
23
|
+
export interface IHourDiff {
|
|
24
|
+
value: number;
|
|
25
|
+
hour: number;
|
|
26
|
+
time: Seconds;
|
|
27
|
+
date: Date;
|
|
28
|
+
}
|
|
29
|
+
export interface IChannel {
|
|
30
|
+
/**
|
|
31
|
+
* Channel number.
|
|
32
|
+
*/
|
|
33
|
+
index: number;
|
|
34
|
+
/**
|
|
35
|
+
* Pulse counter or absolute value of device channel.
|
|
36
|
+
*/
|
|
37
|
+
value: number;
|
|
38
|
+
/**
|
|
39
|
+
* Values differences between hours.
|
|
40
|
+
*/
|
|
41
|
+
diff: Array<IHourDiff>;
|
|
42
|
+
/**
|
|
43
|
+
* Value time.
|
|
44
|
+
*/
|
|
45
|
+
time: Seconds | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Normal date in UTC.
|
|
48
|
+
*/
|
|
49
|
+
date: Date | undefined;
|
|
50
|
+
}
|
|
2
51
|
/**
|
|
3
52
|
* Command specific byte array manipulation.
|
|
4
53
|
*/
|
|
@@ -41,5 +90,15 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
41
90
|
hour: number;
|
|
42
91
|
};
|
|
43
92
|
setHours(hour: number, hours: number): void;
|
|
93
|
+
getTime(): number;
|
|
94
|
+
setTime(value: number): void;
|
|
95
|
+
getBatterVoltage(): IBatteryVoltage;
|
|
96
|
+
setBatterVoltage(batteryVoltage: IBatteryVoltage): void;
|
|
97
|
+
getChannelsValuesWithHourDiff(): {
|
|
98
|
+
hourAmount: number;
|
|
99
|
+
channels: Array<IChannel>;
|
|
100
|
+
date: Date;
|
|
101
|
+
};
|
|
102
|
+
setChannelsValuesWithHourDiff(hourAmount: number, date: Date, channels: Array<IChannel>): void;
|
|
44
103
|
}
|
|
45
104
|
export default CommandBinaryBuffer;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import BinaryBuffer from './BinaryBuffer.js';
|
|
2
|
-
import { getDateFromSeconds } from './utils/time.js';
|
|
2
|
+
import { getDateFromSeconds, getSecondsFromDate } from './utils/time.js';
|
|
3
3
|
const INITIAL_YEAR = 2000;
|
|
4
4
|
const MONTH_BIT_SIZE = 4;
|
|
5
5
|
const DATE_BIT_SIZE = 5;
|
|
6
6
|
const YEAR_START_INDEX = 1;
|
|
7
7
|
const CHANNELS_FULL_MASK = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40];
|
|
8
8
|
const CHANNELS_SHORT_MASK = [0x01, 0x02, 0x04, 0x08];
|
|
9
|
+
const UNKNOWN_BATTER_VOLTAGE = 4095;
|
|
9
10
|
/**
|
|
10
11
|
* Command specific byte array manipulation.
|
|
11
12
|
*/
|
|
@@ -128,7 +129,87 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
128
129
|
return { hours, hour };
|
|
129
130
|
}
|
|
130
131
|
setHours(hour, hours) {
|
|
131
|
-
|
|
132
|
+
let hourAmount = hours;
|
|
133
|
+
// TODO: add link to doc
|
|
134
|
+
if (hourAmount === 1) {
|
|
135
|
+
hourAmount = 0;
|
|
136
|
+
}
|
|
137
|
+
this.setUint8(((hourAmount & 0x07) << 5) | (hour & 0x1f));
|
|
138
|
+
}
|
|
139
|
+
getTime() {
|
|
140
|
+
return this.getUint32(false);
|
|
141
|
+
}
|
|
142
|
+
setTime(value) {
|
|
143
|
+
return this.setUint32(value, false);
|
|
144
|
+
}
|
|
145
|
+
getBatterVoltage() {
|
|
146
|
+
let high;
|
|
147
|
+
let low;
|
|
148
|
+
const lowVoltageByte = this.getUint8();
|
|
149
|
+
const lowAndHightVoltageByte = this.getUint8();
|
|
150
|
+
const highVoltageByte = this.getUint8();
|
|
151
|
+
low = lowVoltageByte << 4;
|
|
152
|
+
low |= (lowAndHightVoltageByte & 0xf0) >> 4;
|
|
153
|
+
high = ((lowAndHightVoltageByte & 0x0f) << 8) | highVoltageByte;
|
|
154
|
+
if (high === UNKNOWN_BATTER_VOLTAGE) {
|
|
155
|
+
high = undefined;
|
|
156
|
+
}
|
|
157
|
+
if (low === UNKNOWN_BATTER_VOLTAGE) {
|
|
158
|
+
low = undefined;
|
|
159
|
+
}
|
|
160
|
+
return { low, high };
|
|
161
|
+
}
|
|
162
|
+
setBatterVoltage(batteryVoltage) {
|
|
163
|
+
let { low, high } = batteryVoltage;
|
|
164
|
+
if (low === undefined) {
|
|
165
|
+
low = UNKNOWN_BATTER_VOLTAGE;
|
|
166
|
+
}
|
|
167
|
+
if (high === undefined) {
|
|
168
|
+
high = UNKNOWN_BATTER_VOLTAGE;
|
|
169
|
+
}
|
|
170
|
+
const lowVoltageByte = (low >> 4) & 0xff;
|
|
171
|
+
const lowAndHighVoltageByte = ((low & 0x0f) << 4) | ((high >> 8) & 0x0f);
|
|
172
|
+
const highVoltageByte = high & 0xff;
|
|
173
|
+
[lowVoltageByte, lowAndHighVoltageByte, highVoltageByte].forEach(byte => this.setUint8(byte));
|
|
174
|
+
}
|
|
175
|
+
getChannelsValuesWithHourDiff() {
|
|
176
|
+
const date = this.getDate();
|
|
177
|
+
const { hour, hours } = this.getHours();
|
|
178
|
+
const channelArray = this.getChannels(true);
|
|
179
|
+
const maxChannel = Math.max.apply(null, channelArray);
|
|
180
|
+
const channels = [];
|
|
181
|
+
let hourAmount = hours;
|
|
182
|
+
let value;
|
|
183
|
+
date.setUTCHours(hour);
|
|
184
|
+
const counterDate = new Date(date);
|
|
185
|
+
// TODO: add link to doc
|
|
186
|
+
if (hourAmount === 0) {
|
|
187
|
+
hourAmount = 1;
|
|
188
|
+
}
|
|
189
|
+
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
190
|
+
// decode hour value for channel
|
|
191
|
+
value = this.getExtendedValue();
|
|
192
|
+
counterDate.setTime(date.getTime());
|
|
193
|
+
const diff = [];
|
|
194
|
+
const channel = { value, index: channelIndex, time: getSecondsFromDate(counterDate), date: new Date(counterDate), diff };
|
|
195
|
+
channels.push(channel);
|
|
196
|
+
for (let diffHour = 0; diffHour < hourAmount; ++diffHour) {
|
|
197
|
+
value = this.getExtendedValue();
|
|
198
|
+
counterDate.setUTCHours(counterDate.getUTCHours() + diffHour);
|
|
199
|
+
diff.push({ value, hour: diffHour, date: new Date(counterDate), time: getSecondsFromDate(counterDate) });
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return { channels, date, hourAmount };
|
|
203
|
+
}
|
|
204
|
+
setChannelsValuesWithHourDiff(hourAmount, date, channels) {
|
|
205
|
+
const hour = date.getUTCHours();
|
|
206
|
+
this.setDate(date);
|
|
207
|
+
this.setHours(hour, hourAmount);
|
|
208
|
+
this.setChannels(channels);
|
|
209
|
+
channels.forEach(({ value, diff }) => {
|
|
210
|
+
this.setExtendedValue(value);
|
|
211
|
+
diff.forEach(({ value: diffValue }) => this.setExtendedValue(diffValue));
|
|
212
|
+
});
|
|
132
213
|
}
|
|
133
214
|
}
|
|
134
215
|
export default CommandBinaryBuffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../src/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Command from './Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* UnknownCommand command parameters.
|
|
4
|
+
*/
|
|
5
|
+
interface IUnknownCommandParameters {
|
|
6
|
+
/** command id */
|
|
7
|
+
id: number;
|
|
8
|
+
/** raw data */
|
|
9
|
+
data: Uint8Array;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Unknown command.
|
|
13
|
+
*/
|
|
14
|
+
declare class UnknownCommand extends Command {
|
|
15
|
+
parameters: IUnknownCommandParameters;
|
|
16
|
+
constructor(parameters: IUnknownCommandParameters);
|
|
17
|
+
static fromBytes(data: Uint8Array, id: number): UnknownCommand;
|
|
18
|
+
toBytes(): Uint8Array;
|
|
19
|
+
}
|
|
20
|
+
export default UnknownCommand;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Command from './Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Unknown command.
|
|
4
|
+
*/
|
|
5
|
+
class UnknownCommand extends Command {
|
|
6
|
+
constructor(parameters) {
|
|
7
|
+
super();
|
|
8
|
+
this.parameters = parameters;
|
|
9
|
+
}
|
|
10
|
+
// data - only body (without header)
|
|
11
|
+
static fromBytes(data, id) {
|
|
12
|
+
const parameters = { id, data };
|
|
13
|
+
return new UnknownCommand(parameters);
|
|
14
|
+
}
|
|
15
|
+
// returns full message - header with body
|
|
16
|
+
toBytes() {
|
|
17
|
+
const { id, data } = this.parameters;
|
|
18
|
+
return Command.toBytes(id, data);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export default UnknownCommand;
|
|
22
|
+
//# sourceMappingURL=UnknownCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnknownCommand.js","sourceRoot":"","sources":["../src/UnknownCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAcnC;;GAEG;AACH,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAAqC;QACtD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA2B;IAE1D,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB,EAAE,EAAU;QAC3C,MAAM,UAAU,GAA8B,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;QAEzD,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;CACJ;AAGD,eAAe,cAAc,CAAC"}
|
|
@@ -12,7 +12,7 @@ import Command from '../../Command.js';
|
|
|
12
12
|
* {sequenceNumber: 45, time: -120}
|
|
13
13
|
*/
|
|
14
14
|
interface IDownlinkCorrectTime2000Parameters {
|
|
15
|
-
/**
|
|
15
|
+
/** unique time manipulation operation number */
|
|
16
16
|
sequenceNumber: number;
|
|
17
17
|
/**
|
|
18
18
|
* seconds
|
|
@@ -41,7 +41,7 @@ declare class CorrectTime2000 extends Command {
|
|
|
41
41
|
parameters: IDownlinkCorrectTime2000Parameters;
|
|
42
42
|
constructor(parameters: IDownlinkCorrectTime2000Parameters);
|
|
43
43
|
static readonly id = 12;
|
|
44
|
-
static readonly
|
|
44
|
+
static readonly directionType = 1;
|
|
45
45
|
static readonly title = "CORRECT_TIME_2000";
|
|
46
46
|
static fromBytes(data: Uint8Array): CorrectTime2000;
|
|
47
47
|
toBytes(): Uint8Array;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import Command from '../../Command.js';
|
|
7
7
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
8
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
8
9
|
const COMMAND_ID = 0x0c;
|
|
9
10
|
const COMMAND_TITLE = 'CORRECT_TIME_2000';
|
|
10
11
|
const COMMAND_BODY_SIZE = 2;
|
|
@@ -55,7 +56,7 @@ class CorrectTime2000 extends Command {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
CorrectTime2000.id = COMMAND_ID;
|
|
58
|
-
CorrectTime2000.
|
|
59
|
+
CorrectTime2000.directionType = DOWNLINK;
|
|
59
60
|
CorrectTime2000.title = COMMAND_TITLE;
|
|
60
61
|
export default CorrectTime2000;
|
|
61
62
|
//# sourceMappingURL=CorrectTime2000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"CorrectTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/CorrectTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAqB5B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,eAAgB,SAAQ,OAAO;IACjC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;IAEnE,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;SACzB,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,cAAc,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,kBAAE,GAAG,UAAU,CAAC;AAEhB,6BAAa,GAAG,QAAQ,CAAC;AAEzB,qBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveHoursMul.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
import { Seconds } from '../../CommandBinaryBuffer.js';
|
|
8
|
+
/**
|
|
9
|
+
* GetArchiveHoursMul command parameters
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // request for 2 hours archive values from channel #1 from 2023-12-23T12:00:00.000Z or 756648000 seconds since 2000 year
|
|
13
|
+
* {channels: [0], hourAmount: 2, time: 756648000}
|
|
14
|
+
*/
|
|
15
|
+
interface IDownlinkGetArchiveHoursMulParameters {
|
|
16
|
+
/** amount of hours to retrieve */
|
|
17
|
+
hourAmount: number;
|
|
18
|
+
time: Seconds;
|
|
19
|
+
/** array of channels indexes */
|
|
20
|
+
channels: Array<number>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Downlink command.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
|
|
28
|
+
*
|
|
29
|
+
* const parameters = {channels: [0], hourAmount: 0, time: 756648000};
|
|
30
|
+
* const command = new GetArchiveHoursMul(parameters);
|
|
31
|
+
*
|
|
32
|
+
* // output command binary in hex representation
|
|
33
|
+
* console.log(command.toHex());
|
|
34
|
+
* // 1a 04 2f 97 0c 01
|
|
35
|
+
* ```
|
|
36
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMul.md#request)
|
|
37
|
+
*/
|
|
38
|
+
declare class GetArchiveHoursMul extends Command {
|
|
39
|
+
parameters: IDownlinkGetArchiveHoursMulParameters;
|
|
40
|
+
constructor(parameters: IDownlinkGetArchiveHoursMulParameters);
|
|
41
|
+
static readonly id = 26;
|
|
42
|
+
static readonly directionType = 1;
|
|
43
|
+
static readonly title = "GET_ARCHIVE_HOURS_MUL";
|
|
44
|
+
static fromBytes(data: Uint8Array): GetArchiveHoursMul;
|
|
45
|
+
toBytes(): Uint8Array;
|
|
46
|
+
}
|
|
47
|
+
export default GetArchiveHoursMul;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* [[include:commands/downlink/GetArchiveHoursMul.md]]
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import Command from '../../Command.js';
|
|
7
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
8
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
9
|
+
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
10
|
+
const COMMAND_ID = 0x1a;
|
|
11
|
+
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS_MUL';
|
|
12
|
+
const COMMAND_BODY_SIZE = 4;
|
|
13
|
+
/**
|
|
14
|
+
* Downlink command.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```js
|
|
18
|
+
* import GetArchiveHoursMul from 'jooby-codec/commands/downlink/GetArchiveHoursMul';
|
|
19
|
+
*
|
|
20
|
+
* const parameters = {channels: [0], hourAmount: 0, time: 756648000};
|
|
21
|
+
* const command = new GetArchiveHoursMul(parameters);
|
|
22
|
+
*
|
|
23
|
+
* // output command binary in hex representation
|
|
24
|
+
* console.log(command.toHex());
|
|
25
|
+
* // 1a 04 2f 97 0c 01
|
|
26
|
+
* ```
|
|
27
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMul.md#request)
|
|
28
|
+
*/
|
|
29
|
+
class GetArchiveHoursMul extends Command {
|
|
30
|
+
constructor(parameters) {
|
|
31
|
+
super();
|
|
32
|
+
this.parameters = parameters;
|
|
33
|
+
this.parameters.channels = this.parameters.channels.sort((a, b) => a - b);
|
|
34
|
+
}
|
|
35
|
+
// data - only body (without header)
|
|
36
|
+
static fromBytes(data) {
|
|
37
|
+
if (data.byteLength !== COMMAND_BODY_SIZE) {
|
|
38
|
+
throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
|
|
39
|
+
}
|
|
40
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
41
|
+
const date = buffer.getDate();
|
|
42
|
+
const { hour, hours: hourAmount } = buffer.getHours();
|
|
43
|
+
const channels = buffer.getChannels(true);
|
|
44
|
+
date.setUTCHours(hour);
|
|
45
|
+
if (!buffer.isEmpty) {
|
|
46
|
+
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
47
|
+
}
|
|
48
|
+
return new GetArchiveHoursMul({ channels, hourAmount, time: getSecondsFromDate(date) });
|
|
49
|
+
}
|
|
50
|
+
// returns full message - header with body
|
|
51
|
+
toBytes() {
|
|
52
|
+
const { channels, hourAmount, time } = this.parameters;
|
|
53
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
54
|
+
const date = getDateFromSeconds(time);
|
|
55
|
+
const hour = date.getUTCHours();
|
|
56
|
+
buffer.setDate(date);
|
|
57
|
+
buffer.setHours(hour, hourAmount);
|
|
58
|
+
buffer.setChannels(channels);
|
|
59
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
GetArchiveHoursMul.id = COMMAND_ID;
|
|
63
|
+
GetArchiveHoursMul.directionType = DOWNLINK;
|
|
64
|
+
GetArchiveHoursMul.title = COMMAND_TITLE;
|
|
65
|
+
export default GetArchiveHoursMul;
|
|
66
|
+
//# sourceMappingURL=GetArchiveHoursMul.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMul.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMul.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAA8B,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAqB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAmB,SAAQ,OAAO;IACpC,YAAqB,UAAiD;QAClE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAuC;QAGlE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,kBAAkB,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7B,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,qBAAE,GAAG,UAAU,CAAC;AAEhB,gCAAa,GAAG,QAAQ,CAAC;AAEzB,wBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Downlink command.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```js
|
|
7
|
+
* import NewStatus from 'jooby-codec/commands/downlink/NewStatus';
|
|
8
|
+
*
|
|
9
|
+
* const command = new NewStatus();
|
|
10
|
+
*
|
|
11
|
+
* // output command binary in hex representation
|
|
12
|
+
* console.log(command.toHex());
|
|
13
|
+
* // 14 00
|
|
14
|
+
* ```
|
|
15
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/NewStatus.md#request)
|
|
16
|
+
*/
|
|
17
|
+
declare class NewStatus extends Command {
|
|
18
|
+
constructor();
|
|
19
|
+
static readonly id = 20;
|
|
20
|
+
static readonly directionType = 1;
|
|
21
|
+
static readonly title = "NEW_STATUS";
|
|
22
|
+
static fromBytes(): NewStatus;
|
|
23
|
+
toBytes(): Uint8Array;
|
|
24
|
+
}
|
|
25
|
+
export default NewStatus;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
3
|
+
const COMMAND_ID = 0x14;
|
|
4
|
+
const COMMAND_TITLE = 'NEW_STATUS';
|
|
5
|
+
/**
|
|
6
|
+
* Downlink command.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```js
|
|
10
|
+
* import NewStatus from 'jooby-codec/commands/downlink/NewStatus';
|
|
11
|
+
*
|
|
12
|
+
* const command = new NewStatus();
|
|
13
|
+
*
|
|
14
|
+
* // output command binary in hex representation
|
|
15
|
+
* console.log(command.toHex());
|
|
16
|
+
* // 14 00
|
|
17
|
+
* ```
|
|
18
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/NewStatus.md#request)
|
|
19
|
+
*/
|
|
20
|
+
class NewStatus extends Command {
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
}
|
|
24
|
+
// data - only body (without header)
|
|
25
|
+
static fromBytes() {
|
|
26
|
+
return new NewStatus();
|
|
27
|
+
}
|
|
28
|
+
// eslint-disable-next-line class-methods-use-this
|
|
29
|
+
toBytes() {
|
|
30
|
+
return Command.toBytes(COMMAND_ID);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
NewStatus.id = COMMAND_ID;
|
|
34
|
+
NewStatus.directionType = DOWNLINK;
|
|
35
|
+
NewStatus.title = COMMAND_TITLE;
|
|
36
|
+
export default NewStatus;
|
|
37
|
+
//# sourceMappingURL=NewStatus.js.map
|
|
@@ -0,0 +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,mCAAmC,CAAC;AAG3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,YAAY,CAAC;AAGnC;;;;;;;;;;;;;;GAcG;AACH,MAAM,SAAU,SAAQ,OAAO;IAC3B;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS;QACZ,OAAO,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,kDAAkD;IAClD,OAAO;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;;AAde,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,QAAQ,CAAC;AAEzB,eAAK,GAAG,aAAa,CAAC;AAc1C,eAAe,SAAS,CAAC"}
|
|
@@ -12,7 +12,7 @@ import Command from '../../Command.js';
|
|
|
12
12
|
* {sequenceNumber: 77, time: 733845677}
|
|
13
13
|
*/
|
|
14
14
|
interface IDownlinkSetTime2000Parameters {
|
|
15
|
-
/**
|
|
15
|
+
/** unique time manipulation operation number */
|
|
16
16
|
sequenceNumber: number;
|
|
17
17
|
/** seconds */
|
|
18
18
|
time: number;
|
|
@@ -37,7 +37,7 @@ declare class SetTime2000 extends Command {
|
|
|
37
37
|
parameters: IDownlinkSetTime2000Parameters;
|
|
38
38
|
constructor(parameters: IDownlinkSetTime2000Parameters);
|
|
39
39
|
static readonly id = 2;
|
|
40
|
-
static readonly
|
|
40
|
+
static readonly directionType = 1;
|
|
41
41
|
static readonly title = "SET_TIME_2000";
|
|
42
42
|
static fromBytes(data: Uint8Array): SetTime2000;
|
|
43
43
|
toBytes(): Uint8Array;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import Command from '../../Command.js';
|
|
7
7
|
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
8
|
+
import { DOWNLINK } from '../../constants/directionTypes.js';
|
|
8
9
|
const COMMAND_ID = 0x02;
|
|
9
10
|
const COMMAND_TITLE = 'SET_TIME_2000';
|
|
10
11
|
const COMMAND_BODY_SIZE = 5;
|
|
@@ -54,7 +55,7 @@ class SetTime2000 extends Command {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
SetTime2000.id = COMMAND_ID;
|
|
57
|
-
SetTime2000.
|
|
58
|
+
SetTime2000.directionType = DOWNLINK;
|
|
58
59
|
SetTime2000.title = COMMAND_TITLE;
|
|
59
60
|
export default SetTime2000;
|
|
60
61
|
//# sourceMappingURL=SetTime2000.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SetTime2000.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetTime2000.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAkB3D,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,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;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG;YACf,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE;YACjC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,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,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAlCe,cAAE,GAAG,UAAU,CAAC;AAEhB,yBAAa,GAAG,QAAQ,CAAC;AAEzB,iBAAK,GAAG,aAAa,CAAC;AAkC1C,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Downlink command.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```js
|
|
7
|
+
* import SoftRestart from 'jooby-codec/commands/downlink/SoftRestart';
|
|
8
|
+
*
|
|
9
|
+
* const command = new SoftRestart();
|
|
10
|
+
*
|
|
11
|
+
* // output command binary in hex representation
|
|
12
|
+
* console.log(command.toHex());
|
|
13
|
+
* // 19 00
|
|
14
|
+
* ```
|
|
15
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/SoftRestart.md#request)
|
|
16
|
+
*/
|
|
17
|
+
declare class SoftRestart extends Command {
|
|
18
|
+
static readonly id = 25;
|
|
19
|
+
static readonly directionType = 1;
|
|
20
|
+
static readonly title = "SOFT_RESTART";
|
|
21
|
+
static fromBytes(): SoftRestart;
|
|
22
|
+
toBytes(): Uint8Array;
|
|
23
|
+
}
|
|
24
|
+
export default SoftRestart;
|