@hangtime/grip-connect 0.12.0 → 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 (104) hide show
  1. package/README.md +11 -0
  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 +110 -21
  7. package/dist/cjs/interfaces/command.interface.d.ts.map +1 -1
  8. package/dist/cjs/interfaces/device/cts500.interface.d.ts +96 -0
  9. package/dist/cjs/interfaces/device/cts500.interface.d.ts.map +1 -0
  10. package/dist/cjs/interfaces/device/cts500.interface.js +3 -0
  11. package/dist/cjs/interfaces/device/cts500.interface.js.map +1 -0
  12. package/dist/cjs/interfaces/device/forceboard.interface.d.ts +2 -2
  13. package/dist/cjs/interfaces/device/forceboard.interface.d.ts.map +1 -1
  14. package/dist/cjs/interfaces/device/progressor.interface.d.ts +2 -2
  15. package/dist/cjs/interfaces/device/progressor.interface.d.ts.map +1 -1
  16. package/dist/cjs/interfaces/index.d.ts +2 -0
  17. package/dist/cjs/interfaces/index.d.ts.map +1 -1
  18. package/dist/cjs/interfaces/nordic.interface.d.ts +47 -0
  19. package/dist/cjs/interfaces/nordic.interface.d.ts.map +1 -0
  20. package/dist/cjs/interfaces/nordic.interface.js +3 -0
  21. package/dist/cjs/interfaces/nordic.interface.js.map +1 -0
  22. package/dist/cjs/models/device/cts500.model.d.ts +173 -0
  23. package/dist/cjs/models/device/cts500.model.d.ts.map +1 -0
  24. package/dist/cjs/models/device/cts500.model.js +588 -0
  25. package/dist/cjs/models/device/cts500.model.js.map +1 -0
  26. package/dist/cjs/models/device/forceboard.model.d.ts +2 -2
  27. package/dist/cjs/models/device/forceboard.model.d.ts.map +1 -1
  28. package/dist/cjs/models/device/forceboard.model.js +3 -14
  29. package/dist/cjs/models/device/forceboard.model.js.map +1 -1
  30. package/dist/cjs/models/device/progressor.model.d.ts +2 -2
  31. package/dist/cjs/models/device/progressor.model.d.ts.map +1 -1
  32. package/dist/cjs/models/device/progressor.model.js +3 -14
  33. package/dist/cjs/models/device/progressor.model.js.map +1 -1
  34. package/dist/cjs/models/device.model.d.ts +7 -0
  35. package/dist/cjs/models/device.model.d.ts.map +1 -1
  36. package/dist/cjs/models/device.model.js +23 -8
  37. package/dist/cjs/models/device.model.js.map +1 -1
  38. package/dist/cjs/models/index.d.ts +2 -0
  39. package/dist/cjs/models/index.d.ts.map +1 -1
  40. package/dist/cjs/models/index.js +6 -1
  41. package/dist/cjs/models/index.js.map +1 -1
  42. package/dist/cjs/models/nordic.model.d.ts +128 -0
  43. package/dist/cjs/models/nordic.model.d.ts.map +1 -0
  44. package/dist/cjs/models/nordic.model.js +405 -0
  45. package/dist/cjs/models/nordic.model.js.map +1 -0
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/interfaces/command.interface.d.ts +110 -21
  51. package/dist/interfaces/command.interface.d.ts.map +1 -1
  52. package/dist/interfaces/device/cts500.interface.d.ts +96 -0
  53. package/dist/interfaces/device/cts500.interface.d.ts.map +1 -0
  54. package/dist/interfaces/device/cts500.interface.js +2 -0
  55. package/dist/interfaces/device/cts500.interface.js.map +1 -0
  56. package/dist/interfaces/device/forceboard.interface.d.ts +2 -2
  57. package/dist/interfaces/device/forceboard.interface.d.ts.map +1 -1
  58. package/dist/interfaces/device/progressor.interface.d.ts +2 -2
  59. package/dist/interfaces/device/progressor.interface.d.ts.map +1 -1
  60. package/dist/interfaces/index.d.ts +2 -0
  61. package/dist/interfaces/index.d.ts.map +1 -1
  62. package/dist/interfaces/nordic.interface.d.ts +47 -0
  63. package/dist/interfaces/nordic.interface.d.ts.map +1 -0
  64. package/dist/interfaces/nordic.interface.js +2 -0
  65. package/dist/interfaces/nordic.interface.js.map +1 -0
  66. package/dist/models/device/cts500.model.d.ts +173 -0
  67. package/dist/models/device/cts500.model.d.ts.map +1 -0
  68. package/dist/models/device/cts500.model.js +584 -0
  69. package/dist/models/device/cts500.model.js.map +1 -0
  70. package/dist/models/device/forceboard.model.d.ts +2 -2
  71. package/dist/models/device/forceboard.model.d.ts.map +1 -1
  72. package/dist/models/device/forceboard.model.js +3 -14
  73. package/dist/models/device/forceboard.model.js.map +1 -1
  74. package/dist/models/device/progressor.model.d.ts +2 -2
  75. package/dist/models/device/progressor.model.d.ts.map +1 -1
  76. package/dist/models/device/progressor.model.js +3 -14
  77. package/dist/models/device/progressor.model.js.map +1 -1
  78. package/dist/models/device.model.d.ts +7 -0
  79. package/dist/models/device.model.d.ts.map +1 -1
  80. package/dist/models/device.model.js +22 -8
  81. package/dist/models/device.model.js.map +1 -1
  82. package/dist/models/index.d.ts +2 -0
  83. package/dist/models/index.d.ts.map +1 -1
  84. package/dist/models/index.js +2 -0
  85. package/dist/models/index.js.map +1 -1
  86. package/dist/models/nordic.model.d.ts +128 -0
  87. package/dist/models/nordic.model.d.ts.map +1 -0
  88. package/dist/models/nordic.model.js +393 -0
  89. package/dist/models/nordic.model.js.map +1 -0
  90. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  91. package/package.json +4 -3
  92. package/src/index.ts +2 -0
  93. package/src/interfaces/command.interface.ts +131 -21
  94. package/src/interfaces/device/cts500.interface.ts +113 -0
  95. package/src/interfaces/device/forceboard.interface.ts +2 -2
  96. package/src/interfaces/device/progressor.interface.ts +2 -2
  97. package/src/interfaces/index.ts +4 -0
  98. package/src/interfaces/nordic.interface.ts +47 -0
  99. package/src/models/device/cts500.model.ts +702 -0
  100. package/src/models/device/forceboard.model.ts +3 -14
  101. package/src/models/device/progressor.model.ts +3 -14
  102. package/src/models/device.model.ts +22 -8
  103. package/src/models/index.ts +4 -0
  104. package/src/models/nordic.model.ts +468 -0
