@voltras/node-sdk 0.1.2 → 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.
- package/README.md +122 -31
- package/dist/cjs/bluetooth/adapters/native.js +36 -34
- package/dist/cjs/bluetooth/adapters/native.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/node.js +9 -7
- package/dist/cjs/bluetooth/adapters/node.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js +6 -4
- package/dist/cjs/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
- package/dist/cjs/bluetooth/adapters/web.js +7 -5
- package/dist/cjs/bluetooth/adapters/web.js.map +1 -1
- package/dist/cjs/bluetooth/controllers/scanner-controller.js +0 -2
- package/dist/cjs/bluetooth/controllers/scanner-controller.js.map +1 -1
- package/dist/cjs/index.js +19 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react/hooks.js +2 -6
- package/dist/cjs/react/hooks.js.map +1 -1
- package/dist/cjs/sdk/notification-dispatcher.js +47 -0
- package/dist/cjs/sdk/notification-dispatcher.js.map +1 -0
- package/dist/cjs/sdk/reconnect-handler.js +61 -0
- package/dist/cjs/sdk/reconnect-handler.js.map +1 -0
- package/dist/cjs/sdk/voltra-client.js +206 -72
- package/dist/cjs/sdk/voltra-client.js.map +1 -1
- package/dist/cjs/shared/index.js +5 -1
- package/dist/cjs/shared/index.js.map +1 -1
- package/dist/cjs/shared/logger.js +54 -0
- package/dist/cjs/shared/logger.js.map +1 -0
- package/dist/cjs/voltra/index.js +15 -12
- package/dist/cjs/voltra/index.js.map +1 -1
- package/dist/cjs/voltra/models/device.js +13 -0
- package/dist/cjs/voltra/models/device.js.map +1 -1
- package/dist/cjs/voltra/protocol/commands.js +127 -210
- package/dist/cjs/voltra/protocol/commands.js.map +1 -1
- package/dist/cjs/voltra/protocol/constants/ble-config.js +24 -0
- package/dist/cjs/voltra/protocol/constants/ble-config.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/connection-commands.js +55 -0
- package/dist/cjs/voltra/protocol/constants/connection-commands.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/enums.js +117 -0
- package/dist/cjs/voltra/protocol/constants/enums.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/index.js +32 -0
- package/dist/cjs/voltra/protocol/constants/index.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/message-types.js +70 -0
- package/dist/cjs/voltra/protocol/constants/message-types.js.map +1 -0
- package/dist/cjs/voltra/protocol/constants/timing.js +21 -0
- package/dist/cjs/voltra/protocol/constants/timing.js.map +1 -0
- package/dist/cjs/voltra/protocol/data/protocol-data.generated.js +7 -0
- package/dist/cjs/voltra/protocol/data/protocol-data.generated.js.map +1 -0
- package/dist/cjs/voltra/protocol/telemetry-decoder.js +122 -6
- package/dist/cjs/voltra/protocol/telemetry-decoder.js.map +1 -1
- package/dist/cjs/voltra/protocol/types.js +9 -0
- package/dist/cjs/voltra/protocol/types.js.map +1 -0
- package/dist/esm/bluetooth/adapters/native.js +36 -34
- package/dist/esm/bluetooth/adapters/native.js.map +1 -1
- package/dist/esm/bluetooth/adapters/node.js +9 -7
- package/dist/esm/bluetooth/adapters/node.js.map +1 -1
- package/dist/esm/bluetooth/adapters/web-bluetooth-base.js +6 -4
- package/dist/esm/bluetooth/adapters/web-bluetooth-base.js.map +1 -1
- package/dist/esm/bluetooth/adapters/web.js +7 -5
- package/dist/esm/bluetooth/adapters/web.js.map +1 -1
- package/dist/esm/bluetooth/controllers/scanner-controller.js +0 -2
- package/dist/esm/bluetooth/controllers/scanner-controller.js.map +1 -1
- package/dist/esm/index.js +3 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react/hooks.js +1 -5
- package/dist/esm/react/hooks.js.map +1 -1
- package/dist/esm/sdk/notification-dispatcher.js +44 -0
- package/dist/esm/sdk/notification-dispatcher.js.map +1 -0
- package/dist/esm/sdk/reconnect-handler.js +57 -0
- package/dist/esm/sdk/reconnect-handler.js.map +1 -0
- package/dist/esm/sdk/voltra-client.js +204 -70
- package/dist/esm/sdk/voltra-client.js.map +1 -1
- package/dist/esm/shared/index.js +1 -0
- package/dist/esm/shared/index.js.map +1 -1
- package/dist/esm/shared/logger.js +49 -0
- package/dist/esm/shared/logger.js.map +1 -0
- package/dist/esm/voltra/index.js +3 -8
- package/dist/esm/voltra/index.js.map +1 -1
- package/dist/esm/voltra/models/device.js +13 -0
- package/dist/esm/voltra/models/device.js.map +1 -1
- package/dist/esm/voltra/protocol/commands.js +117 -209
- package/dist/esm/voltra/protocol/commands.js.map +1 -1
- package/dist/esm/voltra/protocol/constants/ble-config.js +18 -0
- package/dist/esm/voltra/protocol/constants/ble-config.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/connection-commands.js +49 -0
- package/dist/esm/voltra/protocol/constants/connection-commands.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/enums.js +114 -0
- package/dist/esm/voltra/protocol/constants/enums.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/index.js +12 -0
- package/dist/esm/voltra/protocol/constants/index.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/message-types.js +64 -0
- package/dist/esm/voltra/protocol/constants/message-types.js.map +1 -0
- package/dist/esm/voltra/protocol/constants/timing.js +18 -0
- package/dist/esm/voltra/protocol/constants/timing.js.map +1 -0
- package/dist/esm/voltra/protocol/data/protocol-data.generated.js +5 -0
- package/dist/esm/voltra/protocol/data/protocol-data.generated.js.map +1 -0
- package/dist/esm/voltra/protocol/telemetry-decoder.js +124 -8
- package/dist/esm/voltra/protocol/telemetry-decoder.js.map +1 -1
- package/dist/esm/voltra/protocol/types.js +8 -0
- package/dist/esm/voltra/protocol/types.js.map +1 -0
- package/dist/types/bluetooth/adapters/native.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/node.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/web-bluetooth-base.d.ts.map +1 -1
- package/dist/types/bluetooth/adapters/web.d.ts.map +1 -1
- package/dist/types/bluetooth/controllers/scanner-controller.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/react/hooks.d.ts.map +1 -1
- package/dist/types/sdk/index.d.ts +2 -1
- package/dist/types/sdk/index.d.ts.map +1 -1
- package/dist/types/sdk/notification-dispatcher.d.ts +29 -0
- package/dist/types/sdk/notification-dispatcher.d.ts.map +1 -0
- package/dist/types/sdk/reconnect-handler.d.ts +55 -0
- package/dist/types/sdk/reconnect-handler.d.ts.map +1 -0
- package/dist/types/sdk/types.d.ts +35 -0
- package/dist/types/sdk/types.d.ts.map +1 -1
- package/dist/types/sdk/voltra-client.d.ts +77 -2
- package/dist/types/sdk/voltra-client.d.ts.map +1 -1
- package/dist/types/shared/index.d.ts +1 -0
- package/dist/types/shared/index.d.ts.map +1 -1
- package/dist/types/shared/logger.d.ts +39 -0
- package/dist/types/shared/logger.d.ts.map +1 -0
- package/dist/types/voltra/index.d.ts +3 -3
- package/dist/types/voltra/index.d.ts.map +1 -1
- package/dist/types/voltra/models/device.d.ts +11 -1
- package/dist/types/voltra/models/device.d.ts.map +1 -1
- package/dist/types/voltra/protocol/commands.d.ts +47 -87
- package/dist/types/voltra/protocol/commands.d.ts.map +1 -1
- package/dist/types/voltra/protocol/constants/ble-config.d.ts +16 -0
- package/dist/types/voltra/protocol/constants/ble-config.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/connection-commands.d.ts +37 -0
- package/dist/types/voltra/protocol/constants/connection-commands.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/enums.d.ts +72 -0
- package/dist/types/voltra/protocol/constants/enums.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/index.d.ts +12 -0
- package/dist/types/voltra/protocol/constants/index.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/message-types.d.ts +52 -0
- package/dist/types/voltra/protocol/constants/message-types.d.ts.map +1 -0
- package/dist/types/voltra/protocol/constants/timing.d.ts +18 -0
- package/dist/types/voltra/protocol/constants/timing.d.ts.map +1 -0
- package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts +3 -0
- package/dist/types/voltra/protocol/data/protocol-data.generated.d.ts.map +1 -0
- package/dist/types/voltra/protocol/telemetry-decoder.d.ts +15 -2
- package/dist/types/voltra/protocol/telemetry-decoder.d.ts.map +1 -1
- package/dist/types/voltra/protocol/types.d.ts +247 -0
- package/dist/types/voltra/protocol/types.d.ts.map +1 -0
- package/package.json +8 -7
- package/dist/cjs/voltra/protocol/constants.js +0 -136
- package/dist/cjs/voltra/protocol/constants.js.map +0 -1
- package/dist/cjs/voltra/protocol/data/chains.json +0 -830
- package/dist/cjs/voltra/protocol/data/eccentric.json +0 -1598
- package/dist/cjs/voltra/protocol/data/protocol.json +0 -54
- package/dist/cjs/voltra/protocol/data/weights.json +0 -62
- package/dist/esm/voltra/protocol/constants.js +0 -130
- package/dist/esm/voltra/protocol/constants.js.map +0 -1
- package/dist/esm/voltra/protocol/data/chains.json +0 -830
- package/dist/esm/voltra/protocol/data/eccentric.json +0 -1598
- package/dist/esm/voltra/protocol/data/protocol.json +0 -54
- package/dist/esm/voltra/protocol/data/weights.json +0 -62
- package/dist/types/voltra/protocol/constants.d.ts +0 -103
- package/dist/types/voltra/protocol/constants.d.ts.map +0 -1
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_comment": "Voltra BLE Protocol - Authentication, Initialization, and Telemetry",
|
|
3
|
-
"_version": "1.1.0",
|
|
4
|
-
"ble": {
|
|
5
|
-
"service_uuid": "E4DADA34-0867-8783-9F70-2CA29216C7E4",
|
|
6
|
-
"notify_char_uuid": "55CA1E52-7354-25DE-6AFC-B7DF1E8816AC",
|
|
7
|
-
"write_char_uuid": "A010891D-F50F-44F0-901F-9A2421A9E050",
|
|
8
|
-
"device_name_prefix": "VTR-"
|
|
9
|
-
},
|
|
10
|
-
"auth": {
|
|
11
|
-
"_comment": "41-byte device IDs with proprietary checksums",
|
|
12
|
-
"iphone": "552904c90110000020004f6950686f6e6500000000000000000000000000000084ab1a5f29200172d8",
|
|
13
|
-
"ipad": "552904c90110000020004f69506164000000000000000000000000000000000084ab1a5f292001ea4f"
|
|
14
|
-
},
|
|
15
|
-
"init": {
|
|
16
|
-
"_comment": "Minimal 2-command init sequence (reduced from 22+ in Beyond+ app)",
|
|
17
|
-
"commands": [
|
|
18
|
-
"550f0801aad200002000ff00aa04194000",
|
|
19
|
-
"551f044eaa100000200027811065f8c6b9179047b797d3351c04bffb925cd64100"
|
|
20
|
-
]
|
|
21
|
-
},
|
|
22
|
-
"workout": {
|
|
23
|
-
"_comment": "Workout control commands",
|
|
24
|
-
"prepare": "551204c7aa1014002000110100b04f01db10",
|
|
25
|
-
"setup": "55130403aa10150020000f02006a50823e8f2f",
|
|
26
|
-
"go": "55130403aa1016002000110100893e05008173",
|
|
27
|
-
"stop": "55130403aa101b002000110100893e040037dd"
|
|
28
|
-
},
|
|
29
|
-
"telemetry": {
|
|
30
|
-
"_comment": "Telemetry parsing configuration - message types, byte offsets, movement phases",
|
|
31
|
-
"message_types": {
|
|
32
|
-
"_comment": "First 4 bytes of notifications identify message type",
|
|
33
|
-
"stream": "553a0470",
|
|
34
|
-
"rep_summary": "554a04c6",
|
|
35
|
-
"set_summary": "554f0439",
|
|
36
|
-
"status_update": "553404ac"
|
|
37
|
-
},
|
|
38
|
-
"offsets": {
|
|
39
|
-
"_comment": "Byte offsets for parsing telemetry stream messages",
|
|
40
|
-
"sequence": 6,
|
|
41
|
-
"phase": 13,
|
|
42
|
-
"position": 24,
|
|
43
|
-
"force": 26,
|
|
44
|
-
"velocity": 28
|
|
45
|
-
},
|
|
46
|
-
"phases": {
|
|
47
|
-
"_comment": "Movement phase values (byte at offset 13)",
|
|
48
|
-
"idle": 0,
|
|
49
|
-
"concentric": 1,
|
|
50
|
-
"hold": 2,
|
|
51
|
-
"eccentric": 3
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_comment": "Weight commands (863e register) - 5 to 200 lbs in 5 lb increments",
|
|
3
|
-
"format": {
|
|
4
|
-
"description": "21-byte command structure",
|
|
5
|
-
"length": 21,
|
|
6
|
-
"structure": [
|
|
7
|
-
{ "name": "prefix", "bytes": "0-5", "value": "55130403aa10", "constant": true },
|
|
8
|
-
{ "name": "sequence", "bytes": "6-7", "value": "varies", "encoding": "uint16_le" },
|
|
9
|
-
{ "name": "mode", "bytes": "8-12", "value": "2000110100", "constant": true },
|
|
10
|
-
{ "name": "register", "bytes": "13-14", "value": "863e", "constant": true },
|
|
11
|
-
{ "name": "value", "bytes": "15-16", "value": "weight_in_lbs", "encoding": "uint16_le" },
|
|
12
|
-
{ "name": "checksum", "bytes": "17-19", "value": "varies", "encoding": "3_bytes_hex" },
|
|
13
|
-
{ "name": "padding", "bytes": "20", "value": "00", "constant": true }
|
|
14
|
-
],
|
|
15
|
-
"prefix": "55130403aa10",
|
|
16
|
-
"mode": "2000110100",
|
|
17
|
-
"register": "863e",
|
|
18
|
-
"padding": "00"
|
|
19
|
-
},
|
|
20
|
-
"values": {
|
|
21
|
-
"5": { "seq": "1500", "checksum": "cb3f37", "_full": "55130403aa1015002000110100863e0500cb3f3700" },
|
|
22
|
-
"10": { "seq": "1400", "checksum": "92e941", "_full": "55130403aa1014002000110100863e0a0092e94100" },
|
|
23
|
-
"15": { "seq": "1500", "checksum": "bbc234", "_full": "55130403aa1015002000110100863e0f00bbc23400" },
|
|
24
|
-
"20": { "seq": "1600", "checksum": "314d40", "_full": "55130403aa1016002000110100863e1400314d4000" },
|
|
25
|
-
"25": { "seq": "1700", "checksum": "d8a836", "_full": "55130403aa1017002000110100863e1900d8a83600" },
|
|
26
|
-
"30": { "seq": "1800", "checksum": "9cf934", "_full": "55130403aa1018002000110100863e1e009cf93400" },
|
|
27
|
-
"35": { "seq": "1900", "checksum": "d7aa37", "_full": "55130403aa1019002000110100863e2300d7aa3700" },
|
|
28
|
-
"40": { "seq": "1a00", "checksum": "ccb037", "_full": "55130403aa101a002000110100863e2800ccb03700" },
|
|
29
|
-
"45": { "seq": "1b00", "checksum": "e59b40", "_full": "55130403aa101b002000110100863e2d00e59b4000" },
|
|
30
|
-
"50": { "seq": "1c00", "checksum": "5a2d37", "_full": "55130403aa101c002000110100863e32005a2d3700" },
|
|
31
|
-
"55": { "seq": "1700", "checksum": "fb1112", "_full": "55130403aa1017002000110100863e3700fb111200" },
|
|
32
|
-
"60": { "seq": "1800", "checksum": "1fe937", "_full": "55130403aa1018002000110100863e3c001fe93700" },
|
|
33
|
-
"65": { "seq": "1900", "checksum": "32fc40", "_full": "55130403aa1019002000110100863e410032fc4000" },
|
|
34
|
-
"70": { "seq": "1a00", "checksum": "894f37", "_full": "55130403aa101a002000110100863e4600894f3700" },
|
|
35
|
-
"75": { "seq": "1b00", "checksum": "60aa12", "_full": "55130403aa101b002000110100863e4b0060aa1200" },
|
|
36
|
-
"80": { "seq": "1c00", "checksum": "bf7b43", "_full": "55130403aa101c002000110100863e5000bf7b4300" },
|
|
37
|
-
"85": { "seq": "1d00", "checksum": "965037", "_full": "55130403aa101d002000110100863e550096503700" },
|
|
38
|
-
"90": { "seq": "1e00", "checksum": "ed2d37", "_full": "55130403aa101e002000110100863e5a00ed2d3700" },
|
|
39
|
-
"95": { "seq": "1f00", "checksum": "c40634", "_full": "55130403aa101f002000110100863e5f00c4063400" },
|
|
40
|
-
"100": { "seq": "2000", "checksum": "4ddb12", "_full": "55130403aa1020002000110100863e64004ddb1200" },
|
|
41
|
-
"105": { "seq": "2100", "checksum": "a43e37", "_full": "55130403aa1021002000110100863e6900a43e3700" },
|
|
42
|
-
"110": { "seq": "3000", "checksum": "785740", "_full": "55130403aa1030002000110100863e6e0078574000" },
|
|
43
|
-
"115": { "seq": "3100", "checksum": "00272d", "_full": "55130403aa1031002000110100863e730000272d00" },
|
|
44
|
-
"120": { "seq": "3200", "checksum": "1b3d40", "_full": "55130403aa1032002000110100863e78001b3d4000" },
|
|
45
|
-
"125": { "seq": "3900", "checksum": "ba013f", "_full": "55130403aa1039002000110100863e7d00ba013f00" },
|
|
46
|
-
"130": { "seq": "3a00", "checksum": "c90037", "_full": "55130403aa103a002000110100863e8200c9003700" },
|
|
47
|
-
"135": { "seq": "3b00", "checksum": "e02b34", "_full": "55130403aa103b002000110100863e8700e02b3400" },
|
|
48
|
-
"140": { "seq": "3c00", "checksum": "ae6f12", "_full": "55130403aa103c002000110100863e8c00ae6f1200" },
|
|
49
|
-
"145": { "seq": "3d00", "checksum": "d61f37", "_full": "55130403aa103d002000110100863e9100d61f3700" },
|
|
50
|
-
"150": { "seq": "3e00", "checksum": "6dac2d", "_full": "55130403aa103e002000110100863e96006dac2d00" },
|
|
51
|
-
"155": { "seq": "3f00", "checksum": "844937", "_full": "55130403aa103f002000110100863e9b0084493700" },
|
|
52
|
-
"160": { "seq": "4000", "checksum": "085941", "_full": "55130403aa1040002000110100863ea00008594100" },
|
|
53
|
-
"165": { "seq": "4100", "checksum": "217237", "_full": "55130403aa1041002000110100863ea50021723700" },
|
|
54
|
-
"170": { "seq": "4200", "checksum": "5a0f43", "_full": "55130403aa1042002000110100863eaa005a0f4300" },
|
|
55
|
-
"175": { "seq": "4300", "checksum": "732434", "_full": "55130403aa1043002000110100863eaf0073243400" },
|
|
56
|
-
"180": { "seq": "4400", "checksum": "acf537", "_full": "55130403aa1044002000110100863eb400acf53700" },
|
|
57
|
-
"185": { "seq": "4500", "checksum": "451037", "_full": "55130403aa1045002000110100863eb90045103700" },
|
|
58
|
-
"190": { "seq": "4600", "checksum": "fea312", "_full": "55130403aa1046002000110100863ebe00fea31200" },
|
|
59
|
-
"195": { "seq": "4700", "checksum": "d3b637", "_full": "55130403aa1047002000110100863ec300d3b63700" },
|
|
60
|
-
"200": { "seq": "4800", "checksum": "374e41", "_full": "55130403aa1048002000110100863ec800374e4100" }
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Voltra Protocol Constants
|
|
3
|
-
*
|
|
4
|
-
* BLE configuration, authentication, and command constants for
|
|
5
|
-
* Beyond Power Voltra resistance training devices.
|
|
6
|
-
*/
|
|
7
|
-
export declare const BLE: {
|
|
8
|
-
/** Main service UUID for Voltra devices */
|
|
9
|
-
readonly SERVICE_UUID: string;
|
|
10
|
-
/** Characteristic for receiving notifications */
|
|
11
|
-
readonly NOTIFY_CHAR_UUID: string;
|
|
12
|
-
/** Characteristic for writing commands */
|
|
13
|
-
readonly WRITE_CHAR_UUID: string;
|
|
14
|
-
/** Device name prefix for scanning (e.g., "VTR-") */
|
|
15
|
-
readonly DEVICE_NAME_PREFIX: string;
|
|
16
|
-
};
|
|
17
|
-
export declare const Timing: {
|
|
18
|
-
/** Delay between init commands (ms) */
|
|
19
|
-
readonly INIT_COMMAND_DELAY_MS: 20;
|
|
20
|
-
/** Delay between dual commands like chains/eccentric (ms) */
|
|
21
|
-
readonly DUAL_COMMAND_DELAY_MS: 500;
|
|
22
|
-
/** Timeout for authentication response (ms) */
|
|
23
|
-
readonly AUTH_TIMEOUT_MS: 3000;
|
|
24
|
-
/** Minimum responses expected during auth */
|
|
25
|
-
readonly MIN_AUTH_RESPONSES: 2;
|
|
26
|
-
/** Minimum responses expected after commands */
|
|
27
|
-
readonly MIN_COMMAND_RESPONSES: 4;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Device authentication identifiers.
|
|
31
|
-
*
|
|
32
|
-
* 41-byte device IDs that identify the connecting app.
|
|
33
|
-
* Both iPhone and iPad IDs work - the Voltra doesn't care which.
|
|
34
|
-
*/
|
|
35
|
-
export declare const Auth: {
|
|
36
|
-
/** iPhone identity from Beyond+ app */
|
|
37
|
-
readonly DEVICE_ID: Uint8Array<ArrayBufferLike>;
|
|
38
|
-
/** iPad identity (alternative) */
|
|
39
|
-
readonly DEVICE_ID_IPAD: Uint8Array<ArrayBufferLike>;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Minimal 2-command init sequence (reduced from 22+ in Beyond+ app).
|
|
43
|
-
*/
|
|
44
|
-
export declare const Init: {
|
|
45
|
-
readonly SEQUENCE: Uint8Array<ArrayBufferLike>[];
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Workout control commands.
|
|
49
|
-
*
|
|
50
|
-
* To start: set weight -> PREPARE -> SETUP -> GO
|
|
51
|
-
* To stop: STOP
|
|
52
|
-
*/
|
|
53
|
-
export declare const Workout: {
|
|
54
|
-
/** Prepare for workout (b04f=01) */
|
|
55
|
-
readonly PREPARE: Uint8Array<ArrayBufferLike>;
|
|
56
|
-
/** Setup workout mode (823e setup) */
|
|
57
|
-
readonly SETUP: Uint8Array<ArrayBufferLike>;
|
|
58
|
-
/** Start resistance (893e=05) */
|
|
59
|
-
readonly GO: Uint8Array<ArrayBufferLike>;
|
|
60
|
-
/** Stop resistance (893e=04) */
|
|
61
|
-
readonly STOP: Uint8Array<ArrayBufferLike>;
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Message type identifiers (first 4 bytes of notifications).
|
|
65
|
-
* Values loaded from protocol.json for single source of truth.
|
|
66
|
-
*/
|
|
67
|
-
export declare const MessageTypes: {
|
|
68
|
-
/** Real-time telemetry stream (~11 Hz) */
|
|
69
|
-
readonly TELEMETRY_STREAM: Uint8Array<ArrayBufferLike>;
|
|
70
|
-
/** Rep completion summary */
|
|
71
|
-
readonly REP_SUMMARY: Uint8Array<ArrayBufferLike>;
|
|
72
|
-
/** Set completion summary */
|
|
73
|
-
readonly SET_SUMMARY: Uint8Array<ArrayBufferLike>;
|
|
74
|
-
/** Status update */
|
|
75
|
-
readonly STATUS_UPDATE: Uint8Array<ArrayBufferLike>;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Byte offsets for parsing telemetry stream messages.
|
|
79
|
-
* Values loaded from protocol.json for single source of truth.
|
|
80
|
-
*/
|
|
81
|
-
export declare const TelemetryOffsets: {
|
|
82
|
-
readonly SEQUENCE: number;
|
|
83
|
-
readonly PHASE: number;
|
|
84
|
-
readonly POSITION: number;
|
|
85
|
-
readonly FORCE: number;
|
|
86
|
-
readonly VELOCITY: number;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Movement phase during workout.
|
|
90
|
-
* Values match protocol.json telemetry.phases.
|
|
91
|
-
*/
|
|
92
|
-
export declare enum MovementPhase {
|
|
93
|
-
IDLE = 0,// protocolData.telemetry.phases.idle
|
|
94
|
-
CONCENTRIC = 1,// protocolData.telemetry.phases.concentric - Pulling (muscle shortening)
|
|
95
|
-
HOLD = 2,// protocolData.telemetry.phases.hold - Top of rep / transition
|
|
96
|
-
ECCENTRIC = 3,// protocolData.telemetry.phases.eccentric - Releasing (muscle lengthening)
|
|
97
|
-
UNKNOWN = -1
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Human-readable phase names.
|
|
101
|
-
*/
|
|
102
|
-
export declare const PhaseNames: Record<MovementPhase, string>;
|
|
103
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/voltra/protocol/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,GAAG;IACd,2CAA2C;;IAE3C,iDAAiD;;IAEjD,0CAA0C;;IAE1C,qDAAqD;;CAE7C,CAAC;AAMX,eAAO,MAAM,MAAM;IACjB,uCAAuC;;IAEvC,6DAA6D;;IAE7D,+CAA+C;;IAE/C,6CAA6C;;IAE7C,gDAAgD;;CAExC,CAAC;AAMX;;;;;GAKG;AACH,eAAO,MAAM,IAAI;IACf,uCAAuC;;IAEvC,kCAAkC;;CAE1B,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,IAAI;;CAEP,CAAC;AAMX;;;;;GAKG;AACH,eAAO,MAAM,OAAO;IAClB,oCAAoC;;IAEpC,sCAAsC;;IAEtC,iCAAiC;;IAEjC,gCAAgC;;CAExB,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB,0CAA0C;;IAE1C,6BAA6B;;IAE7B,6BAA6B;;IAE7B,oBAAoB;;CAEZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX;;;GAGG;AACH,oBAAY,aAAa;IACvB,IAAI,IAAI,CAAE,qCAAqC;IAC/C,UAAU,IAAI,CAAE,yEAAyE;IACzF,IAAI,IAAI,CAAE,+DAA+D;IACzE,SAAS,IAAI,CAAE,2EAA2E;IAC1F,OAAO,KAAK;CACb;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAMpD,CAAC"}
|