@hangtime/grip-connect 0.10.1 → 0.10.3

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.
Files changed (111) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/index.d.ts +1 -2
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +1 -3
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/interfaces/callback.interface.d.ts +19 -12
  7. package/dist/cjs/interfaces/callback.interface.d.ts.map +1 -1
  8. package/dist/cjs/interfaces/command.interface.d.ts +14 -6
  9. package/dist/cjs/interfaces/command.interface.d.ts.map +1 -1
  10. package/dist/cjs/interfaces/device/progressor.interface.d.ts +47 -0
  11. package/dist/cjs/interfaces/device/progressor.interface.d.ts.map +1 -1
  12. package/dist/cjs/interfaces/device.interface.d.ts +1 -1
  13. package/dist/cjs/interfaces/download.interface.d.ts +8 -11
  14. package/dist/cjs/interfaces/download.interface.d.ts.map +1 -1
  15. package/dist/cjs/models/device/climbro.model.d.ts.map +1 -1
  16. package/dist/cjs/models/device/climbro.model.js +34 -16
  17. package/dist/cjs/models/device/climbro.model.js.map +1 -1
  18. package/dist/cjs/models/device/entralpi.model.d.ts.map +1 -1
  19. package/dist/cjs/models/device/entralpi.model.js +11 -14
  20. package/dist/cjs/models/device/entralpi.model.js.map +1 -1
  21. package/dist/cjs/models/device/forceboard.model.d.ts.map +1 -1
  22. package/dist/cjs/models/device/forceboard.model.js +12 -17
  23. package/dist/cjs/models/device/forceboard.model.js.map +1 -1
  24. package/dist/cjs/models/device/motherboard.model.d.ts.map +1 -1
  25. package/dist/cjs/models/device/motherboard.model.js +28 -20
  26. package/dist/cjs/models/device/motherboard.model.js.map +1 -1
  27. package/dist/cjs/models/device/pb-700bt.model.d.ts.map +1 -1
  28. package/dist/cjs/models/device/pb-700bt.model.js +11 -14
  29. package/dist/cjs/models/device/pb-700bt.model.js.map +1 -1
  30. package/dist/cjs/models/device/progressor.model.d.ts +52 -5
  31. package/dist/cjs/models/device/progressor.model.d.ts.map +1 -1
  32. package/dist/cjs/models/device/progressor.model.js +211 -57
  33. package/dist/cjs/models/device/progressor.model.js.map +1 -1
  34. package/dist/cjs/models/device/smartboard-pro.model.d.ts.map +1 -1
  35. package/dist/cjs/models/device/smartboard-pro.model.js +11 -16
  36. package/dist/cjs/models/device/smartboard-pro.model.js.map +1 -1
  37. package/dist/cjs/models/device/wh-c06.model.d.ts.map +1 -1
  38. package/dist/cjs/models/device/wh-c06.model.js +11 -14
  39. package/dist/cjs/models/device/wh-c06.model.js.map +1 -1
  40. package/dist/cjs/models/device.model.d.ts +64 -3
  41. package/dist/cjs/models/device.model.d.ts.map +1 -1
  42. package/dist/cjs/models/device.model.js +142 -37
  43. package/dist/cjs/models/device.model.js.map +1 -1
  44. package/dist/cjs/utils.d.ts +1 -1
  45. package/dist/cjs/utils.d.ts.map +1 -1
  46. package/dist/cjs/utils.js +29 -6
  47. package/dist/cjs/utils.js.map +1 -1
  48. package/dist/index.d.ts +1 -2
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +0 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/interfaces/callback.interface.d.ts +19 -12
  53. package/dist/interfaces/callback.interface.d.ts.map +1 -1
  54. package/dist/interfaces/command.interface.d.ts +14 -6
  55. package/dist/interfaces/command.interface.d.ts.map +1 -1
  56. package/dist/interfaces/device/progressor.interface.d.ts +47 -0
  57. package/dist/interfaces/device/progressor.interface.d.ts.map +1 -1
  58. package/dist/interfaces/device.interface.d.ts +1 -1
  59. package/dist/interfaces/download.interface.d.ts +8 -11
  60. package/dist/interfaces/download.interface.d.ts.map +1 -1
  61. package/dist/models/device/climbro.model.d.ts.map +1 -1
  62. package/dist/models/device/climbro.model.js +34 -16
  63. package/dist/models/device/climbro.model.js.map +1 -1
  64. package/dist/models/device/entralpi.model.d.ts.map +1 -1
  65. package/dist/models/device/entralpi.model.js +11 -14
  66. package/dist/models/device/entralpi.model.js.map +1 -1
  67. package/dist/models/device/forceboard.model.d.ts.map +1 -1
  68. package/dist/models/device/forceboard.model.js +12 -17
  69. package/dist/models/device/forceboard.model.js.map +1 -1
  70. package/dist/models/device/motherboard.model.d.ts.map +1 -1
  71. package/dist/models/device/motherboard.model.js +28 -20
  72. package/dist/models/device/motherboard.model.js.map +1 -1
  73. package/dist/models/device/pb-700bt.model.d.ts.map +1 -1
  74. package/dist/models/device/pb-700bt.model.js +11 -14
  75. package/dist/models/device/pb-700bt.model.js.map +1 -1
  76. package/dist/models/device/progressor.model.d.ts +52 -5
  77. package/dist/models/device/progressor.model.d.ts.map +1 -1
  78. package/dist/models/device/progressor.model.js +210 -57
  79. package/dist/models/device/progressor.model.js.map +1 -1
  80. package/dist/models/device/smartboard-pro.model.d.ts.map +1 -1
  81. package/dist/models/device/smartboard-pro.model.js +11 -16
  82. package/dist/models/device/smartboard-pro.model.js.map +1 -1
  83. package/dist/models/device/wh-c06.model.d.ts.map +1 -1
  84. package/dist/models/device/wh-c06.model.js +11 -14
  85. package/dist/models/device/wh-c06.model.js.map +1 -1
  86. package/dist/models/device.model.d.ts +64 -3
  87. package/dist/models/device.model.d.ts.map +1 -1
  88. package/dist/models/device.model.js +146 -37
  89. package/dist/models/device.model.js.map +1 -1
  90. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  91. package/dist/utils.d.ts +1 -1
  92. package/dist/utils.d.ts.map +1 -1
  93. package/dist/utils.js +29 -6
  94. package/dist/utils.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/index.ts +0 -3
  97. package/src/interfaces/callback.interface.ts +21 -12
  98. package/src/interfaces/command.interface.ts +16 -6
  99. package/src/interfaces/device/progressor.interface.ts +56 -0
  100. package/src/interfaces/device.interface.ts +1 -1
  101. package/src/interfaces/download.interface.ts +9 -11
  102. package/src/models/device/climbro.model.ts +38 -20
  103. package/src/models/device/entralpi.model.ts +15 -17
  104. package/src/models/device/forceboard.model.ts +15 -19
  105. package/src/models/device/motherboard.model.ts +38 -26
  106. package/src/models/device/pb-700bt.model.ts +14 -16
  107. package/src/models/device/progressor.model.ts +227 -58
  108. package/src/models/device/smartboard-pro.model.ts +14 -19
  109. package/src/models/device/wh-c06.model.ts +14 -17
  110. package/src/models/device.model.ts +181 -41
  111. package/src/utils.ts +31 -6
@@ -69,6 +69,13 @@ export declare abstract class Device extends BaseModel implements IDevice {
69
69
  * @protected
70
70
  */
71
71
  protected mean: number;
72
+ /**
73
+ * Lowest instantaneous force recorded in the session; may be negative.
74
+ * Initialized to Number.POSITIVE_INFINITY so the first sample sets the min.
75
+ * @type {number}
76
+ * @protected
77
+ */
78
+ protected min: number;
72
79
  /**
73
80
  * Display unit for force measurements (output unit for notify callbacks).
74
81
  * @type {ForceUnit}
@@ -87,6 +94,36 @@ export declare abstract class Device extends BaseModel implements IDevice {
87
94
  * @protected
88
95
  */
89
96
  protected samplingRateHz?: number;
97
+ /**
98
+ * Timestamp (ms) of the previous BLE notification for notify-interval calculation.
99
+ * @protected
100
+ */
101
+ protected lastPacketTimestamp: number;
102
+ /**
103
+ * Count of data packets received this session (one BLE notification = one packet).
104
+ * @protected
105
+ */
106
+ protected packetCount: number;
107
+ /**
108
+ * Notify interval in ms for the current packet (set by recordPacketReceived).
109
+ * @protected
110
+ */
111
+ protected currentNotifyIntervalMs: number | undefined;
112
+ /**
113
+ * Samples in the current packet (set by device before buildForceMeasurement).
114
+ * @protected
115
+ */
116
+ protected currentSamplesPerPacket: number | undefined;
117
+ /**
118
+ * Call at the start of each BLE notification (packet). Updates notify interval and packet count.
119
+ * @protected
120
+ */
121
+ protected recordPacketReceived(): void;
122
+ /**
123
+ * Reset packet tracking (call when starting a new stream).
124
+ * @protected
125
+ */
126
+ protected resetPacketTracking(): void;
90
127
  /**
91
128
  * Start time of the current rate measurement interval.
92
129
  * @type {number}
@@ -210,9 +247,14 @@ export declare abstract class Device extends BaseModel implements IDevice {
210
247
  */
211
248
  private updateSamplingRate;
212
249
  /**
213
- * Builds a ForceMeasurement payload with unit and timestamp for notify callbacks.
250
+ * Shared base for ForceMeasurement/DownloadPacket payload construction.
251
+ * @private
252
+ */
253
+ private buildForcePayload;
254
+ /**
255
+ * Builds a ForceMeasurement payload for notify callbacks.
214
256
  * @param current - Current force at this sample
215
- * @param distribution - Optional zone distribution: numbers (converted via buildZoneMeasurement) or full ForceMeasurement per zone
257
+ * @param distribution - Optional per-zone measurements (e.g. from buildZoneMeasurement)
216
258
  * @returns ForceMeasurement
217
259
  * @protected
218
260
  */
@@ -221,6 +263,25 @@ export declare abstract class Device extends BaseModel implements IDevice {
221
263
  center?: ForceMeasurement;
222
264
  right?: ForceMeasurement;
223
265
  }): ForceMeasurement;
