motion-master-client 0.0.317 → 0.0.319

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "motion-master-client",
3
- "version": "0.0.317",
3
+ "version": "0.0.319",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
package/src/lib/smm.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /// <reference types="node" />
2
- import PythonStruct, { DataType } from 'python-struct';
3
2
  import { Buffer } from 'buffer';
4
- import { SmmOd } from './smm-od';
3
+ import PythonStruct, { DataType } from 'python-struct';
5
4
  import { Parameter } from './parameter';
5
+ import { SmmOd } from './smm-od';
6
+ import { SmmBinaryHeader } from './types';
6
7
  /**
7
8
  * Extends the base `Parameter` interface to include SMM-specific details.
8
9
  *
@@ -340,3 +341,91 @@ export declare function getSafetyStatuswordBitNames(parameterStructureVersion?:
340
341
  export declare function convertGroupedSmmParametersToTransmitData<T>(obj: {
341
342
  [key: string]: T[];
342
343
  }): T[];
344
+ /**
345
+ * Parses the binary header of an SMM firmware image and extracts structured metadata.
346
+ *
347
+ * This function automatically detects and supports both LW1 and LW2 firmware header versions.
348
+ * It unpacks the corresponding fields and returns an object containing detailed header information,
349
+ * including hardware/software versions, header length, binary lengths, CRCs, and other custom fields.
350
+ *
351
+ * Header version detection:
352
+ * - LW1: header version < 1.0.0
353
+ * - LW2: header version >= 1.0.0
354
+ *
355
+ * Extracted fields include:
356
+ * - `headerVersion`: Encoded numeric header version.
357
+ * - `swVersion`: Encoded software version.
358
+ * - `lengthBinaryA` / `lengthBinaryB`: Lengths of the binary parts.
359
+ * - `crcA` / `crcB`: Checksums of the binary parts (hexadecimal string).
360
+ *
361
+ * @param smmFirmwareBinary - Raw binary data of the SMM firmware as a `Uint8Array`.
362
+ * @returns An `SmmBinaryHeader` object containing the parsed header fields.
363
+ *
364
+ * @throws If the binary header cannot be parsed or is invalid.
365
+ */
366
+ export declare function parseSmmBinaryHeaders(smmFirmwareBinary: Uint8Array): SmmBinaryHeader;
367
+ /**
368
+ * Encodes a semantic version string or number into a single number using bitwise operations.
369
+ * The encoding packs the major version in the high byte and the minor version in the low byte:
370
+ *
371
+ * encoded = (major << 8) | minor
372
+ *
373
+ * Examples:
374
+ * '1.3' => 0x0103 (259)
375
+ * '77.0' => 0x4d00 (19712)
376
+ *
377
+ * @param semver - Semantic version as a string (e.g., "1.3") or a numeric code.
378
+ * @returns Bitwise encoded version as a number. Returns 0 if parsing fails.
379
+ */
380
+ export declare function bitwiseEncodeSemverString(semver: string | number): number;
381
+ /**
382
+ * Determines whether a target SMM firmware version can be installed on a device,
383
+ * based on the device's serial number, its current firmware version, and the target version.
384
+ *
385
+ * Certain SMM firmware versions have special rules:
386
+ * - Versions v77.0, v77.1, and v99.0 are intentionally numbered high to avoid confusion
387
+ * with versions 0.77.0, 0.77.1, and 0.99.0.
388
+ *
389
+ * Rules:
390
+ * 1. v99.0 can always be installed.
391
+ * - v77.0 can only be installed on encrypted Circulo 7 devices **after** v99.0.
392
+ * - v77.1 can only be installed on encrypted Circulo 9 devices **after** v99.0.
393
+ * 2. Versions v1.92 - v1.99 are unencrypted and **cannot** be installed on devices
394
+ * that already have encrypted firmware.
395
+ * 3. Encrypted firmware versions (>= v1.3) can only be installed on devices with
396
+ * encrypted firmware, and unencrypted versions can only be installed on devices
397
+ * with unencrypted firmware.
398
+ *
399
+ * @param deviceSerialNumber - The serial number of the device.
400
+ * @param deviceSmmFirmwareVersion - The current SMM firmware version of the device
401
+ * (number or semver string).
402
+ * @param targetSmmFirmwareVersion - The target SMM firmware version to install
403
+ * (number or semver string).
404
+ * @param force - If `true`, bypasses certain checks and forces the installation.
405
+ * @returns `true` if installation is allowed, `false` otherwise.
406
+ */
407
+ export declare function checkSmmFirmwareInstallationAllowed(deviceSerialNumber: string, deviceSmmFirmwareVersion: number | string, targetSmmFirmwareVersion: number | string, force?: boolean): boolean;
408
+ export declare const smmFirmwareSpecialVersions: number[];
409
+ export declare const smmFirmwareUnencryptedVersions: number[];
410
+ /**
411
+ * Extracts metadata from a given SMM firmware version, including whether it is a special
412
+ * version and whether it is encrypted.
413
+ *
414
+ * Internally, the firmware version is first encoded using `bitwiseEncodeSemverString`.
415
+ * The function then:
416
+ * 1. Checks if the version is considered "special" (currently v77.0, v77.1, or v99.0).
417
+ * 2. Determines if the firmware is encrypted based on version rules:
418
+ * - Versions >= 1.3 are encrypted.
419
+ * - Exceptions: versions v1.92 through v1.99 are not encrypted.
420
+ *
421
+ * @param firmwareVersion - The firmware version to analyze, provided as a number or string.
422
+ * @returns An object containing:
423
+ * - `version`: The encoded firmware version number.
424
+ * - `isSpecial`: `true` if the version is in the list of special versions.
425
+ * - `isEncrypted`: `true` if the version is considered encrypted according to the rules.
426
+ */
427
+ export declare function getInformationFromSmmFirmwareVersion(firmwareVersion: number | string): {
428
+ version: number;
429
+ isSpecial: boolean;
430
+ isEncrypted: boolean;
431
+ };
package/src/lib/smm.js CHANGED
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertGroupedSmmParametersToTransmitData = exports.getSafetyStatuswordBitNames = exports.getSafetyStatuswordBits = exports.safetyStatuswordBitsV2 = exports.safetyStatuswordBitsV1 = exports.smmOdV1DefaultValues = exports.getSmmParametersGroupNames = exports.packSmmSoftwareUpdateCrc = exports.packSmmValidationReport = exports.packSmmDate = exports.packSmmParameterValuesForVerification = exports.unpackSmmParameterValues = exports.packSmmParameterValues = exports.packSmmChangePassword = exports.packSmmCredentials = exports.calcSmmCRC32 = exports.buildSmmParametersPackFormat = exports.buildSmmParametersGroupPackFormats = exports.buildSmmParametersGroupBitmask = exports.resolveSmmOd = void 0;
3
+ exports.getInformationFromSmmFirmwareVersion = exports.smmFirmwareUnencryptedVersions = exports.smmFirmwareSpecialVersions = exports.checkSmmFirmwareInstallationAllowed = exports.bitwiseEncodeSemverString = exports.parseSmmBinaryHeaders = exports.convertGroupedSmmParametersToTransmitData = exports.getSafetyStatuswordBitNames = exports.getSafetyStatuswordBits = exports.safetyStatuswordBitsV2 = exports.safetyStatuswordBitsV1 = exports.smmOdV1DefaultValues = exports.getSmmParametersGroupNames = exports.packSmmSoftwareUpdateCrc = exports.packSmmValidationReport = exports.packSmmDate = exports.packSmmParameterValuesForVerification = exports.unpackSmmParameterValues = exports.packSmmParameterValues = exports.packSmmChangePassword = exports.packSmmCredentials = exports.calcSmmCRC32 = exports.buildSmmParametersPackFormat = exports.buildSmmParametersGroupPackFormats = exports.buildSmmParametersGroupBitmask = exports.resolveSmmOd = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const python_struct_1 = tslib_1.__importDefault(require("python-struct"));
6
5
  const buffer_1 = require("buffer");
