@voltras/node-sdk 0.1.1 → 0.2.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 (171) hide show
  1. package/README.md +122 -31
  2. package/dist/cjs/bluetooth/adapters/native.js +36 -34
  3. package/dist/cjs/bluetooth/adapters/native.js.map +1 -1
  4. package/dist/cjs/bluetooth/adapters/node.js +9 -7
  5. package/dist/cjs/bluetooth/adapters/node.js.map +1 -1
  6. package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js +6 -4
  7. package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
  8. package/dist/cjs/bluetooth/adapters/web.js +7 -5
  9. package/dist/cjs/bluetooth/adapters/web.js.map +1 -1
  10. package/dist/cjs/bluetooth/controllers/scanner-controller.js +0 -2
  11. package/dist/cjs/bluetooth/controllers/scanner-controller.js.map +1 -1
  12. package/dist/cjs/bluetooth/index.js.map +1 -1
  13. package/dist/cjs/errors.js.map +1 -1
  14. package/dist/cjs/index.js +19 -10
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/react/hooks.js +2 -6
  17. package/dist/cjs/react/hooks.js.map +1 -1
  18. package/dist/cjs/sdk/notification-dispatcher.js +47 -0
  19. package/dist/cjs/sdk/notification-dispatcher.js.map +1 -0
  20. package/dist/cjs/sdk/reconnect-handler.js +61 -0
  21. package/dist/cjs/sdk/reconnect-handler.js.map +1 -0
  22. package/dist/cjs/sdk/voltra-client.js +206 -72
  23. package/dist/cjs/sdk/voltra-client.js.map +1 -1
  24. package/dist/cjs/sdk/voltra-manager.js +13 -2
  25. package/dist/cjs/sdk/voltra-manager.js.map +1 -1
  26. package/dist/cjs/shared/index.js +5 -1
  27. package/dist/cjs/shared/index.js.map +1 -1
  28. package/dist/cjs/shared/logger.js +54 -0
  29. package/dist/cjs/shared/logger.js.map +1 -0
  30. package/dist/cjs/voltra/index.js +15 -12
  31. package/dist/cjs/voltra/index.js.map +1 -1
  32. package/dist/cjs/voltra/models/device.js +13 -0
  33. package/dist/cjs/voltra/models/device.js.map +1 -1
  34. package/dist/cjs/voltra/protocol/commands.js +127 -210
  35. package/dist/cjs/voltra/protocol/commands.js.map +1 -1
  36. package/dist/cjs/voltra/protocol/constants/ble-config.js +24 -0
  37. package/dist/cjs/voltra/protocol/constants/ble-config.js.map +1 -0
  38. package/dist/cjs/voltra/protocol/constants/connection-commands.js +55 -0
  39. package/dist/cjs/voltra/protocol/constants/connection-commands.js.map +1 -0
  40. package/dist/cjs/voltra/protocol/constants/enums.js +117 -0
  41. package/dist/cjs/voltra/protocol/constants/enums.js.map +1 -0
  42. package/dist/cjs/voltra/protocol/constants/index.js +32 -0
  43. package/dist/cjs/voltra/protocol/constants/index.js.map +1 -0
  44. package/dist/cjs/voltra/protocol/constants/message-types.js +70 -0
  45. package/dist/cjs/voltra/protocol/constants/message-types.js.map +1 -0
  46. package/dist/cjs/voltra/protocol/constants/timing.js +21 -0
  47. package/dist/cjs/voltra/protocol/constants/timing.js.map +1 -0
  48. package/dist/cjs/voltra/protocol/data/protocol-data.generated.js +7 -0
  49. package/dist/cjs/voltra/protocol/data/protocol-data.generated.js.map +1 -0
  50. package/dist/cjs/voltra/protocol/telemetry-decoder.js +122 -6
  51. package/dist/cjs/voltra/protocol/telemetry-decoder.js.map +1 -1
  52. package/dist/cjs/voltra/protocol/types.js +9 -0
  53. package/dist/cjs/voltra/protocol/types.js.map +1 -0
  54. package/dist/esm/bluetooth/adapters/native.js +36 -34
  55. package/dist/esm/bluetooth/adapters/native.js.map +1 -1
  56. package/dist/esm/bluetooth/adapters/node.js +9 -7
  57. package/dist/esm/bluetooth/adapters/node.js.map +1 -1
  58. package/dist/esm/bluetooth/adapters/web-bluetooth-base.js +6 -4
  59. package/dist/esm/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
  60. package/dist/esm/bluetooth/adapters/web.js +7 -5
  61. package/dist/esm/bluetooth/adapters/web.js.map +1 -1
  62. package/dist/esm/bluetooth/controllers/scanner-controller.js +0 -2
  63. package/dist/esm/bluetooth/controllers/scanner-controller.js.map +1 -1
  64. package/dist/esm/bluetooth/index.js +1 -1
  65. package/dist/esm/bluetooth/index.js.map +1 -1
  66. package/dist/esm/errors.js.map +1 -1
  67. package/dist/esm/index.js +4 -7
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/react/hooks.js +1 -5
  70. package/dist/esm/react/hooks.js.map +1 -1
  71. package/dist/esm/sdk/notification-dispatcher.js +44 -0
  72. package/dist/esm/sdk/notification-dispatcher.js.map +1 -0
  73. package/dist/esm/sdk/reconnect-handler.js +57 -0
  74. package/dist/esm/sdk/reconnect-handler.js.map +1 -0
  75. package/dist/esm/sdk/voltra-client.js +204 -70
  76. package/dist/esm/sdk/voltra-client.js.map +1 -1
  77. package/dist/esm/sdk/voltra-manager.js +13 -2
  78. package/dist/esm/sdk/voltra-manager.js.map +1 -1
  79. package/dist/esm/shared/index.js +1 -0
  80. package/dist/esm/shared/index.js.map +1 -1
  81. package/dist/esm/shared/logger.js +49 -0
  82. package/dist/esm/shared/logger.js.map +1 -0
  83. package/dist/esm/voltra/index.js +3 -8
  84. package/dist/esm/voltra/index.js.map +1 -1
  85. package/dist/esm/voltra/models/device.js +13 -0
  86. package/dist/esm/voltra/models/device.js.map +1 -1
  87. package/dist/esm/voltra/protocol/commands.js +117 -209
  88. package/dist/esm/voltra/protocol/commands.js.map +1 -1
  89. package/dist/esm/voltra/protocol/constants/ble-config.js +18 -0
  90. package/dist/esm/voltra/protocol/constants/ble-config.js.map +1 -0
  91. package/dist/esm/voltra/protocol/constants/connection-commands.js +49 -0
  92. package/dist/esm/voltra/protocol/constants/connection-commands.js.map +1 -0
  93. package/dist/esm/voltra/protocol/constants/enums.js +114 -0
  94. package/dist/esm/voltra/protocol/constants/enums.js.map +1 -0
  95. package/dist/esm/voltra/protocol/constants/index.js +12 -0
  96. package/dist/esm/voltra/protocol/constants/index.js.map +1 -0
  97. package/dist/esm/voltra/protocol/constants/message-types.js +64 -0
  98. package/dist/esm/voltra/protocol/constants/message-types.js.map +1 -0
  99. package/dist/esm/voltra/protocol/constants/timing.js +18 -0
  100. package/dist/esm/voltra/protocol/constants/timing.js.map +1 -0
  101. package/dist/esm/voltra/protocol/data/protocol-data.generated.js +5 -0
  102. package/dist/esm/voltra/protocol/data/protocol-data.generated.js.map +1 -0
  103. package/dist/esm/voltra/protocol/telemetry-decoder.js +124 -8
  104. package/dist/esm/voltra/protocol/telemetry-decoder.js.map +1 -1
  105. package/dist/esm/voltra/protocol/types.js +8 -0
  106. package/dist/esm/voltra/protocol/types.js.map +1 -0
  107. package/dist/types/bluetooth/adapters/native.d.ts.map +1 -1
  108. package/dist/types/bluetooth/adapters/node.d.ts.map +1 -1
  109. package/dist/types/bluetooth/adapters/web-bluetooth-base.d.ts.map +1 -1
  110. package/dist/types/bluetooth/adapters/web.d.ts.map +1 -1
  111. package/dist/types/bluetooth/controllers/scanner-controller.d.ts.map +1 -1
  112. package/dist/types/bluetooth/index.d.ts +1 -1
  113. package/dist/types/bluetooth/index.d.ts.map +1 -1
  114. package/dist/types/errors.d.ts.map +1 -1
  115. package/dist/types/index.d.ts +5 -4
  116. package/dist/types/index.d.ts.map +1 -1
  117. package/dist/types/react/hooks.d.ts.map +1 -1
  118. package/dist/types/sdk/index.d.ts +2 -1
  119. package/dist/types/sdk/index.d.ts.map +1 -1
  120. package/dist/types/sdk/notification-dispatcher.d.ts +29 -0
  121. package/dist/types/sdk/notification-dispatcher.d.ts.map +1 -0
  122. package/dist/types/sdk/reconnect-handler.d.ts +55 -0
  123. package/dist/types/sdk/reconnect-handler.d.ts.map +1 -0
  124. package/dist/types/sdk/types.d.ts +35 -0
  125. package/dist/types/sdk/types.d.ts.map +1 -1
  126. package/dist/types/sdk/voltra-client.d.ts +77 -2
  127. package/dist/types/sdk/voltra-client.d.ts.map +1 -1
  128. package/dist/types/sdk/voltra-manager.d.ts.map +1 -1
  129. package/dist/types/shared/index.d.ts +1 -0
  130. package/dist/types/shared/index.d.ts.map +1 -1
  131. package/dist/types/shared/logger.d.ts +39 -0
  132. package/dist/types/shared/logger.d.ts.map +1 -0
  133. package/dist/types/voltra/index.d.ts +3 -3
  134. package/dist/types/voltra/index.d.ts.map +1 -1
  135. package/dist/types/voltra/models/device.d.ts +11 -1
  136. package/dist/types/voltra/models/device.d.ts.map +1 -1
  137. package/dist/types/voltra/protocol/commands.d.ts +47 -87
  138. package/dist/types/voltra/protocol/commands.d.ts.map +1 -1
  139. package/dist/types/voltra/protocol/constants/ble-config.d.ts +16 -0
  140. package/dist/types/voltra/protocol/constants/ble-config.d.ts.map +1 -0
  141. package/dist/types/voltra/protocol/constants/connection-commands.d.ts +37 -0
  142. package/dist/types/voltra/protocol/constants/connection-commands.d.ts.map +1 -0
  143. package/dist/types/voltra/protocol/constants/enums.d.ts +72 -0
  144. package/dist/types/voltra/protocol/constants/enums.d.ts.map +1 -0
  145. package/dist/types/voltra/protocol/constants/index.d.ts +12 -0
  146. package/dist/types/voltra/protocol/constants/index.d.ts.map +1 -0
  147. package/dist/types/voltra/protocol/constants/message-types.d.ts +52 -0
  148. package/dist/types/voltra/protocol/constants/message-types.d.ts.map +1 -0
  149. package/dist/types/voltra/protocol/constants/timing.d.ts +18 -0
  150. package/dist/types/voltra/protocol/constants/timing.d.ts.map +1 -0
  151. package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts +3 -0
  152. package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts.map +1 -0
  153. package/dist/types/voltra/protocol/telemetry-decoder.d.ts +15 -2
  154. package/dist/types/voltra/protocol/telemetry-decoder.d.ts.map +1 -1
  155. package/dist/types/voltra/protocol/types.d.ts +247 -0
  156. package/dist/types/voltra/protocol/types.d.ts.map +1 -0
  157. package/package.json +9 -8
  158. package/dist/cjs/voltra/protocol/constants.js +0 -136
  159. package/dist/cjs/voltra/protocol/constants.js.map +0 -1
  160. package/dist/cjs/voltra/protocol/data/chains.json +0 -830
  161. package/dist/cjs/voltra/protocol/data/eccentric.json +0 -1598
  162. package/dist/cjs/voltra/protocol/data/protocol.json +0 -54
  163. package/dist/cjs/voltra/protocol/data/weights.json +0 -62
  164. package/dist/esm/voltra/protocol/constants.js +0 -130
  165. package/dist/esm/voltra/protocol/constants.js.map +0 -1
  166. package/dist/esm/voltra/protocol/data/chains.json +0 -830
  167. package/dist/esm/voltra/protocol/data/eccentric.json +0 -1598
  168. package/dist/esm/voltra/protocol/data/protocol.json +0 -54
  169. package/dist/esm/voltra/protocol/data/weights.json +0 -62
  170. package/dist/types/voltra/protocol/constants.d.ts +0 -103
  171. package/dist/types/voltra/protocol/constants.d.ts.map +0 -1
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Notification Dispatcher
3
+ *
4
+ * Decodes BLE notifications and dispatches to typed callbacks.
5
+ * Extracted from VoltraClient for modularity.
6
+ */
7
+ import type { NotificationCallback } from '../bluetooth/adapters/types';
8
+ import type { TelemetryFrame } from '../voltra/models/telemetry';
9
+ import type { TrainingMode } from '../voltra/protocol/constants';
10
+ import type { DeviceSettings } from '../voltra/protocol/types';
11
+ /**
12
+ * Callbacks for each notification type.
13
+ */
14
+ export interface NotificationCallbacks {
15
+ onFrame: (frame: TelemetryFrame) => void;
16
+ onRepBoundary: () => void;
17
+ onSetBoundary: () => void;
18
+ onModeConfirmed: (mode: TrainingMode) => void;
19
+ onSettingsUpdate: (settings: DeviceSettings) => void;
20
+ onBatteryUpdate: (battery: number) => void;
21
+ }
22
+ /**
23
+ * Create a BLE notification handler that decodes and dispatches to typed callbacks.
24
+ *
25
+ * @param callbacks Typed callbacks for each notification type
26
+ * @returns NotificationCallback to pass to adapter.onNotification()
27
+ */
28
+ export declare function createNotificationHandler(callbacks: NotificationCallbacks): NotificationCallback;
29
+ //# sourceMappingURL=notification-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/sdk/notification-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,qBAAqB,GAAG,oBAAoB,CAmChG"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Reconnect Handler
3
+ *
4
+ * Manages automatic reconnection on unexpected disconnects.
5
+ * Extracted from VoltraClient for modularity.
6
+ */
7
+ import type { BLEAdapter } from '../bluetooth/adapters/types';
8
+ /**
9
+ * Options for the reconnect handler.
10
+ */
11
+ export interface ReconnectOptions {
12
+ /** Whether auto-reconnect is enabled */
13
+ autoReconnect: boolean;
14
+ /** Maximum number of reconnect attempts */
15
+ maxReconnectAttempts: number;
16
+ /** Delay between reconnect attempts in milliseconds */
17
+ reconnectDelayMs: number;
18
+ }
19
+ /**
20
+ * Callbacks the reconnect handler uses to interact with the client.
21
+ */
22
+ export interface ReconnectCallbacks {
23
+ /** Called when a reconnect attempt starts */
24
+ onReconnecting: (attempt: number, maxAttempts: number) => void;
25
+ /** Called to perform the actual reconnection */
26
+ reconnect: () => Promise<void>;
27
+ /** Called when all reconnect attempts have failed */
28
+ onReconnectFailed: () => void;
29
+ }
30
+ /**
31
+ * State tracked by the reconnect handler.
32
+ */
33
+ export interface ReconnectState {
34
+ isReconnecting: boolean;
35
+ reconnectAttempt: number;
36
+ }
37
+ /**
38
+ * Setup a disconnect handler on the adapter that triggers auto-reconnect.
39
+ *
40
+ * @param adapter BLE adapter to monitor
41
+ * @param options Reconnect options
42
+ * @param isConnected Function that returns current connection state
43
+ * @param handleDisconnect Function to call on unexpected disconnect
44
+ * @returns Unsubscribe function, or null if auto-reconnect is disabled
45
+ */
46
+ export declare function setupDisconnectMonitor(adapter: BLEAdapter, options: ReconnectOptions, isConnected: () => boolean, handleDisconnect: () => void): (() => void) | null;
47
+ /**
48
+ * Attempt to reconnect with exponential backoff.
49
+ *
50
+ * @param options Reconnect options
51
+ * @param callbacks Reconnect callbacks
52
+ * @returns Final reconnect state
53
+ */
54
+ export declare function attemptReconnect(options: ReconnectOptions, callbacks: ReconnectCallbacks): Promise<ReconnectState>;
55
+ //# sourceMappingURL=reconnect-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconnect-handler.d.ts","sourceRoot":"","sources":["../../../src/sdk/reconnect-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,gDAAgD;IAChD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qDAAqD;IACrD,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,MAAM,OAAO,EAC1B,gBAAgB,EAAE,MAAM,IAAI,GAC3B,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAUrB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
@@ -8,6 +8,8 @@ import type { DiscoveredDevice } from '../bluetooth/models/device';
8
8
  import type { TelemetryFrame } from '../voltra/models/telemetry';
