@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
@@ -99,6 +99,13 @@ class Device extends base_model_js_1.BaseModel {
99
99
  * @type {boolean}
100
100
  */
101
101
  this.tareActive = false;
102
+ /**
103
+ * The characteristic ID that accepts notifications.
104
+ * Switching to "buttonless" allows to enter DFU mode and update the firmware.
105
+ *
106
+ * @type {"rx" | "buttonless" | "control"}
107
+ */
108
+ this.notifyCharacteristicId = "rx";
102
109
  /**
103
110
  * Timestamp when the tare calibration process started.
104
111
  * @type {number | null}
@@ -222,6 +229,7 @@ class Device extends base_model_js_1.BaseModel {
222
229
  * );
223
230
  */
224
231
  this.connect = async (onSuccess = () => console.log("Connected successfully"), onError = (error) => console.error(error)) => {
232
+ var _a;
225
233
  try {
226
234
  // Request device and set up connection
227
235
  const deviceServices = this.getAllServiceUUIDs();
@@ -247,15 +255,17 @@ class Device extends base_model_js_1.BaseModel {
247
255
  // // After restarting the Browser, it will always give: "Bluetooth Device is no longer in range."
248
256
  // }
249
257
  // }
250
- this.bluetooth = await bluetooth.requestDevice({
251
- filters: this.filters,
252
- optionalServices: deviceServices,
253
- });
258
+ if (!((_a = this.bluetooth) === null || _a === void 0 ? void 0 : _a.gatt)) {
259
+ this.bluetooth = await bluetooth.requestDevice({
260
+ filters: this.filters,
261
+ optionalServices: deviceServices,
262
+ });
263
+ }
254
264
  if (!this.bluetooth.gatt) {
255
265
  throw new Error("GATT is not available on this device");
256
266
  }
257
267
  this.bluetooth.addEventListener("gattserverdisconnected", this.onDisconnectedListener);
258
- this.server = await this.bluetooth.gatt.connect();
268
+ this.server = this.bluetooth.gatt.connected ? this.bluetooth.gatt : await this.bluetooth.gatt.connect();
259
269
  if (this.server.connected) {
260
270
  await this.onConnected(onSuccess);
261
271
  }
@@ -278,31 +288,36 @@ class Device extends base_model_js_1.BaseModel {
278
288
  */
279
289
  this.disconnect = () => {
280
290
  var _a, _b, _c;
281
- if (this.isConnected()) {
291
+ const isConnected = this.isConnected();
292
+ if (isConnected) {
282
293
  this.updateTimestamp();
283
- // Remove all notification listeners
284
- this.services.forEach((service) => {
285
- service.characteristics.forEach((char) => {
286
- // Look for the "rx" characteristic that accepts notifications
287
- if (char.characteristic && char.id === "rx") {
288
- char.characteristic.stopNotifications();
289
- const listener = this.notificationListeners.get(char.uuid);
290
- if (listener) {
291
- char.characteristic.removeEventListener("characteristicvaluechanged", listener);
292
- this.notificationListeners.delete(char.uuid);
293
- }
294
- }
295
- });
294
+ }
295
+ // Remove all notification listeners and stop notifications if possible.
296
+ this.services.forEach((service) => {
297
+ service.characteristics.forEach((char) => {
298
+ if (!char.characteristic || char.id !== this.notifyCharacteristicId)
299
+ return;
300
+ if (isConnected) {
301
+ // Best effort only: avoid unhandled rejections when the device already disconnected.
302
+ void char.characteristic.stopNotifications().catch(() => undefined);
303
+ }
304
+ const listener = this.notificationListeners.get(char.uuid);
305
+ if (listener) {
306
+ char.characteristic.removeEventListener("characteristicvaluechanged", listener);
307
+ this.notificationListeners.delete(char.uuid);
308
+ }
296
309
  });
297
- // Remove disconnect listener
298
- (_a = this.bluetooth) === null || _a === void 0 ? void 0 : _a.removeEventListener("gattserverdisconnected", this.onDisconnectedListener);
299
- // Safely attempt to disconnect the device's GATT server, if available
300
- (_c = (_b = this.bluetooth) === null || _b === void 0 ? void 0 : _b.gatt) === null || _c === void 0 ? void 0 : _c.disconnect();
301
- // Reset properties
302
- this.server = undefined;
303
- this.writeLast = null;
304
- this.isActive = false;
310
+ });
311
+ // Remove disconnect listener
312
+ (_a = this.bluetooth) === null || _a === void 0 ? void 0 : _a.removeEventListener("gattserverdisconnected", this.onDisconnectedListener);
313
+ // Safely attempt to disconnect the device's GATT server, if available
314
+ if ((_c = (_b = this.bluetooth) === null || _b === void 0 ? void 0 : _b.gatt) === null || _c === void 0 ? void 0 : _c.connected) {
315
+ this.bluetooth.gatt.disconnect();
305
316
  }
317
+ // Reset properties
318
+ this.server = undefined;
319
+ this.writeLast = null;
320
+ this.isActive = false;
306
321
  };
307
322
  /**
308
323
  * Converts the `downloadPackets` array into a CSV formatted string.
@@ -535,21 +550,21 @@ class Device extends base_model_js_1.BaseModel {
535
550
  throw new Error("No services found");
536
551
  }
537
552
  for (const service of services) {
538
- const matchingService = this.services.find((boardService) => boardService.uuid === service.uuid);
553
+ const matchingService = this.services.find((boardService) => boardService.uuid.toLowerCase() === service.uuid.toLowerCase());
539
554
  if (matchingService) {
540
555
  // Android bug: Add a small delay before getting characteristics
541
556
  await new Promise((resolve) => setTimeout(resolve, 100));
542
557
  const characteristics = await service.getCharacteristics();
543
558
  for (const characteristic of matchingService.characteristics) {
544
- const matchingCharacteristic = characteristics.find((char) => char.uuid === characteristic.uuid);
559
+ const matchingCharacteristic = characteristics.find((char) => char.uuid.toLowerCase() === characteristic.uuid.toLowerCase());
545
560
  if (matchingCharacteristic) {
546
561
  // Find the corresponding characteristic descriptor in the service's characteristics array
547
- const descriptor = matchingService.characteristics.find((char) => char.uuid === matchingCharacteristic.uuid);
562
+ const descriptor = matchingService.characteristics.find((char) => char.uuid.toLowerCase() === matchingCharacteristic.uuid.toLowerCase());
548
563
  if (descriptor) {
549
564
  // Assign the actual Bluetooth characteristic object to the descriptor so it can be used later
550
565
  descriptor.characteristic = matchingCharacteristic;
551
- // Look for the "rx" characteristic id that accepts notifications
552
- if (descriptor.id === "rx") {
566
+ // Look for our default notify characteristic id that accepts notifications
567
+ if (descriptor.id === this.notifyCharacteristicId) {
553
568
  // Start receiving notifications for changes on this characteristic
554
569
  matchingCharacteristic.startNotifications();
555
570
  // Triggered when the characteristic's value changes
@@ -568,6 +583,11 @@ class Device extends base_model_js_1.BaseModel {
568
583
  }
569
584
  }
570
585
  }
586
+ else if (matchingService.id === "dfu") {
587
+ // App mode exposes buttonless only, bootloader exposes control+packet only.
588
+ delete characteristic.characteristic;
589
+ continue;
590
+ }
571
591
  else {
572
592
  throw new Error(`Characteristic ${characteristic.uuid} not found in service ${service.uuid}`);
573
593
  }
@@ -1 +1 @@
1
- {"version":3,"file":"device.model.js","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.model.js","sourceRoot":"","sources":["../../../src/models/device.model.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { Climbro } from "./device/climbro.model.js";
2
+ export { CTS500 } from "./device/cts500.model.js";
2
3
  export { Entralpi } from "./device/entralpi.model.js";
3
4
  export { ForceBoard } from "./device/forceboard.model.js";
5
+ export { NordicDfuDevice, createNordicDfuService } from "./nordic.model.js";
4
6
  export { KilterBoard, KilterBoardPlacementRoles } from "./device/kilterboard.model.js";
5
7
  export { Motherboard } from "./device/motherboard.model.js";
6
8
  export { mySmartBoard } from "./device/mysmartboard.model.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WHC06 = exports.SmartBoardPro = exports.Progressor = exports.PB700BT = exports.mySmartBoard = exports.Motherboard = exports.KilterBoardPlacementRoles = exports.KilterBoard = exports.ForceBoard = exports.Entralpi = exports.Climbro = void 0;
3
+ exports.WHC06 = exports.SmartBoardPro = exports.Progressor = exports.PB700BT = exports.mySmartBoard = exports.Motherboard = exports.KilterBoardPlacementRoles = exports.KilterBoard = exports.createNordicDfuService = exports.NordicDfuDevice = exports.ForceBoard = exports.Entralpi = exports.CTS500 = exports.Climbro = void 0;
4
4
  var climbro_model_js_1 = require("./device/climbro.model.js");
5
5
  Object.defineProperty(exports, "Climbro", { enumerable: true, get: function () { return climbro_model_js_1.Climbro; } });
6
+ var cts500_model_js_1 = require("./device/cts500.model.js");
7
+ Object.defineProperty(exports, "CTS500", { enumerable: true, get: function () { return cts500_model_js_1.CTS500; } });
6
8
  var entralpi_model_js_1 = require("./device/entralpi.model.js");
7
9
  Object.defineProperty(exports, "Entralpi", { enumerable: true, get: function () { return entralpi_model_js_1.Entralpi; } });
8
10
  var forceboard_model_js_1 = require("./device/forceboard.model.js");
9
11
  Object.defineProperty(exports, "ForceBoard", { enumerable: true, get: function () { return forceboard_model_js_1.ForceBoard; } });
12
+ var nordic_model_js_1 = require("./nordic.model.js");
13
+ Object.defineProperty(exports, "NordicDfuDevice", { enumerable: true, get: function () { return nordic_model_js_1.NordicDfuDevice; } });
14
+ Object.defineProperty(exports, "createNordicDfuService", { enumerable: true, get: function () { return nordic_model_js_1.createNordicDfuService; } });
10
15
  var kilterboard_model_js_1 = require("./device/kilterboard.model.js");
11
16
  Object.defineProperty(exports, "KilterBoard", { enumerable: true, get: function () { return kilterboard_model_js_1.KilterBoard; } });
12
17
  Object.defineProperty(exports, "KilterBoardPlacementRoles", { enumerable: true, get: function () { return kilterboard_model_js_1.KilterBoardPlacementRoles; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmD;AAA1C,2GAAA,OAAO,OAAA;AAEhB,gEAAqD;AAA5C,6GAAA,QAAQ,OAAA;AAEjB,oEAAyD;AAAhD,iHAAA,UAAU,OAAA;AAEnB,sEAAsF;AAA7E,mHAAA,WAAW,OAAA;AAAE,iIAAA,yBAAyB,OAAA;AAE/C,sEAA2D;AAAlD,mHAAA,WAAW,OAAA;AAEpB,wEAA6D;AAApD,qHAAA,YAAY,OAAA;AAErB,gEAAoD;AAA3C,4GAAA,OAAO,OAAA;AAEhB,oEAAyD;AAAhD,iHAAA,UAAU,OAAA;AAEnB,4EAAgE;AAAvD,wHAAA,aAAa,OAAA;AAEtB,4DAAgD;AAAvC,wGAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,8DAAmD;AAA1C,2GAAA,OAAO,OAAA;AAEhB,4DAAiD;AAAxC,yGAAA,MAAM,OAAA;AAEf,gEAAqD;AAA5C,6GAAA,QAAQ,OAAA;AAEjB,oEAAyD;AAAhD,iHAAA,UAAU,OAAA;AAEnB,qDAA2E;AAAlE,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAEhD,sEAAsF;AAA7E,mHAAA,WAAW,OAAA;AAAE,iIAAA,yBAAyB,OAAA;AAE/C,sEAA2D;AAAlD,mHAAA,WAAW,OAAA;AAEpB,wEAA6D;AAApD,qHAAA,YAAY,OAAA;AAErB,gEAAoD;AAA3C,4GAAA,OAAO,OAAA;AAEhB,oEAAyD;AAAhD,iHAAA,UAAU,OAAA;AAEnB,4EAAgE;AAAvD,wHAAA,aAAa,OAAA;AAEtB,4DAAgD;AAAvC,wGAAA,KAAK,OAAA"}
@@ -0,0 +1,128 @@
1
+ import { Device } from "./device.model.js";
2
+ import type { Service } from "../interfaces/device.interface.js";
3
+ import type { INordicDfuDevice } from "../interfaces/nordic.interface.js";
4
+ /**
5
+ * Creates a fresh Nordic Secure DFU service definition.
6
+ * Characteristics are mutable at runtime, so each device instance needs its own copy.
7
+ * @returns {Service} A new DFU service descriptor with control, packet, and buttonless characteristics.
8
+ */
9
+ export declare function createNordicDfuService(): Service;
10
+ /**
11
+ * Shared Nordic Secure DFU implementation for devices exposing the FE59 service.
12
+ */
13
+ export declare abstract class NordicDfuDevice extends Device implements INordicDfuDevice {
14
+ /**
15
+ * Returns a cached DFU characteristic discovered during the current GATT session.
16
+ * @param {"control" | "packet" | "buttonless"} characteristicId - The DFU characteristic identifier.
17
+ * @returns {BluetoothRemoteGATTCharacteristic | undefined} The discovered characteristic, if available.
18
+ */
19
+ private getDfuCharacteristic;
20
+ /**
21
+ * Checks whether the connected device is already exposing the DFU bootloader characteristics.
22
+ * @returns {boolean} `true` when both control and packet characteristics are available.
23
+ */
24
+ private hasDfuBootloaderCharacteristics;
25
+ /**
26
+ * Wraps the shared connect flow so DFU callers get a rejected promise when connection setup fails.
27
+ * @returns {Promise<void>} Resolves when discovery is complete.
28
+ */
29
+ private connectForDfu;
30
+ /**
31
+ * Prompts for a Bluetooth device matching the provided filters, then runs the normal service discovery flow.
32
+ * @param {BluetoothLEScanFilter[]} filters - Alternative device filters to pass to `requestDevice`.
33
+ * @returns {Promise<void>} Resolves after the selected device is connected and characteristics are cached.
34
+ */
35
+ private requestAndConnectDfuDevice;
36
+ /**
37
+ * Ensures there is an active connection to either the application or DFU bootloader variant of the device.
38
+ * @returns {Promise<void>} Resolves after a DFU-capable device has been connected and discovered.
39
+ */
40
+ private ensureDfuCapableConnection;
41
+ /**
42
+ * Prompts for the rebooted Nordic DFU bootloader after the application switches into buttonless DFU mode.
43
+ * @returns {Promise<void>} Resolves after the bootloader device is selected and connected.
44
+ */
45
+ private connectDfuBootloader;
46
+ /**
47
+ * Normalizes DFU payload inputs to `Uint8Array` so packet slicing and CRC calculation use one byte representation.
48
+ * @param {Uint8Array | ArrayBuffer} data - Raw DFU payload bytes.
49
+ * @returns {Uint8Array} The payload as a `Uint8Array`.
50
+ */
51
+ private toDfuBytes;
52
+ /**
53
+ * Calculates the Nordic Secure DFU CRC32 for the given payload prefix.
54
+ * @param {Uint8Array} data - The bytes to checksum.
55
+ * @returns {number} The signed 32-bit CRC value returned by Nordic DFU checksum responses.
56
+ */
57
+ private dfuCrc32;
58
+ /**
59
+ * Formats a signed CRC value as an unsigned hexadecimal string for error messages.
60
+ * @param {number} crc - The CRC value to format.
61
+ * @returns {string} The CRC formatted as `0x????????`.
62
+ */
63
+ private formatDfuCrc;
64
+ /**
65
+ * Transfers one Nordic Secure DFU object type, handling resume, chunking, checksum validation, and execute steps.
66
+ * @param {"command" | "data"} objectType - The DFU object type to transfer.
67
+ * @param {Uint8Array | ArrayBuffer} data - The full payload for that object type.
68
+ * @returns {Promise<void>} Resolves when the payload has been fully transferred and validated.
69
+ */
70
+ private dfuTransferObject;
71
+ /**
72
+ * Switches the device from application mode into the Nordic DFU bootloader.
73
+ * @returns {Promise<void>} Resolves after the device reboots into DFU mode and reconnects to the bootloader.
74
+ */
75
+ dfuSwitch: () => Promise<void>;
76
+ /**
77
+ * Sends a raw Nordic Secure DFU control operation and resolves with the response payload bytes.
78
+ * Call after dfuSwitch() has reconnected to the DFU bootloader.
79
+ * @param {Uint8Array} operation - The DFU control opcode bytes to send.
80
+ * @param {ArrayBuffer} [payload] - Optional payload appended to the opcode.
81
+ * @returns {Promise<Uint8Array>} Resolves with the response payload bytes after the 3-byte Nordic response header.
82
+ */
83
+ dfuControl: (operation: Uint8Array, payload?: ArrayBuffer) => Promise<Uint8Array>;
84
+ /**
85
+ * Sends Nordic Secure DFU SELECT for command or data objects and returns the bootloader state.
86
+ * @param {"command" | "data"} objectType - The object type to query.
87
+ * @returns {Promise<{ maxSize: number; offset: number; crc: number }>} The bootloader's object size, offset, and CRC state.
88
+ */
89
+ dfuSelect: (objectType: "command" | "data") => Promise<{
90
+ maxSize: number;
91
+ offset: number;
92
+ crc: number;
93
+ }>;
94
+ /**
95
+ * Sends Nordic Secure DFU CREATE for command or data objects.
96
+ * @param {"command" | "data"} objectType - The object type to create.
97
+ * @param {number} size - The size of the object chunk to allocate in bytes.
98
+ * @returns {Promise<void>} Resolves when the bootloader accepts the object allocation request.
99
+ */
100
+ dfuCreate: (objectType: "command" | "data", size: number) => Promise<void>;
101
+ /**
102
+ * Writes raw bytes to the Nordic Secure DFU packet characteristic.
103
+ * @param {Uint8Array | ArrayBuffer} data - The packet payload bytes to send.
104
+ * @returns {Promise<void>} Resolves after the packet has been written.
105
+ */
106
+ dfuWritePacket: (data: Uint8Array | ArrayBuffer) => Promise<void>;
107
+ /**
108
+ * Sends Nordic Secure DFU CALCULATE_CHECKSUM and returns the bootloader state.
109
+ * @returns {Promise<{ offset: number; crc: number }>} The bootloader's transferred offset and CRC for the current object stream.
110
+ */
111
+ dfuChecksum: () => Promise<{
112
+ offset: number;
113
+ crc: number;
114
+ }>;
115
+ /**
116
+ * Sends Nordic Secure DFU EXECUTE for the currently created object.
117
+ * @returns {Promise<void>} Resolves when the bootloader executes the current DFU object.
118
+ */
119
+ dfuExecute: () => Promise<void>;
120
+ /**
121
+ * Runs a complete Nordic Secure DFU upload: switch to bootloader, send init packet, then send firmware.
122
+ * @param {Uint8Array | ArrayBuffer} initPacket - The Nordic Secure DFU init packet bytes.
123
+ * @param {Uint8Array | ArrayBuffer} firmware - The firmware image bytes to upload.
124
+ * @returns {Promise<void>} Resolves after the firmware upload completes and the bootloader disconnects to reboot.
125
+ */
126
+ dfuUpload: (initPacket: Uint8Array | ArrayBuffer, firmware: Uint8Array | ArrayBuffer) => Promise<void>;
127
+ }
128
+ //# sourceMappingURL=nordic.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nordic.model.d.ts","sourceRoot":"","sources":["../../../src/models/nordic.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAmBzE;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAuBhD;AAED;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,MAAO,YAAW,gBAAgB;IAC9E;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAIvC;;;OAGG;YACW,aAAa;IAS3B;;;;OAIG;YACW,0BAA0B;IAYxC;;;OAGG;YACW,0BAA0B;IAexC;;;OAGG;YACW,oBAAoB;IAiBlC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAchB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;YACW,iBAAiB;IAqD/B;;;OAGG;IACH,SAAS,QAAa,OAAO,CAAC,IAAI,CAAC,CA6ClC;IAED;;;;;;OAMG;IACH,UAAU,GAAU,WAAW,UAAU,EAAE,UAAU,WAAW,KAAG,OAAO,CAAC,UAAU,CAAC,CA2DrF;IAED;;;;OAIG;IACH,SAAS,GAAU,YAAY,SAAS,GAAG,MAAM,KAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAa5G;IAED;;;;;OAKG;IACH,SAAS,GAAU,YAAY,SAAS,GAAG,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAS9E;IAED;;;;OAIG;IACH,cAAc,GAAU,MAAM,UAAU,GAAG,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CAErE;IAED;;;OAGG;IACH,WAAW,QAAa,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAY/D;IAED;;;OAGG;IACH,UAAU,QAAa,OAAO,CAAC,IAAI,CAAC,CAEnC;IAED;;;;;OAKG;IACH,SAAS,GAAU,YAAY,UAAU,GAAG,WAAW,EAAE,UAAU,UAAU,GAAG,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CA2B1G;CACF"}