motion-master-client 0.0.334 → 0.0.335

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.334",
3
+ "version": "0.0.335",
4
4
  "type": "commonjs",
5
5
  "description": "A library and CLI program used for communicating with Motion Master.",
6
6
  "dependencies": {
@@ -61,34 +61,53 @@ export declare class DataMonitoring {
61
61
  */
62
62
  get timestamps(): number[];
63
63
  /**
64
- * Computes differences between consecutive timestamps.
64
+ * Returns an array of durations (in milliseconds) between consecutive timestamps.
65
65
  *
66
- * The result contains `timestamps.length - 1` entries, where each value is:
66
+ * Each duration is calculated as:
67
+ * timestamps[i] - timestamps[i - 1]
67
68
  *
68
- * `timestamps[i] - timestamps[i - 1]`
69
- *
70
- * If fewer than two timestamps are available, an empty array is returned.
71
- *
72
- * @returns An array of time deltas between consecutive timestamps.
73
- */
74
- timestampDiffs(): number[];
75
- /**
76
- * Computes the average time difference between consecutive timestamps.
77
- *
78
- * Uses the values returned by {@link timestampDiffs}. If no diffs exist
79
- * (e.g., fewer than two timestamps), returns `0`.
80
- *
81
- * @returns The average timestamp delta, or `0` if no diffs are available.
69
+ * If there are fewer than two timestamps, an empty array is returned.
82
70
  */
83
- averageTimestampDiff(): number;
71
+ get durations(): number[];
84
72
  /**
85
- * Computes the median time difference between consecutive timestamps.
73
+ * Returns a full analysis of the durations between timestamps.
86
74
  *
87
- * Uses the values returned by {@link timestampDiffs}. If no diffs exist, returns 0.
75
+ * Uses `analyzeTimeDurations` to compute statistics such as:
76
+ * - min, max, mean, median, standard deviation
77
+ * - percentiles (p95, q1, q3)
78
+ * - interquartile range (IQR)
79
+ * - filtered durations and filtered statistics (outlier removal via IQR rule)
88
80
  *
89
- * @returns The median timestamp delta, or 0 if no diffs can be computed.
81
+ * @returns An object containing both raw and filtered statistics for the measured durations.
90
82
  */
91
- medianTimestampDiff(): number;
83
+ get analysis(): {
84
+ count: number;
85
+ filteredCount: number;
86
+ durations: number[];
87
+ filtered: number[];
88
+ fullStats: {
89
+ min: number;
90
+ max: number;
91
+ mean: number;
92
+ median: number;
93
+ std: number;
94
+ p95: number;
95
+ q1: number;
96
+ q3: number;
97
+ iqr: number;
98
+ };
99
+ filteredStats: {
100
+ min: number;
101
+ max: number;
102
+ mean: number;
103
+ median: number;
104
+ std: number;
105
+ p95: number;
106
+ q1: number;
107
+ q3: number;
108
+ iqr: number;
109
+ };
110
+ };
92
111
  /**
93
112
  * Clears the previously collected data.
94
113
  */
@@ -4,6 +4,7 @@ exports.DataMonitoring = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const device_parameter_1 = require("./device-parameter");
6
6
  const parameter_1 = require("./parameter");
7
+ const util_1 = require("./util");
7
8
  /**
8
9
  * The DataMonitoring class tracks and collects device parameter values.
9
10
  *
@@ -95,60 +96,36 @@ class DataMonitoring {
95
96
  return this.data.map((values) => values[this.timestampIndex]);
96
97
  }
97
98
  /**
98
- * Computes differences between consecutive timestamps.
99
+ * Returns an array of durations (in milliseconds) between consecutive timestamps.
99
100
  *
100
- * The result contains `timestamps.length - 1` entries, where each value is:
101
+ * Each duration is calculated as:
102
+ * timestamps[i] - timestamps[i - 1]
101
103
  *
102
- * `timestamps[i] - timestamps[i - 1]`
103
- *
104
- * If fewer than two timestamps are available, an empty array is returned.
105
- *
106
- * @returns An array of time deltas between consecutive timestamps.
104
+ * If there are fewer than two timestamps, an empty array is returned.
107
105
  */
108
- timestampDiffs() {
106
+ get durations() {
109
107
  if (this.timestamps.length < 2) {
110
108
  return [];
111
109
  }
112
- const diffs = [];
110
+ const durations = [];
113
111
  for (let i = 1; i < this.timestamps.length; i++) {
114
- diffs.push(this.timestamps[i] - this.timestamps[i - 1]);
115
- }
116
- return diffs;
117
- }
118
- /**
119
- * Computes the average time difference between consecutive timestamps.
120
- *
121
- * Uses the values returned by {@link timestampDiffs}. If no diffs exist
122
- * (e.g., fewer than two timestamps), returns `0`.
123
- *
124
- * @returns The average timestamp delta, or `0` if no diffs are available.
125
- */
126
- averageTimestampDiff() {
127
- const diffs = this.timestampDiffs();
128
- if (diffs.length === 0) {
129
- return 0;
112
+ durations.push(this.timestamps[i] - this.timestamps[i - 1]);
130
113
  }
131
- let sum = 0;
132
- for (let i = 0; i < diffs.length; i++) {
133
- sum += diffs[i];
134
- }
135
- return sum / diffs.length;
114
+ return durations;
136
115
  }
137
116
  /**
138
- * Computes the median time difference between consecutive timestamps.
117
+ * Returns a full analysis of the durations between timestamps.
139
118
  *
140
- * Uses the values returned by {@link timestampDiffs}. If no diffs exist, returns 0.
119
+ * Uses `analyzeTimeDurations` to compute statistics such as:
120
+ * - min, max, mean, median, standard deviation
121
+ * - percentiles (p95, q1, q3)
122
+ * - interquartile range (IQR)
123
+ * - filtered durations and filtered statistics (outlier removal via IQR rule)
141
124
  *
142
- * @returns The median timestamp delta, or 0 if no diffs can be computed.
125
+ * @returns An object containing both raw and filtered statistics for the measured durations.
143
126
  */
144
- medianTimestampDiff() {
145
- const diffs = this.timestampDiffs();
146
- if (diffs.length === 0) {
147
- return 0;
148
- }
149
- const sorted = [...diffs].sort((a, b) => a - b);
150
- const mid = Math.floor(sorted.length / 2);
151
- return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
127
+ get analysis() {
128
+ return (0, util_1.analyzeTimeDurations)(this.durations);
152
129
  }
153
130
  /**
154
131
  * Clears the previously collected data.
@@ -1 +1 @@
1
- {"version":3,"file":"data-monitoring.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/data-monitoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-monitoring.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/data-monitoring.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Subject } from 'rxjs';
1
+ import { BehaviorSubject, Subject } from 'rxjs';
2
2
  import { MotionMasterClient } from './motion-master-client';
3
3
  import { ChirpSignalOptions } from './os-command';
4
4
  import { DeviceRef } from './types';
@@ -47,6 +47,10 @@ export declare class LimitedRangeSystemIdentification {
47
47
  * Indicates whether the system identification procedure is currently running.
48
48
  */
49
49
  isRunning: boolean;
50
+ /**
51
+ * Emits `true` when the chirp signal portion of the procedure has completed.
52
+ */
53
+ chirpSignalCompleted$: BehaviorSubject<boolean>;
50
54
  /**
51
55
  * Creates a new instance of the limited-range system identification routine.
52
56
  *
@@ -56,6 +56,10 @@ class LimitedRangeSystemIdentification {
56
56
  * Indicates whether the system identification procedure is currently running.
57
57
  */
58
58
  this.isRunning = false;
59
+ /**
60
+ * Emits `true` when the chirp signal portion of the procedure has completed.
61
+ */
62
+ this.chirpSignalCompleted$ = new rxjs_1.BehaviorSubject(false);
59
63
  }
60
64
  /**
61
65
  * Starts the limited-range system identification procedure.
@@ -198,8 +202,10 @@ class LimitedRangeSystemIdentification {
198
202
  dataMonitoring.start().subscribe();
199
203
  this.notifications$.next('Data monitoring started.');
200
204
  let prevKp = 0;
205
+ // Reset chirp signal completion status
206
+ this.chirpSignalCompleted$.next(false);
201
207
  (0, rxjs_1.interval)(1)
202
- .pipe((0, rxjs_1.takeWhile)(() => this.isRunning),
208
+ .pipe((0, rxjs_1.takeWhile)(() => this.isRunning && !hasFault && !this.chirpSignalCompleted$.getValue()),
203
209
  // exhaustMap ignores new emissions until the previous observable completes
204
210
  (0, rxjs_1.exhaustMap)(() => {
205
211
  // If no data has been collected yet, skip this iteration
@@ -225,10 +231,11 @@ class LimitedRangeSystemIdentification {
225
231
  // Update Kp only if it has changed to minimize downloads
226
232
  if (kp !== prevKp) {
227
233
  prevKp = kp;
228
- return (0, rxjs_1.from)(this.client.request.download(this.deviceRef, 0x2012, 0x01, kp));
229
- }
230
- else {
231
- return rxjs_1.EMPTY;
234
+ // NOTE: We're intentionally not awaiting this promise because the download
235
+ // call to receive the message can currently take ~10 ms, which would noticeably
236
+ // slow down the update rate. This is a temporary workaround until Motion Master
237
+ // improves the call performance.
238
+ this.client.request.download(this.deviceRef, 0x2012, 0x01, kp);
232
239
  }
233
240
  }
234
241
  else if ((0, cia402_1.getCia402State)(statusword) === cia402_1.Cia402State.FAULT_REACTION_ACTIVE ||
@@ -250,6 +257,7 @@ class LimitedRangeSystemIdentification {
250
257
  // Run the chirp signal on the device
251
258
  this.notifications$.next('Running the chirp signal...');
252
259
  yield (0, rxjs_1.lastValueFrom)(this.client.request.runChirpSignal(this.deviceRef, this.options));
260
+ this.chirpSignalCompleted$.next(true);
253
261
  this.notifications$.next('Chirp signal procedure completed.');
254
262
  if (hasFault) {
255
263
  throw new Error('Device entered FAULT state during chirp signal execution.');
@@ -258,12 +266,8 @@ class LimitedRangeSystemIdentification {
258
266
  this.notifications$.next('Stopping data monitoring...');
259
267
  dataMonitoring.stop();
260
268
  this.notifications$.next('Data monitoring stopped.');
261
- // Compute and log the average timestamp difference from the collected data
262
- const averageTimestampDiff = dataMonitoring.averageTimestampDiff();
263
- this.notifications$.next(`Average data monitoring timestamp delta: ${averageTimestampDiff} μs`);
264
- // Compute and log the median timestamp difference from the collected data
265
- const medianTimestampDiff = dataMonitoring.medianTimestampDiff();
266
- this.notifications$.next(`Median data monitoring timestamp delta: ${medianTimestampDiff} μs`);
269
+ const analysis = dataMonitoring.analysis;
270
+ this.notifications$.next(`Data monitoring analysis: ${JSON.stringify(analysis.filteredStats, null, 2)}`);
267
271
  // Start the system identification procedure without the chirp signal in order to only compute the plant model
268
272
  this.notifications$.next('Starting system identification procedure on Motion Master to compute plant model...');
269
273
  const deviceRefObj = (0, device_1.makeDeviceRefObj)(this.deviceRef);
@@ -278,6 +282,8 @@ class LimitedRangeSystemIdentification {
278
282
  finally {
279
283
  // Mark the procedure as not running
280
284
  this.isRunning = false;
285
+ // Notify that the chirp signal has completed (in case of early termination)
286
+ this.chirpSignalCompleted$.next(true);
281
287
  // Stop data monitoring
282
288
  this.notifications$.next('Stopping data monitoring...');
283
289
  dataMonitoring.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"limited-range-system-identification.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/limited-range-system-identification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limited-range-system-identification.js","sourceRoot":"","sources":["../../../../../libs/motion-master-client/src/lib/limited-range-system-identification.ts"],"names":[],"mappings":"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"}