motion-master-client 0.0.90 → 0.0.91

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.90",
3
+ "version": "0.0.91",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -24,6 +24,8 @@ export declare const somanetCirculoVariants: SomanetCirculoVariant[];
24
24
  * Whether the encoder port is internal or not depends on the port position and product ID.
25
25
  *
26
26
  * Circulo has internal encoders, specifically at port positions 1 and 2.
27
+ * Note that for Circulo variants that lack internal encoders on port positions 1 and 2, this function will return false.
28
+ *
27
29
  * Integro will have an internal encoder only at port position 1.
28
30
  */
29
31
  export declare function isEncoderPortInternal(port: number, productId?: string | number | null): boolean;
@@ -34,4 +36,10 @@ export declare function isEncoderPortInternal(port: number, productId?: string |
34
36
  * or having no internal encoders at all. If internal encoder port 1 is used, then external encoder port 1 cannot be used, and so on.
35
37
  */
36
38
  export declare function isEncoderPortUsable(port: number, productId?: string | number | null): boolean;
39
+ /**
40
+ * This function only considers the internal encoder ports of Circulo and Integro, specifically ports at positions 1 and 2.
41
+ * It will return false for other port positions because they cannot serve as internal encoders.
42
+ * The usability of encoder ports depends on the Circulo variant.
43
+ */
44
+ export declare function isInternalEncoderPortUsable(port: number, productId?: string | number | null): boolean;
37
45
  export declare function getEncoderPortName(port: number, productId?: string | number | null): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEncoderPortName = exports.isEncoderPortUsable = exports.isEncoderPortInternal = exports.somanetCirculoVariants = exports.usableCirculoEncoderPortProductIds = exports.ECDB_E1_IDS = exports.ECDL_IDS = exports.ECNN_IDS = exports.ECBN_IDS = exports.ECAN_IDS = exports.ECDN_E1_IDS = exports.isProductIdOfType = exports.findSomanetProductById = exports.somanetProducts = void 0;
3
+ exports.getEncoderPortName = exports.isInternalEncoderPortUsable = exports.isEncoderPortUsable = exports.isEncoderPortInternal = exports.somanetCirculoVariants = exports.usableCirculoEncoderPortProductIds = exports.ECDB_E1_IDS = exports.ECDL_IDS = exports.ECNN_IDS = exports.ECBN_IDS = exports.ECAN_IDS = exports.ECDN_E1_IDS = exports.isProductIdOfType = exports.findSomanetProductById = exports.somanetProducts = void 0;
4
4
  ;
5
5
  exports.somanetProducts = [
6
6
  { name: 'Circulo', idRange: [8500, 8599] },
@@ -58,6 +58,8 @@ exports.somanetCirculoVariants = [
58
58
  * Whether the encoder port is internal or not depends on the port position and product ID.
59
59
  *
60
60
  * Circulo has internal encoders, specifically at port positions 1 and 2.
61
+ * Note that for Circulo variants that lack internal encoders on port positions 1 and 2, this function will return false.
62
+ *
61
63
  * Integro will have an internal encoder only at port position 1.
62
64
  */
63
65
  function isEncoderPortInternal(port, productId) {
@@ -98,6 +100,21 @@ function isEncoderPortUsable(port, productId) {
98
100
  return true;
99
101
  }
100
102
  exports.isEncoderPortUsable = isEncoderPortUsable;
103
+ /**
104
+ * This function only considers the internal encoder ports of Circulo and Integro, specifically ports at positions 1 and 2.
105
+ * It will return false for other port positions because they cannot serve as internal encoders.
106
+ * The usability of encoder ports depends on the Circulo variant.
107
+ */
108
+ function isInternalEncoderPortUsable(port, productId) {
109
+ if (isProductIdOfType(productId, 'Circulo All') && (port === 1 || port === 2)) {
110
+ return isEncoderPortUsable(port, productId);
111
+ }
112
+ else if (isProductIdOfType(productId, 'Integro') && port === 1) {
113
+ return true;
114
+ }
115
+ return false;
116
+ }
117
+ exports.isInternalEncoderPortUsable = isInternalEncoderPortUsable;
101
118
  function getEncoderPortName(port, productId) {
102
119
  if (isProductIdOfType(productId, 'Circulo All')) {
103
120
  if (port === 1 || port === 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"somanet-product.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/somanet-product.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"somanet-product.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/somanet-product.ts"],"names":[],"mappings":"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"}