@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
@@ -57,7 +57,6 @@ export class SmartBoardPro extends Device {
57
57
  */
58
58
  handleNotifications = (value) => {
59
59
  if (value) {
60
- // Update timestamp
61
60
  this.updateTimestamp();
62
61
  if (value.buffer) {
63
62
  const length = value.byteLength / 2;
@@ -66,40 +65,36 @@ export class SmartBoardPro extends Device {
66
65
  const offset = i * 2;
67
66
  if (offset + 1 < value.byteLength) {
68
67
  const intValue = value.getInt16(offset, true);
69
- // For debugging purposes
70
68
  console.log(intValue);
71
69
  dataArray.push(intValue);
72
70
  }
73
71
  }
74
72
  if (dataArray.length === 0)
75
73
  return;
74
+ this.currentSamplesPerPacket = dataArray.length;
75
+ this.recordPacketReceived();
76
76
  const receivedTime = Date.now();
77
- // Process each data point
78
77
  for (const receivedData of dataArray) {
79
78
  // Skip invalid values
80
79
  if (!Number.isFinite(receivedData))
81
80
  continue;
82
81
  const numericData = receivedData - this.applyTare(receivedData);
83
- // Add data to downloadable Array
84
- this.downloadPackets.push({
85
- received: receivedTime,
86
- sampleNum: this.dataPointCount,
87
- battRaw: 0,
88
- samples: [numericData],
89
- masses: [numericData],
90
- });
91
- // Update peak
92
- this.peak = Math.max(this.peak, numericData);
93
- // Update running sum and count
94
82
  const currentMassTotal = Math.max(-1000, numericData);
83
+ // Update session stats before building packet
84
+ this.peak = Math.max(this.peak, numericData);
85
+ this.min = Math.min(this.min, Math.max(-1000, numericData));
95
86
  this.sum += currentMassTotal;
96
87
  this.dataPointCount++;
97
- // Calculate the average dynamically
98
88
  this.mean = this.sum / this.dataPointCount;
89
+ // Add data to downloadable Array
90
+ this.downloadPackets.push(this.buildDownloadPacket(currentMassTotal, [numericData], {
91
+ timestamp: receivedTime,
92
+ sampleIndex: this.dataPointCount,
93
+ }));
99
94
  // Check if device is being used
100
95
  this.activityCheck(numericData);
101
96
  // Notify with weight data
102
- this.notifyCallback(this.buildForceMeasurement(Math.max(-1000, numericData)));
97
+ this.notifyCallback(this.buildForceMeasurement(currentMassTotal));
103
98
  }
104
99
  }
105
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smartboard-pro.model.js","sourceRoot":"","sources":["../../../src/models/device/smartboard-pro.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartboard-pro.model.js","sourceRoot":"","sources":["../../../src/models/device/smartboard-pro.model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wh-c06.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/wh-c06.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAA;AAEzE;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,MAAO,YAAW,MAAM;IACjD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAa;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IAEpD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAA6C;IAEzE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAa;;IA0BtD;;;;OAIG;IACM,OAAO,GACd,YAAW,MAAM,IAAkD,EACnE,UAAS,CAAC,KAAK,EAAE,KAAK,KAAK,IAAsC,KAChE,OAAO,CAAC,IAAI,CAAC,CAiFf;IAED;;;;OAIG;IACM,WAAW,QAAO,OAAO,CAEjC;IAED;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAkBhC;CACF"}
1
+ {"version":3,"file":"wh-c06.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/wh-c06.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6CAA6C,CAAA;AAEzE;;;;;GAKG;AACH,qBAAa,KAAM,SAAQ,MAAO,YAAW,MAAM;IACjD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAa;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IAEpD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAA6C;IAEzE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAa;;IA0BtD;;;;OAIG;IACM,OAAO,GACd,YAAW,MAAM,IAAkD,EACnE,UAAS,CAAC,KAAK,EAAE,KAAK,KAAK,IAAsC,KAChE,OAAO,CAAC,IAAI,CAAC,CA8Ef;IAED;;;;OAIG;IACM,WAAW,QAAO,OAAO,CAEjC;IAED;;OAEG;IACH,OAAO,CAAC,yBAAyB,CAkBhC;CACF"}
@@ -82,33 +82,30 @@ export class WHC06 extends Device {
82
82
  this.bluetooth.addEventListener("advertisementreceived", (event) => {
83
83
  const data = event.manufacturerData.get(WHC06.manufacturerId);
84
84
  if (data) {
85
- // Handle recieved data
85
+ this.currentSamplesPerPacket = 1;
86
+ this.recordPacketReceived();
86
87
  const weight = (data.getUint8(WHC06.weightOffset) << 8) | data.getUint8(WHC06.weightOffset + 1);
87
88
  // const stable = (data.getUint8(STABLE_OFFSET) & 0xf0) >> 4
88
89
  // const unit = data.getUint8(STABLE_OFFSET) & 0x0f
89
90
  const receivedTime = Date.now();
90
91
  const receivedData = weight / 100;
91
92
  const numericData = receivedData - this.applyTare(receivedData) * -1;
92
- // Add data to downloadable Array
93
- this.downloadPackets.push({
94
- received: receivedTime,
95
- sampleNum: this.dataPointCount,
96
- battRaw: 0,
97
- samples: [numericData],
98
- masses: [numericData],
99
- });
100
- // Update peak
101
- this.peak = Math.max(this.peak, numericData);
102
- // Update running sum and count
103
93
  const currentMassTotal = Math.max(-1000, numericData);
94
+ // Update session stats before building packet
95
+ this.peak = Math.max(this.peak, numericData);
96
+ this.min = Math.min(this.min, Math.max(-1000, numericData));
104
97
  this.sum += currentMassTotal;
105
98
  this.dataPointCount++;
106
- // Calculate the average dynamically
107
99
  this.mean = this.sum / this.dataPointCount;
100
+ // Add data to downloadable Array
101
+ this.downloadPackets.push(this.buildDownloadPacket(currentMassTotal, [numericData], {
102
+ timestamp: receivedTime,
103
+ sampleIndex: this.dataPointCount,
104
+ }));
108
105
  // Check if device is being used
109
106
  this.activityCheck(numericData);
110
107
  // Notify with weight data
111
- this.notifyCallback(this.buildForceMeasurement(Math.max(-1000, numericData)));
108
+ this.notifyCallback(this.buildForceMeasurement(currentMassTotal));
112
109
  }
113
110
  // Reset "still advertising" counter
114
111
  this.resetAdvertisementTimeout();
@@ -1 +1 @@
1
- {"version":3,"file":"wh-c06.model.js","sourceRoot":"","sources":["../../../src/models/device/wh-c06.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,MAAM;IAC/B;;;;;;OAMG;IACK,MAAM,CAAU,YAAY,GAAW,EAAE,CAAA;IAEjD;;;;;;OAMG;IACK,MAAM,CAAU,cAAc,GAAW,GAAG,CAAA;IAEpD;;;;OAIG;IACK,oBAAoB,GAAyC,IAAI,CAAA;IAEzE;;;;;OAKG;IACc,wBAAwB,GAAW,EAAE,CAAA;IAEtD,MAAM;IACN,0FAA0F;IAC1F,oBAAoB;IACpB,aAAa;IACb,eAAe;IACf,eAAe;IACf,MAAM;IACN,oDAAoD;IACpD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE;gBACP;oBACE,iBAAiB;oBACjB,gBAAgB,EAAE;wBAChB;4BACE,iBAAiB,EAAE,MAAM,EAAE,MAAM;yBAClC;qBACF;iBACF;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACM,OAAO,GAAG,KAAK,EACtB,YAAwB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EACnE,UAAkC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAClD,EAAE;QACjB,IAAI,CAAC;YACH,gLAAgL;YAChL,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CACnD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CACjF,CAAA;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAE3C,IAAI,CAAC,SAAS,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC;gBAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,wBAAwB;aACzB,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YACD,mBAAmB;YACnB,IAAI,CAAC,eAAe,EAAE,CAAA;YAEtB,0EAA0E;YAC1E,SAAS,EAAE,CAAA;YAEX,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjE,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAC7D,IAAI,IAAI,EAAE,CAAC;oBACT,uBAAuB;oBACvB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;oBAC/F,4DAA4D;oBAC5D,mDAAmD;oBACnD,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,EAAE,CAAA;oBACvC,MAAM,YAAY,GAAG,MAAM,GAAG,GAAG,CAAA;oBAEjC,MAAM,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;oBAEpE,iCAAiC;oBACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;wBACxB,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,IAAI,CAAC,cAAc;wBAC9B,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,CAAC,WAAW,CAAC;wBACtB,MAAM,EAAE,CAAC,WAAW,CAAC;qBACtB,CAAC,CAAA;oBAEF,cAAc;oBACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;oBAE5C,+BAA+B;oBAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;oBACrD,IAAI,CAAC,GAAG,IAAI,gBAAgB,CAAA;oBAC5B,IAAI,CAAC,cAAc,EAAE,CAAA;oBAErB,oCAAoC;oBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAA;oBAE1C,gCAAgC;oBAChC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;oBAE/B,0BAA0B;oBAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;gBACD,oCAAoC;gBACpC,IAAI,CAAC,yBAAyB,EAAE,CAAA;YAClC,CAAC,CAAC,CAAA;YAEF,oGAAoG;YACpG,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;gBACpC,yFAAyF;gBACzF,+GAA+G;gBAC/G,+DAA+D;gBAC/D,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;oBAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAA;gBAC5C,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAc,CAAC,CAAA;QACzB,CAAC;IACH,CAAC,CAAA;IAED;;;;OAIG;IACM,WAAW,GAAG,GAAY,EAAE;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC,CAAA;IAED;;OAEG;IACK,yBAAyB,GAAG,GAAS,EAAE;QAC7C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACzC,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;YACrD,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC7D,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;YACF,6BAA6B;YAC7B,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,wBAAwB,+BAA+B,CAAC,CAAA;YAC5G,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;QACxC,CAAC,EAAE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAA,CAAC,aAAa;IACxD,CAAC,CAAA"}
1
+ {"version":3,"file":"wh-c06.model.js","sourceRoot":"","sources":["../../../src/models/device/wh-c06.model.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -69,6 +69,13 @@ export class Device extends BaseModel {
69
69
  * @protected
70
70
  */
71
71
  mean;
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
+ min;
72
79
  /**
73
80
  * Display unit for force measurements (output unit for notify callbacks).
74
81
  * @type {ForceUnit}
@@ -87,6 +94,46 @@ export class Device extends BaseModel {
87
94
  * @protected
88
95
  */
89
96
  samplingRateHz;
97
+ /**
98
+ * Timestamp (ms) of the previous BLE notification for notify-interval calculation.
99
+ * @protected
100
+ */
101
+ lastPacketTimestamp = 0;
102
+ /**
103
+ * Count of data packets received this session (one BLE notification = one packet).
104
+ * @protected
105
+ */
106
+ packetCount = 0;
107
+ /**
108
+ * Notify interval in ms for the current packet (set by recordPacketReceived).
109
+ * @protected
110
+ */
111
+ currentNotifyIntervalMs = undefined;
112
+ /**
113
+ * Samples in the current packet (set by device before buildForceMeasurement).
114
+ * @protected
115
+ */
116
+ currentSamplesPerPacket = undefined;
117
+ /**
118
+ * Call at the start of each BLE notification (packet). Updates notify interval and packet count.
119
+ * @protected
120
+ */
121
+ recordPacketReceived() {
122
+ const now = Date.now();
123
+ this.currentNotifyIntervalMs = this.lastPacketTimestamp > 0 ? now - this.lastPacketTimestamp : undefined;
124
+ this.lastPacketTimestamp = now;
125
+ this.packetCount += 1;
126
+ }
127
+ /**
128
+ * Reset packet tracking (call when starting a new stream).
129
+ * @protected
130
+ */
131
+ resetPacketTracking() {
132
+ this.lastPacketTimestamp = 0;
133
+ this.packetCount = 0;
134
+ this.currentNotifyIntervalMs = undefined;
135
+ this.currentSamplesPerPacket = undefined;
136
+ }
90
137
  /**
91
138
  * Start time of the current rate measurement interval.
92
139
  * @type {number}
@@ -195,6 +242,7 @@ export class Device extends BaseModel {
195
242
  }
196
243
  this.peak = Number.NEGATIVE_INFINITY;
197
244
  this.mean = 0;
245
+ this.min = Number.POSITIVE_INFINITY;
198
246
  this.sum = 0;
199
247
  this.dataPointCount = 0;
200
248
  this.unit = "kg";
@@ -219,17 +267,15 @@ export class Device extends BaseModel {
219
267
  const current = valueOrCurrent;
220
268
  const zonePeak = useFullStats ? (peak === 0 && current < 0 ? current : peak) : valueOrCurrent;
221
269
  const zoneMean = useFullStats ? mean : valueOrCurrent;
222
- const zone = {
270
+ const zoneMin = useFullStats ? Math.min(zonePeak, current) : current;
271
+ return {
223
272
  unit: this.unit,
224
273
  timestamp: Date.now(),
225
274
  current,
226
275
  peak: zonePeak,
227
276
  mean: zoneMean,
277
+ min: zoneMin,
228
278
  };
229
- if (this.samplingRateHz !== undefined) {
230
- zone.samplingRateHz = this.samplingRateHz;
231
- }
232
- return zone;
233
279
  }
234
280
  /**
235
281
  * Interval duration (ms) for sampling rate calculation.
@@ -256,39 +302,77 @@ export class Device extends BaseModel {
256
302
  }
257
303
  }
258
304
  /**
259
- * Builds a ForceMeasurement payload with unit and timestamp for notify callbacks.
260
- * @param current - Current force at this sample
261
- * @param distribution - Optional zone distribution: numbers (converted via buildZoneMeasurement) or full ForceMeasurement per zone
262
- * @returns ForceMeasurement
263
- * @protected
305
+ * Shared base for ForceMeasurement/DownloadPacket payload construction.
306
+ * @private
264
307
  */
265
- buildForceMeasurement(current, distribution) {
266
- this.updateSamplingRate();
308
+ buildForcePayload(current, overrides) {
309
+ const timestamp = overrides?.timestamp ?? Date.now();
267
310
  const payload = {
268
311
  unit: this.unit,
269
- timestamp: Date.now(),
312
+ timestamp,
270
313
  current: convertForce(current, this.streamUnit, this.unit),
271
314
  peak: convertForce(this.peak, this.streamUnit, this.unit),
272
315
  mean: convertForce(this.mean, this.streamUnit, this.unit),
316
+ min: Number.isFinite(this.min)
317
+ ? convertForce(this.min, this.streamUnit, this.unit)
318
+ : convertForce(0, this.streamUnit, this.unit),
319
+ performance: {
320
+ packetIndex: this.packetCount,
321
+ ...(overrides?.sampleIndex != null && { sampleIndex: overrides.sampleIndex }),
322
+ ...(this.currentNotifyIntervalMs != null && { notifyIntervalMs: this.currentNotifyIntervalMs }),
323
+ ...(this.currentSamplesPerPacket != null && { samplesPerPacket: this.currentSamplesPerPacket }),
324
+ ...(this.samplingRateHz != null && { samplingRateHz: this.samplingRateHz }),
325
+ },
273
326
  };
274
- if (this.samplingRateHz !== undefined) {
275
- payload.samplingRateHz = this.samplingRateHz;
276
- }
277
- if (distribution !== undefined &&
278
- (distribution.left !== undefined || distribution.center !== undefined || distribution.right !== undefined)) {
327
+ const distribution = overrides?.distribution;
328
+ if (distribution && (distribution.left != null || distribution.center != null || distribution.right != null)) {
279
329
  payload.distribution = {};
280
- if (distribution.left !== undefined) {
330
+ if (distribution.left != null) {
281
331
  payload.distribution.left = convertForceMeasurement(distribution.left, this.streamUnit, this.unit);
282
332
  }
283
- if (distribution.center !== undefined) {
333
+ if (distribution.center != null) {
284
334
  payload.distribution.center = convertForceMeasurement(distribution.center, this.streamUnit, this.unit);
285
335
  }
286
- if (distribution.right !== undefined) {
336
+ if (distribution.right != null) {
287
337
  payload.distribution.right = convertForceMeasurement(distribution.right, this.streamUnit, this.unit);
288
338
  }
289
339
  }
290
340
  return payload;
291
341
  }
342
+ /**
343
+ * Builds a ForceMeasurement payload for notify callbacks.
344
+ * @param current - Current force at this sample
345
+ * @param distribution - Optional per-zone measurements (e.g. from buildZoneMeasurement)
346
+ * @returns ForceMeasurement
347
+ * @protected
348
+ */
349
+ buildForceMeasurement(current, distribution) {
350
+ this.updateSamplingRate();
351
+ return this.buildForcePayload(current, distribution != null ? { sampleIndex: this.dataPointCount, distribution } : { sampleIndex: this.dataPointCount });
352
+ }
353
+ /**
354
+ * Builds a DownloadPacket for export (CSV, JSON, XML).
355
+ * Converts force values from streamUnit to display unit.
356
+ * @param current - Current force at this sample (stream unit)
357
+ * @param samples - Raw sensor/ADC values from device
358
+ * @param options - Optional timestamp, battRaw, sampleIndex, distribution (for multi-zone)
359
+ * @returns DownloadPacket
360
+ * @protected
361
+ */
362
+ buildDownloadPacket(current, samples, options) {
363
+ const overrides = {};
364
+ if (options?.timestamp != null)
365
+ overrides.timestamp = options.timestamp;
366
+ if (options?.sampleIndex != null)
367
+ overrides.sampleIndex = options.sampleIndex;
368
+ if (options?.distribution != null)
369
+ overrides.distribution = options.distribution;
370
+ const packet = this.buildForcePayload(current, Object.keys(overrides).length > 0 ? overrides : undefined);
371
+ packet.samples = samples;
372
+ if (options?.battRaw != null)
373
+ packet.battRaw = options.battRaw;
374
+ return packet;
375
+ }
292
376
  /**
293
377
  * Sets the callback function to be called when the activity status changes,
294
378
  * and optionally sets the configuration for threshold and duration.
@@ -451,16 +535,29 @@ export class Device extends BaseModel {
451
535
  return "";
452
536
  }
453
537
  return packets
454
- .map((packet) => [
455
- packet.received.toString(),
456
- packet.sampleNum.toString(),
457
- packet.battRaw.toString(),
458
- ...packet.samples.map(String),
459
- ...packet.masses.map(String),
460
- ]
461
- .map((v) => v.replace(/"/g, '""'))
462
- .map((v) => `"${v}"`)
463
- .join(","))
538
+ .map((packet) => {
539
+ const forceValues = packet.distribution != null
540
+ ? [
541
+ packet.distribution.left?.current ?? "",
542
+ packet.distribution.center?.current ?? "",
543
+ packet.distribution.right?.current ?? "",
544
+ ].map((v) => (v !== "" ? String(v) : ""))
545
+ : [packet.current.toString()];
546
+ return [
547
+ packet.timestamp.toString(),
548
+ packet.current.toString(),
549
+ packet.peak.toString(),
550
+ packet.mean.toString(),
551
+ packet.min.toString(),
552
+ (packet.performance?.sampleIndex ?? "").toString(),
553
+ (packet.battRaw ?? "").toString(),
554
+ ...packet.samples.map(String),
555
+ ...forceValues,
556
+ ]
557
+ .map((v) => v.replace(/"/g, '""'))
558
+ .map((v) => `"${v}"`)
559
+ .join(",");
560
+ })
464
561
  .join("\r\n");
465
562
  };
466
563
  /**
@@ -489,14 +586,26 @@ export class Device extends BaseModel {
489
586
  const xmlPackets = this.downloadPackets
490
587
  .map((packet) => {
491
588
  const samples = packet.samples.map((sample) => `<sample>${sample}</sample>`).join("");
492
- const masses = packet.masses.map((mass) => `<mass>${mass}</mass>`).join("");
589
+ const distributionElements = packet.distribution != null
590
+ ? [
591
+ packet.distribution.left?.current != null ? `<left>${packet.distribution.left.current}</left>` : "",
592
+ packet.distribution.center?.current != null
593
+ ? `<center>${packet.distribution.center.current}</center>`
594
+ : "",
595
+ packet.distribution.right?.current != null ? `<right>${packet.distribution.right.current}</right>` : "",
596
+ ].join("")
597
+ : "";
493
598
  return `
494
599
  <packet>
495
- <received>${packet.received}</received>
496
- <sampleNum>${packet.sampleNum}</sampleNum>
497
- <battRaw>${packet.battRaw}</battRaw>
600
+ <timestamp>${packet.timestamp}</timestamp>
601
+ <current>${packet.current}</current>
602
+ <peak>${packet.peak}</peak>
603
+ <mean>${packet.mean}</mean>
604
+ <min>${packet.min}</min>
605
+ ${packet.performance?.sampleIndex != null ? `<sampleIndex>${packet.performance.sampleIndex}</sampleIndex>` : ""}
606
+ ${packet.battRaw != null ? `<battRaw>${packet.battRaw}</battRaw>` : ""}
498
607
  <samples>${samples}</samples>
499
- <masses>${masses}</masses>
608
+ ${distributionElements}
500
609
  </packet>
501
610
  `;
502
611
  })
@@ -831,7 +940,7 @@ export class Device extends BaseModel {
831
940
  *
832
941
  * @example
833
942
  * // Example usage of the write function with a custom callback
834
- * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATT_VLTG, 250, (data) => {
943
+ * await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
835
944
  * console.log(`Battery voltage: ${data}`);
836
945
  * });
837
946
  */
@@ -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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"}