6
+ const python_struct_1 = tslib_1.__importDefault(require("python-struct"));
7
+ const semver_1 = require("semver");
7
8
  const util_1 = require("./util");
8
9
  // https://docs.google.com/spreadsheets/d/1XYZro2vkAKeuZ2briHCR28taoAz2A7hq/edit?usp=sharing&ouid=110065739563604250219&rtpof=true&sd=true
9
10
  const smm_od_v1_json_1 = tslib_1.__importDefault(require("./smm-od-v1.json"));
10
- // https://docs.google.com/spreadsheets/d/1AXPrGyQgwAKc3Ue2-lp5kLwXXRhut86y/edit?usp=sharing&ouid=110065739563604250219&rtpof=true&sd=true
11
+ const product_1 = require("./product");
11
12
  const smm_od_v2_json_1 = tslib_1.__importDefault(require("./smm-od-v2.json"));
12
13
  /**
13
14
  * Resolves the appropriate SMM OD (Object Dictionary) version based on the provided parameter structure version.
@@ -528,4 +529,194 @@ function convertGroupedSmmParametersToTransmitData(obj) {
528
529
  return parameters.flat();
529
530
  }
530
531
  exports.convertGroupedSmmParametersToTransmitData = convertGroupedSmmParametersToTransmitData;
532
+ /**
533
+ * Parses the binary header of an SMM firmware image and extracts structured metadata.
534
+ *
535
+ * This function automatically detects and supports both LW1 and LW2 firmware header versions.
536
+ * It unpacks the corresponding fields and returns an object containing detailed header information,
537
+ * including hardware/software versions, header length, binary lengths, CRCs, and other custom fields.
538
+ *
539
+ * Header version detection:
540
+ * - LW1: header version < 1.0.0
541
+ * - LW2: header version >= 1.0.0
542
+ *
543
+ * Extracted fields include:
544
+ * - `headerVersion`: Encoded numeric header version.
545
+ * - `swVersion`: Encoded software version.
546
+ * - `lengthBinaryA` / `lengthBinaryB`: Lengths of the binary parts.
547
+ * - `crcA` / `crcB`: Checksums of the binary parts (hexadecimal string).
548
+ *
549
+ * @param smmFirmwareBinary - Raw binary data of the SMM firmware as a `Uint8Array`.
550
+ * @returns An `SmmBinaryHeader` object containing the parsed header fields.
551
+ *
552
+ * @throws If the binary header cannot be parsed or is invalid.
553
+ */
554
+ function parseSmmBinaryHeaders(smmFirmwareBinary) {
555
+ const header = buffer_1.Buffer.from(smmFirmwareBinary.slice(0, 500));
556
+ const endianness = '<';
557
+ // LW2 fields
558
+ let headerVersionField = `${endianness}H`;
559
+ let customHeaderField = `${endianness}L10s16s174s`;
560
+ let headerField = `${endianness}IHIIII`;
561
+ let headerVersion = python_struct_1.default.unpack(headerVersionField, header)[0];
562
+ // LW1 field (header versions lower than 1.0.0)
563
+ if (headerVersion < 256) {
564
+ customHeaderField = `${endianness}L10s186s`;
565
+ }
566
+ const fields = `${headerVersionField}${customHeaderField}${headerField}`;
567
+ const data = python_struct_1.default.unpack(fields, header);
568
+ const headerVersionSemver = [(headerVersion >> 8) & 0xff, headerVersion & 0xff, 0].join('.');
569
+ if ((0, semver_1.lt)(headerVersionSemver, '1.0.0')) {
570
+ // LW1 firmware
571
+ const swVersion = data[5];
572
+ const crcA = data[8];
573
+ const crcB = data[9];
574
+ return {
575
+ headerVersion,
576
+ swVersion,
577
+ lengthBinaryA: data[6],
578
+ lengthBinaryB: data[7],
579
+ crcA,
580
+ crcB,
581
+ };
582
+ }
583
+ else {
584
+ // LW2 firmware
585
+ const swVersion = data[6];
586
+ const crcA = data[9];
587
+ const crcB = data[10];
588
+ return {
589
+ headerVersion,
590
+ swVersion,
591
+ lengthBinaryA: data[7],
592
+ lengthBinaryB: data[8],
593
+ crcA,
594
+ crcB,
595
+ };
596
+ }
597
+ }
598
+ exports.parseSmmBinaryHeaders = parseSmmBinaryHeaders;
599
+ /**
600
+ * Encodes a semantic version string or number into a single number using bitwise operations.
601
+ * The encoding packs the major version in the high byte and the minor version in the low byte:
602
+ *
603
+ * encoded = (major << 8) | minor
604
+ *
605
+ * Examples:
606
+ * '1.3' => 0x0103 (259)
607
+ * '77.0' => 0x4d00 (19712)
608
+ *
609
+ * @param semver - Semantic version as a string (e.g., "1.3") or a numeric code.
610
+ * @returns Bitwise encoded version as a number. Returns 0 if parsing fails.
611
+ */
612
+ function bitwiseEncodeSemverString(semver) {
613
+ if (typeof semver === 'string') {
614
+ const version = (0, semver_1.parse)(semver);
615
+ return version ? (version.major << 8) | (version.minor & 0xff) : 0;
616
+ }
617
+ return semver !== null && semver !== void 0 ? semver : 0;
618
+ }
619
+ exports.bitwiseEncodeSemverString = bitwiseEncodeSemverString;
620
+ /**
621
+ * Determines whether a target SMM firmware version can be installed on a device,
622
+ * based on the device's serial number, its current firmware version, and the target version.
623
+ *
624
+ * Certain SMM firmware versions have special rules:
625
+ * - Versions v77.0, v77.1, and v99.0 are intentionally numbered high to avoid confusion
626
+ * with versions 0.77.0, 0.77.1, and 0.99.0.
627
+ *
628
+ * Rules:
629
+ * 1. v99.0 can always be installed.
630
+ * - v77.0 can only be installed on encrypted Circulo 7 devices **after** v99.0.
631
+ * - v77.1 can only be installed on encrypted Circulo 9 devices **after** v99.0.
632
+ * 2. Versions v1.92 - v1.99 are unencrypted and **cannot** be installed on devices
633
+ * that already have encrypted firmware.
634
+ * 3. Encrypted firmware versions (>= v1.3) can only be installed on devices with
635
+ * encrypted firmware, and unencrypted versions can only be installed on devices
636
+ * with unencrypted firmware.
637
+ *
638
+ * @param deviceSerialNumber - The serial number of the device.
639
+ * @param deviceSmmFirmwareVersion - The current SMM firmware version of the device
640
+ * (number or semver string).
641
+ * @param targetSmmFirmwareVersion - The target SMM firmware version to install
642
+ * (number or semver string).
643
+ * @param force - If `true`, bypasses certain checks and forces the installation.
644
+ * @returns `true` if installation is allowed, `false` otherwise.
645
+ */
646
+ function checkSmmFirmwareInstallationAllowed(deviceSerialNumber, deviceSmmFirmwareVersion, targetSmmFirmwareVersion, force = false) {
647
+ var _a;
648
+ const productGroup = (_a = (0, product_1.findSomanetProductById)(deviceSerialNumber)) === null || _a === void 0 ? void 0 : _a.group;
649
+ const deviceSmmVersionInfo = getInformationFromSmmFirmwareVersion(deviceSmmFirmwareVersion);
650
+ const binarySmmVersionInfo = getInformationFromSmmFirmwareVersion(targetSmmFirmwareVersion);
651
+ // Device has v99.0 installed
652
+ if (deviceSmmVersionInfo.version === 25344) {
653
+ // v77.0
654
+ if (binarySmmVersionInfo.version === 19712) {
655
+ return productGroup === 'Circulo 7';
656
+ }
657
+ // v77.1
658
+ if (binarySmmVersionInfo.version === 19713) {
659
+ return productGroup === 'Circulo 9';
660
+ }
661
+ // Allow only encrypted binaries to be installed, unless it's forced
662
+ return binarySmmVersionInfo.isEncrypted || force;
663
+ }
664
+ // Device has v77.0 installed
665
+ if (deviceSmmVersionInfo.version === 19712) {
666
+ return productGroup === 'Circulo 7' && binarySmmVersionInfo.isEncrypted;
667
+ }
668
+ // Device has v77.1 installed
669
+ if (deviceSmmVersionInfo.version === 19713) {
670
+ return productGroup === 'Circulo 9' && binarySmmVersionInfo.isEncrypted;
671
+ }
672
+ // Target is v99.0
673
+ if (binarySmmVersionInfo.version === 25344) {
674
+ return true;
675
+ }
676
+ // Target is v77.0
677
+ if (binarySmmVersionInfo.version === 19712) {
678
+ return false;
679
+ }
680
+ // Target is v77.1
681
+ if (binarySmmVersionInfo.version === 19713) {
682
+ return false;
683
+ }
684
+ // Target is v1.92 - v1.99 (unencrypted)
685
+ if (exports.smmFirmwareUnencryptedVersions.includes(binarySmmVersionInfo.version)) {
686
+ return !deviceSmmVersionInfo.isEncrypted;
687
+ }
688
+ // All other versions: encrypted can only go on encrypted, unencrypted on unencrypted
689
+ return ((deviceSmmVersionInfo.isEncrypted && binarySmmVersionInfo.isEncrypted) ||
690
+ (!deviceSmmVersionInfo.isEncrypted && !binarySmmVersionInfo.isEncrypted));
691
+ }
692
+ exports.checkSmmFirmwareInstallationAllowed = checkSmmFirmwareInstallationAllowed;
693
+ // Special SMM firmware versions: v77.0, v77.1, and v99.0
694
+ exports.smmFirmwareSpecialVersions = [19712, 19713, 25344];
695
+ // Firmware versions that are *not encrypted*.
696
+ // Generally, versions >= 1.3 are encrypted, except for v1.92 - v1.99 and v99.0.
697
+ exports.smmFirmwareUnencryptedVersions = [348, 349, 350, 351, 352, 353, 354, 355, 25344];
698
+ /**
699
+ * Extracts metadata from a given SMM firmware version, including whether it is a special
700
+ * version and whether it is encrypted.
701
+ *
702
+ * Internally, the firmware version is first encoded using `bitwiseEncodeSemverString`.
703
+ * The function then:
704
+ * 1. Checks if the version is considered "special" (currently v77.0, v77.1, or v99.0).
705
+ * 2. Determines if the firmware is encrypted based on version rules:
706
+ * - Versions >= 1.3 are encrypted.
707
+ * - Exceptions: versions v1.92 through v1.99 are not encrypted.
708
+ *
709
+ * @param firmwareVersion - The firmware version to analyze, provided as a number or string.
710
+ * @returns An object containing:
711
+ * - `version`: The encoded firmware version number.
712
+ * - `isSpecial`: `true` if the version is in the list of special versions.
713
+ * - `isEncrypted`: `true` if the version is considered encrypted according to the rules.
714
+ */
715
+ function getInformationFromSmmFirmwareVersion(firmwareVersion) {
716
+ const version = bitwiseEncodeSemverString(firmwareVersion);
717
+ const isSpecial = exports.smmFirmwareSpecialVersions.includes(version);
718
+ const isEncrypted = version >= 259 && !exports.smmFirmwareUnencryptedVersions.includes(version);
719
+ return { version, isSpecial, isEncrypted };
720
+ }
721
+ exports.getInformationFromSmmFirmwareVersion = getInformationFromSmmFirmwareVersion;
531
722
  //# sourceMappingURL=smm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smm.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/smm.ts"],"names":[],"mappings":"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AU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE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"}
