Skip to content

Add Insta360 Link 2C detection and model support - #1

Open
p0ns wants to merge 1 commit into
illegalstudio:mainfrom
p0ns:feat/link2c-support
Open

p0ns wants to merge 1 commit into
illegalstudio:mainfrom
p0ns:feat/link2c-support

Conversation

@p0ns

@p0ns p0ns commented Sep 13, 2026

Copy link
Copy Markdown

Summary

Recognize the Insta360 Link 2C (2e1a:4c03) and enable the existing shared controls without treating this fixed-lens model as a motorized Link 2.

  • Add model identification/name and an optional udev rule.
  • Allow the shared Link 2 tracking control path while retaining its extension-unit GUID check.
  • Mark the 2C as having no gimbal: reject misleading pan/tilt controls and omit their ranges instead of accepting firmware's dummy controls.
  • Keep the broad hardware-validation flag off; not every feature has been validated.
  • Adapt opt-in hardware tests to account for non-motorized models.

This PR deliberately does not introduce digital framing commands. A dependent follow-up adds those separately.

Hardware evidence

A physical camera is detected as:

1  Insta360 Link 2C  /dev/video0  2e1a:4c03

The camera owner manually verified zoom, focus, white balance, and brightness. Read-only checks also pass for status, info, and tracking. Pan/tilt are intentionally unsupported because the Link 2C has no motorized gimbal; successful firmware reads were not evidence of movement support.

Validation

Tested the exact standalone contents of this first commit, separately from the digital-framing working tree:

  • cargo fmt --check
  • cargo test — 65 passed
  • cargo test --features hardware-tests -- --ignored readonly — 4 passed on the connected Link 2C
  • cargo clippy --all-targets --all-features -- -D warnings

@p0ns

p0ns commented Sep 13, 2026

Copy link
Copy Markdown
Author

Stacked follow-up: #2 adds digital framing separately and is a draft until this foundational model-support PR is merged. Framing-only review: p0ns/linkctl@feat/link2c-support...feat/link2c-digital-framing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant