@hangtime/grip-connect 0.10.0 → 0.10.2

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 (113) hide show
  1. package/README.md +16 -11
  2. package/dist/cjs/index.d.ts +1 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/interfaces/callback.interface.d.ts +19 -12
  6. package/dist/cjs/interfaces/callback.interface.d.ts.map +1 -1
  7. package/dist/cjs/interfaces/command.interface.d.ts +10 -6
  8. package/dist/cjs/interfaces/command.interface.d.ts.map +1 -1
  9. package/dist/cjs/interfaces/device/progressor.interface.d.ts +42 -0
  10. package/dist/cjs/interfaces/device/progressor.interface.d.ts.map +1 -1
  11. package/dist/cjs/interfaces/device.interface.d.ts +5 -3
  12. package/dist/cjs/interfaces/device.interface.d.ts.map +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 +1 -0
  22. package/dist/cjs/models/device/forceboard.model.d.ts.map +1 -1
  23. package/dist/cjs/models/device/forceboard.model.js +15 -21
  24. package/dist/cjs/models/device/forceboard.model.js.map +1 -1
  25. package/dist/cjs/models/device/motherboard.model.d.ts.map +1 -1
  26. package/dist/cjs/models/device/motherboard.model.js +28 -20
  27. package/dist/cjs/models/device/motherboard.model.js.map +1 -1
  28. package/dist/cjs/models/device/pb-700bt.model.d.ts.map +1 -1
  29. package/dist/cjs/models/device/pb-700bt.model.js +11 -14
  30. package/dist/cjs/models/device/pb-700bt.model.js.map +1 -1
  31. package/dist/cjs/models/device/progressor.model.d.ts +47 -5
  32. package/dist/cjs/models/device/progressor.model.d.ts.map +1 -1
  33. package/dist/cjs/models/device/progressor.model.js +185 -49
  34. package/dist/cjs/models/device/progressor.model.js.map +1 -1
  35. package/dist/cjs/models/device/smartboard-pro.model.d.ts.map +1 -1
  36. package/dist/cjs/models/device/smartboard-pro.model.js +11 -16
  37. package/dist/cjs/models/device/smartboard-pro.model.js.map +1 -1
  38. package/dist/cjs/models/device/wh-c06.model.d.ts.map +1 -1
  39. package/dist/cjs/models/device/wh-c06.model.js +11 -14
  40. package/dist/cjs/models/device/wh-c06.model.js.map +1 -1
  41. package/dist/cjs/models/device.model.d.ts +74 -5
  42. package/dist/cjs/models/device.model.d.ts.map +1 -1
  43. package/dist/cjs/models/device.model.js +159 -44
  44. package/dist/cjs/models/device.model.js.map +1 -1
  45. package/dist/cjs/utils.d.ts +16 -0
  46. package/dist/cjs/utils.d.ts.map +1 -0
  47. package/dist/cjs/utils.js +77 -0
  48. package/dist/cjs/utils.js.map +1 -0
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -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 +10 -6
  55. package/dist/interfaces/command.interface.d.ts.map +1 -1
  56. package/dist/interfaces/device/progressor.interface.d.ts +42 -0
  57. package/dist/interfaces/device/progressor.interface.d.ts.map +1 -1
  58. package/dist/interfaces/device.interface.d.ts +5 -3
  59. package/dist/interfaces/device.interface.d.ts.map +1 -1
  60. package/dist/interfaces/download.interface.d.ts +8 -11
  61. package/dist/interfaces/download.interface.d.ts.map +1 -1
  62. package/dist/models/device/climbro.model.d.ts.map +1 -1
  63. package/dist/models/device/climbro.model.js +34 -16
  64. package/dist/models/device/climbro.model.js.map +1 -1
  65. package/dist/models/device/entralpi.model.d.ts.map +1 -1
  66. package/dist/models/device/entralpi.model.js +11 -14
  67. package/dist/models/device/entralpi.model.js.map +1 -1
  68. package/dist/models/device/forceboard.model.d.ts +1 -0
  69. package/dist/models/device/forceboard.model.d.ts.map +1 -1
  70. package/dist/models/device/forceboard.model.js +15 -21
  71. package/dist/models/device/forceboard.model.js.map +1 -1
  72. package/dist/models/device/motherboard.model.d.ts.map +1 -1
  73. package/dist/models/device/motherboard.model.js +28 -20
  74. package/dist/models/device/motherboard.model.js.map +1 -1
  75. package/dist/models/device/pb-700bt.model.d.ts.map +1 -1
  76. package/dist/models/device/pb-700bt.model.js +11 -14
  77. package/dist/models/device/pb-700bt.model.js.map +1 -1
  78. package/dist/models/device/progressor.model.d.ts +47 -5
  79. package/dist/models/device/progressor.model.d.ts.map +1 -1
  80. package/dist/models/device/progressor.model.js +184 -49
  81. package/dist/models/device/progressor.model.js.map +1 -1
  82. package/dist/models/device/smartboard-pro.model.d.ts.map +1 -1
  83. package/dist/models/device/smartboard-pro.model.js +11 -16
  84. package/dist/models/device/smartboard-pro.model.js.map +1 -1
  85. package/dist/models/device/wh-c06.model.d.ts.map +1 -1
  86. package/dist/models/device/wh-c06.model.js +11 -14
  87. package/dist/models/device/wh-c06.model.js.map +1 -1
  88. package/dist/models/device.model.d.ts +74 -5
  89. package/dist/models/device.model.d.ts.map +1 -1
  90. package/dist/models/device.model.js +164 -45
  91. package/dist/models/device.model.js.map +1 -1
  92. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  93. package/dist/utils.d.ts +16 -0
  94. package/dist/utils.d.ts.map +1 -0
  95. package/dist/utils.js +73 -0
  96. package/dist/utils.js.map +1 -0
  97. package/package.json +1 -1
  98. package/src/index.ts +0 -1
  99. package/src/interfaces/callback.interface.ts +21 -12
  100. package/src/interfaces/command.interface.ts +11 -6
  101. package/src/interfaces/device/progressor.interface.ts +50 -0
  102. package/src/interfaces/device.interface.ts +5 -3
  103. package/src/interfaces/download.interface.ts +9 -11
  104. package/src/models/device/climbro.model.ts +38 -20
  105. package/src/models/device/entralpi.model.ts +15 -17
  106. package/src/models/device/forceboard.model.ts +19 -24
  107. package/src/models/device/motherboard.model.ts +38 -26
  108. package/src/models/device/pb-700bt.model.ts +14 -16
  109. package/src/models/device/progressor.model.ts +198 -50
  110. package/src/models/device/smartboard-pro.model.ts +14 -19
  111. package/src/models/device/wh-c06.model.ts +14 -17
  112. package/src/models/device.model.ts +199 -48
  113. package/src/utils.ts +82 -0
@@ -70,17 +70,60 @@ export declare abstract class Device extends BaseModel implements IDevice {
70
70
  */
71
71
  protected mean: number;
72
72
  /**
73
- * Display unit for force measurements.
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;
79
+ /**
80
+ * Display unit for force measurements (output unit for notify callbacks).
74
81
  * @type {ForceUnit}
75
82
  * @protected
76
83
  */
77
84
  protected unit: ForceUnit;
85
+ /**
86
+ * Unit of the values streamed by the device (kg for most devices, lbs for ForceBoard).
87
+ * @type {ForceUnit}
88
+ * @protected
89
+ */
90
+ protected streamUnit: ForceUnit;
78
91
  /**
79
92
  * Optional sampling rate in Hz when known or calculated from notification timestamps.
80
93
  * @type {number | undefined}
81
94
  * @protected
82
95
  */
83
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;
84
127
  /**
85
128
  * Start time of the current rate measurement interval.
86
129
  * @type {number}
@@ -204,9 +247,14 @@ export declare abstract class Device extends BaseModel implements IDevice {
204
247
  */
205
248
  private updateSamplingRate;
206
249
  /**
207
- * 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.
208
256
  * @param current - Current force at this sample
209
- * @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)
210
258
  * @returns ForceMeasurement
211
259
  * @protected
212
260
  */
@@ -215,6 +263,25 @@ export declare abstract class Device extends BaseModel implements IDevice {
215
263
  center?: ForceMeasurement;
216
264
  right?: ForceMeasurement;
217
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;
218
285
  /**
219
286
  * Sets the callback function to be called when the activity status changes,
220
287
  * and optionally sets the configuration for threshold and duration.
@@ -368,6 +435,7 @@ export declare abstract class Device extends BaseModel implements IDevice {
368
435
  /**
369
436
  * Sets the callback function to be called when notifications are received.
370
437
  * @param {NotifyCallback} callback - The callback function to be set.
438
+ * @param {ForceUnit} [unit="kg"] - Optional display unit for force values in the callback payload.
371
439
  * @returns {void}
372
440
  * @public
373
441
  *
@@ -375,8 +443,9 @@ export declare abstract class Device extends BaseModel implements IDevice {
375
443
  * device.notify((data) => {
376
444
  * console.log('Received notification:', data);
377
445
  * });
446
+ * device.notify((data) => { ... }, 'lbs');
378
447
  */
379
- notify: (callback: NotifyCallback) => void;
448
+ notify: (callback: NotifyCallback, unit?: ForceUnit) => void;
380
449
  /**
381
450
  * Handles the 'connected' event.
382
451
  * @param {Function} onSuccess - Callback function to execute on successful connection.
@@ -459,7 +528,7 @@ export declare abstract class Device extends BaseModel implements IDevice {
459
528
  *
460
529
  * @example
461
530
  * // Example usage of the write function with a custom callback
462
- * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATT_VLTG, 250, (data) => {
531
+ * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
463
532
  * console.log(`Battery voltage: ${data}`);
464
533
  * });
465
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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"}
@@ -2,7 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Device = void 0;
4
4
  const base_model_js_1 = require("./../models/base.model.js");
5
+ const utils_js_1 = require("../utils.js");
5
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
+ }
6
27
  constructor(device) {
7
28
  super(device);
8
29
  /**
@@ -23,6 +44,32 @@ class Device extends base_model_js_1.BaseModel {
23
44
  threshold: 2.5,
24
45
  duration: 1000,
25
46
  };
47
+ /**
48
+ * Unit of the values streamed by the device (kg for most devices, lbs for ForceBoard).
49
+ * @type {ForceUnit}
50
+ * @protected
51
+ */
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;
26
73
  /**
27
74
  * Start time of the current rate measurement interval.
28
75
  * @type {number}
@@ -272,16 +319,30 @@ class Device extends base_model_js_1.BaseModel {
272
319
  return "";
273
320
  }
274
321
  return packets
275
- .map((packet) => [
276
- packet.received.toString(),
277
- packet.sampleNum.toString(),
278
- packet.battRaw.toString(),
279
- ...packet.samples.map(String),
280
- ...packet.masses.map(String),
281
- ]
282
- .map((v) => v.replace(/"/g, '""'))
283
- .map((v) => `"${v}"`)
284
- .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
+ })
285
346
  .join("\r\n");
286
347
  };
287
348
  /**
@@ -309,15 +370,28 @@ class Device extends base_model_js_1.BaseModel {
309
370
  this.downloadToXML = () => {
310
371
  const xmlPackets = this.downloadPackets
311
372
  .map((packet) => {
373
+ var _a, _b, _c, _d;
312
374
  const samples = packet.samples.map((sample) => `<sample>${sample}</sample>`).join("");
313
- 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
+ : "";
314
384
  return `
315
385
  <packet>
316
- <received>${packet.received}</received>
317
- <sampleNum>${packet.sampleNum}</sampleNum>
318
- <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>` : ""}
319
393
  <samples>${samples}</samples>
320
- <masses>${masses}</masses>
394
+ ${distributionElements}
321
395
  </packet>
322
396
  `;
323
397
  })
@@ -426,6 +500,7 @@ class Device extends base_model_js_1.BaseModel {
426
500
  /**
427
501
  * Sets the callback function to be called when notifications are received.
428
502
  * @param {NotifyCallback} callback - The callback function to be set.
503
+ * @param {ForceUnit} [unit="kg"] - Optional display unit for force values in the callback payload.
429
504
  * @returns {void}
430
505
  * @public
431
506
  *
@@ -433,8 +508,10 @@ class Device extends base_model_js_1.BaseModel {
433
508
  * device.notify((data) => {
434
509
  * console.log('Received notification:', data);
435
510
  * });
511
+ * device.notify((data) => { ... }, 'lbs');
436
512
  */
437
- this.notify = (callback) => {
513
+ this.notify = (callback, unit) => {
514
+ this.unit = unit !== null && unit !== void 0 ? unit : "kg";
438
515
  this.notifyCallback = callback;
439
516
  };
440
517
  /**
@@ -581,7 +658,7 @@ class Device extends base_model_js_1.BaseModel {
581
658
  *
582
659
  * @example
583
660
  * // Example usage of the write function with a custom callback
584
- * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATT_VLTG, 250, (data) => {
661
+ * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
585
662
  * console.log(`Battery voltage: ${data}`);
586
663
  * });
587
664
  */
@@ -619,6 +696,7 @@ class Device extends base_model_js_1.BaseModel {
619
696
  }
620
697
  this.peak = Number.NEGATIVE_INFINITY;
621
698
  this.mean = 0;
699
+ this.min = Number.POSITIVE_INFINITY;
622
700
  this.sum = 0;
623
701
  this.dataPointCount = 0;
624
702
  this.unit = "kg";
@@ -643,17 +721,15 @@ class Device extends base_model_js_1.BaseModel {
643
721
  const current = valueOrCurrent;
644
722
  const zonePeak = useFullStats ? (peak === 0 && current < 0 ? current : peak) : valueOrCurrent;
645
723
  const zoneMean = useFullStats ? mean : valueOrCurrent;
646
- const zone = {
724
+ const zoneMin = useFullStats ? Math.min(zonePeak, current) : current;
725
+ return {
647
726
  unit: this.unit,
648
727
  timestamp: Date.now(),
649
728
  current,
650
729
  peak: zonePeak,
651
730
  mean: zoneMean,
731
+ min: zoneMin,
652
732
  };
653
- if (this.samplingRateHz !== undefined) {
654
- zone.samplingRateHz = this.samplingRateHz;
655
- }
656
- return zone;
657
733
  }
658
734
  /**
659
735
  * Calculates sampling rate: samples per second.
@@ -674,39 +750,78 @@ class Device extends base_model_js_1.BaseModel {
674
750
  }
675
751
  }
676
752
  /**
677
- * Builds a ForceMeasurement payload with unit and timestamp for notify callbacks.
678
- * @param current - Current force at this sample
679
- * @param distribution - Optional zone distribution: numbers (converted via buildZoneMeasurement) or full ForceMeasurement per zone
680
- * @returns ForceMeasurement
681
- * @protected
753
+ * Shared base for ForceMeasurement/DownloadPacket payload construction.
754
+ * @private
682
755
  */
683
- buildForceMeasurement(current, distribution) {
684
- 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();
685
759
  const payload = {
686
760
  unit: this.unit,
687
- timestamp: Date.now(),
688
- current,
689
- peak: this.peak,
690
- mean: this.mean,
761
+ timestamp,
762
+ current: (0, utils_js_1.convertForce)(current, this.streamUnit, this.unit),
763
+ peak: (0, utils_js_1.convertForce)(this.peak, this.streamUnit, this.unit),
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
+ },
691
775
  };
692
- if (this.samplingRateHz !== undefined) {
693
- payload.samplingRateHz = this.samplingRateHz;
694
- }
695
- if (distribution !== undefined &&
696
- (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)) {
697
778
  payload.distribution = {};
698
- if (distribution.left !== undefined) {
699
- payload.distribution.left = distribution.left;
779
+ if (distribution.left != null) {
780
+ payload.distribution.left = (0, utils_js_1.convertForceMeasurement)(distribution.left, this.streamUnit, this.unit);
700
781
  }
701
- if (distribution.center !== undefined) {
702
- payload.distribution.center = distribution.center;
782
+ if (distribution.center != null) {
783
+ payload.distribution.center = (0, utils_js_1.convertForceMeasurement)(distribution.center, this.streamUnit, this.unit);
703
784
  }
704
- if (distribution.right !== undefined) {
705
- payload.distribution.right = distribution.right;
785
+ if (distribution.right != null) {
786
+ payload.distribution.right = (0, utils_js_1.convertForceMeasurement)(distribution.right, this.streamUnit, this.unit);
706
787
  }
707
788
  }
708
789
  return payload;
709
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
+ }
710
825
  /**
711
826
  * Returns the Bluetooth instance available for the current environment.
712
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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"}
@@ -0,0 +1,16 @@
1
+ import type { ForceMeasurement, ForceUnit } from "./interfaces/callback.interface.js";
2
+ /**
3
+ * Converts a force value between kg, lbs, and newtons.
4
+ * @param value - The numeric force value in the source unit.
5
+ * @param from - The unit of the input value.
6
+ * @param to - The unit for the output value.
7
+ * @returns The force value in the target unit.
8
+ */
9
+ export declare function convertForce(value: number, from: ForceUnit, to: ForceUnit): number;
10
+ /**
11
+ * Converts all numeric force fields in a ForceMeasurement from one unit to another.
12
+ * Recurses one level into distribution.left / center / right.
13
+ * Used internally by the device model when building notify payloads.
14
+ */
15
+ export declare function convertForceMeasurement(measurement: ForceMeasurement, from: ForceUnit, to: ForceUnit): ForceMeasurement;
16
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertForce = convertForce;
4
+ exports.convertForceMeasurement = convertForceMeasurement;
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
+ }
29
+ /**
30
+ * Converts a force value between kg, lbs, and newtons.
31
+ * @param value - The numeric force value in the source unit.
32
+ * @param from - The unit of the input value.
33
+ * @param to - The unit for the output value.
34
+ * @returns The force value in the target unit.
35
+ */
36
+ function convertForce(value, from, to) {
37
+ if (from === to)
38
+ return value;
39
+ return fromNewtons(toNewtons(value, from), to);
40
+ }
41
+ /**
42
+ * Converts all numeric force fields in a ForceMeasurement from one unit to another.
43
+ * Recurses one level into distribution.left / center / right.
44
+ * Used internally by the device model when building notify payloads.
45
+ */
46
+ function convertForceMeasurement(measurement, from, to) {
47
+ if (from === to)
48
+ return measurement;
49
+ const out = {
50
+ unit: to,
51
+ timestamp: measurement.timestamp,
52
+ current: convertForce(measurement.current, from, to),
53
+ peak: convertForce(measurement.peak, from, to),
54
+ mean: convertForce(measurement.mean, from, to),
55
+ min: convertForce(measurement.min, from, to),
56
+ };
57
+ if (measurement.performance !== undefined) {
58
+ out.performance = { ...measurement.performance };
59
+ }
60
+ if (measurement.distribution &&
61
+ (measurement.distribution.left !== undefined ||
62
+ measurement.distribution.center !== undefined ||
63
+ measurement.distribution.right !== undefined)) {
64
+ out.distribution = {};
65
+ if (measurement.distribution.left !== undefined) {
66
+ out.distribution.left = convertForceMeasurement(measurement.distribution.left, from, to);
67
+ }
68
+ if (measurement.distribution.center !== undefined) {
69
+ out.distribution.center = convertForceMeasurement(measurement.distribution.center, from, to);
70
+ }
71
+ if (measurement.distribution.right !== undefined) {
72
+ out.distribution.right = convertForceMeasurement(measurement.distribution.right, from, to);
73
+ }
74
+ }
75
+ return out;
76
+ }
77
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +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";
2
+ export type { ForceUnit, ForceMeasurement, NotifyCallback, WriteCallback, ActiveCallback, } from "./interfaces/callback.interface.js";
3
3
  export { Climbro, Entralpi, ForceBoard, KilterBoard, KilterBoardPlacementRoles, Motherboard, mySmartBoard, PB700BT, Progressor, SmartBoardPro, WHC06, } from "./models/index.js";
4
4
  //# sourceMappingURL=index.d.ts.map