266
+ /**
267
+ * Builds a DownloadPacket for export (CSV, JSON, XML).
268
+ * Converts force values from streamUnit to display unit.
269
+ * @param current - Current force at this sample (stream unit)
270
+ * @param samples - Raw sensor/ADC values from device
271
+ * @param options - Optional timestamp, battRaw, sampleIndex, distribution (for multi-zone)
272
+ * @returns DownloadPacket
273
+ * @protected
274
+ */
275
+ protected buildDownloadPacket(current: number, samples: number[], options?: {
276
+ timestamp?: number;
277
+ battRaw?: number;
278
+ sampleIndex?: number;
279
+ distribution?: {
280
+ left?: ForceMeasurement;
281
+ center?: ForceMeasurement;
282
+ right?: ForceMeasurement;
283
+ };
284
+ }): DownloadPacket;
224
285
  /**
225
286
  * Sets the callback function to be called when the activity status changes,
226
287
  * and optionally sets the configuration for threshold and duration.
@@ -467,7 +528,7 @@ export declare abstract class Device extends BaseModel implements IDevice {
467
528
  *
468
529
  * @example
469
530
  * // Example usage of the write function with a custom callback
470
- * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATT_VLTG, 250, (data) => {
531
+ * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
471
532
  * console.log(`Battery voltage: ${data}`);
472
533
  * });
473
534
  */
