motion-master-client 0.0.287 → 0.0.289
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 +2 -1
- package/src/lib/motion-master-req-res-client.d.ts +51 -2
- package/src/lib/motion-master-req-res-client.js +94 -4
- package/src/lib/motion-master-req-res-client.js.map +1 -1
- package/src/lib/parameter.d.ts +67 -2
- package/src/lib/parameter.js +249 -1
- package/src/lib/parameter.js.map +1 -1
- package/src/lib/smm-od-v2.json +5 -5
- package/src/lib/types.d.ts +102 -0
- package/src/lib/util.d.ts +80 -12
- package/src/lib/util.js +136 -17
- package/src/lib/util.js.map +1 -1
package/src/lib/parameter.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parameterAddressToColor = exports.isParameterValueDisabled = exports.disabledValueParameters = exports.resolveParameterIndexAndSubindex = exports.createPdoParameterValues = exports.valueTypeToParameterTypeValueKeyMap = exports.mapValueTypeToBitSize = exports.mapParameterToPdoSubItemValue = exports.fillPdoParametersWithMappingEntries = exports.filterTxPdoParameters = exports.filterRxPdoParameters = exports.isPdoIndex = exports.isTxPdoIndex = exports.isRxPdoIndex = exports.isSmmParameterIndex = exports.mapParameterTypeValueToObject = exports.parseParameterValue = exports.getParameterValue = exports.getParameterTypeValue = exports.getParameterTypeValueDefault = exports.compareParameters = exports.intersectionParametersWithDifferentValues = exports.intersectionParameters = exports.differenceParameters = exports.parametersCompareFn = exports.isParameterId = exports.splitParameterId = exports.parameterIdRegExp = exports.makeParameterId = void 0;
|
|
3
|
+
exports.getParameterEsiExtension = exports.parameterAddressToColor = exports.isParameterValueDisabled = exports.disabledValueParameters = exports.resolveParameterIndexAndSubindex = exports.createPdoParameterValues = exports.valueTypeToParameterTypeValueKeyMap = exports.mapValueTypeToBitSize = exports.mapParameterToPdoSubItemValue = exports.fillPdoParametersWithMappingEntries = exports.filterTxPdoParameters = exports.filterRxPdoParameters = exports.isPdoIndex = exports.isTxPdoIndex = exports.isRxPdoIndex = exports.isSmmParameterIndex = exports.mapParameterTypeValueToObject = exports.parseParameterValue = exports.getParameterValue = exports.getParameterTypeValue = exports.getParameterTypeValueDefault = exports.compareParameters = exports.intersectionParametersWithDifferentValues = exports.intersectionParameters = exports.differenceParameters = exports.parametersCompareFn = exports.isParameterId = exports.splitParameterId = exports.parameterIdRegExp = exports.makeParameterId = void 0;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
|
+
const util_1 = require("./util");
|
|
6
7
|
function makeParameterId(a, b) {
|
|
7
8
|
let index = 0;
|
|
8
9
|
let subindex = 0;
|
|
@@ -291,6 +292,32 @@ function filterTxPdoParameters(parameters, excludeSubIndex000 = false) {
|
|
|
291
292
|
return parameters.filter((p) => isTxPdoIndex(p.index) && (excludeSubIndex000 ? p.subindex > 0 : true)); // TxPDOs: Index area 0x1A00 to 0x1BFF
|
|
292
293
|
}
|
|
293
294
|
exports.filterTxPdoParameters = filterTxPdoParameters;
|
|
295
|
+
/**
|
|
296
|
+
* Fills in missing PDO mapping entries for each parameter group that starts with a subindex of 0.
|
|
297
|
+
*
|
|
298
|
+
* For each group of parameters with the same `index` and starting at `subindex` 0, this function:
|
|
299
|
+
* 1. Adds the existing parameters to the output.
|
|
300
|
+
* 2. Appends placeholder `Parameter` entries with incremented subindexes until the total count reaches `entriesPerPdo`.
|
|
301
|
+
*
|
|
302
|
+
* This is useful for ensuring that each PDO mapping table has a consistent number of entries,
|
|
303
|
+
* even if some are unused and need to be filled with default placeholder values.
|
|
304
|
+
*
|
|
305
|
+
* @param parameters - The list of existing parameters to process.
|
|
306
|
+
* @param entriesPerPdo - The number of total entries (including placeholders) each PDO should have. Defaults to 10.
|
|
307
|
+
*
|
|
308
|
+
* @returns A new array of `Parameter` objects where each PDO group is filled with entries up to `entriesPerPdo`.
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```ts
|
|
312
|
+
* const params: Parameter[] = [
|
|
313
|
+
* { index: 0x1600, subindex: 0, ... },
|
|
314
|
+
* { index: 0x1600, subindex: 1, ... },
|
|
315
|
+
* ];
|
|
316
|
+
*
|
|
317
|
+
* const filled = fillPdoParametersWithMappingEntries(params, 3);
|
|
318
|
+
* // filled will include the two original entries plus one default placeholder with subindex 2
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
294
321
|
function fillPdoParametersWithMappingEntries(parameters, entriesPerPdo = 10) {
|
|
295
322
|
const output = [];
|
|
296
323
|
let i = 0;
|
|
@@ -511,4 +538,225 @@ exports.parameterAddressToColor = {
|
|
|
511
538
|
'0x60F40000:02': '#D19147',
|
|
512
539
|
'0x60F40000:03': '#E4CE86', // Torque following error
|
|
513
540
|
};
|
|
541
|
+
/**
|
|
542
|
+
* Retrieves extended EtherCAT Slave Information (ESI) metadata for a given device parameter.
|
|
543
|
+
*
|
|
544
|
+
* This function extracts and constructs additional descriptive and validation
|
|
545
|
+
* information for a device parameter based on the ESI file data, including
|
|
546
|
+
* constraints, default values, units, descriptions, mapping capabilities,
|
|
547
|
+
* and input type hints.
|
|
548
|
+
*
|
|
549
|
+
* The returned object extends the base device parameter with ESI-specific
|
|
550
|
+
* metadata that can be used for validation, UI generation, and device
|
|
551
|
+
* communication mapping.
|
|
552
|
+
*
|
|
553
|
+
* @param parameter - Partial device parameter containing `index`, `subindex`, `typeValueKey`,
|
|
554
|
+
* and optionally `typeValue`. Identifies the parameter to extend.
|
|
555
|
+
* @param info - The EtherCAT master or module info object containing
|
|
556
|
+
* descriptions and device dictionaries as parsed from the ESI file.
|
|
557
|
+
* (Type from `ecatmod.EtherCATInfo` expected but typed as `any` here.)
|
|
558
|
+
* @param productCode - The EtherCAT device product code used to locate the matching device
|
|
559
|
+
* description within the ESI data.
|
|
560
|
+
* This product code can typically be read from the device's object dictionary
|
|
561
|
+
* at index `0x1018` (Identity Object), subindex `2`.
|
|
562
|
+
*
|
|
563
|
+
* @returns A {@link ParameterEsiExtension} object containing extended parameter metadata,
|
|
564
|
+
* such as mandatory flags, min/max constraints, default values,
|
|
565
|
+
* units, bit sizes, descriptions, options, PDO mapping flags, SMM module flag,
|
|
566
|
+
* group information, type keys, and UI input hints.
|
|
567
|
+
*
|
|
568
|
+
* @remarks
|
|
569
|
+
* - Supports parameter metadata extraction from both the main device profile dictionary
|
|
570
|
+
* and sub-modules (e.g., for modular devices like SMM LW2).
|
|
571
|
+
* - For STRING types, the maximum length is adjusted to accommodate firmware limitations.
|
|
572
|
+
* - Descriptions and options are parsed and cleaned from JSON-like strings.
|
|
573
|
+
* - Handles both variable data type objects and complex objects with sub-items.
|
|
574
|
+
* - Logs a warning if no matching device is found for the given product code.
|
|
575
|
+
* - Preserves original unit and options for reference or restoration.
|
|
576
|
+
*/
|
|
577
|
+
function getParameterEsiExtension(parameter, info, productCode) {
|
|
578
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
579
|
+
const out = {};
|
|
580
|
+
// Find the EtherCAT device matching the given product code.
|
|
581
|
+
const ecatDevice = (_b = (_a = info.descriptions) === null || _a === void 0 ? void 0 : _a.devices) === null || _b === void 0 ? void 0 : _b.device.find((d) => {
|
|
582
|
+
var _a;
|
|
583
|
+
return (0, util_1.hexDecValueToNumber)((_a = d.type) === null || _a === void 0 ? void 0 : _a.productCode) === productCode;
|
|
584
|
+
});
|
|
585
|
+
// Assumes the device has only one profile.
|
|
586
|
+
// If the device has multiple profiles, this logic may need to be extended.
|
|
587
|
+
let dictionary = (_c = ecatDevice === null || ecatDevice === void 0 ? void 0 : ecatDevice.profile[0]) === null || _c === void 0 ? void 0 : _c.dictionary;
|
|
588
|
+
// If no dictionary is found in the device:
|
|
589
|
+
// - It may be located in a sub-module instead.
|
|
590
|
+
// - The device entry may not exist at all for this product code.
|
|
591
|
+
// - The same product code could potentially be shared among multiple devices.
|
|
592
|
+
if (!dictionary) {
|
|
593
|
+
console.warn('No matching device in ESI found by product code!', productCode);
|
|
594
|
+
return out;
|
|
595
|
+
}
|
|
596
|
+
// Attempt to find the object by index in the primary device dictionary.
|
|
597
|
+
let object = dictionary.objects.findByIndex(parameter.index);
|
|
598
|
+
// If not found, look into device modules (e.g., for modular devices like SMM LW2, shared object dictionary).
|
|
599
|
+
if (!object) {
|
|
600
|
+
const deviceModules = (_d = info.descriptions) === null || _d === void 0 ? void 0 : _d.getDeviceModules(ecatDevice);
|
|
601
|
+
if (deviceModules) {
|
|
602
|
+
// Iterate modules in reverse to prioritize the most recently added ones,
|
|
603
|
+
// since newer modules (like SMM LW2) tend to contain more complete definitions.
|
|
604
|
+
for (let i = deviceModules.length - 1; i >= 0; i--) {
|
|
605
|
+
const module = deviceModules[i];
|
|
606
|
+
// Try to find the object in the module's dictionary.
|
|
607
|
+
object = (_g = (_f = (_e = module.profile) === null || _e === void 0 ? void 0 : _e.dictionary) === null || _f === void 0 ? void 0 : _f.objects) === null || _g === void 0 ? void 0 : _g.findByIndex(parameter.index);
|
|
608
|
+
if (object) {
|
|
609
|
+
// If found, update the active dictionary reference to the module's.
|
|
610
|
+
dictionary = module.profile.dictionary;
|
|
611
|
+
// Identify if the object belongs to a known SMM module based on moduleIdent.
|
|
612
|
+
const moduleIdent = (_j = (_h = module.type) === null || _h === void 0 ? void 0 : _h.moduleIdent) === null || _j === void 0 ? void 0 : _j.toLowerCase();
|
|
613
|
+
if (['#x22d20001', '#x22d20002', '#x22d20003', '#x22d20004'].includes(moduleIdent)) {
|
|
614
|
+
out.isSmm = true;
|
|
615
|
+
}
|
|
616
|
+
break; // Exit early once the object is found.
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
// If no object was found in either the device or its modules dictionaries,
|
|
622
|
+
// return the current out (likely empty) as there is nothing to extend.
|
|
623
|
+
if (!object) {
|
|
624
|
+
return out;
|
|
625
|
+
}
|
|
626
|
+
// Check if the object is of a variable data type
|
|
627
|
+
if (dictionary.isObjectOfDataTypeVariable(object)) {
|
|
628
|
+
// Determine if the parameter is mandatory by checking the 'category' flag ('m' = mandatory)
|
|
629
|
+
out.mandatory = dictionary.adoptedObjectFlag(object, 'category') === 'm';
|
|
630
|
+
// For non-floating-point types, retrieve min and max allowed values for validation
|
|
631
|
+
if (!dictionary.isObjectTypeFloating(object)) {
|
|
632
|
+
// Skip min/max validation for REAL (floating) types due to complexity or unsupported constraints
|
|
633
|
+
out.min = dictionary.minAllowedValueForObject(object);
|
|
634
|
+
out.max = dictionary.maxAllowedValueForObject(object);
|
|
635
|
+
}
|
|
636
|
+
// Get the default value of the object, converted to a number if possible
|
|
637
|
+
out.defaultData = dictionary.defaultDataToNumberForObject(object);
|
|
638
|
+
// Extract unit symbol if available; fallback to empty string if none provided
|
|
639
|
+
out.unit = object.info.unit ? object.info.unitSymbol : '';
|
|
640
|
+
// Store the bit size of the object (parameter size in bits)
|
|
641
|
+
out.bitSize = object.bitSize;
|
|
642
|
+
// Handle STRING type parameters by extracting the defined max length for validation
|
|
643
|
+
const strTypeRegex = /STRING\((\d+)\)/;
|
|
644
|
+
const strTypeRegexMatch = object.type.match(strTypeRegex);
|
|
645
|
+
if (strTypeRegexMatch) {
|
|
646
|
+
// The firmware encounters issues when STRING(50) is used, and a value of 48 or more characters is assigned.
|
|
647
|
+
// Firmware will fail to load the value, resulting in an empty string. With 47 characters it works.
|
|
648
|
+
const strlen = parseInt(strTypeRegexMatch[1], 10) - 3;
|
|
649
|
+
out.strlen = strlen < 1 ? 1 : strlen;
|
|
650
|
+
}
|
|
651
|
+
// Store the exact ESI data type string (e.g., "UINT16", "STRING(50)", etc.)
|
|
652
|
+
out.esiType = object.type;
|
|
653
|
+
// Fetch a human-readable description for the parameter
|
|
654
|
+
out.description = dictionary.getDescriptionForObject(object);
|
|
655
|
+
// Attempt to retrieve options for the parameter, if any, and parse them from JSON-like string
|
|
656
|
+
const options = dictionary.getOptionsForObject(object);
|
|
657
|
+
if (options) {
|
|
658
|
+
// Clean up line breaks before parsing to avoid JSON parse errors
|
|
659
|
+
out.options = JSON.parse(options.replace(/\r?\n|\r/g, ''));
|
|
660
|
+
}
|
|
661
|
+
// Determine if parameter can be mapped as a RxPDO based on the 'pdoMapping' flag
|
|
662
|
+
out.canBeMappedAsRxPdo = ['r', 'tr'].includes(dictionary.adoptedObjectFlag(object, 'pdoMapping'));
|
|
663
|
+
// Determine if parameter can be mapped as a TxPDO based on the 'pdoMapping' flag
|
|
664
|
+
out.canBeMappedAsTxPdo = ['t', 'tr'].includes(dictionary.adoptedObjectFlag(object, 'pdoMapping'));
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
// Assign the group name from the object's nameValue property
|
|
668
|
+
out.group = object.nameValue;
|
|
669
|
+
// Find the specific sub-item of the object matching the device parameter's subindex
|
|
670
|
+
const subItem = dictionary.findObjectSubItemBySubIndex(object, parameter.subindex);
|
|
671
|
+
if (!subItem && isPdoIndex(parameter.index)) {
|
|
672
|
+
console.warn(`No subitem found for object ${parameter.index}:${parameter.subindex} ${object.nameValue}.`);
|
|
673
|
+
}
|
|
674
|
+
else {
|
|
675
|
+
// Get the data type information for this sub-item
|
|
676
|
+
const subItemType = dictionary.subItemTypeForObjectSubItem(object, subItem);
|
|
677
|
+
// Determine if this sub-item is mandatory by checking its 'category' flag ('m' means mandatory)
|
|
678
|
+
out.mandatory = dictionary.adoptedObjectSubItemFlag(object, subItem, 'category') === 'm';
|
|
679
|
+
// For non-floating sub-item types, retrieve the minimum and maximum allowed values for validation
|
|
680
|
+
// Floating-point types (REAL) skip min/max validation due to complexity or lack of constraints
|
|
681
|
+
if (!dictionary.isObjectSubItemTypeFloating(object, subItem)) {
|
|
682
|
+
out.min = dictionary.minAllowedValueForObjectSubItem(object, subItem);
|
|
683
|
+
out.max = dictionary.maxAllowedValueForObjectSubItem(object, subItem);
|
|
684
|
+
}
|
|
685
|
+
// Extract the default value for the sub-item, converted to a number if possible
|
|
686
|
+
out.defaultData = dictionary.defaultDataToNumberForObjectSubItem(object, subItem);
|
|
687
|
+
// Use unit symbol from the sub-item's info if available; fallback to empty string otherwise
|
|
688
|
+
out.unit = subItem.info.unit ? subItem.info.unitSymbol : '';
|
|
689
|
+
// Store the bit size and ESI data type string of the sub-item for further use
|
|
690
|
+
out.bitSize = subItemType.bitSize;
|
|
691
|
+
out.esiType = subItemType.type;
|
|
692
|
+
// Retrieve the general description for the parent object
|
|
693
|
+
const objectDescription = dictionary.getDescriptionForObject(object);
|
|
694
|
+
// Handle description and options differently depending on subindex and data type
|
|
695
|
+
if (parameter.subindex === 0) {
|
|
696
|
+
// For subindex 0, use the object description directly
|
|
697
|
+
out.description = objectDescription;
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
if (dictionary.isObjectOfDataTypeArray(object)) {
|
|
701
|
+
// For array data types, use the object description and attempt to parse options
|
|
702
|
+
out.description = objectDescription;
|
|
703
|
+
const options = dictionary.getOptionsForObject(object);
|
|
704
|
+
if (options) {
|
|
705
|
+
// Clean up newlines before parsing JSON options
|
|
706
|
+
out.options = JSON.parse(options.replace(/\r?\n|\r/g, ''));
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
// For record data types, store the object description as recordDescription
|
|
711
|
+
if (dictionary.isObjectOfDataTypeRecord(object)) {
|
|
712
|
+
out.recordDescription = objectDescription;
|
|
713
|
+
}
|
|
714
|
+
// For sub-items, get a more specific description and options
|
|
715
|
+
out.description = dictionary.getDescriptionForObjectSubItem(object, subItem);
|
|
716
|
+
const options = dictionary.getOptionsForObjectSubItem(object, subItem);
|
|
717
|
+
if (options) {
|
|
718
|
+
out.options = JSON.parse(options.replace(/\r?\n|\r/g, ''));
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
// Determine if the sub-item can be mapped as a RxPDO based on its 'pdoMapping' flag
|
|
723
|
+
out.canBeMappedAsRxPdo = ['r', 'tr'].includes(dictionary.adoptedObjectSubItemFlag(object, subItem, 'pdoMapping'));
|
|
724
|
+
// Determine if the sub-item can be mapped as a TxPDO based on its 'pdoMapping' flag
|
|
725
|
+
out.canBeMappedAsTxPdo = ['t', 'tr'].includes(dictionary.adoptedObjectSubItemFlag(object, subItem, 'pdoMapping'));
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
// Correct the case where the dictionary returns the string 'undefined'
|
|
729
|
+
// instead of an actual undefined value for the description.
|
|
730
|
+
if (out.description === 'undefined') {
|
|
731
|
+
out.description = undefined;
|
|
732
|
+
}
|
|
733
|
+
// Assign typeValueKey and typeValue from parameter if typeValueKey is present.
|
|
734
|
+
// This prioritizes typeValueKey over typeValue for consistency.
|
|
735
|
+
if (parameter.typeValueKey) {
|
|
736
|
+
out.typeValueKey = parameter.typeValueKey;
|
|
737
|
+
out.typeValue = parameter.typeValueKey;
|
|
738
|
+
}
|
|
739
|
+
else if (parameter.typeValue) {
|
|
740
|
+
// Otherwise, fallback to using typeValue if available.
|
|
741
|
+
out.typeValue = parameter.typeValue;
|
|
742
|
+
}
|
|
743
|
+
// Determine the form input type based on the resolved typeValue.
|
|
744
|
+
// Use a text input for string or raw values.
|
|
745
|
+
if (out.typeValue === 'stringValue' || out.typeValue === 'rawValue') {
|
|
746
|
+
out.inputType = 'text';
|
|
747
|
+
}
|
|
748
|
+
else {
|
|
749
|
+
// Default to number input for all other types.
|
|
750
|
+
out.inputType = 'number';
|
|
751
|
+
}
|
|
752
|
+
// If the parameter has predefined options, override input type to a select dropdown.
|
|
753
|
+
if (out.options) {
|
|
754
|
+
out.inputType = 'select';
|
|
755
|
+
}
|
|
756
|
+
// Preserve the original unit and options for later reference or restoration.
|
|
757
|
+
out.originalUnit = out.unit;
|
|
758
|
+
out.originalOptions = out.options;
|
|
759
|
+
return out;
|
|
760
|
+
}
|
|
761
|
+
exports.getParameterEsiExtension = getParameterEsiExtension;
|
|
514
762
|
//# sourceMappingURL=parameter.js.map
|
package/src/lib/parameter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/parameter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/parameter.ts"],"names":[],"mappings":"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"}
|
package/src/lib/smm-od-v2.json
CHANGED
|
@@ -682,8 +682,8 @@
|
|
|
682
682
|
"type": "int16_t",
|
|
683
683
|
"size": 2,
|
|
684
684
|
"unit": null,
|
|
685
|
-
"min": -
|
|
686
|
-
"max":
|
|
685
|
+
"min": -4096,
|
|
686
|
+
"max": 4096,
|
|
687
687
|
"defaultValue": 0,
|
|
688
688
|
"access": "rw",
|
|
689
689
|
"resetValue": 0
|
|
@@ -736,7 +736,7 @@
|
|
|
736
736
|
"max": 60000,
|
|
737
737
|
"defaultValue": 0,
|
|
738
738
|
"access": "rw",
|
|
739
|
-
"resetValue":
|
|
739
|
+
"resetValue": 200
|
|
740
740
|
},
|
|
741
741
|
{
|
|
742
742
|
"parameterName": "Brake with STO (SBC)",
|
|
@@ -802,7 +802,7 @@
|
|
|
802
802
|
"max": 2147483647,
|
|
803
803
|
"defaultValue": 0,
|
|
804
804
|
"access": "rw",
|
|
805
|
-
"resetValue":
|
|
805
|
+
"resetValue": 20
|
|
806
806
|
},
|
|
807
807
|
{
|
|
808
808
|
"parameterName": "s_Zero_SOS",
|
|
@@ -1552,7 +1552,7 @@
|
|
|
1552
1552
|
"max": null,
|
|
1553
1553
|
"defaultValue": 1715470337,
|
|
1554
1554
|
"access": "rw",
|
|
1555
|
-
"resetValue":
|
|
1555
|
+
"resetValue": 1715470337
|
|
1556
1556
|
},
|
|
1557
1557
|
{
|
|
1558
1558
|
"parameterName": "SLT input",
|
package/src/lib/types.d.ts
CHANGED
|
@@ -393,3 +393,105 @@ export interface PartConfigurationTable {
|
|
|
393
393
|
/** Rows of configuration data matching the header columns. */
|
|
394
394
|
values: (string | number | boolean | null)[][];
|
|
395
395
|
}
|
|
396
|
+
/**
|
|
397
|
+
* Extended information for a device parameter derived from the EtherCAT
|
|
398
|
+
* Slave Information (ESI) file.
|
|
399
|
+
*
|
|
400
|
+
* This interface represents additional metadata and constraints
|
|
401
|
+
* extracted from the ESI file, which enhances the base device parameter
|
|
402
|
+
* description with validation, description, unit, mapping capabilities, and UI hints.
|
|
403
|
+
*/
|
|
404
|
+
export interface ParameterEsiExtension {
|
|
405
|
+
/** Indicates if the parameter is mandatory (true) or optional (false/undefined). */
|
|
406
|
+
mandatory?: boolean;
|
|
407
|
+
/** Minimum allowed numeric value for the parameter, if applicable. */
|
|
408
|
+
min?: number | null;
|
|
409
|
+
/** Maximum allowed numeric value for the parameter, if applicable. */
|
|
410
|
+
max?: number | null;
|
|
411
|
+
/** Default numeric value for the parameter, if defined. */
|
|
412
|
+
defaultData?: number;
|
|
413
|
+
/** Unit symbol associated with the parameter (empty string if none). */
|
|
414
|
+
unit?: string | null;
|
|
415
|
+
/** Size of the parameter in bits. */
|
|
416
|
+
bitSize?: number;
|
|
417
|
+
/**
|
|
418
|
+
* Maximum length allowed for STRING type parameters,
|
|
419
|
+
* adjusted to accommodate firmware-specific constraints.
|
|
420
|
+
*/
|
|
421
|
+
strlen?: number;
|
|
422
|
+
/** Raw ESI data type string (e.g., "UINT16", "STRING(50)"). */
|
|
423
|
+
esiType?: string;
|
|
424
|
+
/** Human-readable description of the parameter or subitem. */
|
|
425
|
+
description?: string;
|
|
426
|
+
/** Description specifically for record data types, if applicable. */
|
|
427
|
+
recordDescription?: string;
|
|
428
|
+
/** Parsed options for enumerated parameter values, if available. */
|
|
429
|
+
options?: Record<string, any>;
|
|
430
|
+
/** Indicates if the parameter can be mapped as an RxPDO. */
|
|
431
|
+
canBeMappedAsRxPdo?: boolean;
|
|
432
|
+
/** Indicates if the parameter can be mapped as a TxPDO. */
|
|
433
|
+
canBeMappedAsTxPdo?: boolean;
|
|
434
|
+
/** Flag indicating if the parameter belongs to an SMM module. */
|
|
435
|
+
isSmm?: boolean;
|
|
436
|
+
/** Group or category name for the parameter. */
|
|
437
|
+
group?: string | null;
|
|
438
|
+
/** Optional type value key string, prioritizing typeValueKey over typeValue. */
|
|
439
|
+
typeValueKey?: string;
|
|
440
|
+
/** Optional type value string representing the parameter data type. */
|
|
441
|
+
typeValue?: string;
|
|
442
|
+
/**
|
|
443
|
+
* Suggested HTML form input type for the parameter.
|
|
444
|
+
*/
|
|
445
|
+
inputType?: string;
|
|
446
|
+
/** Original unit value preserved for reference or restoration. */
|
|
447
|
+
originalUnit?: string;
|
|
448
|
+
/** Original options preserved for reference or restoration. */
|
|
449
|
+
originalOptions?: Record<string, any>;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Describes the mapping of Process Data Objects (PDOs) used in the UI configuration.
|
|
453
|
+
*/
|
|
454
|
+
export interface UiPdoMapping {
|
|
455
|
+
/**
|
|
456
|
+
* Receive PDO mappings — maps each PDO index (e.g., "0x1600") to an array of mapped object dictionary entry identifiers.
|
|
457
|
+
*/
|
|
458
|
+
rx: Record<string, string[]>;
|
|
459
|
+
/**
|
|
460
|
+
* Transmit PDO mappings — maps each PDO index (e.g., "0x1A00") to an array of mapped object dictionary entry identifiers.
|
|
461
|
+
*/
|
|
462
|
+
tx: Record<string, string[]>;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Represents the unit configuration selected by the user for displaying feed values in the UI.
|
|
466
|
+
*/
|
|
467
|
+
export interface InterfaceUnit {
|
|
468
|
+
/**
|
|
469
|
+
* Feed value in the selected unit.
|
|
470
|
+
* Indicates the distance (e.g., mm, degrees) moved per full rotation.
|
|
471
|
+
*/
|
|
472
|
+
feed: number;
|
|
473
|
+
/**
|
|
474
|
+
* Unit label selected by the user (e.g., "mm", "deg") and used throughout the UI.
|
|
475
|
+
*/
|
|
476
|
+
unit: string;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Represents the UI configuration stored on the device in the `ui.config.json` file.
|
|
480
|
+
*/
|
|
481
|
+
export interface UiConfig {
|
|
482
|
+
/**
|
|
483
|
+
* Optional unit associated with the feed constant.
|
|
484
|
+
* Common examples: "mm", "inch", "deg", etc.
|
|
485
|
+
*/
|
|
486
|
+
feedConstantUnit?: string;
|
|
487
|
+
/**
|
|
488
|
+
* Optional user-selected unit configuration for feed display.
|
|
489
|
+
* Determines how feed values are presented in the UI.
|
|
490
|
+
*/
|
|
491
|
+
interfaceUnit?: InterfaceUnit;
|
|
492
|
+
/**
|
|
493
|
+
* Optional mapping of PDOs for both receive (Rx) and transmit (Tx) directions.
|
|
494
|
+
* Each key represents a PDO index (e.g., "0x1600"), and the value is a list of mapped entry identifiers.
|
|
495
|
+
*/
|
|
496
|
+
pdoMapping?: UiPdoMapping;
|
|
497
|
+
}
|
package/src/lib/util.d.ts
CHANGED
|
@@ -297,19 +297,38 @@ export declare function mergeUint8Arrays(...ary: Uint8Array[]): Uint8Array;
|
|
|
297
297
|
*/
|
|
298
298
|
export declare function uniqueItems<T>(items: Array<T>): Array<T>;
|
|
299
299
|
/**
|
|
300
|
-
* Groups an array of objects by the
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
* @param
|
|
307
|
-
*
|
|
308
|
-
* @returns
|
|
300
|
+
* Groups an array of objects by the specified property.
|
|
301
|
+
*
|
|
302
|
+
* @typeParam T - The type of objects in the input array.
|
|
303
|
+
* @typeParam K - The key of the property in `T` to group by.
|
|
304
|
+
*
|
|
305
|
+
* @param items - The array of objects to group.
|
|
306
|
+
* @param property - The property name to group by. The property must be a key of `T`.
|
|
307
|
+
*
|
|
308
|
+
* @returns An object where each key is the stringified value of the specified property,
|
|
309
|
+
* and each value is an array of objects from `items` that share that property value.
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* ```ts
|
|
313
|
+
* const data = [
|
|
314
|
+
* { index: '0x1600', value: '0x60400010' },
|
|
315
|
+
* { index: '0x1600', value: '0x60600008' },
|
|
316
|
+
* { index: '0x1601', value: '0x60fe0120' }
|
|
317
|
+
* ];
|
|
318
|
+
*
|
|
319
|
+
* const grouped = groupByProperty(data, 'index');
|
|
320
|
+
* // {
|
|
321
|
+
* // "0x1600": [
|
|
322
|
+
* // { index: "0x1600", value: "0x60400010" },
|
|
323
|
+
* // { index: "0x1600", value: "0x60600008" }
|
|
324
|
+
* // ],
|
|
325
|
+
* // "0x1601": [
|
|
326
|
+
* // { index: "0x1601", value: "0x60fe0120" }
|
|
327
|
+
* // ]
|
|
328
|
+
* // }
|
|
329
|
+
* ```
|
|
309
330
|
*/
|
|
310
|
-
export declare function groupByProperty<T>(
|
|
311
|
-
[key: string]: T[];
|
|
312
|
-
};
|
|
331
|
+
export declare function groupByProperty<T, K extends keyof T>(items: T[], property: K): Record<string, T[]>;
|
|
313
332
|
/**
|
|
314
333
|
* Maps an array of objects by a specified property, creating a map where the key is
|
|
315
334
|
* the value of the specified property and the value is an array of objects that have
|
|
@@ -329,3 +348,52 @@ export declare function mapByProperty<V, K = string>(objects: V[], prop: keyof V
|
|
|
329
348
|
* @throws Error if the given C type is not recognized.
|
|
330
349
|
*/
|
|
331
350
|
export declare function convertCTypeToStructFormatCharacter(cType: string): string;
|
|
351
|
+
/**
|
|
352
|
+
* Converts a string or number representing a numeric value into a number.
|
|
353
|
+
*
|
|
354
|
+
* - If the input is already a number, it is returned as is.
|
|
355
|
+
* - If the input is a string starting with `#x`, it is parsed as a hexadecimal number.
|
|
356
|
+
* - Otherwise, the string is parsed using `Number()`, which supports
|
|
357
|
+
* decimal, hexadecimal (`0x`), binary (`0b`), octal (`0o`), and floating-point literals.
|
|
358
|
+
*
|
|
359
|
+
* @param value - The input value to convert. Can be a number or a string
|
|
360
|
+
* representing a numeric value with optional prefixes.
|
|
361
|
+
*
|
|
362
|
+
* @returns The numeric value parsed from the input. If parsing fails, returns `NaN`.
|
|
363
|
+
*
|
|
364
|
+
* @example
|
|
365
|
+
* ```ts
|
|
366
|
+
* hexDecValueToNumber(42); // returns 42
|
|
367
|
+
* hexDecValueToNumber("#x2A"); // returns 42 (hexadecimal 2A)
|
|
368
|
+
* hexDecValueToNumber("42"); // returns 42 (decimal)
|
|
369
|
+
* hexDecValueToNumber("0x2A"); // returns 42 (hexadecimal)
|
|
370
|
+
* hexDecValueToNumber("0b101010"); // returns 42 (binary)
|
|
371
|
+
* hexDecValueToNumber("0o52"); // returns 42 (octal)
|
|
372
|
+
* ```
|
|
373
|
+
*/
|
|
374
|
+
export declare function hexDecValueToNumber(value: string | number): number;
|
|
375
|
+
/**
|
|
376
|
+
* Converts a value to a hexadecimal string representation.
|
|
377
|
+
*
|
|
378
|
+
* - If the value is a string that can be parsed as a number, converts it to hex.
|
|
379
|
+
* - If the value is a string that cannot be parsed as a number, returns it as is.
|
|
380
|
+
* - If the value is a Uint8Array, converts each byte to a hex string, with optional padding and prefix, then joins with spaces.
|
|
381
|
+
* - If the value is a number, converts it to hex with optional padding and prefix.
|
|
382
|
+
* - If the value is an array of numbers, converts each to hex with optional padding and prefix, then joins with spaces.
|
|
383
|
+
* - Returns an empty string for unsupported value types.
|
|
384
|
+
*
|
|
385
|
+
* @param value - The value to convert (string, number, Uint8Array, or array of numbers).
|
|
386
|
+
* @param pad - Optional minimum length for each hex number (without prefix).
|
|
387
|
+
* @param prefix - Optional prefix for each hex number (default '0x').
|
|
388
|
+
* @returns Hexadecimal string representation or original string.
|
|
389
|
+
*
|
|
390
|
+
* @example
|
|
391
|
+
* ```ts
|
|
392
|
+
* convertValueToHexString("255"); // "0xff"
|
|
393
|
+
* convertValueToHexString("not a number"); // "not a number"
|
|
394
|
+
* convertValueToHexString(255); // "0xff"
|
|
395
|
+
* convertValueToHexString([1, 255], 4); // "0x0001 0x00ff"
|
|
396
|
+
* convertValueToHexString(new Uint8Array([15,255]), 2); // "0x0f 0xff"
|
|
397
|
+
* ```
|
|
398
|
+
*/
|
|
399
|
+
export declare function convertValueToHexString(value: string | number | Uint8Array | Array<number>, pad?: number | null, prefix?: string): string;
|