obsbot-mcp 0.6.3 → 0.8.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 +97 -20
- package/dist/build-info.json +5 -0
- package/dist/device/manager.d.ts +8 -0
- package/dist/device/manager.js +37 -4
- package/dist/device/manager.js.map +1 -1
- package/dist/geometry/aim.d.ts +24 -13
- package/dist/geometry/aim.js +26 -13
- package/dist/geometry/aim.js.map +1 -1
- package/dist/ipc/build-id.d.ts +25 -0
- package/dist/ipc/build-id.js +60 -0
- package/dist/ipc/build-id.js.map +1 -0
- package/dist/ipc/client.d.ts +36 -0
- package/dist/ipc/client.js +106 -4
- package/dist/ipc/client.js.map +1 -1
- package/dist/ipc/coordinator.d.ts +91 -12
- package/dist/ipc/coordinator.js +293 -57
- package/dist/ipc/coordinator.js.map +1 -1
- package/dist/ipc/gate.d.ts +14 -0
- package/dist/ipc/gate.js +45 -0
- package/dist/ipc/gate.js.map +1 -0
- package/dist/ipc/owner.d.ts +27 -1
- package/dist/ipc/owner.js +67 -4
- package/dist/ipc/owner.js.map +1 -1
- package/dist/ipc/protocol.d.ts +30 -0
- package/dist/ipc/protocol.js +40 -0
- package/dist/ipc/protocol.js.map +1 -1
- package/dist/ipc/rendezvous.d.ts +37 -11
- package/dist/ipc/rendezvous.js +143 -30
- package/dist/ipc/rendezvous.js.map +1 -1
- package/dist/mcp/server.js +40 -12
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +6 -0
- package/dist/mcp/tools.js +123 -17
- package/dist/mcp/tools.js.map +1 -1
- package/dist/tail2/api.d.ts +218 -0
- package/dist/tail2/api.js +267 -0
- package/dist/tail2/api.js.map +1 -0
- package/dist/tail2/mdns.d.ts +48 -0
- package/dist/tail2/mdns.js +216 -0
- package/dist/tail2/mdns.js.map +1 -0
- package/dist/tail2/registry.d.ts +100 -0
- package/dist/tail2/registry.js +200 -0
- package/dist/tail2/registry.js.map +1 -0
- package/dist/tail2/snapshot.d.ts +54 -0
- package/dist/tail2/snapshot.js +157 -0
- package/dist/tail2/snapshot.js.map +1 -0
- package/dist/tail2/tools.d.ts +7 -0
- package/dist/tail2/tools.js +370 -0
- package/dist/tail2/tools.js.map +1 -0
- package/dist/transport/helper-process.d.ts +11 -0
- package/dist/transport/helper-process.js +10 -0
- package/dist/transport/helper-process.js.map +1 -1
- package/dist/transport/linux.d.ts +59 -9
- package/dist/transport/linux.js +163 -21
- package/dist/transport/linux.js.map +1 -1
- package/dist/transport/macos.d.ts +8 -0
- package/dist/transport/macos.js +11 -0
- package/dist/transport/macos.js.map +1 -1
- package/dist/transport/transport.d.ts +22 -0
- package/dist/transport/transport.js +20 -0
- package/dist/transport/transport.js.map +1 -1
- package/dist/transport/windows.d.ts +6 -0
- package/dist/transport/windows.js +9 -0
- package/dist/transport/windows.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/native/prebuilt/darwin-arm64/obsbot-helper +0 -0
- package/native/prebuilt/darwin-x64/obsbot-helper +0 -0
- package/native/prebuilt/linux-x64/obsbot-helper +0 -0
- package/native/prebuilt/win32-x64/obsbot-helper.exe +0 -0
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-process.js","sourceRoot":"","sources":["../../src/transport/helper-process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper-process.js","sourceRoot":"","sources":["../../src/transport/helper-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,30 @@ import { ObsbotTransport, Snapshot, SnapshotOpts } from "./transport.js";
|
|
|
9
9
|
* Key difference: gimbal absolute movement uses V4L2 pan_absolute/tilt_absolute
|
|
10
10
|
* (hardware-verified to physically move the gimbal, repeatedly, 2026-07-21),
|
|
11
11
|
* NOT vendor V3 frames. camCtrlGet for pan/tilt reads back the same V4L2
|
|
12
|
-
* controls
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
12
|
+
* controls.
|
|
13
|
+
*
|
|
14
|
+
* WHAT THAT READ MEANS DEPENDS ON THE KERNEL, and callers must tolerate both:
|
|
15
|
+
*
|
|
16
|
+
* - Stock uvcvideo: the last-*commanded* value. This camera's GET_INFO is a
|
|
17
|
+
* stub reporting GET|SET only, which strips the UVC_CTRL_FLAG_AUTO_UPDATE
|
|
18
|
+
* that uvcvideo's own control table sets for CT_PANTILT_ABSOLUTE. Nothing
|
|
19
|
+
* then clears ctrl->loaded, so the cache is served forever. Verified
|
|
20
|
+
* 2026-08-21: with the camera physically moved by hand, an unpatched driver
|
|
21
|
+
* kept reporting the stale pose indefinitely.
|
|
22
|
+
* - uvcvideo carrying the AUTO_UPDATE fixup for 3564:fef8, or the pending
|
|
23
|
+
* volatile patch: a genuinely LIVE position, tracking motion the host never
|
|
24
|
+
* commanded. Verified the same day against hand-moved poses on both axes.
|
|
25
|
+
*
|
|
26
|
+
* Neither is detectable from userspace: the fixup restores AUTO_UPDATE without
|
|
27
|
+
* advertising V4L2_CTRL_FLAG_VOLATILE, so QUERY_EXT_CTRL reports these controls
|
|
28
|
+
* as non-volatile in BOTH cases. Do not branch on that flag. Code that composes
|
|
29
|
+
* a new absolute target from the current pose must instead settle first — see
|
|
30
|
+
* readSteadyPose in mcp/tools.ts — which is correct under either kernel. Moves
|
|
31
|
+
* themselves are closed-loop when OBSBOT_LIVE_POSE is set: see panTiltAbsolute.
|
|
32
|
+
*
|
|
33
|
+
* The old raw-USB alternative (detach the driver, read directly) is still
|
|
34
|
+
* unnecessary and still conflicts with concurrent capture; see README's Linux
|
|
35
|
+
* limitations section.
|
|
21
36
|
*/
|
|
22
37
|
export declare class LinuxTransport implements ObsbotTransport {
|
|
23
38
|
private helper;
|
|
@@ -82,6 +97,41 @@ export declare class LinuxTransport implements ObsbotTransport {
|
|
|
82
97
|
* gimbal, it just carries the cancellation risk it always did.
|
|
83
98
|
*/
|
|
84
99
|
private panTiltAbsolute;
|
|
100
|
+
/** Number of closed-loop re-sends this transport has issued. Diagnostics/tests. */
|
|
101
|
+
get moveRetries(): number;
|
|
102
|
+
private moveRetryCount;
|
|
103
|
+
/**
|
|
104
|
+
* Whether this kernel's uvcvideo serves pan/tilt reads LIVE from the device
|
|
105
|
+
* rather than from its own cache — the condition under which the pose-settle
|
|
106
|
+
* and move-retry paths are correct and useful.
|
|
107
|
+
*
|
|
108
|
+
* OBSBOT_LIVE_POSE forces the answer either way. Unset, we PROBE: time a batch
|
|
109
|
+
* of GET_CUR reads in the helper and compare the mean to LIVE_READ_THRESHOLD_US.
|
|
110
|
+
* This detects the actual behaviour (are reads live) rather than a flag or a
|
|
111
|
+
* kernel version, so it fires for Ricardo's AUTO_UPDATE quirk (which advertises
|
|
112
|
+
* nothing), for the volatile patch, and for any future fix alike — and it is
|
|
113
|
+
* immune to the stable-backport and distro-versioning traps that make a
|
|
114
|
+
* uname-based gate wrong on exactly the kernels most users run.
|
|
115
|
+
*
|
|
116
|
+
* Cached for the transport's lifetime: the kernel does not change under us, and
|
|
117
|
+
* the probe reads the device a few dozen times. A probe failure (an older
|
|
118
|
+
* helper with no read_latency op, or an unreadable control) resolves to the
|
|
119
|
+
* override, or false — degrading to today's shipped behaviour, never throwing.
|
|
120
|
+
*/
|
|
121
|
+
livePoseReads(): Promise<boolean>;
|
|
122
|
+
private livePoseReadsCache?;
|
|
123
|
+
private detectLivePoseReads;
|
|
124
|
+
private commitPanTilt;
|
|
125
|
+
private onTarget;
|
|
126
|
+
/** Raw arc-seconds straight from the helper — no degree conversion, no rounding. */
|
|
127
|
+
private readPanTilt;
|
|
128
|
+
/**
|
|
129
|
+
* Wait until two consecutive pan/tilt reads agree within one step on both
|
|
130
|
+
* axes, i.e. the gimbal has stopped. Returns the settled pose, or null if it
|
|
131
|
+
* was still moving at the deadline. Read failures propagate: a move we cannot
|
|
132
|
+
* verify should surface, not be silently declared done.
|
|
133
|
+
*/
|
|
134
|
+
private settlePanTilt;
|
|
85
135
|
/**
|
|
86
136
|
* Drive the gimbal at a speed for a duration, using vendor-frame velocity
|
|
87
137
|
* protocol (fire-and-forget, no position readback). Not reachable from the
|
package/dist/transport/linux.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { livePoseOverride } from "./transport.js";
|
|
1
2
|
import { encodePtzMoveSpeed } from "../codec/commands.js";
|
|
2
3
|
import { readSerialVia } from "./read-serial.js";
|
|
3
4
|
const VENDOR_XU_SELECTOR = 0x02;
|
|
@@ -18,6 +19,24 @@ const STATUS_BLOCK_LEN = 60;
|
|
|
18
19
|
// always reported 0 error while the true physical angle was ~28% of what was asked
|
|
19
20
|
// for.
|
|
20
21
|
const ARCSEC_PER_DEG = 3600;
|
|
22
|
+
// Closed-loop move verification (OBSBOT_LIVE_POSE only) — see panTiltAbsolute.
|
|
23
|
+
// The device's GET_RES for CT_PANTILT_ABSOLUTE is one degree and it routinely
|
|
24
|
+
// lands one step short of a commanded target (measured 2026-08-21: -324000 asec
|
|
25
|
+
// commanded, -320400 reached, repeatably), so "on target" is within one step.
|
|
26
|
+
const PANTILT_STEP_ASEC = 3600;
|
|
27
|
+
// A slew starts within ~150ms of the commit and a 90° pan takes ~1.7s; the first
|
|
28
|
+
// settle read waits out the dead zone so two agreeing reads mean "stopped", not
|
|
29
|
+
// "not started yet".
|
|
30
|
+
const SETTLE_FIRST_READ_MS = 250;
|
|
31
|
+
const SETTLE_BEAT_MS = 150;
|
|
32
|
+
const SETTLE_TIMEOUT_MS = 3000;
|
|
33
|
+
// Read-latency threshold (microseconds) separating a CACHED pan/tilt read from a
|
|
34
|
+
// LIVE one. Measured 2026-08-21 on this camera: cached reads are a driver memcpy
|
|
35
|
+
// at ~2us and pinned flat; live reads are a USB GET_CUR at ~150us and never below
|
|
36
|
+
// ~115us. 40us sits ~20x above the cached ceiling and ~3x below the live floor —
|
|
37
|
+
// orders of magnitude of margin either way. See do_read_latency in
|
|
38
|
+
// native/linux/helper.c and LinuxTransport.livePoseReads.
|
|
39
|
+
const LIVE_READ_THRESHOLD_US = 40;
|
|
21
40
|
/**
|
|
22
41
|
* Linux V4L2 transport — functionally identical to {@link WindowsTransport}
|
|
23
42
|
* because both delegate to the native helper process over the same JSON-RPC
|
|
@@ -27,15 +46,30 @@ const ARCSEC_PER_DEG = 3600;
|
|
|
27
46
|
* Key difference: gimbal absolute movement uses V4L2 pan_absolute/tilt_absolute
|
|
28
47
|
* (hardware-verified to physically move the gimbal, repeatedly, 2026-07-21),
|
|
29
48
|
* NOT vendor V3 frames. camCtrlGet for pan/tilt reads back the same V4L2
|
|
30
|
-
* controls
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
49
|
+
* controls.
|
|
50
|
+
*
|
|
51
|
+
* WHAT THAT READ MEANS DEPENDS ON THE KERNEL, and callers must tolerate both:
|
|
52
|
+
*
|
|
53
|
+
* - Stock uvcvideo: the last-*commanded* value. This camera's GET_INFO is a
|
|
54
|
+
* stub reporting GET|SET only, which strips the UVC_CTRL_FLAG_AUTO_UPDATE
|
|
55
|
+
* that uvcvideo's own control table sets for CT_PANTILT_ABSOLUTE. Nothing
|
|
56
|
+
* then clears ctrl->loaded, so the cache is served forever. Verified
|
|
57
|
+
* 2026-08-21: with the camera physically moved by hand, an unpatched driver
|
|
58
|
+
* kept reporting the stale pose indefinitely.
|
|
59
|
+
* - uvcvideo carrying the AUTO_UPDATE fixup for 3564:fef8, or the pending
|
|
60
|
+
* volatile patch: a genuinely LIVE position, tracking motion the host never
|
|
61
|
+
* commanded. Verified the same day against hand-moved poses on both axes.
|
|
62
|
+
*
|
|
63
|
+
* Neither is detectable from userspace: the fixup restores AUTO_UPDATE without
|
|
64
|
+
* advertising V4L2_CTRL_FLAG_VOLATILE, so QUERY_EXT_CTRL reports these controls
|
|
65
|
+
* as non-volatile in BOTH cases. Do not branch on that flag. Code that composes
|
|
66
|
+
* a new absolute target from the current pose must instead settle first — see
|
|
67
|
+
* readSteadyPose in mcp/tools.ts — which is correct under either kernel. Moves
|
|
68
|
+
* themselves are closed-loop when OBSBOT_LIVE_POSE is set: see panTiltAbsolute.
|
|
69
|
+
*
|
|
70
|
+
* The old raw-USB alternative (detach the driver, read directly) is still
|
|
71
|
+
* unnecessary and still conflicts with concurrent capture; see README's Linux
|
|
72
|
+
* limitations section.
|
|
39
73
|
*/
|
|
40
74
|
export class LinuxTransport {
|
|
41
75
|
helper;
|
|
@@ -83,24 +117,31 @@ export class LinuxTransport {
|
|
|
83
117
|
async camCtrlGet(property) {
|
|
84
118
|
const result = await this.helper.camCtrlGet(property);
|
|
85
119
|
// V4L2 pan_absolute/tilt_absolute return arc-seconds, but the rest of
|
|
86
|
-
// the codebase expects degrees (Windows DirectShow convention).
|
|
87
|
-
//
|
|
120
|
+
// the codebase expects degrees (Windows DirectShow convention). Whether
|
|
121
|
+
// this is a commanded echo or a live position depends on the kernel — see
|
|
122
|
+
// the class comment.
|
|
88
123
|
//
|
|
89
124
|
// Degrees as a float, NOT rounded. UVC specifies CT_PANTILT_ABSOLUTE in
|
|
90
125
|
// arc-seconds, but this device's GET_RES is 3600 asec = 1 degree
|
|
91
126
|
// (PROTOCOL.md's CT_PANTILT_ABSOLUTE table, tiny2_specification.md
|
|
92
127
|
// section 2.1) and the firmware streams whole-degree steps — the device
|
|
93
128
|
// never emits a fraction, so rounding here would not recover any
|
|
94
|
-
// precision the hardware actually has.
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
// aimAtPixel's composed target
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
129
|
+
// precision the hardware actually has.
|
|
130
|
+
//
|
|
131
|
+
// On a stock kernel this additionally preserves a fractional COMMANDED
|
|
132
|
+
// pose: the read is an echo of what gimbalSet last wrote (round(deg *
|
|
133
|
+
// ARCSEC_PER_DEG)), so e.g. aimAtPixel's composed target survives the round
|
|
134
|
+
// trip instead of being flattened here. On a kernel that reports live
|
|
135
|
+
// position that benefit is gone — the device answers in whole degrees — but
|
|
136
|
+
// not rounding is still the right default: it costs nothing, and it avoids
|
|
137
|
+
// re-introducing a lossy step if a future device or firmware reports finer
|
|
138
|
+
// than a degree. Callers must not read sub-degree agreement between a
|
|
139
|
+
// commanded pose and a subsequent read as meaningful; the hardware readout
|
|
140
|
+
// is ±1° and, live, lands up to a full step short (measured 2026-08-21:
|
|
141
|
+
// commanding -108000 asec settled at -104400).
|
|
142
|
+
//
|
|
143
|
+
// The RANGE above still rounds: min/max are advertised bounds, not a live
|
|
144
|
+
// pose, and no arithmetic accumulates on them.
|
|
104
145
|
if (property === 0 || property === 1) {
|
|
105
146
|
result.value = result.value / ARCSEC_PER_DEG;
|
|
106
147
|
}
|
|
@@ -148,6 +189,78 @@ export class LinuxTransport {
|
|
|
148
189
|
* gimbal, it just carries the cancellation risk it always did.
|
|
149
190
|
*/
|
|
150
191
|
async panTiltAbsolute(panAsec, tiltAsec) {
|
|
192
|
+
await this.commitPanTilt(panAsec, tiltAsec);
|
|
193
|
+
if (!(await this.livePoseReads()))
|
|
194
|
+
return;
|
|
195
|
+
/*
|
|
196
|
+
* Closed loop, Linux only, behind OBSBOT_LIVE_POSE.
|
|
197
|
+
*
|
|
198
|
+
* This camera intermittently moves ONE axis to a previously commanded pose
|
|
199
|
+
* instead of the one just sent. Observed eight times on 2026-08-21, never
|
|
200
|
+
* with a host-side cause: the kernel-traced SET_CUR payload was correct on
|
|
201
|
+
* every occurrence, the helper's pan/tilt repair path never fired, and
|
|
202
|
+
* uvcvideo's restore-on-resume never ran (it is reset-resume only). The
|
|
203
|
+
* trigger was not found — 5/5 in one soak, then 0/54 across every variant
|
|
204
|
+
* isolated from it (zero-delta, post-wake, interrupted slew, USB autosuspend
|
|
205
|
+
* on/off). It lands on a previously commanded value, and re-sending the
|
|
206
|
+
* target corrects it (15/15 when provoked).
|
|
207
|
+
*
|
|
208
|
+
* On a stock kernel this is invisible: the read echoes the command while the
|
|
209
|
+
* gimbal sits elsewhere, so there is nothing to act on and this is gated
|
|
210
|
+
* off. With live reads it is detectable, so: settle, compare, re-send ONCE.
|
|
211
|
+
* Once, not a loop — a firmware that keeps fighting should lose loudly, via
|
|
212
|
+
* the caller's own settle (readSteadyPose) reporting where it really is.
|
|
213
|
+
* The retry is also not pre-emptive (no blind 1° nudge on every move): the
|
|
214
|
+
* fault fires a few times an hour at most, and an honest miss is better
|
|
215
|
+
* than a permanent tax on every move.
|
|
216
|
+
*/
|
|
217
|
+
const landed = await this.settlePanTilt();
|
|
218
|
+
if (landed && this.onTarget(landed, panAsec, tiltAsec))
|
|
219
|
+
return;
|
|
220
|
+
this.moveRetryCount++;
|
|
221
|
+
await this.commitPanTilt(panAsec, tiltAsec);
|
|
222
|
+
await this.settlePanTilt();
|
|
223
|
+
}
|
|
224
|
+
/** Number of closed-loop re-sends this transport has issued. Diagnostics/tests. */
|
|
225
|
+
get moveRetries() {
|
|
226
|
+
return this.moveRetryCount;
|
|
227
|
+
}
|
|
228
|
+
moveRetryCount = 0;
|
|
229
|
+
/**
|
|
230
|
+
* Whether this kernel's uvcvideo serves pan/tilt reads LIVE from the device
|
|
231
|
+
* rather than from its own cache — the condition under which the pose-settle
|
|
232
|
+
* and move-retry paths are correct and useful.
|
|
233
|
+
*
|
|
234
|
+
* OBSBOT_LIVE_POSE forces the answer either way. Unset, we PROBE: time a batch
|
|
235
|
+
* of GET_CUR reads in the helper and compare the mean to LIVE_READ_THRESHOLD_US.
|
|
236
|
+
* This detects the actual behaviour (are reads live) rather than a flag or a
|
|
237
|
+
* kernel version, so it fires for Ricardo's AUTO_UPDATE quirk (which advertises
|
|
238
|
+
* nothing), for the volatile patch, and for any future fix alike — and it is
|
|
239
|
+
* immune to the stable-backport and distro-versioning traps that make a
|
|
240
|
+
* uname-based gate wrong on exactly the kernels most users run.
|
|
241
|
+
*
|
|
242
|
+
* Cached for the transport's lifetime: the kernel does not change under us, and
|
|
243
|
+
* the probe reads the device a few dozen times. A probe failure (an older
|
|
244
|
+
* helper with no read_latency op, or an unreadable control) resolves to the
|
|
245
|
+
* override, or false — degrading to today's shipped behaviour, never throwing.
|
|
246
|
+
*/
|
|
247
|
+
livePoseReads() {
|
|
248
|
+
return (this.livePoseReadsCache ??= this.detectLivePoseReads());
|
|
249
|
+
}
|
|
250
|
+
livePoseReadsCache;
|
|
251
|
+
async detectLivePoseReads() {
|
|
252
|
+
const override = livePoseOverride();
|
|
253
|
+
if (override !== undefined)
|
|
254
|
+
return override;
|
|
255
|
+
try {
|
|
256
|
+
const { meanUs } = await this.helper.readLatency(0);
|
|
257
|
+
return meanUs >= LIVE_READ_THRESHOLD_US;
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
async commitPanTilt(panAsec, tiltAsec) {
|
|
151
264
|
try {
|
|
152
265
|
await this.helper.panTiltSet(panAsec, tiltAsec);
|
|
153
266
|
}
|
|
@@ -157,6 +270,35 @@ export class LinuxTransport {
|
|
|
157
270
|
await Promise.all([this.camCtrlSet(0, panAsec, 2), this.camCtrlSet(1, tiltAsec, 2)]);
|
|
158
271
|
}
|
|
159
272
|
}
|
|
273
|
+
onTarget([pan, tilt], panAsec, tiltAsec) {
|
|
274
|
+
return Math.abs(pan - panAsec) <= PANTILT_STEP_ASEC && Math.abs(tilt - tiltAsec) <= PANTILT_STEP_ASEC;
|
|
275
|
+
}
|
|
276
|
+
/** Raw arc-seconds straight from the helper — no degree conversion, no rounding. */
|
|
277
|
+
async readPanTilt() {
|
|
278
|
+
const [p, t] = await Promise.all([this.helper.camCtrlGet(0), this.helper.camCtrlGet(1)]);
|
|
279
|
+
return [p.value, t.value];
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Wait until two consecutive pan/tilt reads agree within one step on both
|
|
283
|
+
* axes, i.e. the gimbal has stopped. Returns the settled pose, or null if it
|
|
284
|
+
* was still moving at the deadline. Read failures propagate: a move we cannot
|
|
285
|
+
* verify should surface, not be silently declared done.
|
|
286
|
+
*/
|
|
287
|
+
async settlePanTilt() {
|
|
288
|
+
const nap = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
289
|
+
const deadline = Date.now() + SETTLE_TIMEOUT_MS;
|
|
290
|
+
await nap(SETTLE_FIRST_READ_MS);
|
|
291
|
+
let last = await this.readPanTilt();
|
|
292
|
+
for (;;) {
|
|
293
|
+
await nap(SETTLE_BEAT_MS);
|
|
294
|
+
const next = await this.readPanTilt();
|
|
295
|
+
if (this.onTarget(next, last[0], last[1]))
|
|
296
|
+
return next;
|
|
297
|
+
last = next;
|
|
298
|
+
if (Date.now() >= deadline)
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
160
302
|
/**
|
|
161
303
|
* Drive the gimbal at a speed for a duration, using vendor-frame velocity
|
|
162
304
|
* protocol (fire-and-forget, no position readback). Not reachable from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linux.js","sourceRoot":"","sources":["../../src/transport/linux.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linux.js","sourceRoot":"","sources":["../../src/transport/linux.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,14 @@ export declare class MacosTransport implements ObsbotTransport {
|
|
|
33
33
|
value: number;
|
|
34
34
|
flags: number;
|
|
35
35
|
}>;
|
|
36
|
+
/**
|
|
37
|
+
* macOS reads pan/tilt live from the device already, so it is exposed to the
|
|
38
|
+
* pose-composition hazard — but its shipped behaviour is hardware-verified and
|
|
39
|
+
* this gate is not the change to flip that in. Honour OBSBOT_LIVE_POSE only;
|
|
40
|
+
* default off until it has been exercised on Mac hardware. No probe here: the
|
|
41
|
+
* read-latency signal is a Linux/uvcvideo caching artefact.
|
|
42
|
+
*/
|
|
43
|
+
livePoseReads(): Promise<boolean>;
|
|
36
44
|
procAmpSet(property: number, value: number, flags: number): Promise<void>;
|
|
37
45
|
procAmpRange(property: number): Promise<{
|
|
38
46
|
min: number;
|
package/dist/transport/macos.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { livePoseOverride } from "./transport.js";
|
|
1
2
|
import { encodeRecenter, encodePtzMoveAngle, encodePtzMoveSpeed } from "../codec/commands.js";
|
|
2
3
|
import { readSerialVia } from "./read-serial.js";
|
|
3
4
|
// Same XU selector constants as WindowsTransport — they're defined by the
|
|
@@ -97,6 +98,16 @@ export class MacosTransport {
|
|
|
97
98
|
}
|
|
98
99
|
return result;
|
|
99
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* macOS reads pan/tilt live from the device already, so it is exposed to the
|
|
103
|
+
* pose-composition hazard — but its shipped behaviour is hardware-verified and
|
|
104
|
+
* this gate is not the change to flip that in. Honour OBSBOT_LIVE_POSE only;
|
|
105
|
+
* default off until it has been exercised on Mac hardware. No probe here: the
|
|
106
|
+
* read-latency signal is a Linux/uvcvideo caching artefact.
|
|
107
|
+
*/
|
|
108
|
+
async livePoseReads() {
|
|
109
|
+
return livePoseOverride() === true;
|
|
110
|
+
}
|
|
100
111
|
async procAmpSet(property, value, flags) {
|
|
101
112
|
await this.helper.procAmpSet(property, value, flags);
|
|
102
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/transport/macos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/transport/macos.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,21 @@ export interface SnapshotOpts {
|
|
|
28
28
|
export declare class CameraBusyError extends Error {
|
|
29
29
|
constructor(message?: string);
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* OBSBOT_LIVE_POSE override for the live-pose behaviours (pose settling before
|
|
33
|
+
* composition in mcp/tools.ts, and the Linux closed-loop move retry in
|
|
34
|
+
* transport/linux.ts). TRI-STATE: `1/true/yes/on` forces them on, `0/false/no/off`
|
|
35
|
+
* forces them off, unset (or empty) means "decide automatically". Returns the
|
|
36
|
+
* forced boolean, or undefined to defer to a transport's own detection.
|
|
37
|
+
*
|
|
38
|
+
* Automatic detection is per-transport: see ObsbotTransport.livePoseReads. On
|
|
39
|
+
* Linux it is a read-latency probe (transport/linux.ts) that measures whether the
|
|
40
|
+
* driver serves pan/tilt from cache or re-queries the device — mechanism-agnostic
|
|
41
|
+
* and immune to the kernel-version/backport traps a uname gate walks into.
|
|
42
|
+
*/
|
|
43
|
+
export declare const livePoseOverride: () => boolean | undefined;
|
|
44
|
+
/** Back-compat: the plain on/off reading of the override (unset => off). */
|
|
45
|
+
export declare const livePoseEnabled: () => boolean;
|
|
31
46
|
export interface ObsbotTransport {
|
|
32
47
|
sendVendor(frame: Buffer): Promise<void>;
|
|
33
48
|
/**
|
|
@@ -64,6 +79,13 @@ export interface ObsbotTransport {
|
|
|
64
79
|
value: number;
|
|
65
80
|
flags: number;
|
|
66
81
|
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Whether pan/tilt reads report LIVE device position (vs a cached setpoint),
|
|
84
|
+
* which decides whether the pose-settle and closed-loop move-retry behaviours
|
|
85
|
+
* run. OBSBOT_LIVE_POSE overrides; otherwise the transport decides (Linux
|
|
86
|
+
* probes read latency, macOS/Windows default off). Cached after first call.
|
|
87
|
+
*/
|
|
88
|
+
livePoseReads(): Promise<boolean>;
|
|
67
89
|
/** IAMVideoProcAmp::Set(property, value, flags) — used for white balance. */
|
|
68
90
|
procAmpSet(property: number, value: number, flags: number): Promise<void>;
|
|
69
91
|
/** IAMVideoProcAmp::GetRange(property) → device-unit min/max. */
|
|
@@ -5,4 +5,24 @@ export class CameraBusyError extends Error {
|
|
|
5
5
|
this.name = "CameraBusyError";
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* OBSBOT_LIVE_POSE override for the live-pose behaviours (pose settling before
|
|
10
|
+
* composition in mcp/tools.ts, and the Linux closed-loop move retry in
|
|
11
|
+
* transport/linux.ts). TRI-STATE: `1/true/yes/on` forces them on, `0/false/no/off`
|
|
12
|
+
* forces them off, unset (or empty) means "decide automatically". Returns the
|
|
13
|
+
* forced boolean, or undefined to defer to a transport's own detection.
|
|
14
|
+
*
|
|
15
|
+
* Automatic detection is per-transport: see ObsbotTransport.livePoseReads. On
|
|
16
|
+
* Linux it is a read-latency probe (transport/linux.ts) that measures whether the
|
|
17
|
+
* driver serves pan/tilt from cache or re-queries the device — mechanism-agnostic
|
|
18
|
+
* and immune to the kernel-version/backport traps a uname gate walks into.
|
|
19
|
+
*/
|
|
20
|
+
export const livePoseOverride = () => {
|
|
21
|
+
const v = process.env.OBSBOT_LIVE_POSE;
|
|
22
|
+
if (v === undefined || v === "")
|
|
23
|
+
return undefined;
|
|
24
|
+
return /^(1|true|yes|on)$/i.test(v);
|
|
25
|
+
};
|
|
26
|
+
/** Back-compat: the plain on/off reading of the override (unset => off). */
|
|
27
|
+
export const livePoseEnabled = () => livePoseOverride() === true;
|
|
8
28
|
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AA4BA,8EAA8E;AAC9E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,GAAG,sCAAsC;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AA4BA,8EAA8E;AAC9E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,GAAG,sCAAsC;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAwB,EAAE;IACxD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACvC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC"}
|
|
@@ -24,6 +24,12 @@ export declare class WindowsTransport implements ObsbotTransport {
|
|
|
24
24
|
value: number;
|
|
25
25
|
flags: number;
|
|
26
26
|
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Windows drives the gimbal with vendor frames and does not have the uvcvideo
|
|
29
|
+
* cached-read hazard; the settle/retry paths are Linux/macOS concerns. Honour
|
|
30
|
+
* the override for parity, default off.
|
|
31
|
+
*/
|
|
32
|
+
livePoseReads(): Promise<boolean>;
|
|
27
33
|
procAmpSet(property: number, value: number, flags: number): Promise<void>;
|
|
28
34
|
procAmpRange(property: number): Promise<{
|
|
29
35
|
min: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { livePoseOverride } from "./transport.js";
|
|
1
2
|
import { encodeRecenter, encodePtzMoveAngle, encodePtzMoveSpeed } from "../codec/commands.js";
|
|
2
3
|
import { readSerialVia } from "./read-serial.js";
|
|
3
4
|
const VENDOR_XU_SELECTOR = 0x02;
|
|
@@ -60,6 +61,14 @@ export class WindowsTransport {
|
|
|
60
61
|
async camCtrlGet(property) {
|
|
61
62
|
return this.helper.camCtrlGet(property);
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Windows drives the gimbal with vendor frames and does not have the uvcvideo
|
|
66
|
+
* cached-read hazard; the settle/retry paths are Linux/macOS concerns. Honour
|
|
67
|
+
* the override for parity, default off.
|
|
68
|
+
*/
|
|
69
|
+
async livePoseReads() {
|
|
70
|
+
return livePoseOverride() === true;
|
|
71
|
+
}
|
|
63
72
|
async procAmpSet(property, value, flags) {
|
|
64
73
|
await this.helper.procAmpSet(property, value, flags);
|
|
65
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/transport/windows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/transport/windows.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.8.0";
|
package/dist/version.js
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
//
|
|
7
7
|
// This exists because tsconfig sets rootDir: "src", so importing ../package.json
|
|
8
8
|
// would pull the repo root into the compilation and change the dist/ layout.
|
|
9
|
-
export const VERSION = "0.
|
|
9
|
+
export const VERSION = "0.8.0";
|
|
10
10
|
//# sourceMappingURL=version.js.map
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|