@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.
- package/README.md +16 -11
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/callback.interface.d.ts +19 -12
- package/dist/cjs/interfaces/callback.interface.d.ts.map +1 -1
- package/dist/cjs/interfaces/command.interface.d.ts +10 -6
- package/dist/cjs/interfaces/command.interface.d.ts.map +1 -1
- package/dist/cjs/interfaces/device/progressor.interface.d.ts +42 -0
- package/dist/cjs/interfaces/device/progressor.interface.d.ts.map +1 -1
- package/dist/cjs/interfaces/device.interface.d.ts +5 -3
- package/dist/cjs/interfaces/device.interface.d.ts.map +1 -1
- package/dist/cjs/interfaces/download.interface.d.ts +8 -11
- package/dist/cjs/interfaces/download.interface.d.ts.map +1 -1
- package/dist/cjs/models/device/climbro.model.d.ts.map +1 -1
- package/dist/cjs/models/device/climbro.model.js +34 -16
- package/dist/cjs/models/device/climbro.model.js.map +1 -1
- package/dist/cjs/models/device/entralpi.model.d.ts.map +1 -1
- package/dist/cjs/models/device/entralpi.model.js +11 -14
- package/dist/cjs/models/device/entralpi.model.js.map +1 -1
- package/dist/cjs/models/device/forceboard.model.d.ts +1 -0
- package/dist/cjs/models/device/forceboard.model.d.ts.map +1 -1
- package/dist/cjs/models/device/forceboard.model.js +15 -21
- package/dist/cjs/models/device/forceboard.model.js.map +1 -1
- package/dist/cjs/models/device/motherboard.model.d.ts.map +1 -1
- package/dist/cjs/models/device/motherboard.model.js +28 -20
- package/dist/cjs/models/device/motherboard.model.js.map +1 -1
- package/dist/cjs/models/device/pb-700bt.model.d.ts.map +1 -1
- package/dist/cjs/models/device/pb-700bt.model.js +11 -14
- package/dist/cjs/models/device/pb-700bt.model.js.map +1 -1
- package/dist/cjs/models/device/progressor.model.d.ts +47 -5
- package/dist/cjs/models/device/progressor.model.d.ts.map +1 -1
- package/dist/cjs/models/device/progressor.model.js +185 -49
- package/dist/cjs/models/device/progressor.model.js.map +1 -1
- package/dist/cjs/models/device/smartboard-pro.model.d.ts.map +1 -1
- package/dist/cjs/models/device/smartboard-pro.model.js +11 -16
- package/dist/cjs/models/device/smartboard-pro.model.js.map +1 -1
- package/dist/cjs/models/device/wh-c06.model.d.ts.map +1 -1
- package/dist/cjs/models/device/wh-c06.model.js +11 -14
- package/dist/cjs/models/device/wh-c06.model.js.map +1 -1
- package/dist/cjs/models/device.model.d.ts +74 -5
- package/dist/cjs/models/device.model.d.ts.map +1 -1
- package/dist/cjs/models/device.model.js +159 -44
- package/dist/cjs/models/device.model.js.map +1 -1
- package/dist/cjs/utils.d.ts +16 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +77 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/callback.interface.d.ts +19 -12
- package/dist/interfaces/callback.interface.d.ts.map +1 -1
- package/dist/interfaces/command.interface.d.ts +10 -6
- package/dist/interfaces/command.interface.d.ts.map +1 -1
- package/dist/interfaces/device/progressor.interface.d.ts +42 -0
- package/dist/interfaces/device/progressor.interface.d.ts.map +1 -1
- package/dist/interfaces/device.interface.d.ts +5 -3
- package/dist/interfaces/device.interface.d.ts.map +1 -1
- package/dist/interfaces/download.interface.d.ts +8 -11
- package/dist/interfaces/download.interface.d.ts.map +1 -1
- package/dist/models/device/climbro.model.d.ts.map +1 -1
- package/dist/models/device/climbro.model.js +34 -16
- package/dist/models/device/climbro.model.js.map +1 -1
- package/dist/models/device/entralpi.model.d.ts.map +1 -1
- package/dist/models/device/entralpi.model.js +11 -14
- package/dist/models/device/entralpi.model.js.map +1 -1
- package/dist/models/device/forceboard.model.d.ts +1 -0
- package/dist/models/device/forceboard.model.d.ts.map +1 -1
- package/dist/models/device/forceboard.model.js +15 -21
- package/dist/models/device/forceboard.model.js.map +1 -1
- package/dist/models/device/motherboard.model.d.ts.map +1 -1
- package/dist/models/device/motherboard.model.js +28 -20
- package/dist/models/device/motherboard.model.js.map +1 -1
- package/dist/models/device/pb-700bt.model.d.ts.map +1 -1
- package/dist/models/device/pb-700bt.model.js +11 -14
- package/dist/models/device/pb-700bt.model.js.map +1 -1
- package/dist/models/device/progressor.model.d.ts +47 -5
- package/dist/models/device/progressor.model.d.ts.map +1 -1
- package/dist/models/device/progressor.model.js +184 -49
- package/dist/models/device/progressor.model.js.map +1 -1
- package/dist/models/device/smartboard-pro.model.d.ts.map +1 -1
- package/dist/models/device/smartboard-pro.model.js +11 -16
- package/dist/models/device/smartboard-pro.model.js.map +1 -1
- package/dist/models/device/wh-c06.model.d.ts.map +1 -1
- package/dist/models/device/wh-c06.model.js +11 -14
- package/dist/models/device/wh-c06.model.js.map +1 -1
- package/dist/models/device.model.d.ts +74 -5
- package/dist/models/device.model.d.ts.map +1 -1
- package/dist/models/device.model.js +164 -45
- package/dist/models/device.model.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils.d.ts +16 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +73 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +0 -1
- package/src/interfaces/callback.interface.ts +21 -12
- package/src/interfaces/command.interface.ts +11 -6
- package/src/interfaces/device/progressor.interface.ts +50 -0
- package/src/interfaces/device.interface.ts +5 -3
- package/src/interfaces/download.interface.ts +9 -11
- package/src/models/device/climbro.model.ts +38 -20
- package/src/models/device/entralpi.model.ts +15 -17
- package/src/models/device/forceboard.model.ts +19 -24
- package/src/models/device/motherboard.model.ts +38 -26
- package/src/models/device/pb-700bt.model.ts +14 -16
- package/src/models/device/progressor.model.ts +198 -50
- package/src/models/device/smartboard-pro.model.ts +14 -19
- package/src/models/device/wh-c06.model.ts +14 -17
- package/src/models/device.model.ts +199 -48
- package/src/utils.ts +82 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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 (
|
|
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
|
-
|
|
25
|
-
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/callback.interface.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"callback.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/callback.interface.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IAEf,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAA;IAEZ,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAA;IAEZ,iHAAiH;IACjH,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sGAAsG;IACtG,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,yDAAyD;IACzD,IAAI,EAAE,SAAS,CAAA;IAEf,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAA;IAEjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAE9B,yEAAyE;IACzE,YAAY,CAAC,EAAE;QACb,gDAAgD;QAChD,IAAI,CAAC,EAAE,gBAAgB,CAAA;QAEvB,kDAAkD;QAClD,MAAM,CAAC,EAAE,gBAAgB,CAAA;QAEzB,iDAAiD;QACjD,KAAK,CAAC,EAAE,gBAAgB,CAAA;KACzB,CAAA;CACF;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAElD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA"}
|
|
@@ -62,31 +62,35 @@ export interface Commands {
|
|
|
62
62
|
* Adds a calibration point to the device.
|
|
63
63
|
* Used to improve the accuracy of future measurements.
|
|
64
64
|
*/
|
|
65
|
-
|
|
65
|
+
ADD_CALIBRATION_POINT?: string;
|
|
66
66
|
/**
|
|
67
67
|
* Saves the current calibration settings to the device.
|
|
68
68
|
* Ensures the device remembers the calibration for future sessions.
|
|
69
69
|
*/
|
|
70
|
-
|
|
70
|
+
SAVE_CALIBRATION?: string;
|
|
71
71
|
/**
|
|
72
72
|
* Retrieves the firmware version of the device.
|
|
73
73
|
* Useful for ensuring compatibility and tracking updates.
|
|
74
74
|
*/
|
|
75
|
-
|
|
75
|
+
GET_FIRMWARE_VERSION?: string;
|
|
76
76
|
/**
|
|
77
77
|
* Retrieves error information from the device.
|
|
78
78
|
* Provides details on any faults or issues that occurred during operation.
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
GET_ERROR_INFORMATION?: string;
|
|
81
81
|
/**
|
|
82
82
|
* Clears the error information on the device.
|
|
83
83
|
* Used to reset error logs after troubleshooting or repair.
|
|
84
84
|
*/
|
|
85
|
-
|
|
85
|
+
CLR_ERROR_INFORMATION?: string;
|
|
86
86
|
/**
|
|
87
87
|
* Retrieves the battery voltage level of the device.
|
|
88
88
|
* Provides insight into the device's remaining battery power.
|
|
89
89
|
*/
|
|
90
|
-
|
|
90
|
+
GET_BATTERY_VOLTAGE?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Get the Progressor ID.
|
|
93
|
+
*/
|
|
94
|
+
GET_PROGRESSOR_ID?: string;
|
|
91
95
|
}
|
|
92
96
|
//# sourceMappingURL=command.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/command.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IAGvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAIxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAIzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;IAEnC;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"command.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/command.interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IAGvB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAIxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAIzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;IAEnC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B"}
|
|
@@ -13,6 +13,37 @@ export interface IProgressor extends IDevice {
|
|
|
13
13
|
* @returns {Promise<string>} A Promise that resolves with the firmware version.
|
|
14
14
|
*/
|
|
15
15
|
firmware(): Promise<string | undefined>;
|
|
16
|
+
/**
|
|
17
|
+
* Retrieves the Progressor ID from the device. Formatted as hex MSB-first to match the official app.
|
|
18
|
+
* @returns {Promise<string | undefined>} A Promise that resolves with the device ID hex string.
|
|
19
|
+
*/
|
|
20
|
+
progressorId(): Promise<string | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Retrieves calibration curve from the device (opcode 0x72). Payload is 12 opaque bytes;
|
|
23
|
+
* parsed for display as zero-point, ref-point, and version (3× uint32 LE) plus hex.
|
|
24
|
+
* @returns {Promise<string | undefined>} A Promise that resolves with a display string (e.g. "hex — zero-point: X | ref-point: Y | version: Z").
|
|
25
|
+
*/
|
|
26
|
+
calibration(): Promise<string | undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* Saves the current calibration settings to the device.
|
|
29
|
+
* @returns {Promise<void>} A Promise that resolves when the command is sent.
|
|
30
|
+
*/
|
|
31
|
+
saveCalibration(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Puts the device to sleep / shutdown.
|
|
34
|
+
* @returns {Promise<void>} A Promise that resolves when the command is sent.
|
|
35
|
+
*/
|
|
36
|
+
sleep(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves error information from the device.
|
|
39
|
+
* @returns {Promise<string | undefined>} A Promise that resolves with the error info text.
|
|
40
|
+
*/
|
|
41
|
+
errorInfo(): Promise<string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Clears error information on the device.
|
|
44
|
+
* @returns {Promise<void>} A Promise that resolves when the command is sent.
|
|
45
|
+
*/
|
|
46
|
+
clearErrorInfo(): Promise<void>;
|
|
16
47
|
/**
|
|
17
48
|
* Stops the data stream on the specified device.
|
|
18
49
|
* @returns {Promise<void>} A promise that resolves when the stream is stopped.
|
|
@@ -24,5 +55,16 @@ export interface IProgressor extends IDevice {
|
|
|
24
55
|
* @returns {Promise<void>} A promise that resolves when the streaming operation is completed.
|
|
25
56
|
*/
|
|
26
57
|
stream(duration?: number): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Adds a calibration point. Use 0 for zero point, then known weight; then saveCalibration().
|
|
60
|
+
* @param weightKg - Weight in kg (0 or known reference < 150 kg).
|
|
61
|
+
*/
|
|
62
|
+
addCalibrationPoint(weightKg: number): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Sends the device tare command to zero the scale (hardware tare).
|
|
65
|
+
* For software tare over a duration, use the base tare(duration) method.
|
|
66
|
+
* @returns {Promise<void>} A Promise that resolves when the command is sent.
|
|
67
|
+
*/
|
|
68
|
+
tareScale(): Promise<void>;
|
|
27
69
|
}
|
|
28
70
|
//# sourceMappingURL=progressor.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressor.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/device/progressor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEtC;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEvC;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"progressor.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/device/progressor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEtC;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEvC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAE3C;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAE1C;;;OAGG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhC;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtB;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAExC;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/B;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExC;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpD;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IBase } from "./base.interface.js";
|
|
2
|
-
import type { ForceMeasurement } from "./callback.interface.js";
|
|
2
|
+
import type { ForceMeasurement, ForceUnit } from "./callback.interface.js";
|
|
3
3
|
import type { Commands } from "./command.interface.js";
|
|
4
4
|
/**
|
|
5
5
|
* Represents a characteristic of a Bluetooth service.
|
|
@@ -143,6 +143,7 @@ export interface IDevice extends IBase {
|
|
|
143
143
|
/**
|
|
144
144
|
* Sets the callback function to be called when notifications are received.
|
|
145
145
|
* @param {NotifyCallback} callback - The callback function to be set.
|
|
146
|
+
* @param {ForceUnit} [unit="kg"] - Display unit for force values in the callback payload.
|
|
146
147
|
* @returns {void}
|
|
147
148
|
* @public
|
|
148
149
|
*
|
|
@@ -150,8 +151,9 @@ export interface IDevice extends IBase {
|
|
|
150
151
|
* device.notify((data) => {
|
|
151
152
|
* console.log('Received notification:', data);
|
|
152
153
|
* });
|
|
154
|
+
* device.notify((data) => { ... }, 'lbs');
|
|
153
155
|
*/
|
|
154
|
-
notify(callback: (data: ForceMeasurement) => void): void;
|
|
156
|
+
notify(callback: (data: ForceMeasurement) => void, unit?: ForceUnit): void;
|
|
155
157
|
/**
|
|
156
158
|
* Reads the value of the specified characteristic from the device.
|
|
157
159
|
* @param {string} serviceId - The service ID where the characteristic belongs.
|
|
@@ -193,7 +195,7 @@ export interface IDevice extends IBase {
|
|
|
193
195
|
*
|
|
194
196
|
* @example
|
|
195
197
|
* // Example usage of the write function with a custom callback
|
|
196
|
-
* await Progressor.write("progressor", "tx", ProgressorCommands.
|
|
198
|
+
* await Progressor.write("progressor", "tx", ProgressorCommands.GET_BATTERY_VOLTAGE, 250, (data) => {
|
|
197
199
|
* console.log(`Battery voltage: ${data}`);
|
|
198
200
|
* });
|
|
199
201
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/device.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"device.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/device.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;GAEG;AACH,UAAU,cAAc;IACtB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,cAAc,CAAC,EAAE,iCAAiC,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,yDAAyD;IACzD,eAAe,EAAE,cAAc,EAAE,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,KAAK;IACpC;;;;;;OAMG;IACH,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAEhC;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;IAE3B;;;;;;OAMG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAElB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAErG;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhF;;;;;;;;;;;OAWG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;IAE/C;;;;;;;;;;;OAWG;IACH,WAAW,IAAI,OAAO,CAAA;IAEtB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAE1E;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAEjG;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EACxC,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
+
import type { ForceMeasurement } from "./callback.interface.js";
|
|
1
2
|
/**
|
|
2
|
-
* Represents a single data packet.
|
|
3
|
+
* Represents a single data packet for export (CSV, JSON, XML).
|
|
4
|
+
* Extends ForceMeasurement with export-specific fields. Force values come from
|
|
5
|
+
* `current` (single-sample) or `distribution` (multi-zone, e.g. Motherboard).
|
|
3
6
|
*/
|
|
4
|
-
export interface DownloadPacket {
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
sampleNum: number;
|
|
9
|
-
/** Battery raw value */
|
|
10
|
-
battRaw: number;
|
|
11
|
-
/** Array of sample values */
|
|
7
|
+
export interface DownloadPacket extends ForceMeasurement {
|
|
8
|
+
/** Battery raw value (device-specific, 0 when N/A) */
|
|
9
|
+
battRaw?: number;
|
|
10
|
+
/** Raw sensor/ADC values from device */
|
|
12
11
|
samples: number[];
|
|
13
|
-
/** Array of mass values */
|
|
14
|
-
masses: number[];
|
|
15
12
|
}
|
|
16
13
|
//# sourceMappingURL=download.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/download.interface.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"download.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/download.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"climbro.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAoB5E;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,MAAO,YAAW,QAAQ;IACrD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAEtE;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAI;IAEvB;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAI;;IAsBxB;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9C;IAED;;;;;OAKG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"climbro.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAA;AAoB5E;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,MAAO,YAAW,QAAQ;IACrD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAc;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAEtE;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAI;IAEvB;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAI;;IAsBxB;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9C;IAED;;;;;OAKG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CA2FrD;CACF"}
|
|
@@ -77,13 +77,34 @@ export class Climbro extends Device {
|
|
|
77
77
|
*/
|
|
78
78
|
handleNotifications = (value) => {
|
|
79
79
|
if (value) {
|
|
80
|
-
// Update timestamp
|
|
81
80
|
this.updateTimestamp();
|
|
82
81
|
if (value.buffer) {
|
|
83
|
-
const receivedTime = Date.now();
|
|
84
|
-
// Convert DataView to Uint8Array for easier processing
|
|
85
82
|
const buffer = new Uint8Array(value.buffer);
|
|
86
83
|
const byteCount = buffer.length;
|
|
84
|
+
let flagSynchro = this.flagSynchro;
|
|
85
|
+
let forceCount = 0;
|
|
86
|
+
for (let i = 0; i < byteCount; i++) {
|
|
87
|
+
let b = buffer[i];
|
|
88
|
+
if (b === ClimbroResponses.BAT_DAT) {
|
|
89
|
+
flagSynchro = ClimbroResponses.BAT_DAT;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (b === ClimbroResponses.SENS_DAT) {
|
|
93
|
+
flagSynchro = ClimbroResponses.SENS_DAT;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (b === ClimbroResponses.DAT_36KG) {
|
|
97
|
+
b = 36;
|
|
98
|
+
}
|
|
99
|
+
if (flagSynchro === ClimbroResponses.BAT_DAT)
|
|
100
|
+
continue;
|
|
101
|
+
if (flagSynchro === ClimbroResponses.SENS_DAT) {
|
|
102
|
+
forceCount++;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
this.currentSamplesPerPacket = forceCount;
|
|
106
|
+
this.recordPacketReceived();
|
|
107
|
+
const receivedTime = Date.now();
|
|
87
108
|
for (let i = 0; i < byteCount; i++) {
|
|
88
109
|
let signalValue = buffer[i];
|
|
89
110
|
// Check for battery data marker
|
|
@@ -110,25 +131,22 @@ export class Climbro extends Device {
|
|
|
110
131
|
// Process force data inline
|
|
111
132
|
const forceValue = signalValue;
|
|
112
133
|
const numericData = forceValue - this.applyTare(forceValue);
|
|
113
|
-
// Add data to downloadable array
|
|
114
|
-
this.downloadPackets.push({
|
|
115
|
-
received: receivedTime,
|
|
116
|
-
sampleNum: this.dataPointCount,
|
|
117
|
-
battRaw: this.batteryLevel,
|
|
118
|
-
samples: [forceValue],
|
|
119
|
-
masses: [numericData],
|
|
120
|
-
});
|
|
121
|
-
// Check for max weight
|
|
122
|
-
this.peak = Math.max(this.peak, Number(numericData));
|
|
123
|
-
// Update running sum and count
|
|
124
134
|
const currentMassTotal = Math.max(-1000, Number(numericData));
|
|
135
|
+
// Update session stats before building packet (so packet reflects this sample)
|
|
136
|
+
this.peak = Math.max(this.peak, Number(numericData));
|
|
137
|
+
this.min = Math.min(this.min, Math.max(-1000, Number(numericData)));
|
|
125
138
|
this.sum += currentMassTotal;
|
|
126
139
|
this.dataPointCount++;
|
|
127
|
-
// Calculate the average dynamically
|
|
128
140
|
this.mean = this.sum / this.dataPointCount;
|
|
141
|
+
// Add data to downloadable array
|
|
142
|
+
this.downloadPackets.push(this.buildDownloadPacket(currentMassTotal, [forceValue], {
|
|
143
|
+
timestamp: receivedTime,
|
|
144
|
+
battRaw: this.batteryLevel,
|
|
145
|
+
sampleIndex: this.dataPointCount,
|
|
146
|
+
}));
|
|
129
147
|
// Check if device is being used
|
|
130
148
|
this.activityCheck(numericData);
|
|
131
|
-
this.notifyCallback(this.buildForceMeasurement(
|
|
149
|
+
this.notifyCallback(this.buildForceMeasurement(currentMassTotal));
|
|
132
150
|
continue;
|
|
133
151
|
}
|
|
134
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"climbro.model.js","sourceRoot":"","sources":["../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C;;GAEG;AACH,IAAK,gBAaJ;AAbD,WAAK,gBAAgB;IACnB;;OAEG;IACH,+DAAc,CAAA;IACd;;OAEG;IACH,iEAAe,CAAA;IACf;;OAEG;IACH,iEAAe,CAAA;AACjB,CAAC,EAbI,gBAAgB,KAAhB,gBAAgB,QAapB;AAED;;;GAGG;AACH,MAAM,OAAO,OAAQ,SAAQ,MAAM;IACjC;;OAEG;IACK,MAAM,CAAU,cAAc,GAAW,GAAG,CAAA;IAC5C,MAAM,CAAU,cAAc,GAAW,GAAG,CAAA;IAC5C,MAAM,CAAU,YAAY,GAAW,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IAChF,MAAM,CAAU,YAAY,GAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAA;IAEtE;;;;;OAKG;IACK,WAAW,GAAG,CAAC,CAAA;IAEvB;;;;OAIG;IACK,YAAY,GAAG,CAAC,CAAA;IAExB;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACpC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,0BAA0B;oBAChC,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,aAAa;4BACnB,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,GAAG,KAAK,IAAiC,EAAE;QAChD,0DAA0D;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC,CAAA;IAED;;;;;OAKG;IACM,mBAAmB,GAAG,CAAC,KAAe,EAAQ,EAAE;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,
|
|
1
|
+
{"version":3,"file":"climbro.model.js","sourceRoot":"","sources":["../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entralpi.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/entralpi.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E;;;GAGG;AACH,qBAAa,QAAS,SAAQ,MAAO,YAAW,SAAS;;IA2HvD;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE9C;IAED;;;OAGG;IACH,aAAa,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpD;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;;;;OAMG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"entralpi.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/entralpi.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAE9E;;;GAGG;AACH,qBAAa,QAAS,SAAQ,MAAO,YAAW,SAAS;;IA2HvD;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE9C;IAED;;;OAGG;IACH,aAAa,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEpD;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;;;;OAMG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CAuCrD;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;OAGG;IACH,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnD;IAED;;;OAGG;IACH,KAAK,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE5C;IAED;;;;OAIG;IACH,GAAG,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE1C;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;OAGG;IACH,MAAM,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7C;CACF"}
|
|
@@ -155,9 +155,10 @@ export class Entralpi extends Device {
|
|
|
155
155
|
*/
|
|
156
156
|
handleNotifications = (value) => {
|
|
157
157
|
if (value) {
|
|
158
|
-
// Update timestamp
|
|
159
158
|
this.updateTimestamp();
|
|
160
159
|
if (value.buffer) {
|
|
160
|
+
this.currentSamplesPerPacket = 1;
|
|
161
|
+
this.recordPacketReceived();
|
|
161
162
|
const receivedTime = Date.now();
|
|
162
163
|
const receivedData = (value.getUint16(0) / 100).toFixed(1);
|
|
163
164
|
const convertedData = Number(receivedData);
|
|
@@ -166,26 +167,22 @@ export class Entralpi extends Device {
|
|
|
166
167
|
// This will display the removed or 'no-hanging' weight.
|
|
167
168
|
const tare = this.applyTare(convertedData);
|
|
168
169
|
const numericData = tare === 0 ? convertedData : (convertedData - tare) * -1;
|
|
169
|
-
// Add data to downloadable Array
|
|
170
|
-
this.downloadPackets.push({
|
|
171
|
-
received: receivedTime,
|
|
172
|
-
sampleNum: this.dataPointCount,
|
|
173
|
-
battRaw: 0,
|
|
174
|
-
samples: [convertedData],
|
|
175
|
-
masses: [numericData],
|
|
176
|
-
});
|
|
177
|
-
// Update peak
|
|
178
|
-
this.peak = Math.max(this.peak, numericData);
|
|
179
|
-
// Update running sum and count
|
|
180
170
|
const currentMassTotal = Math.max(-1000, numericData);
|
|
171
|
+
// Update session stats before building packet
|
|
172
|
+
this.peak = Math.max(this.peak, numericData);
|
|
173
|
+
this.min = Math.min(this.min, Math.max(-1000, numericData));
|
|
181
174
|
this.sum += currentMassTotal;
|
|
182
175
|
this.dataPointCount++;
|
|
183
|
-
// Calculate the average dynamically
|
|
184
176
|
this.mean = this.sum / this.dataPointCount;
|
|
177
|
+
// Add data to downloadable Array
|
|
178
|
+
this.downloadPackets.push(this.buildDownloadPacket(currentMassTotal, [convertedData], {
|
|
179
|
+
timestamp: receivedTime,
|
|
180
|
+
sampleIndex: this.dataPointCount,
|
|
181
|
+
}));
|
|
185
182
|
// Check if device is being used
|
|
186
183
|
this.activityCheck(numericData);
|
|
187
184
|
// Notify with weight data
|
|
188
|
-
this.notifyCallback(this.buildForceMeasurement(
|
|
185
|
+
this.notifyCallback(this.buildForceMeasurement(currentMassTotal));
|
|
189
186
|
}
|
|
190
187
|
}
|
|
191
188
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entralpi.model.js","sourceRoot":"","sources":["../../../src/models/device/entralpi.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,MAAM;IAClC;QACE,KAAK,CAAC;YACJ,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,WAAW;4BACjB,EAAE,EAAE,QAAQ;4BACZ,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,qBAAqB;4BAC3B,EAAE,EAAE,OAAO;4BACX,IAAI,EAAE,sCAAsC;yBAC7C;wBACD,IAAI;wBACJ,4CAA4C;wBAC5C,kBAAkB;wBAClB,kDAAkD;wBAClD,KAAK;wBACL;4BACE,IAAI,EAAE,0BAA0B;4BAChC,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,0BAA0B;4BAChC,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,0BAA0B;4BAChC,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,0BAA0B;4BAChC,EAAE,EAAE,cAAc;4BAClB,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,qDAAqD;4BAC3D,EAAE,EAAE,eAAe;4BACnB,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,eAAe;4BACrB,EAAE,EAAE,OAAO;4BACX,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,mBAAmB;oBACzB,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,EAAE;4BACR,EAAE,EAAE,EAAE;4BACN,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,EAAE;4BACR,EAAE,EAAE,EAAE;4BACN,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,+BAA+B;oBACrC,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,IAAI;4BACV,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,sCAAsC;yBAC7C;wBACD;4BACE,IAAI,EAAE,IAAI;4BACV,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,sCAAsC;oBAC5C,eAAe,EAAE;wBACf;4BACE,IAAI,EAAE,QAAQ;4BACd,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,sCAAsC;yBAC7C;qBACF;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,GAAG,KAAK,IAAiC,EAAE;QAChD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC,CAAA;IAED;;;OAGG;IACH,aAAa,GAAG,KAAK,IAAiC,EAAE;QACtD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC,CAAA;IAED;;;OAGG;IACH,QAAQ,GAAG,KAAK,IAAiC,EAAE;QACjD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;IACnD,CAAC,CAAA;IAED;;;;;;OAMG;IACM,mBAAmB,GAAG,CAAC,KAAe,EAAQ,EAAE;QACvD,IAAI,KAAK,EAAE,CAAC;YACV,
|
|
1
|
+
{"version":3,"file":"entralpi.model.js","sourceRoot":"","sources":["../../../src/models/device/entralpi.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { IForceBoard } from "../../interfaces/device/forceboard.interface.j
|
|
|
5
5
|
* {@link https://pitchsix.com}
|
|
6
6
|
*/
|
|
7
7
|
export declare class ForceBoard extends Device implements IForceBoard {
|
|
8
|
+
protected streamUnit: "lbs";
|
|
8
9
|
constructor();
|
|
9
10
|
/**
|
|
10
11
|
* Retrieves battery or voltage information from the device.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forceboard.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/forceboard.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAElF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,MAAO,YAAW,WAAW;;
|
|
1
|
+
{"version":3,"file":"forceboard.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/forceboard.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAA;AAElF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,MAAO,YAAW,WAAW;IAC3D,UAAmB,UAAU,EAAG,KAAK,CAAS;;IAuK9C;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE9C;IAED;;;;;;OAMG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CA4CrD;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;OAGG;IACH,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnD;IAED;;;OAGG;IACH,IAAI,QAAa,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;;;OAIG;IACH,MAAM,GAAU,iBAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAG3C;IAED;;;;OAIG;IACH,SAAS,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAStD;IAED;;;OAGG;IACH,oBAAoB,QAAa,OAAO,CAAC,IAAI,CAAC,CAI7C;IAED;;;;OAIG;IACH,UAAU,QAAa,OAAO,CAAC,IAAI,CAAC,CAEnC;IAED;;;OAGG;IACH,WAAW,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElD;IAED;;;;;OAKG;IACH,KAAK,GAAU,iBAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAG1C;CACF"}
|
|
@@ -4,6 +4,7 @@ import { Device } from "../device.model.js";
|
|
|
4
4
|
* {@link https://pitchsix.com}
|
|
5
5
|
*/
|
|
6
6
|
export class ForceBoard extends Device {
|
|
7
|
+
streamUnit = "lbs";
|
|
7
8
|
constructor() {
|
|
8
9
|
super({
|
|
9
10
|
filters: [{ name: "Force Board" }],
|
|
@@ -184,43 +185,36 @@ export class ForceBoard extends Device {
|
|
|
184
185
|
*/
|
|
185
186
|
handleNotifications = (value) => {
|
|
186
187
|
if (value) {
|
|
187
|
-
// Update timestamp
|
|
188
188
|
this.updateTimestamp();
|
|
189
189
|
if (value.buffer) {
|
|
190
190
|
const receivedTime = Date.now();
|
|
191
191
|
const dataArray = new Uint8Array(value.buffer);
|
|
192
|
-
// First two bytes contain the number of samples in the packet
|
|
193
192
|
const numSamples = (dataArray[0] << 8) | dataArray[1];
|
|
194
|
-
|
|
193
|
+
this.currentSamplesPerPacket = numSamples;
|
|
194
|
+
this.recordPacketReceived();
|
|
195
195
|
for (let i = 0; i < numSamples; i++) {
|
|
196
196
|
const offset = 2 + i * 3; // Skip the first 2 bytes which indicate number of samples
|
|
197
197
|
if (offset + 2 < dataArray.length) {
|
|
198
|
-
// Sample = byte1*32768 + byte2*256 + byte3
|
|
198
|
+
// Sample = byte1*32768 + byte2*256 + byte3 (device streams in LBS)
|
|
199
199
|
const receivedData = dataArray[offset] * 32768 + dataArray[offset + 1] * 256 + dataArray[offset + 2];
|
|
200
|
-
// Convert from LBS to KG
|
|
201
|
-
const convertedReceivedData = receivedData * 0.453592;
|
|
202
200
|
// Tare correction
|
|
203
|
-
const numericData =
|
|
204
|
-
// Add data to downloadable Array
|
|
205
|
-
this.downloadPackets.push({
|
|
206
|
-
received: receivedTime,
|
|
207
|
-
sampleNum: this.dataPointCount,
|
|
208
|
-
battRaw: 0,
|
|
209
|
-
samples: [convertedReceivedData],
|
|
210
|
-
masses: [numericData],
|
|
211
|
-
});
|
|
212
|
-
// Update peak
|
|
213
|
-
this.peak = Math.max(this.peak, numericData);
|
|
214
|
-
// Update running sum and count
|
|
201
|
+
const numericData = receivedData - this.applyTare(receivedData);
|
|
215
202
|
const currentMassTotal = Math.max(-1000, numericData);
|
|
203
|
+
// Update session stats before building packet
|
|
204
|
+
this.peak = Math.max(this.peak, numericData);
|
|
205
|
+
this.min = Math.min(this.min, Math.max(-1000, numericData));
|
|
216
206
|
this.sum += currentMassTotal;
|
|
217
207
|
this.dataPointCount++;
|
|
218
|
-
// Calculate the average dynamically
|
|
219
208
|
this.mean = this.sum / this.dataPointCount;
|
|
209
|
+
// Add data to downloadable Array (raw and tare-adjusted, both in LBS)
|
|
210
|
+
this.downloadPackets.push(this.buildDownloadPacket(currentMassTotal, [receivedData], {
|
|
211
|
+
timestamp: receivedTime,
|
|
212
|
+
sampleIndex: this.dataPointCount,
|
|
213
|
+
}));
|
|
220
214
|
// Check if device is being used
|
|
221
215
|
this.activityCheck(numericData);
|
|
222
216
|
// Notify with weight data
|
|
223
|
-
this.notifyCallback(this.buildForceMeasurement(
|
|
217
|
+
this.notifyCallback(this.buildForceMeasurement(currentMassTotal));
|
|
224
218
|
}
|
|
225
219
|
}
|
|
226
220
|
}
|
|
@@ -253,7 +247,7 @@ export class ForceBoard extends Device {
|
|
|
253
247
|
* @returns {Promise<void>} A promise that resolves when the streaming operation is completed.
|
|
254
248
|
*/
|
|
255
249
|
stream = async (duration = 0) => {
|
|
256
|
-
|
|
250
|
+
this.resetPacketTracking();
|
|
257
251
|
await this.write("weight", "tx", this.commands.START_WEIGHT_MEAS, duration);
|
|
258
252
|
};
|
|
259
253
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forceboard.model.js","sourceRoot":"","sources":["../../../src/models/device/forceboard.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAG3C;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"forceboard.model.js","sourceRoot":"","sources":["../../../src/models/device/forceboard.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motherboard.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/motherboard.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;
|
|
1
|
+
{"version":3,"file":"motherboard.model.d.ts","sourceRoot":"","sources":["../../../src/models/device/motherboard.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAA;AAEpF;;;GAGG;AACH,qBAAa,WAAY,SAAQ,MAAO,YAAW,YAAY;IAC7D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAa;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;IAEjD;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAe;IAEpC;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAiC;IAExD,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAI;;IA4FpB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAkCvB;IAED;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE9C;IAED;;;OAGG;IACH,WAAW,QAAa,OAAO,CAAC,IAAI,CAAC,CAIpC;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;;;;OAMG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CAuIrD;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;;OAIG;IACH,GAAG,GAAU,SAAS,OAAO,GAAG,KAAK,GAAG,QAAQ,KAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAe/E;IAED;;;OAGG;IACH,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEnD;IAED;;;OAGG;IACH,MAAM,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7C;IAED;;;OAGG;IACH,IAAI,QAAa,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;;;OAIG;IACH,MAAM,GAAU,iBAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAa3C;IAED;;;;;;;;OAQG;IACH,IAAI,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM3C;CACF"}
|