1
+ {"version":3,"file":"smm.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/smm.ts"],"names":[],"mappings":"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,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;QAC1G,UAAU,EAAE,UAAU,E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"}
@@ -492,3 +492,57 @@ export type NotchFilter = {
492
492
  rejectionBand: number;
493
493
  depth: number;
494
494
  };
495
+ /**
496
+ * Represents structured metadata extracted from an unpacked SMM firmware binary header.
497
+ *
498
+ * This type includes both raw header fields and derived data, such as semantic version
499
+ * strings for use in the OBLAC Drives UI. Some fields (e.g., encrypter initialization vectors)
500
+ * are only present in LW2 firmware headers.
501
+ */
502
+ export type SmmBinaryHeader = {
503
+ /** Encoded numeric header version. */
504
+ headerVersion: number;
505
+ /**
506
+ * Software version (encoded as a number).
507
+ */
508
+ swVersion: number;
509
+ /** Length of binary part A in bytes. */
510
+ lengthBinaryA: number;
511
+ /** Length of binary part B in bytes. */
512
+ lengthBinaryB: number;
513
+ /** CRC checksum of binary part A. */
514
+ crcA: number;
515
+ /** CRC checksum of binary part B. */
516
+ crcB: number;
517
+ };
518
+ /**
519
+ * Represents the unpacked raw values from an SMM firmware binary header.
520
+ *
521
+ * This type captures both LW1 and LW2 header formats as tuples, with fields in the
522
+ * order returned by `PythonStruct.unpack`. Each element corresponds to a specific
523
+ * header field.
524
+ */
525
+ export type SmmBinaryHeaderValues = [
526
+ headerVersion: string,
527
+ validHwVersionEntries: number,
528
+ someField: number,
529
+ validHwVersions: string,
530
+ encrypterInitializationVectors: string,
531
+ swVersion: number,
532
+ reserved: string,
533
+ lengthBinaryA: number,
534
+ lengthBinaryB: number,
535
+ crcA: number,
536
+ crcB: number
537
+ ] | [
538
+ headerVersion: string,
539
+ validHwVersionEntries: number,
540
+ someField: number,
541
+ validHwVersions: string,
542
+ swVersion: number,
543
+ reserved: string,
544
+ lengthBinaryA: number,
545
+ lengthBinaryB: number,
546
+ crcA: number,
547
+ crcB: number
548
+ ];
package/src/lib/util.d.ts CHANGED
@@ -398,6 +398,7 @@ export declare function hexDecValueToNumber(value: string | number): number;
398
398
  * @param value - The value to convert (string, number, Uint8Array, or array of numbers).
