jooby-codec 2.2.0 → 2.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/analog/Command.d.ts +1 -1
- package/dist/analog/Command.js +2 -2
- package/dist/analog/Command.js.map +1 -1
- package/dist/analog/CommandBinaryBuffer.d.ts +21 -1
- package/dist/analog/CommandBinaryBuffer.js +70 -2
- package/dist/analog/CommandBinaryBuffer.js.map +1 -1
- package/dist/analog/commands/downlink/GetArchiveDays.d.ts +17 -0
- package/dist/analog/commands/downlink/GetArchiveDays.js +45 -0
- package/dist/analog/commands/downlink/GetArchiveDays.js.map +1 -0
- package/dist/analog/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/analog/commands/downlink/GetArchiveHours.d.ts +17 -0
- package/dist/analog/commands/downlink/GetArchiveHours.js +49 -0
- package/dist/analog/commands/downlink/GetArchiveHours.js.map +1 -0
- package/dist/analog/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/analog/commands/downlink/GetCurrent.d.ts +10 -0
- package/dist/analog/commands/downlink/GetCurrent.js +23 -0
- package/dist/analog/commands/downlink/GetCurrent.js.map +1 -0
- package/dist/analog/commands/downlink/GetExAbsArchiveDaysMC.js.map +1 -1
- package/dist/analog/commands/downlink/GetExAbsArchiveHoursMC.js.map +1 -1
- package/dist/analog/commands/downlink/index.d.ts +3 -0
- package/dist/analog/commands/downlink/index.js +3 -0
- package/dist/analog/commands/downlink/index.js.map +1 -1
- package/dist/analog/commands/uplink/Current.d.ts +13 -0
- package/dist/analog/commands/uplink/Current.js +33 -0
- package/dist/analog/commands/uplink/Current.js.map +1 -0
- package/dist/analog/commands/uplink/Day.d.ts +18 -0
- package/dist/analog/commands/uplink/Day.js +53 -0
- package/dist/analog/commands/uplink/Day.js.map +1 -0
- package/dist/analog/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/analog/commands/uplink/GetArchiveDaysMCResponse.js.map +1 -1
- package/dist/analog/commands/uplink/GetArchiveDaysResponse.d.ts +18 -0
- package/dist/analog/commands/uplink/GetArchiveDaysResponse.js +47 -0
- package/dist/analog/commands/uplink/GetArchiveDaysResponse.js.map +1 -0
- package/dist/analog/commands/uplink/GetArchiveHoursResponse.d.ts +13 -0
- package/dist/analog/commands/uplink/GetArchiveHoursResponse.js +38 -0
- package/dist/analog/commands/uplink/GetArchiveHoursResponse.js.map +1 -0
- package/dist/analog/commands/uplink/Hour.d.ts +13 -0
- package/dist/analog/commands/uplink/Hour.js +38 -0
- package/dist/analog/commands/uplink/Hour.js.map +1 -0
- package/dist/analog/commands/uplink/index.d.ts +5 -0
- package/dist/analog/commands/uplink/index.js +5 -0
- package/dist/analog/commands/uplink/index.js.map +1 -1
- package/dist/analog/header.d.ts +1 -1
- package/dist/analog/header.js +7 -1
- package/dist/analog/header.js.map +1 -1
- package/dist/obis-observer/CommandBinaryBuffer.d.ts +12 -2
- package/dist/obis-observer/CommandBinaryBuffer.js +40 -16
- package/dist/obis-observer/CommandBinaryBuffer.js.map +1 -1
- package/dist/obis-observer/commands/downlink/AddShortNameProfile.js +4 -3
- package/dist/obis-observer/commands/downlink/AddShortNameProfile.js.map +1 -1
- package/dist/obis-observer/commands/downlink/GetDeviceInfo.d.ts +13 -0
- package/dist/obis-observer/commands/downlink/GetDeviceInfo.js +39 -0
- package/dist/obis-observer/commands/downlink/GetDeviceInfo.js.map +1 -0
- package/dist/obis-observer/commands/downlink/GetLorawanInfo.d.ts +13 -0
- package/dist/obis-observer/commands/downlink/GetLorawanInfo.js +39 -0
- package/dist/obis-observer/commands/downlink/GetLorawanInfo.js.map +1 -0
- package/dist/obis-observer/commands/downlink/GetShortNameProfile.js.map +1 -1
- package/dist/obis-observer/commands/downlink/ReadArchive.d.ts +1 -1
- package/dist/obis-observer/commands/downlink/ReadArchive.js +7 -8
- package/dist/obis-observer/commands/downlink/ReadArchive.js.map +1 -1
- package/dist/obis-observer/commands/downlink/SetArchiveProfile.d.ts +2 -2
- package/dist/obis-observer/commands/downlink/SetArchiveProfile.js +7 -7
- package/dist/obis-observer/commands/downlink/SetArchiveProfile.js.map +1 -1
- package/dist/obis-observer/commands/downlink/index.d.ts +2 -0
- package/dist/obis-observer/commands/downlink/index.js +2 -0
- package/dist/obis-observer/commands/downlink/index.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.d.ts +2 -2
- package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.js +7 -7
- package/dist/obis-observer/commands/uplink/GetArchiveProfileResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetDeviceInfoResponse.d.ts +18 -0
- package/dist/obis-observer/commands/uplink/GetDeviceInfoResponse.js +60 -0
- package/dist/obis-observer/commands/uplink/GetDeviceInfoResponse.js.map +1 -0
- package/dist/obis-observer/commands/uplink/GetLorawanInfoResponse.d.ts +19 -0
- package/dist/obis-observer/commands/uplink/GetLorawanInfoResponse.js +53 -0
- package/dist/obis-observer/commands/uplink/GetLorawanInfoResponse.js.map +1 -0
- package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js +5 -4
- package/dist/obis-observer/commands/uplink/GetShortNameInfoResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js +5 -4
- package/dist/obis-observer/commands/uplink/GetShortNameProfileResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js +1 -1
- package/dist/obis-observer/commands/uplink/ReadArchiveResponse.js.map +1 -1
- package/dist/obis-observer/commands/uplink/index.d.ts +2 -0
- package/dist/obis-observer/commands/uplink/index.js +2 -0
- package/dist/obis-observer/commands/uplink/index.js.map +1 -1
- package/dist/obis-observer/constants/baudRates.d.ts +16 -0
- package/dist/obis-observer/constants/baudRates.js +18 -0
- package/dist/obis-observer/constants/baudRates.js.map +1 -0
- package/dist/obis-observer/constants/commandRelations.js +2 -0
- package/dist/obis-observer/constants/commandRelations.js.map +1 -1
- package/dist/obis-observer/constants/deviceClasses.d.ts +4 -0
- package/dist/obis-observer/constants/deviceClasses.js +5 -0
- package/dist/obis-observer/constants/deviceClasses.js.map +1 -0
- package/dist/obis-observer/constants/index.d.ts +2 -1
- package/dist/obis-observer/constants/index.js +2 -1
- package/dist/obis-observer/constants/index.js.map +1 -1
- package/dist/obis-observer/utils/obis.js +8 -4
- package/dist/obis-observer/utils/obis.js.map +1 -1
- package/package.json +1 -13
- package/dist/obis-observer/constants/archiveTypes.d.ts +0 -3
- package/dist/obis-observer/constants/archiveTypes.js +0 -4
- package/dist/obis-observer/constants/archiveTypes.js.map +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x07;
|
|
5
|
+
const COMMAND_BODY_MAX_SIZE = 4;
|
|
6
|
+
const examples = [
|
|
7
|
+
{
|
|
8
|
+
name: 'simple response channels',
|
|
9
|
+
parameters: { isMagneticInfluence: true, value: 342 },
|
|
10
|
+
hex: { header: '07 04', body: '80 00 01 56' }
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
class Current extends Command {
|
|
14
|
+
constructor(parameters) {
|
|
15
|
+
super();
|
|
16
|
+
this.parameters = parameters;
|
|
17
|
+
}
|
|
18
|
+
static fromBytes(data) {
|
|
19
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
20
|
+
return new Current(buffer.getLegacyCounter());
|
|
21
|
+
}
|
|
22
|
+
toBytes() {
|
|
23
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
24
|
+
buffer.setLegacyCounter(this.parameters);
|
|
25
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
Current.id = COMMAND_ID;
|
|
29
|
+
Current.directionType = UPLINK;
|
|
30
|
+
Current.examples = examples;
|
|
31
|
+
Current.hasParameters = true;
|
|
32
|
+
export default Current;
|
|
33
|
+
//# sourceMappingURL=Current.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Current.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/Current.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;QACnD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAC;KAC9C;CACJ,CAAC;AAuBF,MAAM,OAAQ,SAAQ,OAAO;IACzB,YAAqB,UAA0B;QAC3C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgB;IAE/C,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClD,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAE9D,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAvBM,UAAE,GAAG,UAAU,CAAC;AAEP,qBAAa,GAAG,MAAM,CAAC;AAEvB,gBAAQ,GAAG,QAAQ,CAAC;AAEpB,qBAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { TTime2000 } from '../../../utils/time.js';
|
|
3
|
+
interface IDayParameters {
|
|
4
|
+
startTime2000: TTime2000;
|
|
5
|
+
isMagneticInfluence: boolean;
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
declare class Day extends Command {
|
|
9
|
+
parameters: IDayParameters;
|
|
10
|
+
constructor(parameters: IDayParameters);
|
|
11
|
+
static readonly id = 32;
|
|
12
|
+
static readonly directionType = 2;
|
|
13
|
+
static readonly examples: TCommandExampleList;
|
|
14
|
+
static readonly hasParameters = true;
|
|
15
|
+
static fromBytes(data: Uint8Array): Day;
|
|
16
|
+
toBytes(): Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
export default Day;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { getTime2000FromDate, getDateFromTime2000 } from '../../../utils/time.js';
|
|
4
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
5
|
+
const COMMAND_ID = 0x20;
|
|
6
|
+
const COMMAND_BODY_SIZE = 6;
|
|
7
|
+
const examples = [
|
|
8
|
+
{
|
|
9
|
+
name: 'day value for 2023.12.23 00:00:00 GMT',
|
|
10
|
+
parameters: {
|
|
11
|
+
startTime2000: 756604800,
|
|
12
|
+
isMagneticInfluence: true,
|
|
13
|
+
value: 122
|
|
14
|
+
},
|
|
15
|
+
hex: { header: '20 06', body: '2f 97 80 00 00 7a' }
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
class Day extends Command {
|
|
19
|
+
constructor(parameters) {
|
|
20
|
+
super();
|
|
21
|
+
this.parameters = parameters;
|
|
22
|
+
}
|
|
23
|
+
static fromBytes(data) {
|
|
24
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
25
|
+
const date = buffer.getDate();
|
|
26
|
+
const byte = buffer.getUint8();
|
|
27
|
+
const { hour } = buffer.getHours(byte);
|
|
28
|
+
const isMagneticInfluence = CommandBinaryBuffer.getMagneticInfluenceBit(byte);
|
|
29
|
+
const value = buffer.getLegacyCounterValue();
|
|
30
|
+
date.setUTCHours(hour);
|
|
31
|
+
return new Day({ value, isMagneticInfluence, startTime2000: getTime2000FromDate(date) });
|
|
32
|
+
}
|
|
33
|
+
toBytes() {
|
|
34
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
35
|
+
const { value, isMagneticInfluence, startTime2000 } = this.parameters;
|
|
36
|
+
const date = getDateFromTime2000(startTime2000);
|
|
37
|
+
const hour = date.getUTCHours();
|
|
38
|
+
buffer.setDate(date);
|
|
39
|
+
buffer.setHours(hour, 0);
|
|
40
|
+
buffer.seek(buffer.offset - 1);
|
|
41
|
+
const byte = buffer.getUint8();
|
|
42
|
+
buffer.seek(buffer.offset - 1);
|
|
43
|
+
buffer.setUint8(CommandBinaryBuffer.setMagneticInfluenceBit(byte, isMagneticInfluence));
|
|
44
|
+
buffer.setLegacyCounterValue(value);
|
|
45
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array(), true);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
Day.id = COMMAND_ID;
|
|
49
|
+
Day.directionType = UPLINK;
|
|
50
|
+
Day.examples = examples;
|
|
51
|
+
Day.hasParameters = true;
|
|
52
|
+
export default Day;
|
|
53
|
+
//# sourceMappingURL=Day.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Day.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/Day.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAarD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,uCAAuC;QAC7C,UAAU,EAAE;YACR,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,IAAI;YACzB,KAAK,EAAE,GAAG;SACb;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAC;KACpD;CACJ,CAAC;AAwBF,MAAM,GAAI,SAAQ,OAAO;IACrB,YAAqB,UAA0B;QAC3C,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAgB;IAE/C,CAAC;IAaD,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,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,OAAO,IAAI,GAAG,CAAC,EAAC,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC3F,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,EAAC,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACpE,MAAM,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAGzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AAzCe,MAAE,GAAG,UAAU,CAAC;AAEhB,iBAAa,GAAG,MAAM,CAAC;AAEvB,YAAQ,GAAG,QAAQ,CAAC;AAEpB,iBAAa,GAAG,IAAI,CAAC;AAuCzC,eAAe,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExAbsHourMC.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/ExAbsHourMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAC3F,OAAO,mBAAgD,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ExAbsHourMC.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/ExAbsHourMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveDaysMCResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveDaysMCResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAmC,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysMCResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveDaysMCResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { ILegacyCounter } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { TTime2000 } from '../../../utils/time.js';
|
|
4
|
+
interface IGetArchiveDaysResponseParameters {
|
|
5
|
+
startTime2000: TTime2000;
|
|
6
|
+
dayList: Array<ILegacyCounter>;
|
|
7
|
+
}
|
|
8
|
+
declare class GetArchiveDaysResponse extends Command {
|
|
9
|
+
parameters: IGetArchiveDaysResponseParameters;
|
|
10
|
+
constructor(parameters: IGetArchiveDaysResponseParameters);
|
|
11
|
+
static readonly id = 6;
|
|
12
|
+
static readonly directionType = 2;
|
|
13
|
+
static readonly examples: TCommandExampleList;
|
|
14
|
+
static readonly hasParameters = true;
|
|
15
|
+
static fromBytes(data: Uint8Array): GetArchiveDaysResponse;
|
|
16
|
+
toBytes(): Uint8Array;
|
|
17
|
+
}
|
|
18
|
+
export default GetArchiveDaysResponse;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
import { getTime2000FromDate } from '../../../utils/time.js';
|
|
5
|
+
const COMMAND_ID = 0x06;
|
|
6
|
+
const COMMAND_BODY_MIN_SIZE = 2;
|
|
7
|
+
const DAY_COUNTER_SIZE = 4;
|
|
8
|
+
const examples = [
|
|
9
|
+
{
|
|
10
|
+
name: 'get day values from 2001.03.10 12:00:00',
|
|
11
|
+
parameters: {
|
|
12
|
+
startTime2000: 2678227200,
|
|
13
|
+
dayList: [
|
|
14
|
+
{ isMagneticInfluence: true, value: 234 }
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
hex: { header: '06 06', body: 'a9 6d 80 00 00 ea' }
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
class GetArchiveDaysResponse extends Command {
|
|
21
|
+
constructor(parameters) {
|
|
22
|
+
super();
|
|
23
|
+
this.parameters = parameters;
|
|
24
|
+
}
|
|
25
|
+
static fromBytes(data) {
|
|
26
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
27
|
+
const date = buffer.getDate();
|
|
28
|
+
const dayList = [];
|
|
29
|
+
while (buffer.offset < buffer.data.byteLength) {
|
|
30
|
+
dayList.push(buffer.getLegacyCounter());
|
|
31
|
+
}
|
|
32
|
+
return new GetArchiveDaysResponse({ dayList, startTime2000: getTime2000FromDate(date) });
|
|
33
|
+
}
|
|
34
|
+
toBytes() {
|
|
35
|
+
const { dayList, startTime2000 } = this.parameters;
|
|
36
|
+
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MIN_SIZE + (dayList.length * DAY_COUNTER_SIZE));
|
|
37
|
+
buffer.setDate(startTime2000);
|
|
38
|
+
dayList.forEach(dayCounter => buffer.setLegacyCounter(dayCounter));
|
|
39
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
GetArchiveDaysResponse.id = COMMAND_ID;
|
|
43
|
+
GetArchiveDaysResponse.directionType = UPLINK;
|
|
44
|
+
GetArchiveDaysResponse.examples = examples;
|
|
45
|
+
GetArchiveDaysResponse.hasParameters = true;
|
|
46
|
+
export default GetArchiveDaysResponse;
|
|
47
|
+
//# sourceMappingURL=GetArchiveDaysResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveDaysResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveDaysResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAY,MAAM,wBAAwB,CAAC;AAYtE,MAAM,UAAU,GAAG,IAAI,CAAC;AAGxB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,yCAAyC;QAC/C,UAAU,EAAE;YACR,aAAa,EAAE,UAAU;YACzB,OAAO,EAAE;gBACL,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;aAC1C;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAC;KACpD;CACJ,CAAC;AAyBF,MAAM,sBAAuB,SAAQ,OAAO;IACxC,YAAqB,UAA6C;QAC9D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAmC;IAElE,CAAC;IAaD,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,OAAO,GAAG,EAAE,CAAC;QAEnB,OAAQ,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAG;YAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,sBAAsB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC3F,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,OAAO,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAhCe,yBAAE,GAAG,UAAU,CAAC;AAEhB,oCAAa,GAAG,MAAM,CAAC;AAEvB,+BAAQ,GAAG,QAAQ,CAAC;AAEpB,oCAAa,GAAG,IAAI,CAAC;AA8BzC,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { ILegacyHourCounterWithDiff } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
declare class GetArchiveHoursResponse extends Command {
|
|
4
|
+
parameters: ILegacyHourCounterWithDiff;
|
|
5
|
+
constructor(parameters: ILegacyHourCounterWithDiff);
|
|
6
|
+
static readonly id = 5;
|
|
7
|
+
static readonly directionType = 2;
|
|
8
|
+
static readonly examples: TCommandExampleList;
|
|
9
|
+
static readonly hasParameters = true;
|
|
10
|
+
static fromBytes(data: Uint8Array): GetArchiveHoursResponse;
|
|
11
|
+
toBytes(): Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
export default GetArchiveHoursResponse;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x05;
|
|
5
|
+
const examples = [
|
|
6
|
+
{
|
|
7
|
+
name: '1 hour archive from 2023.12.23 12:00:00 GMT',
|
|
8
|
+
parameters: {
|
|
9
|
+
startTime2000: 756648000,
|
|
10
|
+
counter: { isMagneticInfluence: true, value: 163 },
|
|
11
|
+
diff: [
|
|
12
|
+
{ isMagneticInfluence: true, value: 10 }
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
hex: { header: '05 08', body: '2f 97 8c 00 00 a3 80 0a' }
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
class GetArchiveHoursResponse extends Command {
|
|
19
|
+
constructor(parameters) {
|
|
20
|
+
super();
|
|
21
|
+
this.parameters = parameters;
|
|
22
|
+
}
|
|
23
|
+
static fromBytes(data) {
|
|
24
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
25
|
+
return new GetArchiveHoursResponse(buffer.getLegacyHourCounterWithDiff());
|
|
26
|
+
}
|
|
27
|
+
toBytes() {
|
|
28
|
+
const buffer = new CommandBinaryBuffer(CommandBinaryBuffer.getLegacyHourCounterSize(this.parameters));
|
|
29
|
+
buffer.setLegacyHourCounterWithDiff(this.parameters);
|
|
30
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
GetArchiveHoursResponse.id = COMMAND_ID;
|
|
34
|
+
GetArchiveHoursResponse.directionType = UPLINK;
|
|
35
|
+
GetArchiveHoursResponse.examples = examples;
|
|
36
|
+
GetArchiveHoursResponse.hasParameters = true;
|
|
37
|
+
export default GetArchiveHoursResponse;
|
|
38
|
+
//# sourceMappingURL=GetArchiveHoursResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursResponse.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/GetArchiveHoursResponse.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAiD,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,6CAA6C;QACnD,UAAU,EAAE;YACR,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;YAChD,IAAI,EAAE;gBACF,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC;aACzC;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAC;KAC1D;CACJ,CAAC;AA0BF,MAAM,uBAAwB,SAAQ,OAAO;IACzC,YAAqB,UAAsC;QACvD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA4B;IAE3D,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,uBAAuB,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC9E,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtG,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAvBe,0BAAE,GAAG,UAAU,CAAC;AAEhB,qCAAa,GAAG,MAAM,CAAC;AAEvB,gCAAQ,GAAG,QAAQ,CAAC;AAEpB,qCAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { ILegacyHourCounterWithDiff } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
declare class Hour extends Command {
|
|
4
|
+
parameters: ILegacyHourCounterWithDiff;
|
|
5
|
+
constructor(parameters: ILegacyHourCounterWithDiff);
|
|
6
|
+
static readonly id = 64;
|
|
7
|
+
static readonly directionType = 2;
|
|
8
|
+
static readonly examples: TCommandExampleList;
|
|
9
|
+
static readonly hasParameters = true;
|
|
10
|
+
static fromBytes(data: Uint8Array): Hour;
|
|
11
|
+
toBytes(): Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
export default Hour;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
const COMMAND_ID = 0x40;
|
|
5
|
+
const examples = [
|
|
6
|
+
{
|
|
7
|
+
name: '1 hour from 2023.12.23 12:00:00 GMT',
|
|
8
|
+
parameters: {
|
|
9
|
+
startTime2000: 756648000,
|
|
10
|
+
counter: { isMagneticInfluence: true, value: 163 },
|
|
11
|
+
diff: [
|
|
12
|
+
{ isMagneticInfluence: true, value: 10 }
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
hex: { header: '40 08', body: '2f 97 8c 00 00 a3 80 0a' }
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
class Hour extends Command {
|
|
19
|
+
constructor(parameters) {
|
|
20
|
+
super();
|
|
21
|
+
this.parameters = parameters;
|
|
22
|
+
}
|
|
23
|
+
static fromBytes(data) {
|
|
24
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
25
|
+
return new Hour(buffer.getLegacyHourCounterWithDiff());
|
|
26
|
+
}
|
|
27
|
+
toBytes() {
|
|
28
|
+
const buffer = new CommandBinaryBuffer(CommandBinaryBuffer.getLegacyHourCounterSize(this.parameters));
|
|
29
|
+
buffer.setLegacyHourCounterWithDiff(this.parameters);
|
|
30
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset(), true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
Hour.id = COMMAND_ID;
|
|
34
|
+
Hour.directionType = UPLINK;
|
|
35
|
+
Hour.examples = examples;
|
|
36
|
+
Hour.hasParameters = true;
|
|
37
|
+
export default Hour;
|
|
38
|
+
//# sourceMappingURL=Hour.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hour.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/Hour.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAiD,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAGrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE;YACR,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC;YAChD,IAAI,EAAE;gBACF,EAAC,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC;aACzC;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAC;KAC1D;CACJ,CAAC;AA0BF,MAAM,IAAK,SAAQ,OAAO;IACtB,YAAqB,UAAsC;QACvD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA4B;IAE3D,CAAC;IAaD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGD,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtG,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;;AAvBe,OAAE,GAAG,UAAU,CAAC;AAEhB,kBAAa,GAAG,MAAM,CAAC;AAEvB,aAAQ,GAAG,QAAQ,CAAC;AAEpB,kBAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,IAAI,CAAC"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
export { default as CorrectTime2000Response } from './CorrectTime2000Response.js';
|
|
2
2
|
export { default as CurrentMC } from './CurrentMC.js';
|
|
3
|
+
export { default as Current } from './Current.js';
|
|
4
|
+
export { default as Day } from './Day.js';
|
|
3
5
|
export { default as DayMC } from './DayMC.js';
|
|
4
6
|
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
5
7
|
export { default as ExAbsDayMC } from './ExAbsDayMC.js';
|
|
6
8
|
export { default as ExAbsHourMC } from './ExAbsHourMC.js';
|
|
7
9
|
export { default as GetArchiveDaysMCResponse } from './GetArchiveDaysMCResponse.js';
|
|
10
|
+
export { default as GetArchiveDaysResponse } from './GetArchiveDaysResponse.js';
|
|
8
11
|
export { default as GetArchiveEventsResponse } from './GetArchiveEventsResponse.js';
|
|
9
12
|
export { default as GetArchiveHoursMCResponse } from './GetArchiveHoursMCResponse.js';
|
|
13
|
+
export { default as GetArchiveHoursResponse } from './GetArchiveHoursResponse.js';
|
|
10
14
|
export { default as GetExAbsArchiveDaysMCResponse } from './GetExAbsArchiveDaysMCResponse.js';
|
|
11
15
|
export { default as GetExAbsArchiveHoursMCResponse } from './GetExAbsArchiveHoursMCResponse.js';
|
|
12
16
|
export { default as GetLmicInfoResponse } from './GetLmicInfoResponse.js';
|
|
13
17
|
export { default as GetParameterResponse } from './GetParameterResponse.js';
|
|
18
|
+
export { default as Hour } from './Hour.js';
|
|
14
19
|
export { default as HourMC } from './HourMC.js';
|
|
15
20
|
export { default as LastEvent } from './LastEvent.js';
|
|
16
21
|
export { default as NewEvent } from './NewEvent.js';
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
export { default as CorrectTime2000Response } from './CorrectTime2000Response.js';
|
|
2
2
|
export { default as CurrentMC } from './CurrentMC.js';
|
|
3
|
+
export { default as Current } from './Current.js';
|
|
4
|
+
export { default as Day } from './Day.js';
|
|
3
5
|
export { default as DayMC } from './DayMC.js';
|
|
4
6
|
export { default as ExAbsCurrentMC } from './ExAbsCurrentMC.js';
|
|
5
7
|
export { default as ExAbsDayMC } from './ExAbsDayMC.js';
|
|
6
8
|
export { default as ExAbsHourMC } from './ExAbsHourMC.js';
|
|
7
9
|
export { default as GetArchiveDaysMCResponse } from './GetArchiveDaysMCResponse.js';
|
|
10
|
+
export { default as GetArchiveDaysResponse } from './GetArchiveDaysResponse.js';
|
|
8
11
|
export { default as GetArchiveEventsResponse } from './GetArchiveEventsResponse.js';
|
|
9
12
|
export { default as GetArchiveHoursMCResponse } from './GetArchiveHoursMCResponse.js';
|
|
13
|
+
export { default as GetArchiveHoursResponse } from './GetArchiveHoursResponse.js';
|
|
10
14
|
export { default as GetExAbsArchiveDaysMCResponse } from './GetExAbsArchiveDaysMCResponse.js';
|
|
11
15
|
export { default as GetExAbsArchiveHoursMCResponse } from './GetExAbsArchiveHoursMCResponse.js';
|
|
12
16
|
export { default as GetLmicInfoResponse } from './GetLmicInfoResponse.js';
|
|
13
17
|
export { default as GetParameterResponse } from './GetParameterResponse.js';
|
|
18
|
+
export { default as Hour } from './Hour.js';
|
|
14
19
|
export { default as HourMC } from './HourMC.js';
|
|
15
20
|
export { default as LastEvent } from './LastEvent.js';
|
|
16
21
|
export { default as NewEvent } from './NewEvent.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/analog/commands/uplink/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,UAAU,CAAC;AACxC,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAC,OAAO,IAAI,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,6BAA6B,EAAC,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC"}
|
package/dist/analog/header.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export declare const fromHex: (data: string) => {
|
|
|
9
9
|
commandId: number;
|
|
10
10
|
commandSize: number;
|
|
11
11
|
};
|
|
12
|
-
export declare const toBytes: (commandId: number, commandSize: number) => Uint8Array;
|
|
12
|
+
export declare const toBytes: (commandId: number, commandSize: number, isLegacyHeader?: boolean) => Uint8Array;
|
|
13
13
|
export declare const toHex: (commandId: number, commandSize: number, options?: IHexFormatOptions) => string;
|
package/dist/analog/header.js
CHANGED
|
@@ -37,7 +37,13 @@ export const fromBytes = (data) => {
|
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
39
|
export const fromHex = (data) => fromBytes(getBytesFromHex(data));
|
|
40
|
-
export const toBytes = (commandId, commandSize) => {
|
|
40
|
+
export const toBytes = (commandId, commandSize, isLegacyHeader = false) => {
|
|
41
|
+
if (isLegacyHeader) {
|
|
42
|
+
return new Uint8Array([
|
|
43
|
+
commandId,
|
|
44
|
+
commandSize
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
41
47
|
if ((commandId & extraCommandMask) === 0) {
|
|
42
48
|
if (commandSize > extraCommandMask) {
|
|
43
49
|
throw new Error(`Wrong command id/size. Id: ${commandId}, size: ${commandSize}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/analog/header.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAG1D,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAG9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAE,IAAgB,EAAG,EAAE;IAC5C,IAAK,IAAI,CAAC,MAAM,KAAK,CAAC,EAAG;QACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;IAED,MAAM,MAAM,GAAG;QACX,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB;QACrC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB;KACxC,CAAC;IAEF,IAAK,MAAM,CAAC,SAAS,KAAK,CAAC,EAAG;QAE1B,OAAO;YACH,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YACxC,WAAW,EAAE,MAAM,CAAC,SAAS;SAChC,CAAC;KACL;IAED,IAAK,MAAM,CAAC,SAAS,KAAK,gBAAgB,EAAG;QAEzC,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QACD,OAAO;YACH,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,gBAAgB;YAC5C,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;SACvB,CAAC;KACL;IAED,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;IAED,OAAO;QACH,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;KACvB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAE,IAAY,EAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAE,SAAiB,EAAE,WAAmB,EAAe,EAAE;
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/analog/header.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAG1D,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAG9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAE,IAAgB,EAAG,EAAE;IAC5C,IAAK,IAAI,CAAC,MAAM,KAAK,CAAC,EAAG;QACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;IAED,MAAM,MAAM,GAAG;QACX,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB;QACrC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB;KACxC,CAAC;IAEF,IAAK,MAAM,CAAC,SAAS,KAAK,CAAC,EAAG;QAE1B,OAAO;YACH,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YACxC,WAAW,EAAE,MAAM,CAAC,SAAS;SAChC,CAAC;KACL;IAED,IAAK,MAAM,CAAC,SAAS,KAAK,gBAAgB,EAAG;QAEzC,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QACD,OAAO;YACH,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,gBAAgB;YAC5C,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;SACvB,CAAC;KACL;IAED,IAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAC1C;IAED,OAAO;QACH,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;KACvB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAE,IAAY,EAAG,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAE,SAAiB,EAAE,WAAmB,EAAE,cAAc,GAAG,KAAK,EAAe,EAAE;IACpG,IAAK,cAAc,EAAG;QAElB,OAAO,IAAI,UAAU,CAAC;YAClB,SAAS;YACT,WAAW;SACd,CAAC,CAAC;KACN;IAED,IAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAG;QACxC,IAAK,WAAW,GAAG,gBAAgB,EAAG;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,WAAW,WAAW,GAAG,CAAC,CAAC;SACrF;QAED,OAAO,IAAI,UAAU,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC;KACpD;IAED,IAAK,SAAS,GAAG,gBAAgB,EAAG;QAChC,OAAO,IAAI,UAAU,CAAC;YAClB,gBAAgB;YAChB,CAAC,SAAS,IAAI,CAAC,CAAC;YAChB,WAAW;SACd,CAAC,CAAC;KACN;IAED,OAAO,IAAI,UAAU,CAAC;QAClB,SAAS;QACT,WAAW;KACd,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAE,SAAiB,EAAE,WAAmB,EAAE,UAA6B,EAAE,EAAW,EAAE,CAAC,CACxG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAC5D,CAAC"}
|
|
@@ -12,8 +12,9 @@ export interface IObis {
|
|
|
12
12
|
}
|
|
13
13
|
export interface IObisProfileFlags {
|
|
14
14
|
contentType: number;
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
sendOnChange: boolean;
|
|
16
|
+
archiveProfile1: boolean;
|
|
17
|
+
archiveProfile2: boolean;
|
|
17
18
|
}
|
|
18
19
|
export interface IObisProfile {
|
|
19
20
|
capturePeriod: number;
|
|
@@ -29,9 +30,14 @@ export interface IShortNameString {
|
|
|
29
30
|
code: number;
|
|
30
31
|
content: string;
|
|
31
32
|
}
|
|
33
|
+
export interface IVersion {
|
|
34
|
+
major: number;
|
|
35
|
+
minor: number;
|
|
36
|
+
}
|
|
32
37
|
export declare const REQUEST_ID_SIZE = 1;
|
|
33
38
|
export declare const OBIS_PROFILE_SIZE = 6;
|
|
34
39
|
export declare const DATE_TIME_SIZE = 4;
|
|
40
|
+
export declare const EUI_SIZE = 8;
|
|
35
41
|
declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
36
42
|
constructor(dataOrLength: Uint8Array | number | string);
|
|
37
43
|
static getObisSize(obis: IObis): number;
|
|
@@ -52,5 +58,9 @@ declare class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
52
58
|
fixed: boolean;
|
|
53
59
|
parity: number;
|
|
54
60
|
}): void;
|
|
61
|
+
getVersion(): IVersion;
|
|
62
|
+
setVersion(version: IVersion): void;
|
|
63
|
+
getEUI(): string;
|
|
64
|
+
setEUI(eui: string): void;
|
|
55
65
|
}
|
|
56
66
|
export default CommandBinaryBuffer;
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import BinaryBuffer from '../utils/BinaryBuffer.js';
|
|
2
2
|
import * as bitSet from '../utils/bitSet.js';
|
|
3
|
+
import getHexFromBytes from '../utils/getHexFromBytes.js';
|
|
4
|
+
import getBytesFromHex from '../utils/getBytesFromHex.js';
|
|
3
5
|
import roundNumber from '../utils/roundNumber.js';
|
|
4
6
|
export const REQUEST_ID_SIZE = 1;
|
|
5
7
|
export const OBIS_PROFILE_SIZE = 6;
|
|
6
8
|
export const DATE_TIME_SIZE = 4;
|
|
9
|
+
export const EUI_SIZE = 8;
|
|
7
10
|
const obisBitMask = {
|
|
8
11
|
f: 2 ** 0,
|
|
9
12
|
e: 2 ** 1,
|
|
10
13
|
b: 2 ** 2,
|
|
11
14
|
a: 2 ** 3
|
|
12
15
|
};
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
16
|
+
const archiveProfileBitsNumber = 1;
|
|
17
|
+
const sendingOnlyIfChangeBitsNumber = 1;
|
|
18
|
+
const contentTypeBitsNumber = 2;
|
|
19
|
+
const archiveProfile1BitStartIndex = 1;
|
|
20
|
+
const archiveProfile2BitStartIndex = 2;
|
|
21
|
+
const sendingOnlyIfChangeBitStartIndex = 3;
|
|
22
|
+
const contentTypeBitStartIndex = 4;
|
|
21
23
|
class CommandBinaryBuffer extends BinaryBuffer {
|
|
22
24
|
constructor(dataOrLength) {
|
|
23
25
|
super(dataOrLength, false);
|
|
@@ -84,26 +86,27 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
84
86
|
sendingCounter: this.getUint8(),
|
|
85
87
|
flags: {
|
|
86
88
|
contentType: 0,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
sendOnChange: false,
|
|
90
|
+
archiveProfile1: false,
|
|
91
|
+
archiveProfile2: false
|
|
89
92
|
}
|
|
90
93
|
};
|
|
91
94
|
const flags = this.getUint8();
|
|
92
|
-
const { contentTypeBitsNumber, contentTypeBitStartIndex, sendingOnlyIfChangeBitsNumber, sendingOnlyIfChangeBitStartIndex, archiveTypeBitsNumber, archiveTypeBitStartIndex } = obisProfileFlags;
|
|
93
95
|
profile.flags.contentType = bitSet.extractBits(flags, contentTypeBitsNumber, contentTypeBitStartIndex);
|
|
94
|
-
profile.flags.
|
|
95
|
-
profile.flags.
|
|
96
|
+
profile.flags.sendOnChange = !!bitSet.extractBits(flags, sendingOnlyIfChangeBitsNumber, sendingOnlyIfChangeBitStartIndex);
|
|
97
|
+
profile.flags.archiveProfile1 = !!bitSet.extractBits(flags, archiveProfileBitsNumber, archiveProfile1BitStartIndex);
|
|
98
|
+
profile.flags.archiveProfile2 = !!bitSet.extractBits(flags, archiveProfileBitsNumber, archiveProfile2BitStartIndex);
|
|
96
99
|
return profile;
|
|
97
100
|
}
|
|
98
101
|
setObisProfile(profile) {
|
|
99
102
|
this.setUint16(profile.capturePeriod);
|
|
100
103
|
this.setUint16(profile.sendingPeriod);
|
|
101
104
|
this.setUint8(profile.sendingCounter);
|
|
102
|
-
const { contentTypeBitsNumber, contentTypeBitStartIndex, sendingOnlyIfChangeBitsNumber, sendingOnlyIfChangeBitStartIndex, archiveTypeBitsNumber, archiveTypeBitStartIndex } = obisProfileFlags;
|
|
103
105
|
let flags = 0;
|
|
104
106
|
flags = bitSet.fillBits(flags, contentTypeBitsNumber, contentTypeBitStartIndex, profile.flags.contentType);
|
|
105
|
-
flags = bitSet.fillBits(flags, sendingOnlyIfChangeBitsNumber, sendingOnlyIfChangeBitStartIndex, +profile.flags.
|
|
106
|
-
flags = bitSet.fillBits(flags,
|
|
107
|
+
flags = bitSet.fillBits(flags, sendingOnlyIfChangeBitsNumber, sendingOnlyIfChangeBitStartIndex, +profile.flags.sendOnChange);
|
|
108
|
+
flags = bitSet.fillBits(flags, archiveProfileBitsNumber, archiveProfile1BitStartIndex, +profile.flags.archiveProfile1);
|
|
109
|
+
flags = bitSet.fillBits(flags, archiveProfileBitsNumber, archiveProfile2BitStartIndex, +profile.flags.archiveProfile2);
|
|
107
110
|
this.setUint8(flags);
|
|
108
111
|
}
|
|
109
112
|
getShortNameString() {
|
|
@@ -133,6 +136,27 @@ class CommandBinaryBuffer extends BinaryBuffer {
|
|
|
133
136
|
flags = bitSet.fillBits(flags, 2, 1, parity);
|
|
134
137
|
this.setUint8(flags);
|
|
135
138
|
}
|
|
139
|
+
getVersion() {
|
|
140
|
+
return {
|
|
141
|
+
major: this.getUint8(),
|
|
142
|
+
minor: this.getUint8()
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
setVersion(version) {
|
|
146
|
+
this.setUint8(version.major);
|
|
147
|
+
this.setUint8(version.minor);
|
|
148
|
+
}
|
|
149
|
+
getEUI() {
|
|
150
|
+
const bytes = [];
|
|
151
|
+
for (let i = 0; i < EUI_SIZE; ++i) {
|
|
152
|
+
bytes.push(this.getUint8());
|
|
153
|
+
}
|
|
154
|
+
return getHexFromBytes(new Uint8Array(bytes));
|
|
155
|
+
}
|
|
156
|
+
setEUI(eui) {
|
|
157
|
+
const bytes = getBytesFromHex(eui);
|
|
158
|
+
bytes.forEach(byte => this.setUint8(byte));
|
|
159
|
+
}
|
|
136
160
|
}
|
|
137
161
|
export default CommandBinaryBuffer;
|
|
138
162
|
//# sourceMappingURL=CommandBinaryBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../../src/obis-observer/CommandBinaryBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,WAAW,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandBinaryBuffer.js","sourceRoot":"","sources":["../../src/obis-observer/CommandBinaryBuffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer, { REQUEST_ID_SIZE } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { DOWNLINK } from '../../constants/directions.js';
|
|
4
|
-
import {
|
|
4
|
+
import { contentTypes } from '../../constants/index.js';
|
|
5
5
|
const COMMAND_ID = 0x05;
|
|
6
6
|
const COMMAND_SIZE = 7 + REQUEST_ID_SIZE;
|
|
7
7
|
const examples = [
|
|
@@ -16,8 +16,9 @@ const examples = [
|
|
|
16
16
|
sendingCounter: 38,
|
|
17
17
|
flags: {
|
|
18
18
|
contentType: contentTypes.AUTO,
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
sendOnChange: true,
|
|
20
|
+
archiveProfile1: false,
|
|
21
|
+
archiveProfile2: false
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
},
|