@@ -1 +1 @@
1
- {"version":3,"file":"device.model.d.ts","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.model.d.ts","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,26 @@ exports.Device = void 0;
4
4
  const base_model_js_1 = require("./../models/base.model.js");
5
5
  const utils_js_1 = require("../utils.js");
6
6
  class Device extends base_model_js_1.BaseModel {
7
+ /**
8
+ * Call at the start of each BLE notification (packet). Updates notify interval and packet count.
9
+ * @protected
10
+ */
11
+ recordPacketReceived() {
12
+ const now = Date.now();
13
+ this.currentNotifyIntervalMs = this.lastPacketTimestamp > 0 ? now - this.lastPacketTimestamp : undefined;
14
+ this.lastPacketTimestamp = now;
15
+ this.packetCount += 1;
16
+ }
17
+ /**
18
+ * Reset packet tracking (call when starting a new stream).
19
+ * @protected
20
+ */
21
+ resetPacketTracking() {
22
+ this.lastPacketTimestamp = 0;
23
+ this.packetCount = 0;
24
+ this.currentNotifyIntervalMs = undefined;
25
+ this.currentSamplesPerPacket = undefined;
26
+ }
7
27
  constructor(device) {
8
28
  super(device);
9
29
  /**
@@ -30,6 +50,26 @@ class Device extends base_model_js_1.BaseModel {
30
50
  * @protected
31
51
  */
32
52
  this.streamUnit = "kg";
53
+ /**
54
+ * Timestamp (ms) of the previous BLE notification for notify-interval calculation.
55
+ * @protected
56
+ */
57
+ this.lastPacketTimestamp = 0;
58
+ /**
59
+ * Count of data packets received this session (one BLE notification = one packet).
60
+ * @protected
61
+ */
62
+ this.packetCount = 0;
63
+ /**
64
+ * Notify interval in ms for the current packet (set by recordPacketReceived).
65
+ * @protected
66
+ */
67
+ this.currentNotifyIntervalMs = undefined;
68
+ /**
69
+ * Samples in the current packet (set by device before buildForceMeasurement).
70
+ * @protected
71
+ */
72
+ this.currentSamplesPerPacket = undefined;
33
73
  /**
34
74
  * Start time of the current rate measurement interval.
35
75
  * @type {number}
@@ -279,16 +319,30 @@ class Device extends base_model_js_1.BaseModel {
279
319
  return "";
280
320
  }
281
321
  return packets
282
- .map((packet) => [
283
- packet.received.toString(),
284
- packet.sampleNum.toString(),
285
- packet.battRaw.toString(),
286
- ...packet.samples.map(String),
287
- ...packet.masses.map(String),
288
- ]
289
- .map((v) => v.replace(/"/g, '""'))
290
- .map((v) => `"${v}"`)
291
- .join(","))
322
+ .map((packet) => {
323
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
324
+ const forceValues = packet.distribution != null
325
+ ? [
326
+ (_b = (_a = packet.distribution.left) === null || _a === void 0 ? void 0 : _a.current) !== null && _b !== void 0 ? _b : "",
327
+ (_d = (_c = packet.distribution.center) === null || _c === void 0 ? void 0 : _c.current) !== null && _d !== void 0 ? _d : "",
328
+ (_f = (_e = packet.distribution.right) === null || _e === void 0 ? void 0 : _e.current) !== null && _f !== void 0 ? _f : "",
329
+ ].map((v) => (v !== "" ? String(v) : ""))
330
+ : [packet.current.toString()];
331
+ return [
332
+ packet.timestamp.toString(),
333
+ packet.current.toString(),
334
+ packet.peak.toString(),
335
+ packet.mean.toString(),
336
+ packet.min.toString(),
337
+ ((_h = (_g = packet.performance) === null || _g === void 0 ? void 0 : _g.sampleIndex) !== null && _h !== void 0 ? _h : "").toString(),
338
+ ((_j = packet.battRaw) !== null && _j !== void 0 ? _j : "").toString(),
339
+ ...packet.samples.map(String),
340
+ ...forceValues,
341
+ ]
342
+ .map((v) => v.replace(/"/g, '""'))
343
+ .map((v) => `"${v}"`)
344
+ .join(",");
345
+ })
292
346
  .join("\r\n");
293
347
  };
294
348
  /**
@@ -316,15 +370,28 @@ class Device extends base_model_js_1.BaseModel {
316
370
  this.downloadToXML = () => {
317
371
  const xmlPackets = this.downloadPackets
318
372
  .map((packet) => {
373
+ var _a, _b, _c, _d;
319
374
  const samples = packet.samples.map((sample) => `<sample>${sample}</sample>`).join("");
320
- const masses = packet.masses.map((mass) => `<mass>${mass}</mass>`).join("");
375
+ const distributionElements = packet.distribution != null
376
+ ? [
377
+ ((_a = packet.distribution.left) === null || _a === void 0 ? void 0 : _a.current) != null ? `<left>${packet.distribution.left.current}</left>` : "",
378
+ ((_b = packet.distribution.center) === null || _b === void 0 ? void 0 : _b.current) != null
379
+ ? `<center>${packet.distribution.center.current}</center>`
380
+ : "",
381
+ ((_c = packet.distribution.right) === null || _c === void 0 ? void 0 : _c.current) != null ? `<right>${packet.distribution.right.current}</right>` : "",
382
+ ].join("")
383
+ : "";
321
384
  return `
322
385
  <packet>
323
- <received>${packet.received}</received>
324
- <sampleNum>${packet.sampleNum}</sampleNum>
325
- <battRaw>${packet.battRaw}</battRaw>
386
+ <timestamp>${packet.timestamp}</timestamp>
387
+ <current>${packet.current}</current>
388
+ <peak>${packet.peak}</peak>
389
+ <mean>${packet.mean}</mean>
390
+ <min>${packet.min}</min>
391
+ ${((_d = packet.performance) === null || _d === void 0 ? void 0 : _d.sampleIndex) != null ? `<sampleIndex>${packet.performance.sampleIndex}</sampleIndex>` : ""}
392
+ ${packet.battRaw != null ? `<battRaw>${packet.battRaw}</battRaw>` : ""}
326
393
  <samples>${samples}</samples>
327
- <masses>${masses}</masses>
394
+ ${distributionElements}
328
395
  </packet>
329
396
  `;
330
397
  })
@@ -591,7 +658,7 @@ class Device extends base_model_js_1.BaseModel {
591
658
  *
592
659
  * @example
593
660
  * // Example usage of the write function with a custom callback
594
- * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATT_VLTG, 250, (data) => {
661
+ * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
595
662
  * console.log(`Battery voltage: ${data}`);
596
663
  * });
597
664
  */
@@ -629,6 +696,7 @@ class Device extends base_model_js_1.BaseModel {
629
696
  }
630
697
  this.peak = Number.NEGATIVE_INFINITY;
631
698
  this.mean = 0;
699
+ this.min = Number.POSITIVE_INFINITY;
632
700
  this.sum = 0;
633
701
  this.dataPointCount = 0;
634
702
  this.unit = "kg";
@@ -653,17 +721,15 @@ class Device extends base_model_js_1.BaseModel {
653
721
  const current = valueOrCurrent;
654
722
  const zonePeak = useFullStats ? (peak === 0 && current < 0 ? current : peak) : valueOrCurrent;
655
723
  const zoneMean = useFullStats ? mean : valueOrCurrent;
656
- const zone = {
724
+ const zoneMin = useFullStats ? Math.min(zonePeak, current) : current;
725
+ return {
657
726
  unit: this.unit,
658
727
  timestamp: Date.now(),
659
728
  current,
660
729
  peak: zonePeak,
661
730
  mean: zoneMean,
731
+ min: zoneMin,
662
732
  };
663
- if (this.samplingRateHz !== undefined) {
664
- zone.samplingRateHz = this.samplingRateHz;
665
- }
666
- return zone;
667
733
  }
668
734
  /**
669
735
  * Calculates sampling rate: samples per second.
@@ -684,39 +750,78 @@ class Device extends base_model_js_1.BaseModel {
684
750
  }
685
751
  }
686
752
  /**
687
- * Builds a ForceMeasurement payload with unit and timestamp for notify callbacks.
688
- * @param current - Current force at this sample
689
- * @param distribution - Optional zone distribution: numbers (converted via buildZoneMeasurement) or full ForceMeasurement per zone
690
- * @returns ForceMeasurement
691
- * @protected
753
+ * Shared base for ForceMeasurement/DownloadPacket payload construction.
754
+ * @private
692
755
  */
693
- buildForceMeasurement(current, distribution) {
694
- this.updateSamplingRate();
756
+ buildForcePayload(current, overrides) {
757
+ var _a;
758
+ const timestamp = (_a = overrides === null || overrides === void 0 ? void 0 : overrides.timestamp) !== null && _a !== void 0 ? _a : Date.now();
695
759
  const payload = {
696
760
  unit: this.unit,
697
- timestamp: Date.now(),
761
+ timestamp,
698
762
  current: (0, utils_js_1.convertForce)(current, this.streamUnit, this.unit),
699
763
  peak: (0, utils_js_1.convertForce)(this.peak, this.streamUnit, this.unit),
700
764
  mean: (0, utils_js_1.convertForce)(this.mean, this.streamUnit, this.unit),
765
+ min: Number.isFinite(this.min)
766
+ ? (0, utils_js_1.convertForce)(this.min, this.streamUnit, this.unit)
767
+ : (0, utils_js_1.convertForce)(0, this.streamUnit, this.unit),
768
+ performance: {
769
+ packetIndex: this.packetCount,
770
+ ...((overrides === null || overrides === void 0 ? void 0 : overrides.sampleIndex) != null && { sampleIndex: overrides.sampleIndex }),
771
+ ...(this.currentNotifyIntervalMs != null && { notifyIntervalMs: this.currentNotifyIntervalMs }),
772
+ ...(this.currentSamplesPerPacket != null && { samplesPerPacket: this.currentSamplesPerPacket }),
773
+ ...(this.samplingRateHz != null && { samplingRateHz: this.samplingRateHz }),
774
+ },
701
775
  };
702
- if (this.samplingRateHz !== undefined) {
703
- payload.samplingRateHz = this.samplingRateHz;
704
- }
705
- if (distribution !== undefined &&
706
- (distribution.left !== undefined || distribution.center !== undefined || distribution.right !== undefined)) {
776
+ const distribution = overrides === null || overrides === void 0 ? void 0 : overrides.distribution;
777
+ if (distribution && (distribution.left != null || distribution.center != null || distribution.right != null)) {
707
778
  payload.distribution = {};
708
- if (distribution.left !== undefined) {
779
+ if (distribution.left != null) {
709
780
  payload.distribution.left = (0, utils_js_1.convertForceMeasurement)(distribution.left, this.streamUnit, this.unit);
710
781
  }
711
- if (distribution.center !== undefined) {
782
+ if (distribution.center != null) {
712
783
  payload.distribution.center = (0, utils_js_1.convertForceMeasurement)(distribution.center, this.streamUnit, this.unit);
713
784
  }
714
- if (distribution.right !== undefined) {
785
+ if (distribution.right != null) {
715
786
  payload.distribution.right = (0, utils_js_1.convertForceMeasurement)(distribution.right, this.streamUnit, this.unit);
716
787
  }
717
788
  }
718
789
  return payload;
719
790
  }
791
+ /**
792
+ * Builds a ForceMeasurement payload for notify callbacks.
793
+ * @param current - Current force at this sample
794
+ * @param distribution - Optional per-zone measurements (e.g. from buildZoneMeasurement)
795
+ * @returns ForceMeasurement
796
+ * @protected
797
+ */
798
+ buildForceMeasurement(current, distribution) {
799
+ this.updateSamplingRate();
800
+ return this.buildForcePayload(current, distribution != null ? { sampleIndex: this.dataPointCount, distribution } : { sampleIndex: this.dataPointCount });
801
+ }
802
+ /**
803
+ * Builds a DownloadPacket for export (CSV, JSON, XML).
804
+ * Converts force values from streamUnit to display unit.
805
+ * @param current - Current force at this sample (stream unit)
806
+ * @param samples - Raw sensor/ADC values from device
807
+ * @param options - Optional timestamp, battRaw, sampleIndex, distribution (for multi-zone)
808
+ * @returns DownloadPacket
809
+ * @protected
810
+ */
811
+ buildDownloadPacket(current, samples, options) {
812
+ const overrides = {};
813
+ if ((options === null || options === void 0 ? void 0 : options.timestamp) != null)
814
+ overrides.timestamp = options.timestamp;
815
+ if ((options === null || options === void 0 ? void 0 : options.sampleIndex) != null)
816
+ overrides.sampleIndex = options.sampleIndex;
817
+ if ((options === null || options === void 0 ? void 0 : options.distribution) != null)
818
+ overrides.distribution = options.distribution;
819
+ const packet = this.buildForcePayload(current, Object.keys(overrides).length > 0 ? overrides : undefined);
820
+ packet.samples = samples;
821
+ if ((options === null || options === void 0 ? void 0 : options.battRaw) != null)
822
+ packet.battRaw = options.battRaw;
823
+ return packet;
824
+ }
720
825
  /**
721
826
  * Returns the Bluetooth instance available for the current environment.
722
827
  * In browsers, it returns the native Web Bluetooth API (i.e. `navigator.bluetooth`).
@@ -1 +1 @@
1
- {"version":3,"file":"device.model.js","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.model.js","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ForceMeasurement, ForceUnit } from "./interfaces/callback.interface.js";
2
2
  /**
3
- * Converts a force value between kg and lbs.
3
+ * Converts a force value between kg, lbs, and newtons.
4
4
  * @param value - The numeric force value in the source unit.
5
5
  * @param from - The unit of the input value.
6
6
  * @param to - The unit for the output value.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAKrF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAGlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,GACZ,gBAAgB,CA8BlB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AA6BrF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAGlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,SAAS,GACZ,gBAAgB,CA+BlB"}
package/dist/cjs/utils.js CHANGED
@@ -2,10 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertForce = convertForce;
4
4
  exports.convertForceMeasurement = convertForceMeasurement;
5
- /** 1 kg = this many lbs (force-equivalent) */
6
- const KG_TO_LBS = 2.20462262185;
5
+ /** 1 kgf = this many N (standard gravity) */
6
+ const KG_TO_N = 9.80665;
7
+ /** 1 lbf = this many N */
8
+ const LBS_TO_N = 4.4482216152605;
9
+ function toNewtons(value, from) {
10
+ switch (from) {
11
+ case "kg":
12
+ return value * KG_TO_N;
13
+ case "lbs":
14
+ return value * LBS_TO_N;
15
+ case "n":
16
+ return value;
17
+ }
18
+ }
19
+ function fromNewtons(value, to) {
20
+ switch (to) {
21
+ case "kg":
22
+ return value / KG_TO_N;
23
+ case "lbs":
24
+ return value / LBS_TO_N;
25
+ case "n":
26
+ return value;
27
+ }
28
+ }
7
29
  /**
8
- * Converts a force value between kg and lbs.
30
+ * Converts a force value between kg, lbs, and newtons.
9
31
  * @param value - The numeric force value in the source unit.
10
32
  * @param from - The unit of the input value.
11
33
  * @param to - The unit for the output value.
@@ -14,7 +36,7 @@ const KG_TO_LBS = 2.20462262185;
14
36
  function convertForce(value, from, to) {
15
37
  if (from === to)
16
38
  return value;
17
- return from === "kg" ? value * KG_TO_LBS : value / KG_TO_LBS;
39
+ return fromNewtons(toNewtons(value, from), to);
18
40
  }
19
41
  /**
20
42
  * Converts all numeric force fields in a ForceMeasurement from one unit to another.
@@ -30,9 +52,10 @@ function convertForceMeasurement(measurement, from, to) {
30
52
  current: convertForce(measurement.current, from, to),
31
53
  peak: convertForce(measurement.peak, from, to),
32
54
  mean: convertForce(measurement.mean, from, to),
55
+ min: convertForce(measurement.min, from, to),
33
56
  };
34
- if (measurement.samplingRateHz !== undefined) {
35
- out.samplingRateHz = measurement.samplingRateHz;
57
+ if (measurement.performance !== undefined) {
58
+ out.performance = { ...measurement.performance };
36
59
  }
37
60
  if (measurement.distribution &&
38
61
  (measurement.distribution.left !== undefined ||
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;AAYA,oCAGC;AAOD,0DAkCC;AAtDD,8CAA8C;AAC9C,MAAM,SAAS,GAAG,aAAa,CAAA;AAE/B;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAa,EAAE,IAAe,EAAE,EAAa;IACxE,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IAC7B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAA;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,WAA6B,EAC7B,IAAe,EACf,EAAa;IAEb,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,WAAW,CAAA;IACnC,MAAM,GAAG,GAAqB;QAC5B,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;KAC/C,CAAA;IACD,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAA;IACjD,CAAC;IACD,IACE,WAAW,CAAC,YAAY;QACxB,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;YAC1C,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS;YAC7C,WAAW,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,EAC/C,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,uBAAuB,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1F,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,uBAAuB,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9F,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,uBAAuB,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export type { IClimbro, IEntralpi, IForceBoard, IKilterBoard, IMotherboard, ImySmartBoard, IProgressor, ISmartBoardPro, IWHC06, } from "./interfaces/index.js";
2
- export type { ForceUnit, ForceStats, ForceMeasurement, NotifyCallback, WriteCallback, ActiveCallback, } from "./interfaces/callback.interface.js";
3
- export { convertForce } from "./utils.js";
2
+ export type { ForceUnit, ForceMeasurement, NotifyCallback, WriteCallback, ActiveCallback, } from "./interfaces/callback.interface.js";
4
3
  export { Climbro, Entralpi, ForceBoard, KilterBoard, KilterBoardPlacementRoles, Motherboard, mySmartBoard, PB700BT, Progressor, SmartBoardPro, WHC06, } from "./models/index.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,MAAM,GACP,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,KAAK,GACN,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,MAAM,GACP,MAAM,uBAAuB,CAAA;AAE9B,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,KAAK,GACN,MAAM,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
- export { convertForce } from "./utils.js";
2
1
  export { Climbro, Entralpi, ForceBoard, KilterBoard, KilterBoardPlacementRoles, Motherboard, mySmartBoard, PB700BT, Progressor, SmartBoardPro, WHC06, } from "./models/index.js";
3
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,KAAK,GACN,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,KAAK,GACN,MAAM,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /** Force-equivalent display unit used for all values in this measurement */
2
- export type ForceUnit = "kg" | "lbs";
2
+ export type ForceUnit = "kg" | "lbs" | "n";
3
3
  /**
4
4
  * Core statistical values describing force over a time window or session.
5
5
  */
@@ -10,26 +10,33 @@ export interface ForceStats {
10
10
  peak: number;
11
11
  /** Mean (average) force across all samples in the measured window or session */
12
12
  mean: number;
13
+ /** Lowest instantaneous force recorded within the measured window or session (e.g. for charts and Min/Max UI) */
14
+ min: number;
15
+ }
16
+ export interface ForcePerformance {
17
+ /** Time in ms since the previous BLE notification (packet). */
18
+ notifyIntervalMs?: number;
19
+ /** Cumulative count of data packets received this session (one BLE notification = one packet). */
20
+ packetIndex?: number;
21
+ /** Device-specific sample identifier (e.g. data point count or device timestamp µs). */
22
+ sampleIndex?: number;
23
+ /** Number of samples in the current packet (e.g. Progressor: payload length / 8). */
24
+ samplesPerPacket?: number;
25
+ /** Data rate in Hz: samples per second from device timestamps (samples in last 1s of device time). */
26
+ samplingRateHz?: number;
13
27
  }
14
28
  /**
15
29
  * Complete force measurement including timing, unit, and optional spatial distribution.
16
30
  * Can represent either a single real-time sample or a rolling/session summary.
17
31
  */
18
32
  export interface ForceMeasurement extends ForceStats {
19
- /** Display unit for all force values (force-equivalent kgf or lbf) */
33
+ /** Display unit for all force values (kgf, lbf, or N) */
20
34
  unit: ForceUnit;
21
35
  /** Unix epoch timestamp in milliseconds indicating when the measurement was recorded */
22
36
  timestamp: number;
23
- /**
24
- * Sampling frequency of the underlying force signal in Hertz.
25
- * Required for time-dependent metrics such as RFD, impulse, or filtering.
26
- */
27
- samplingRateHz?: number;
28
- /**
29
- * Optional force distribution across multiple sensor zones.
30
- * Each zone follows the exact same measurement structure as the parent.
31
- * Nested distributions should be avoided to keep the model one level deep.
32
- */
37
+ /** Performance metadata (notify interval, packet count, samples/packet, Hz). */
38
+ performance?: ForcePerformance;
39
+ /** Motherboard only: Force distribution across multiple sensor zones. */
33
40
  distribution?: {
34
41
  /** Force statistics for the left sensor zone */
35
42
  left?: ForceMeasurement;