399
399
  * @param pad - Optional minimum length for each hex number (without prefix).
400
400
  * @param prefix - Optional prefix for each hex number (default '0x').
401
+ * @param uppercase - Optional flag to use uppercase letters in hex (default false).
401
402
  * @returns Hexadecimal string representation or original string.
402
403
  *
403
404
  * @example
@@ -409,7 +410,7 @@ export declare function hexDecValueToNumber(value: string | number): number;
409
410
  * convertValueToHexString(new Uint8Array([15,255]), 2); // "0x0f 0xff"
410
411
  * ```
411
412
  */
412
- export declare function convertValueToHexString(value: string | number | Uint8Array | Array<number>, pad?: number | null, prefix?: string): string;
413
+ export declare function convertValueToHexString(value: string | number | Uint8Array | Array<number>, pad?: number | null, prefix?: string, uppercase?: boolean): string;
413
414
  /**
414
415
  * Converts an ipv4 address to or from uint32 number.
415
416
  *
package/src/lib/util.js CHANGED
@@ -691,6 +691,7 @@ exports.hexDecValueToNumber = hexDecValueToNumber;
691
691
  * @param value - The value to convert (string, number, Uint8Array, or array of numbers).
692
692
  * @param pad - Optional minimum length for each hex number (without prefix).
693
693
  * @param prefix - Optional prefix for each hex number (default '0x').
694
+ * @param uppercase - Optional flag to use uppercase letters in hex (default false).
694
695
  * @returns Hexadecimal string representation or original string.
695
696
  *
696
697
  * @example
@@ -702,9 +703,12 @@ exports.hexDecValueToNumber = hexDecValueToNumber;
702
703
  * convertValueToHexString(new Uint8Array([15,255]), 2); // "0x0f 0xff"
703
704
  * ```
704
705
  */
705
- function convertValueToHexString(value, pad, prefix = '0x') {
706
+ function convertValueToHexString(value, pad, prefix = '0x', uppercase = false) {
706
707
  const toHex = (num) => {
707
708
  let hex = num.toString(16);
709
+ if (uppercase) {
710
+ hex = hex.toUpperCase();
711
+ }
708
712
  if (pad !== undefined && pad !== null) {
709
713
  hex = hex.padStart(pad, '0');
710
714
  }
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/util.ts"],"names":[],"mappings":"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"}