9
9
  import type { VoltraConnectionState } from '../voltra/models/connection';
10
10
  import type { VoltraDeviceSettings, VoltraRecordingState } from '../voltra/models/device';
11
+ import type { TrainingMode } from '../voltra/protocol/constants';
12
+ import type { DeviceSettings } from '../voltra/protocol/types';
11
13
  /**
12
14
  * Options for creating a VoltraClient.
13
15
  */
@@ -71,6 +73,19 @@ export type VoltraClientEvent = {
71
73
  } | {
72
74
  type: 'frame';
73
75
  frame: TelemetryFrame;
76
+ } | {
77
+ type: 'repBoundary';
78
+ } | {
79
+ type: 'setBoundary';
80
+ } | {
81
+ type: 'modeConfirmed';
82
+ mode: TrainingMode;
83
+ } | {
84
+ type: 'settingsUpdate';
85
+ settings: DeviceSettings;
86
+ } | {
87
+ type: 'batteryUpdate';
88
+ battery: number;
74
89
  } | {
75
90
  type: 'error';
76
91
  error: Error;
@@ -83,6 +98,26 @@ export type VoltraClientEventListener = (event: VoltraClientEvent) => void;
83
98
  * Frame listener (shorthand for subscribing to telemetry frames).
84
99
  */
85
100
  export type FrameListener = (frame: TelemetryFrame) => void;
101
+ /**
102
+ * Rep boundary listener (called when device signals rep completion).
103
+ */
104
+ export type RepBoundaryListener = () => void;
105
+ /**
106
+ * Set boundary listener (called when device signals set completion).
107
+ */
108
+ export type SetBoundaryListener = () => void;
109
+ /**
110
+ * Mode confirmed listener (called when device confirms mode change).
111
+ */
112
+ export type ModeConfirmedListener = (mode: TrainingMode) => void;
113
+ /**
114
+ * Settings update listener (called when device reports current settings).
115
+ */
116
+ export type SettingsUpdateListener = (settings: DeviceSettings) => void;
117
+ /**
118
+ * Battery update listener (called when device reports battery level).
119
+ */
120
+ export type BatteryUpdateListener = (battery: number) => void;
86
121
  /**
87
122
  * State snapshot of the client.
88
123
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,qBAAqB,CAAC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,cAAc,EAAE,oBAAoB,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sdk/types.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@
17
17
  *
18
18
  * // Configure settings
19
19
  * await client.setWeight(50);
20
+ * await client.setMode(TrainingMode.WeightTraining);
20
21
  *
21
22
  * // Listen for telemetry
22
23
  * client.onFrame((frame) => {
@@ -36,7 +37,8 @@ import type { BLEAdapter } from '../bluetooth/adapters/types';
36
37
  import type { DiscoveredDevice } from '../bluetooth/models/device';
37
38
  import type { VoltraConnectionState } from '../voltra/models/connection';
38
39
  import type { VoltraDeviceSettings, VoltraRecordingState } from '../voltra/models/device';
39
- import type { VoltraClientOptions, VoltraClientState, VoltraClientEventListener, FrameListener, ScanOptions } from './types';
40
+ import { TrainingMode } from '../voltra/protocol/constants';
41
+ import type { VoltraClientOptions, VoltraClientState, VoltraClientEventListener, FrameListener, RepBoundaryListener, SetBoundaryListener, ModeConfirmedListener, SettingsUpdateListener, BatteryUpdateListener, ScanOptions } from './types';
40
42
  /**
41
43
  * High-level client for connecting to and controlling a Voltra device.
42
44
  */
@@ -55,6 +57,11 @@ export declare class VoltraClient {
55
57
  private notificationUnsubscribe;
56
58
  private listeners;
57
59
  private frameListeners;
60
+ private repBoundaryListeners;
61
+ private setBoundaryListeners;
62
+ private modeConfirmedListeners;
63
+ private settingsUpdateListeners;
64
+ private batteryUpdateListeners;
58
65
  private disposed;
59
66
  constructor(options?: VoltraClientOptions);
60
67
  /**
@@ -130,7 +137,7 @@ export declare class VoltraClient {
130
137
  /**
131
138
  * Set weight in pounds.
132
139
  *
133
- * @param lbs Weight (5-200 in increments of 5)
140
+ * @param lbs Weight (5-200, any integer value)
134
141
  */
135
142
  setWeight(lbs: number): Promise<void>;
136
143
  /**
@@ -139,6 +146,15 @@ export declare class VoltraClient {
139
146
  * @param lbs Chains weight (0-100)
140
147
  */
141
148
  setChains(lbs: number): Promise<void>;
149
+ /**
150
+ * Set inverse chains weight.
151
+ *
152
+ * Inverse chains reduce resistance during the concentric (lifting) phase
153
+ * and add resistance during the eccentric (lowering) phase - opposite of regular chains.
154
+ *
155
+ * @param lbs Inverse chains weight in pounds (0-100)
156
+ */
157
+ setInverseChains(lbs: number): Promise<void>;
142
158
  /**
143
159
  * Set eccentric load adjustment.
144
160
  *
@@ -157,6 +173,20 @@ export declare class VoltraClient {
157
173
  * Get available eccentric values.
158
174
  */
159
175
  getAvailableEccentric(): number[];
176
+ /**
177
+ * Get available inverse chains values.
178
+ */
179
+ getAvailableInverseChains(): number[];
180
+ /**
181
+ * Set training mode.
182
+ *
183
+ * @param mode Training mode to set
184
+ */
185
+ setMode(mode: TrainingMode): Promise<void>;
186
+ /**
187
+ * Get available training modes.
188
+ */
189
+ getAvailableModes(): TrainingMode[];
160
190
  /**
161
191
  * Prepare for recording (sends PREPARE + SETUP commands).
162
192
  * Call this before starting a set to minimize latency.
@@ -198,6 +228,46 @@ export declare class VoltraClient {
198
228
  * @returns Unsubscribe function
199
229
  */
200
230
  onConnectionStateChange(listener: (state: VoltraConnectionState) => void): () => void;
231
+ /**
232
+ * Subscribe to rep boundary events.
233
+ * Called when the device signals a rep completion (end of concentric or eccentric phase).
234
+ *
235
+ * @param listener Rep boundary listener
236
+ * @returns Unsubscribe function
237
+ */
238
+ onRepBoundary(listener: RepBoundaryListener): () => void;
239
+ /**
240
+ * Subscribe to set boundary events.
241
+ * Called when the device signals set completion.
242
+ *
243
+ * @param listener Set boundary listener
244
+ * @returns Unsubscribe function
245
+ */
246
+ onSetBoundary(listener: SetBoundaryListener): () => void;
247
+ /**
248
+ * Subscribe to mode confirmation events.
249
+ * Called when the device confirms a training mode change.
250
+ *
251
+ * @param listener Mode confirmed listener
252
+ * @returns Unsubscribe function
253
+ */
254
+ onModeConfirmed(listener: ModeConfirmedListener): () => void;
255
+ /**
256
+ * Subscribe to settings update events.
257
+ * Called when the device reports its current settings.
258
+ *
259
+ * @param listener Settings update listener
260
+ * @returns Unsubscribe function
261
+ */
262
+ onSettingsUpdate(listener: SettingsUpdateListener): () => void;
263
+ /**
264
+ * Subscribe to battery update events.
265
+ * Called when the device reports its battery level.
266
+ *
267
+ * @param listener Battery update listener
268
+ * @returns Unsubscribe function
269
+ */
270
+ onBatteryUpdate(listener: BatteryUpdateListener): () => void;
201
271
  /**
202
272
  * Dispose of the client and release all resources.
203
273
  * After calling dispose(), the client cannot be used.
@@ -217,5 +287,10 @@ export declare class VoltraClient {
217
287
  private ensureConnected;
218
288
  private wrapError;
219
289
  private getErrorMessage;
290
+ /**
291
+ * Sync internal settings state from device-reported settings.
292
+ * Called when the device sends a settings_update notification.
293
+ */
294
+ private syncSettingsFromDevice;
220
295
  }
221
296
  //# sourceMappingURL=voltra-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voltra-client.d.ts","sourceRoot":"","sources":["../../../src/sdk/voltra-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voltra-client.d.ts","sourceRoot":"","sources":["../../../src/sdk/voltra-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"voltra-manager.d.ts","sourceRoot":"","sources":["../../../src/sdk/voltra-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voltra-manager.d.ts","sourceRoot":"","sources":["../../../src/sdk/voltra-manager.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@
2
2
  * Shared Utilities
3
3
  */
4
4
  export { delay, hexToBytes, bytesToHex, bytesEqual } from './utils';
5
+ export { createLogger, setDebugEnabled, isDebugEnabled, type Logger } from './logger';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * SDK Logger
3
+ *
4
+ * Scoped, opt-in debug logging for SDK internals.
5
+ * Silent by default — consumers enable via `setDebugEnabled(true)`.
6
+ *
7
+ * Usage:
8
+ * const log = createLogger('NativeBLE');
9
+ * log.debug('Starting scan...'); // [NativeBLE] Starting scan...
10
+ * log.warn('MTU request failed'); // [NativeBLE] MTU request failed
11
+ * log.error('Connect error:', error); // [NativeBLE] Connect error: ...
12
+ */
13
+ /**
14
+ * Enable or disable SDK debug logging.
15
+ * When disabled (default), only warnings and errors are emitted.
16
+ */
17
+ export declare function setDebugEnabled(enabled: boolean): void;
18
+ /**
19
+ * Check if debug logging is enabled.
20
+ */
21
+ export declare function isDebugEnabled(): boolean;
22
+ /**
23
+ * Scoped logger for a specific SDK module.
24
+ */
25
+ export interface Logger {
26
+ /** Debug-level output (only when debug enabled) */
27
+ debug: (...args: unknown[]) => void;
28
+ /** Warning-level output (always emitted) */
29
+ warn: (...args: unknown[]) => void;
30
+ /** Error-level output (always emitted) */
31
+ error: (...args: unknown[]) => void;
32
+ }
33
+ /**
34
+ * Create a scoped logger for a module.
35
+ *
36
+ * @param tag Module name shown in brackets, e.g. 'NativeBLE'
37
+ */
38
+ export declare function createLogger(tag: string): Logger;
39
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/shared/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,4CAA4C;IAC5C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,0CAA0C;IAC1C,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBhD"}
@@ -3,11 +3,11 @@
3
3
  *
4
4
  * Voltra device management, telemetry processing, and workout control.
5
5
  */
6
- export { VoltraDevice, DEFAULT_SETTINGS, type VoltraDeviceSettings, type VoltraRecordingState, type VoltraDeviceState, } from './models/device';
6
+ export type { VoltraDeviceSettings, VoltraRecordingState, VoltraDeviceState, } from './models/device';
7
7
  export { type VoltraConnectionState, isValidVoltraTransition, VoltraConnectionStateModel, } from './models/connection';
8
8
  export { VOLTRA_DEVICE_PREFIX, isVoltraDevice, filterVoltraDevices } from './models/device-filter';
9
9
  export { type TelemetryFrame, createFrame, isActivePhase, isConcentricPhase, isEccentricPhase, } from './models/telemetry';
10
- export { WeightCommands, ChainsCommands, EccentricCommands, type DualCommand, } from './protocol/commands';
11
- export { MessageTypes, TelemetryOffsets, Timing, Auth, Init, Workout, BLE, MovementPhase, PhaseNames, } from './protocol/constants';
10
+ export { getWeightCommand, getChainsCommand, getEccentricCommand, getModeCommand, getAvailableWeights, getAvailableChains, getAvailableEccentric, getAvailableModes, } from './protocol/commands';
11
+ export { MessageTypes, TelemetryOffsets, Timing, Auth, Init, Workout, BLE, MovementPhase, PhaseNames, ParameterId, ParameterNames, TrainingMode, TrainingModeNames, VALID_TRAINING_MODES, } from './protocol/constants';
12
12
  export { decodeNotification, decodeTelemetryFrame, encodeTelemetryFrame, identifyMessageType, type DecodeResult, type MessageType, } from './protocol/telemetry-decoder';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/voltra/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,qBAAqB,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGnG,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,GAAG,EACH,aAAa,EACb,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/voltra/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,KAAK,qBAAqB,EAC1B,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGnG,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,GAAG,EACH,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,8BAA8B,CAAC"}
@@ -4,16 +4,23 @@
4
4
  * Represents a Voltra device with its identity, settings, and connection state.
5
5
  */
6
6
  import { type VoltraConnectionState } from './connection';
7
+ import { TrainingMode } from '../protocol/constants';
7
8
  /**
8
9
  * Voltra device settings.
9
10
  */
10
11
  export interface VoltraDeviceSettings {
11
- /** Weight in pounds (5-200 in increments of 5) */
12
+ /** Weight in pounds (5-200, any integer value) */
12
13
  weight: number;
13
14
  /** Chains (reverse resistance) in pounds (0-100) */
14
15
  chains: number;
16
+ /** Inverse chains (progressive resistance) in pounds (0-100) */
17
+ inverseChains: number;
15
18
  /** Eccentric load adjustment (-195 to +195) */
16
19
  eccentric: number;
20
+ /** Current training mode */
21
+ mode: TrainingMode;
22
+ /** Battery level (0-100) or null if unknown */
23
+ battery: number | null;
17
24
  }
18
25
  /**
19
26
  * Recording state for a Voltra device.
@@ -62,6 +69,9 @@ export declare class VoltraDevice {
62
69
  get weight(): number;
63
70
  get chains(): number;
64
71
  get eccentric(): number;
72
+ get inverseChains(): number;
73
+ get mode(): TrainingMode;
74
+ get battery(): number | null;
65
75
  get connectionState(): VoltraConnectionState;
66
76
  get isConnected(): boolean;
67
77
  get isReconnecting(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/voltra/models/device.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,eAAe,EAAE,qBAAqB,CAAC;IACvC,cAAc,EAAE,OAAO,CAAC;IAGxB,QAAQ,EAAE,oBAAoB,CAAC;IAG/B,cAAc,EAAE,oBAAoB,CAAC;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGlC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,oBAI9B,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,MAAM,CAAgB;gBAElB,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAexD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAEnC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,eAAe,IAAI,qBAAqB,CAE3C;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,cAAc,IAAI,oBAAoB,CAEzC;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAEzB;IAMD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAI7D;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAItD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAIrC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IASpD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC;;OAEG;IACH,UAAU,IAAI,IAAI;IAQlB;;OAEG;IACH,OAAO,IAAI,iBAAiB;IAa5B;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/voltra/models/device.ts"],"names":[],"mappings":"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"}
@@ -1,99 +1,59 @@
1
1
  /**
2
- * Voltra Protocol Command Builders
2
+ * Voltra Protocol Commands
3
3
  *
4
- * Builds commands for setting weight, chains, and eccentric resistance.
4
+ * Simple key-value mapping from operations to commands.
5
+ * Commands are loaded from the consolidated protocol.json.
6
+ * All commands are pre-computed lookup values.
5
7
  */
6
- interface ChainsValue {
7
- step1_seq: string;
8
- step1_checksum: string;
9
- step2_seq: string;
10
- step2_checksum: string;
11
- }
12
- interface ChainsData {
13
- format: {
14
- step1: {
15
- prefix: string;
16
- mode: string;
17
- register: string;
18
- padding: string;
19
- };
20
- step2: {
21
- prefix: string;
22
- mode: string;
23
- register: string;
24
- padding: string;
25
- };
26
- };
27
- values: Record<string, ChainsValue>;
28
- }
8
+ import { TrainingMode } from './constants';
29
9
  /**
30
- * Weight command builder for 5-200 lbs in 5 lb increments.
10
+ * Get weight command for specified pounds.
11
+ * @param lbs Weight in pounds (5-200)
12
+ * @returns Command bytes, or null if not available
31
13
  */
32
- export declare const WeightCommands: {
33
- MIN: number;
34
- MAX: number;
35
- INCREMENT: number;
36
- /** Get available weight values */
37
- getAvailable(): number[];
38
- /** Check if a weight value is valid */
39
- isValid(pounds: number): boolean;
40
- /**
41
- * Get the command to set a specific weight.
42
- * @param pounds Weight in pounds (5-200 in increments of 5)
43
- * @returns 21-byte command, or null if weight not available
44
- */
45
- get(pounds: number): Uint8Array | null;
46
- _build(pounds: number, seq: string, checksum: string, format: {
47
- prefix: string;
48
- mode: string;
49
- register: string;
50
- padding: string;
51
- }): Uint8Array;
52
- };
14
+ export declare function getWeightCommand(lbs: number): Uint8Array | null;
53
15
  /**
54
- * Dual command result for chains and eccentric.
16
+ * Get chains command for specified pounds.
17
+ * @param lbs Chains weight in pounds (0-100)
18
+ * @returns Command bytes, or null if not available
55
19
  */
56
- export interface DualCommand {
57
- step1: Uint8Array;
58
- step2: Uint8Array;
59
- }
20
+ export declare function getChainsCommand(lbs: number): Uint8Array | null;
60
21
  /**
61
- * Chains (reverse resistance) command builder for 0-100 lbs.
62
- * Requires dual commands: send step1, wait 500ms, send step2.
22
+ * Get eccentric command for specified value.
23
+ * @param value Eccentric adjustment (-195 to +195)
24
+ * @returns Command bytes, or null if not available
63
25
  */
64
- export declare const ChainsCommands: {
65
- MIN: number;
66
- MAX: number;
67
- /** Get available chains values */
68
- getAvailable(): number[];
69
- /** Check if a chains value is valid */
70
- isValid(pounds: number): boolean;
71
- /**
72
- * Get dual commands to set chains weight.
73
- * @param pounds Chains weight (0-100)
74
- * @returns Tuple of (step1, step2) commands, or null if not available
75
- */
76
- get(pounds: number): DualCommand | null;
77
- _build(pounds: number, step: 1 | 2, seq: string, checksum: string, format: ChainsData["format"]): Uint8Array;
78
- };
26
+ export declare function getEccentricCommand(value: number): Uint8Array | null;
79
27
  /**
80
- * Eccentric load adjustment command builder for -195 to +195.
81
- * Requires dual commands: send step1, wait 500ms, send step2.
28
+ * Get available weight values.
82
29
  */
83
- export declare const EccentricCommands: {
84
- MIN: number;
85
- MAX: number;
86
- /** Get available eccentric values */
87
- getAvailable(): number[];
88
- /** Check if an eccentric value is valid */
89
- isValid(value: number): boolean;
90
- /**
91
- * Get dual commands to set eccentric load.
92
- * @param value Eccentric adjustment (-195 to +195)
93
- * @returns Tuple of (step1, step2) commands, or null if not available
94
- */
95
- get(value: number): DualCommand | null;
96
- _build(value: number, step: 1 | 2): Uint8Array;
97
- };
98
- export {};
30
+ export declare function getAvailableWeights(): number[];
31
+ /**
32
+ * Get available chains values.
33
+ */
34
+ export declare function getAvailableChains(): number[];
35
+ /**
36
+ * Get available eccentric values.
37
+ */
38
+ export declare function getAvailableEccentric(): number[];
39
+ /**
40
+ * Get inverse chains command for specified pounds.
41
+ * @param lbs Inverse chains weight in pounds (0-100)
42
+ * @returns Command bytes, or null if not available
43
+ */
44
+ export declare function getInverseChainsCommand(lbs: number): Uint8Array | null;
45
+ /**
46
+ * Get available inverse chains values.
47
+ */
48
+ export declare function getAvailableInverseChains(): number[];
49
+ /**
50
+ * Get mode command for specified training mode.
51
+ * @param mode Training mode to set
52
+ * @returns Command bytes, or null if invalid mode
53
+ */
54
+ export declare function getModeCommand(mode: TrainingMode): Uint8Array | null;
55
+ /**
56
+ * Get available training modes.
57
+ */
58
+ export declare function getAvailableModes(): TrainingMode[];
99
59
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/voltra/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE;QACN,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3E,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC;AAoBD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;IAKzB,kCAAkC;oBAClB,MAAM,EAAE;IAMxB,uCAAuC;oBACvB,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;gBACS,MAAM,GAAG,UAAU,GAAG,IAAI;mBAc5B,MAAM,OACT,MAAM,YACD,MAAM,UACR;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1E,UAAU;CAwCd,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;IAIzB,kCAAkC;oBAClB,MAAM,EAAE;IAMxB,uCAAuC;oBACvB,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;gBACS,MAAM,GAAG,WAAW,GAAG,IAAI;mBAkB7B,MAAM,QACR,CAAC,GAAG,CAAC,OACN,MAAM,YACD,MAAM,UACR,UAAU,CAAC,QAAQ,CAAC,GAC3B,UAAU;CAyCd,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;IAI5B,qCAAqC;oBACrB,MAAM,EAAE;IAMxB,2CAA2C;mBAC5B,MAAM,GAAG,OAAO;IAI/B;;;;OAIG;eACQ,MAAM,GAAG,WAAW,GAAG,IAAI;kBAaxB,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU;CA8C/C,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/voltra/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAC;AA4CjE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAI9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAI7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAIpD;AAkBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * BLE Configuration
3
+ *
4
+ * Service UUIDs, characteristic UUIDs, and device naming for Voltra devices.
5
+ */
6
+ export declare const BLE: {
7
+ /** Main service UUID for Voltra devices */
8
+ readonly SERVICE_UUID: string;
9
+ /** Characteristic for receiving notifications */
10
+ readonly NOTIFY_CHAR_UUID: string;
11
+ /** Characteristic for writing commands */
12
+ readonly WRITE_CHAR_UUID: string;
13
+ /** Device name prefix for scanning (e.g., "VTR-") */
14
+ readonly DEVICE_NAME_PREFIX: string;
15
+ };
16
+ //# sourceMappingURL=ble-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ble-config.d.ts","sourceRoot":"","sources":["../../../../../src/voltra/protocol/constants/ble-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,GAAG;IACd,2CAA2C;;IAE3C,iDAAiD;;IAEjD,0CAA0C;;IAE1C,qDAAqD;;CAE7C,CAAC"}