@@ -1,9 +1,9 @@
1
- import type { IDevice } from "../device.interface.js"
1
+ import type { INordicDfuDevice } from "../nordic.interface.js"
2
2
 
3
3
  /**
4
4
  * Interface representing the PitchSix ForceBoard device, extending the base Device interface.
5
5
  */
6
- export interface IForceBoard extends IDevice {
6
+ export interface IForceBoard extends INordicDfuDevice {
7
7
  /**
8
8
  * Retrieves battery or voltage information from the device.
9
9
  * @returns {Promise<string | undefined>} A Promise that resolves with the battery or voltage information.
@@ -1,9 +1,9 @@
1
- import type { IDevice } from "../device.interface.js"
1
+ import type { INordicDfuDevice } from "../nordic.interface.js"
2
2
 
3
3
  /**
4
4
  * Interface representing the Tindeq Progressor device, extending the base Device interface.
5
5
  */
6
- export interface IProgressor extends IDevice {
6
+ export interface IProgressor extends INordicDfuDevice {
7
7
  /**
8
8
  * Retrieves battery or voltage information from the device.
9
9
  * @returns {Promise<string | undefined>} A Promise that resolves with the battery or voltage information.
@@ -1,5 +1,7 @@
1
1
  export type { IClimbro } from "./device/climbro.interface.js"
2
2
 
3
+ export type { ICTS500 } from "./device/cts500.interface.js"
4
+
3
5
  export type { IEntralpi } from "./device/entralpi.interface.js"
4
6
 
5
7
  export type { IForceBoard } from "./device/forceboard.interface.js"
@@ -10,6 +12,8 @@ export type { IMotherboard } from "./device/motherboard.interface.js"
10
12
 
11
13
  export type { ImySmartBoard } from "./device/mysmartboard.interface.js"
12
14
 
15
+ export type { INordicDfuDevice } from "./nordic.interface.js"
16
+
13
17
  export type { IProgressor } from "./device/progressor.interface.js"
14
18
 
15
19
  export type { ISmartBoardPro } from "./device/smartboard-pro.interface.js"
@@ -0,0 +1,47 @@
1
+ import type { IDevice } from "./device.interface.js"
2
+
3
+ /**
4
+ * Shared Nordic Secure DFU functionality for devices that expose the FE59 DFU service.
5
+ */
6
+ export interface INordicDfuDevice extends IDevice {
7
+ /**
8
+ * Switches the device from application mode into the Nordic DFU bootloader.
9
+ */
10
+ dfuSwitch(): Promise<void>
11
+
12
+ /**
13
+ * Sends a raw Nordic Secure DFU control operation and resolves with the response payload bytes.
14
+ * Call after dfuSwitch() has reconnected to the DFU bootloader.
15
+ */
16
+ dfuControl(operation: Uint8Array, payload?: ArrayBuffer): Promise<Uint8Array>
17
+
18
+ /**
19
+ * Sends Nordic Secure DFU SELECT for command or data objects and returns the bootloader state.
20
+ */
21
+ dfuSelect(objectType: "command" | "data"): Promise<{ maxSize: number; offset: number; crc: number }>
22
+
23
+ /**
24
+ * Sends Nordic Secure DFU CREATE for command or data objects.
25
+ */
26
+ dfuCreate(objectType: "command" | "data", size: number): Promise<void>
27
+
28
+ /**
29
+ * Writes raw bytes to the Nordic Secure DFU packet characteristic.
30
+ */
31
+ dfuWritePacket(data: Uint8Array | ArrayBuffer): Promise<void>
32
+
33
+ /**
34
+ * Sends Nordic Secure DFU CALCULATE_CHECKSUM and returns the bootloader state.
35
+ */
36
+ dfuChecksum(): Promise<{ offset: number; crc: number }>
37
+
38
+ /**
39
+ * Sends Nordic Secure DFU EXECUTE for the currently created object.
40
+ */
41
+ dfuExecute(): Promise<void>
42
+
43
+ /**
44
+ * Runs a complete Nordic Secure DFU upload: switch to bootloader, send init packet, then send firmware.
45
+ */
46
+ dfuUpload(initPacket: Uint8Array | ArrayBuffer, firmware: Uint8Array | ArrayBuffer): Promise<void>
47
+ }