@hangtime/grip-connect 0.10.9 → 0.13.0

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 (125) hide show
  1. package/README.md +14 -3
  2. package/dist/cjs/index.d.ts +2 -2
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +2 -1
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/interfaces/command.interface.d.ts +120 -20
  7. package/dist/cjs/interfaces/command.interface.d.ts.map +1 -1
  8. package/dist/cjs/interfaces/device/climbro.interface.d.ts +25 -0
  9. package/dist/cjs/interfaces/device/climbro.interface.d.ts.map +1 -1
  10. package/dist/cjs/interfaces/device/cts500.interface.d.ts +96 -0
  11. package/dist/cjs/interfaces/device/cts500.interface.d.ts.map +1 -0
  12. package/dist/cjs/interfaces/device/cts500.interface.js +3 -0
  13. package/dist/cjs/interfaces/device/cts500.interface.js.map +1 -0
  14. package/dist/cjs/interfaces/device/forceboard.interface.d.ts +2 -2
  15. package/dist/cjs/interfaces/device/forceboard.interface.d.ts.map +1 -1
  16. package/dist/cjs/interfaces/device/progressor.interface.d.ts +17 -7
  17. package/dist/cjs/interfaces/device/progressor.interface.d.ts.map +1 -1
  18. package/dist/cjs/interfaces/index.d.ts +2 -0
  19. package/dist/cjs/interfaces/index.d.ts.map +1 -1
  20. package/dist/cjs/interfaces/nordic.interface.d.ts +47 -0
  21. package/dist/cjs/interfaces/nordic.interface.d.ts.map +1 -0
  22. package/dist/cjs/interfaces/nordic.interface.js +3 -0
  23. package/dist/cjs/interfaces/nordic.interface.js.map +1 -0
  24. package/dist/cjs/models/device/climbro.model.d.ts +25 -0
  25. package/dist/cjs/models/device/climbro.model.d.ts.map +1 -1
  26. package/dist/cjs/models/device/climbro.model.js +93 -1
  27. package/dist/cjs/models/device/climbro.model.js.map +1 -1
  28. package/dist/cjs/models/device/cts500.model.d.ts +173 -0
  29. package/dist/cjs/models/device/cts500.model.d.ts.map +1 -0
  30. package/dist/cjs/models/device/cts500.model.js +588 -0
  31. package/dist/cjs/models/device/cts500.model.js.map +1 -0
  32. package/dist/cjs/models/device/entralpi.model.d.ts.map +1 -1
  33. package/dist/cjs/models/device/entralpi.model.js +3 -5
  34. package/dist/cjs/models/device/entralpi.model.js.map +1 -1
  35. package/dist/cjs/models/device/forceboard.model.d.ts +2 -2
  36. package/dist/cjs/models/device/forceboard.model.d.ts.map +1 -1
  37. package/dist/cjs/models/device/forceboard.model.js +3 -14
  38. package/dist/cjs/models/device/forceboard.model.js.map +1 -1
  39. package/dist/cjs/models/device/progressor.model.d.ts +25 -12
  40. package/dist/cjs/models/device/progressor.model.d.ts.map +1 -1
  41. package/dist/cjs/models/device/progressor.model.js +82 -31
  42. package/dist/cjs/models/device/progressor.model.js.map +1 -1
  43. package/dist/cjs/models/device.model.d.ts +7 -0
  44. package/dist/cjs/models/device.model.d.ts.map +1 -1
  45. package/dist/cjs/models/device.model.js +52 -32
  46. package/dist/cjs/models/device.model.js.map +1 -1
  47. package/dist/cjs/models/index.d.ts +2 -0
  48. package/dist/cjs/models/index.d.ts.map +1 -1
  49. package/dist/cjs/models/index.js +6 -1
  50. package/dist/cjs/models/index.js.map +1 -1
  51. package/dist/cjs/models/nordic.model.d.ts +128 -0
  52. package/dist/cjs/models/nordic.model.d.ts.map +1 -0
  53. package/dist/cjs/models/nordic.model.js +405 -0
  54. package/dist/cjs/models/nordic.model.js.map +1 -0
  55. package/dist/index.d.ts +2 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/interfaces/command.interface.d.ts +120 -20
  60. package/dist/interfaces/command.interface.d.ts.map +1 -1
  61. package/dist/interfaces/device/climbro.interface.d.ts +25 -0
  62. package/dist/interfaces/device/climbro.interface.d.ts.map +1 -1
  63. package/dist/interfaces/device/cts500.interface.d.ts +96 -0
  64. package/dist/interfaces/device/cts500.interface.d.ts.map +1 -0
  65. package/dist/interfaces/device/cts500.interface.js +2 -0
  66. package/dist/interfaces/device/cts500.interface.js.map +1 -0
  67. package/dist/interfaces/device/forceboard.interface.d.ts +2 -2
  68. package/dist/interfaces/device/forceboard.interface.d.ts.map +1 -1
  69. package/dist/interfaces/device/progressor.interface.d.ts +17 -7
  70. package/dist/interfaces/device/progressor.interface.d.ts.map +1 -1
  71. package/dist/interfaces/index.d.ts +2 -0
  72. package/dist/interfaces/index.d.ts.map +1 -1
  73. package/dist/interfaces/nordic.interface.d.ts +47 -0
  74. package/dist/interfaces/nordic.interface.d.ts.map +1 -0
  75. package/dist/interfaces/nordic.interface.js +2 -0
  76. package/dist/interfaces/nordic.interface.js.map +1 -0
  77. package/dist/models/device/climbro.model.d.ts +25 -0
  78. package/dist/models/device/climbro.model.d.ts.map +1 -1
  79. package/dist/models/device/climbro.model.js +93 -1
  80. package/dist/models/device/climbro.model.js.map +1 -1
  81. package/dist/models/device/cts500.model.d.ts +173 -0
  82. package/dist/models/device/cts500.model.d.ts.map +1 -0
  83. package/dist/models/device/cts500.model.js +584 -0
  84. package/dist/models/device/cts500.model.js.map +1 -0
  85. package/dist/models/device/entralpi.model.d.ts.map +1 -1
  86. package/dist/models/device/entralpi.model.js +3 -5
  87. package/dist/models/device/entralpi.model.js.map +1 -1
  88. package/dist/models/device/forceboard.model.d.ts +2 -2
  89. package/dist/models/device/forceboard.model.d.ts.map +1 -1
  90. package/dist/models/device/forceboard.model.js +3 -14
  91. package/dist/models/device/forceboard.model.js.map +1 -1
  92. package/dist/models/device/progressor.model.d.ts +25 -12
  93. package/dist/models/device/progressor.model.d.ts.map +1 -1
  94. package/dist/models/device/progressor.model.js +82 -31
  95. package/dist/models/device/progressor.model.js.map +1 -1
  96. package/dist/models/device.model.d.ts +7 -0
  97. package/dist/models/device.model.d.ts.map +1 -1
  98. package/dist/models/device.model.js +51 -32
  99. package/dist/models/device.model.js.map +1 -1
  100. package/dist/models/index.d.ts +2 -0
  101. package/dist/models/index.d.ts.map +1 -1
  102. package/dist/models/index.js +2 -0
  103. package/dist/models/index.js.map +1 -1
  104. package/dist/models/nordic.model.d.ts +128 -0
  105. package/dist/models/nordic.model.d.ts.map +1 -0
  106. package/dist/models/nordic.model.js +393 -0
  107. package/dist/models/nordic.model.js.map +1 -0
  108. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  109. package/package.json +4 -3
  110. package/src/index.ts +2 -0
  111. package/src/interfaces/command.interface.ts +143 -20
  112. package/src/interfaces/device/climbro.interface.ts +30 -0
  113. package/src/interfaces/device/cts500.interface.ts +113 -0
  114. package/src/interfaces/device/forceboard.interface.ts +2 -2
  115. package/src/interfaces/device/progressor.interface.ts +19 -7
  116. package/src/interfaces/index.ts +4 -0
  117. package/src/interfaces/nordic.interface.ts +47 -0
  118. package/src/models/device/climbro.model.ts +98 -1
  119. package/src/models/device/cts500.model.ts +702 -0
  120. package/src/models/device/entralpi.model.ts +3 -5
  121. package/src/models/device/forceboard.model.ts +3 -14
  122. package/src/models/device/progressor.model.ts +86 -31
  123. package/src/models/device.model.ts +60 -32
  124. package/src/models/index.ts +4 -0
  125. package/src/models/nordic.model.ts +468 -0
