Skip to content

majestic-af: bump to c5e93d8 (pan/tilt speed) - #2554

Merged
widgetii merged 1 commit into
masterfrom
majestic-af-c5e93d8
Oct 8, 2026
Merged

widgetii merged 1 commit into
masterfrom
majestic-af-c5e93d8

Conversation

@widgetii

@widgetii widgetii commented Oct 8, 2026

Copy link
Copy Markdown
Member

Problem

A gpiostep pan/tilt head now runs at up to ~136 steps/s (#2552, OpenIPC/builder#190). The plugin pinned here (cafc594) always steps at that top rate, which is too fast to frame a shot by hand, because nothing can ask it for a slower move.

Change

MAJESTIC_AF_VERSION: cafc594 → c5e93d82fec2b112bbd2a77011c86c7a3d8d9760 (OpenIPC/majestic-af#23).

  • Command: the ptz command takes an optional speed, <verb>:<ms>:<speed>, from 1 to 100 % of the axis's top rate.
  • gpiostep: steps at that speed. Each ioctl lasts at most ~100 ms, so a stop lands within it at any speed.
  • Capability line: ends in speeds=1-100 where the actuator honours a speed. A core that doesn't know the field never sends it.
  • Compatibility: the line's existing readers already stop the verbs= list at whitespace (/(^|\s)verbs=([^\s]*)/ in the WebUI, a comma-or-space token match in the core), so they read it as before.

Hardware tested on

GK7205V510 + Zenointel SD-2N-4G head, with the gpiostep.ko ramp and pan_delay_us=833. One-second moves through POST /ptz with a core that sends the field:

speed 100 -> 136 steps/s, 50 -> 72, 25 -> 36, 1 -> 10 (the floor), none -> 138
a stop at speed 1, 50 and 100 landed and held within 0.3 s

With a core that doesn't send it (the camera's own), moves ran at the top rate as before.

Scope

  • No kernel patches under general/package/all-patches/linux/ (those go to OpenIPC/linux)
  • No files specific to a single retail camera model (those go to OpenIPC/builder)
  • No probing or bring-up tooling (that goes to OpenIPC/ipctool)
  • Nothing under general/overlay/ or in a shared load_<vendor> script hardcodes a value specific to my board
  • Package sources come from an OpenIPC repository, and any version bump keeps at least the specificity of the pin it replaces (a new package should pin a full 40-character SHA)
  • No LD_PRELOAD, and no binaries that cannot be rebuilt from source
  • New code is selected by a defconfig, so CI actually builds it

Brings in OpenIPC/majestic-af#23: the ptz command takes an optional speed
(<verb>:<ms>:<speed>, 1-100 % of the top rate), and gpiostep heads step at
it. The capability line advertises " speeds=1-100" where the actuator
honours a speed, so a core that never sends the field, and every reader of
that line, are unaffected.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Bump majestic-af to enable adjustable pan/tilt speed

✨ Enhancement ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Pin majestic-af to c5e93d8, bringing in upstream support for adjustable pan/tilt speed.
• Preserve the full commit pin for reproducible builds and compatibility with cores that omit speed.
Diagram

graph TD
  Core["Majestic core"] --> Plugin["majestic-af plugin"] --> Driver["gpiostep driver"]
  Pin["Buildroot pin"] --> Plugin
Loading
High-Level Assessment

Keep the full upstream SHA pin: it brings in the plugin feature without duplicating its implementation locally and preserves reproducible builds. Tracking a moving branch would lose that guarantee.

Files changed (1) +1 / -1

Other (1) +1 / -1
majestic-af.mkPin majestic-af to c5e93d8 +1/-1

Pin majestic-af to c5e93d8

• Replaces the previous full commit SHA with c5e93d82fec2b112bbd2a77011c86c7a3d8d9760. According to the PR description, this upstream version adds optional PTZ speed control and capability advertising; no plugin source changes are included in this diff.

general/package/majestic-af/majestic-af.mk

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Findings visible per group, which tucks the rest behind a View link

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@widgetii
widgetii merged commit 9408f2a into master Oct 8, 2026
34 of 35 checks passed
@widgetii
widgetii deleted the majestic-af-c5e93d8 branch October 8, 2026 14:05
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