@@ -31,6 +31,31 @@ export declare class Climbro extends Device implements IClimbro {
31
31
  * @returns {Promise<string | undefined>} A Promise that resolves with the battery level.
32
32
  */
33
33
  battery: () => Promise<string | undefined>;
34
+ /**
35
+ * Retrieves hardware version from the device.
36
+ * @returns {Promise<string | undefined>} A Promise that resolves with the hardware version.
37
+ */
38
+ hardware: () => Promise<string | undefined>;
39
+ /**
40
+ * Retrieves manufacturer information from the device.
41
+ * @returns {Promise<string | undefined>} A Promise that resolves with the manufacturer information.
42
+ */
43
+ manufacturer: () => Promise<string | undefined>;
44
+ /**
45
+ * Retrieves model number from the device.
46
+ * @returns {Promise<string | undefined>} A Promise that resolves with the model number.
47
+ */
48
+ model: () => Promise<string | undefined>;
49
+ /**
50
+ * Retrieves software version from the device.
51
+ * @returns {Promise<string | undefined>} A Promise that resolves with the software version.
52
+ */
53
+ software: () => Promise<string | undefined>;
54
+ /**
55
+ * Retrieves system id from the device.
56
+ * @returns {Promise<string | undefined>} A Promise that resolves with the system id.
57
+ */
58
+ system: () => Promise<string | undefined>;
34
59
  /**
35
60
  * Handles data received from the device, processes force measurements and battery data
36
61
  * according to the Climbro protocol.
@@ -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,CA2FrD;CACF"}
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;;IA+ExB;;;OAGG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9C;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;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;OAGG;IACH,MAAM,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7C;IAED;;;;;OAKG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CA2FrD;CACF"}
@@ -36,10 +36,67 @@ class Climbro extends device_model_js_1.Device {
36
36
  uuid: "49535343-fe7d-4ae5-8fa9-9fafd205e455",
37
37
  characteristics: [
38
38
  {
39
- name: "Read/Notify",
39
+ name: "UART Tramsmit (we set as rx)",
40
40
  id: "rx",
41
41
  uuid: "49535343-1e4d-4bd9-ba61-23c647249616",
42
42
  },
43
+ {
44
+ name: "UART Receive (we set as tx)",
45
+ id: "tx",
46
+ uuid: "49535343-8841-43f4-a8d4-ecbe34729bb3",
47
+ },
48
+ {
49
+ name: "Transparent Control Point",
50
+ id: "tcp",
51
+ uuid: "49535343-4c8a-39b3-2f49-511cff073b7e",
52
+ },
53
+ ],
54
+ },
55
+ {
56
+ name: "Device Information",
57
+ id: "device",
58
+ uuid: "0000180a-0000-1000-8000-00805f9b34fb",
59
+ characteristics: [
60
+ {
61
+ name: "System ID",
62
+ id: "system",
63
+ uuid: "00002a23-0000-1000-8000-00805f9b34fb",
64
+ },
65
+ {
66
+ name: "Model Number String",
67
+ id: "model", // RN487x
68
+ uuid: "00002a24-0000-1000-8000-00805f9b34fb",
69
+ },
70
+ // {
71
+ // name: "Serial Number String (Blocked)",
72
+ // id: "serial",
73
+ // uuid: "00002a25-0000-1000-8000-00805f9b34fb",
74
+ // },
75
+ {
76
+ name: "Firmware Revision String",
77
+ id: "firmware",
78
+ uuid: "00002a26-0000-1000-8000-00805f9b34fb",
79
+ },
80
+ {
81
+ name: "Hardware Revision String",
82
+ id: "hardware", // 5505 102_BLDK3
83
+ uuid: "00002a27-0000-1000-8000-00805f9b34fb",
84
+ },
85
+ {
86
+ name: "Software Revision String",
87
+ id: "software", // 1.30
88
+ uuid: "00002a28-0000-1000-8000-00805f9b34fb",
89
+ },
90
+ {
91
+ name: "Manufacturer Name String",
92
+ id: "manufacturer", // Microchip
93
+ uuid: "00002a29-0000-1000-8000-00805f9b34fb",
94
+ },
95
+ {
96
+ name: "IEEE 11073-20601 Regulatory Certification Data List",
97
+ id: "certification",
98
+ uuid: "00002a2a-0000-1000-8000-00805f9b34fb",
99
+ },
43
100
  ],
44
101
  },
45
102
  ],
@@ -65,6 +122,41 @@ class Climbro extends device_model_js_1.Device {
65
122
  // Battery level is continuously updated via notifications
66
123
  return this.batteryLevel.toString();
67
124
  };
125
+ /**
126
+ * Retrieves hardware version from the device.
127
+ * @returns {Promise<string | undefined>} A Promise that resolves with the hardware version.
128
+ */
129
+ this.hardware = async () => {
130
+ return await this.read("device", "hardware", 250);
131
+ };
132
+ /**
133
+ * Retrieves manufacturer information from the device.
134
+ * @returns {Promise<string | undefined>} A Promise that resolves with the manufacturer information.
135
+ */
136
+ this.manufacturer = async () => {
137
+ return await this.read("device", "manufacturer", 250);
138
+ };
139
+ /**
140
+ * Retrieves model number from the device.
141
+ * @returns {Promise<string | undefined>} A Promise that resolves with the model number.
142
+ */
143
+ this.model = async () => {
144
+ return await this.read("device", "model", 250);
145
+ };
146
+ /**
147
+ * Retrieves software version from the device.
148
+ * @returns {Promise<string | undefined>} A Promise that resolves with the software version.
149
+ */
150
+ this.software = async () => {
151
+ return await this.read("device", "software", 250);
152
+ };
153
+ /**
154
+ * Retrieves system id from the device.
155
+ * @returns {Promise<string | undefined>} A Promise that resolves with the system id.
156
+ */
157
+ this.system = async () => {
158
+ return await this.read("device", "system", 250);
159
+ };
68
160
  /**
69
161
  * Handles data received from the device, processes force measurements and battery data
70
162
  * according to the Climbro protocol.
@@ -1 +1 @@
1
- {"version":3,"file":"climbro.model.js","sourceRoot":"","sources":["../../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"climbro.model.js","sourceRoot":"","sources":["../../../../src/models/device/climbro.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ import { Device } from "../device.model.js";
2
+ import type { CTS500BaudRate, CTS500SamplingRate, ICTS500 } from "../../interfaces/device/cts500.interface.js";
3
+ /**
4
+ * Represents the CTS500 Climbing Training Scale, marketed as "Jlyscales CTS500".
5
+ * Supplier: Hunan Jinlian Cloud Information Technology Co., Ltd.
6
+ * {@link https://www.huaying-scales.com/}
7
+ * {@link https://www.alibaba.com/product-detail/Mini-Climbing-Training-Scale-CTS500-Aluminum_1601637814595.html}
8
+ */
9
+ export declare class CTS500 extends Device implements ICTS500 {
10
+ private bufferedFrames;
11
+ private pendingFrame;
12
+ private requestQueue;
13
+ private isStreaming;
14
+ private commandOpcodes;
15
+ constructor();
16
+ /**
17
+ * Retrieves battery voltage from the device.
18
+ * The returned string uses two decimal places, e.g. "3.55".
19
+ * @returns {Promise<string | undefined>} A Promise that resolves with the battery voltage.
20
+ */
21
+ battery: () => Promise<string | undefined>;
22
+ /**
23
+ * Retrieves firmware version from the device.
24
+ * @returns {Promise<string | undefined>} A Promise that resolves with the firmware version.
25
+ */
26
+ firmware: () => Promise<string | undefined>;
27
+ /**
28
+ * Retrieves hardware version from the device.
29
+ * @returns {Promise<string | undefined>} A Promise that resolves with the hardware version.
30
+ */
31
+ hardware: () => Promise<string | undefined>;
32
+ /**
33
+ * Retrieves manufacturer information from the device.
34
+ * @returns {Promise<string | undefined>} A Promise that resolves with the manufacturer information.
35
+ */
36
+ manufacturer: () => Promise<string | undefined>;
37
+ /**
38
+ * Retrieves model number from the device.
39
+ * @returns {Promise<string | undefined>} A Promise that resolves with the model number.
40
+ */
41
+ model: () => Promise<string | undefined>;
42
+ /**
43
+ * Sets whether the device should reset to zero on power-up.
44
+ * @param {boolean} enabled - Whether power-on reset should be enabled.
45
+ * @returns {Promise<void>} A promise that resolves when the command is acknowledged.
46
+ */
47
+ powerOnReset: (enabled: boolean) => Promise<void>;
48
+ /**
49
+ * Enables or disables the device peak mode.
50
+ * @param {boolean} [enabled=true] - Whether peak mode should be enabled.
51
+ * @returns {Promise<void>} A promise that resolves when the command is acknowledged.
52
+ */
53
+ peakMode: (enabled?: boolean) => Promise<void>;
54
+ /**
55
+ * Configures the device UART baud rate.
56
+ * @param {CTS500BaudRate} baudRate - Desired baud rate.
57
+ * @returns {Promise<void>} A promise that resolves when the command is acknowledged.
58
+ */
59
+ setBaudRate: (baudRate: CTS500BaudRate) => Promise<void>;
60
+ /**
61
+ * Configures the device A/D sampling rate.
62
+ * @param {CTS500SamplingRate} samplingRate - Desired A/D sampling rate in Hz.
63
+ * @returns {Promise<void>} A promise that resolves when the command is acknowledged.
64
+ */
65
+ setSamplingRate: (samplingRate: CTS500SamplingRate) => Promise<void>;
66
+ /**
67
+ * Retrieves serial number from the device.
68
+ * @returns {Promise<string | undefined>} A Promise that resolves with the serial number.
69
+ */
70
+ serial: () => Promise<string | undefined>;
71
+ /**
72
+ * Retrieves software version from the device.
73
+ * @returns {Promise<string | undefined>} A Promise that resolves with the software version.
74
+ */
75
+ software: () => Promise<string | undefined>;
76
+ /**
77
+ * Starts automatic weight uploads.
78
+ * @param {number} [duration=0] - Optional delay before the promise resolves.
79
+ * @returns {Promise<void>} A promise that resolves once upload mode has been enabled.
80
+ */
81
+ stream: (duration?: number) => Promise<void>;
82
+ /**
83
+ * Stops automatic weight uploads.
84
+ * @returns {Promise<void>} A promise that resolves once upload mode has been disabled.
85
+ */
86
+ stop: () => Promise<void>;
87
+ /**
88
+ * Reads the current temperature from the device.
89
+ * @returns {Promise<string | undefined>} A Promise that resolves with the temperature in Celsius.
90
+ */
91
+ temperature: () => Promise<string | undefined>;
92
+ /**
93
+ * Uses the device's hardware tare command when connected and falls back to software tare otherwise.
94
+ * @param {number} [duration=5000] - Software tare duration when the device is not connected.
95
+ * @returns {boolean} `true` when the tare operation started successfully.
96
+ */
97
+ tare: (duration?: number) => boolean;
98
+ /**
99
+ * Reads the current weight from the device in kilograms.
100
+ * @returns {Promise<number | undefined>} A Promise that resolves with the current weight.
101
+ */
102
+ weight: () => Promise<number | undefined>;
103
+ /**
104
+ * Updates the device hardware zero point.
105
+ * @returns {Promise<void>} A promise that resolves when the command is acknowledged.
106
+ */
107
+ zero: () => Promise<void>;
108
+ /**
109
+ * Parses UART frames received over the MY-BT102 notify characteristic.
110
+ * Supports fragmented BLE notifications by buffering until a complete CTS500 frame is available.
111
+ *
112
+ * @param {DataView} value - The notification payload from the device.
113
+ */
114
+ handleNotifications: (value: DataView) => void;
115
+ /**
116
+ * Waits for a specific frame pattern after sending a CTS500 command.
117
+ */
118
+ private queryFrame;
119
+ /**
120
+ * Sends a command that should be acknowledged with a 6-byte echo frame.
121
+ */
122
+ private expectAck;
123
+ /**
124
+ * Sends a configuration command that may reply with either a 6-byte echo, a typed response, or no reply after applying.
125
+ */
126
+ private applyConfigCommand;
127
+ /**
128
+ * Resolves the currently pending frame promise if the incoming frame matches.
129
+ * @returns {boolean} Whether a pending request consumed the frame.
130
+ */
131
+ private consumePendingFrame;
132
+ /**
133
+ * Clears the currently pending frame wait, if any.
134
+ */
135
+ private clearPendingFrame;
136
+ /**
137
+ * Extracts the next valid CTS500 frame from the local notification buffer.
138
+ */
139
+ private extractNextFrame;
140
+ /**
141
+ * Routes a validated CTS500 frame to pending requests, callbacks, and stream processing.
142
+ */
143
+ private handleFrame;
144
+ /**
145
+ * Returns whether a frame is a 6-byte command acknowledgment echo for the given opcode.
146
+ */
147
+ private isAckFrame;
148
+ /**
149
+ * Returns whether a frame is a typed command response (`05 80 <opcode> ... checksum`).
150
+ */
151
+ private isCommandResponse;
152
+ /**
153
+ * Returns whether a frame contains a weight measurement payload.
154
+ */
155
+ private isWeightFrame;
156
+ /**
157
+ * Updates rolling statistics and emits a force measurement from a CTS500 weight frame.
158
+ */
159
+ private recordWeightMeasurement;
160
+ /**
161
+ * Validates a CTS500 frame checksum.
162
+ */
163
+ private isValidFrame;
164
+ /**
165
+ * Registers a pending frame matcher with a timeout.
166
+ */
167
+ private waitForFrame;
168
+ /**
169
+ * Serializes CTS500 command/response operations so query-style methods can be called in parallel by consumers.
170
+ */
171
+ private enqueueRequest;
172
+ }
173
+ //# sourceMappingURL=cts500.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cts500.model.d.ts","sourceRoot":"","sources":["../../../../src/models/device/cts500.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,6CAA6C,CAAA;AAsD9G;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,MAAO,YAAW,OAAO;IACnD,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAoB;;IAqG1C;;;;OAIG;IACH,OAAO,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS9C;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;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,YAAY,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAErD;IAED;;;;OAIG;IACH,QAAQ,GAAU,iBAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED;;;;OAIG;IACH,WAAW,GAAU,UAAU,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;IAED;;;;OAIG;IACH,eAAe,GAAU,cAAc,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAAC,CAMxE;IAED;;;OAGG;IACH,MAAM,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7C;IAED;;;OAGG;IACH,QAAQ,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE/C;IAED;;;;OAIG;IACH,MAAM,GAAU,iBAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAc3C;IAED;;;OAGG;IACH,IAAI,QAAa,OAAO,CAAC,IAAI,CAAC,CAI7B;IAED;;;OAGG;IACH,WAAW,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWlD;IAED;;;;OAIG;IACM,IAAI,GAAI,iBAAe,KAAG,OAAO,CAczC;IAED;;;OAGG;IACH,MAAM,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7C;IAED;;;OAGG;IACH,IAAI,QAAa,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;;;;OAKG;IACM,mBAAmB,GAAI,OAAO,QAAQ,KAAG,IAAI,CAsCrD;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAejB;IAED;;OAEG;IACH,OAAO,CAAC,SAAS,CAKhB;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAiBzB;IAED;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAU1B;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAYxB;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAuBvB;IAED;;OAEG;IACH,OAAO,CAAC,WAAW,CAqClB;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAUjB;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAQxB;IAED;;OAEG;IACH,OAAO,CAAC,aAAa,CAQpB;IAED;;OAEG;IACH,OAAO,CAAC,uBAAuB,CA2B9B;IAED;;OAEG;IACH,OAAO,CAAC,YAAY,CAMnB;IAED;;OAEG;IACH,OAAO,CAAC,YAAY,CA0BnB;IAED;;OAEG;IACH,OAAO,CAAC,cAAc,CAOrB;CACF"}