Skip to content

Open EOS Control 0.9.0 Development Preview

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Sep 13:08
· 39 commits to main since this release
361c8fb

Open EOS Control v0.9.0 Development Preview

繁體中文 | English

繁體中文

0.9.0 新增 Android 直連 CCAPI 的快門自動對焦選擇,讓 App 快門可以不再次要求啟動 AF。這是新的可操作能力,因此採 minor 版號;仍是 Development Preview,不是穩定版,也不代表機身手動拍攝失焦問題已解決。

Android 變更

  • Photo 的更多設定新增「快門自動對焦」,預設開啟。關閉時快門顯示 AF 關/AF OFF,並提供對應的繁中/英文無障礙描述。
  • 選擇只維持目前連線;斷線、建立新連線、切換 transport 或重新進入離線預覽都恢復開啟,不會在下次拍攝時悄悄沿用關閉狀態。
  • 僅當相機公告原生 POST /shooting/control/shutterbutton 或 PUT/POST /shooting/control/shutterbutton/manual 才提供選項,將選擇送入正式 UI、ViewModel、repository、backend 與 CCAPI JSON 的 af boolean。
  • manual full-press 的 release 一律使用 af=false;即使 press 失敗仍嘗試既有不可取消的釋放清理。快門前的溫度限制仍保留。
  • 忙碌、錄影或 AF-ON 尚未確認釋放時禁止改選。Video/Bulb 隱藏開關並保留既有行為;固定快門區內的提示只旋轉內容,不改動布局。
  • 診斷新增 shutterAutofocusSelectable 與 shutterAutofocusRequested,分別記錄可選能力與要求值,不將命令接受當成相機合焦回報。

驗證與限制

  • 功能 PR #186 的 exact-head CI 與 main acceptance 通過,包含 Android unit/build 與 API 34/36 UI 測試。
  • 本地 Android 501 項單元測試、lint 與 App/測試 APK 建包通過。HTC U24 Pro/API 34 使用本機 MockWebServer 完成 18 項對焦/完整 UI-to-HTTP 測試與 110 項畫面測試,共 128 項,不重複計數。
  • 新開關與快門提示已檢查 360×800、800×360、800×1280、四方向、英文/繁中及 1.5 倍字體;不是宣稱整個 App 的所有排版已全面驗收。
  • 本輪未向實體 R6 Mark III 送出 AF 或拍攝命令。 操作者目前無法比較機身半按;失焦原因、實拍銳利度、One-Shot/Servo 差異與弱網下機身行為仍待驗收。
  • 關閉只表示這次快門請求不要求啟動 AF;不修改 MF/One-Shot/Servo、AF method 或 tracking,也不保證焦點鎖定或其他機身 AF 行為停止。
  • 仍需先放開 AF-ON,再按 App 快門。 未實作按住 AF 同時拍攝;保留 v0.8.0 停止失敗後的 interlock 與 stop-only 重試。程序強殺或網路中斷仍可能阻止釋放命令送達。
  • 新功能僅在 Android 直連 CCAPI。PC/iOS 只對齊版本;Android USB/Bridge 與簡化 Simulator 不推定支援。離線預覽僅展示 UI,不作實拍證據。
  • Camera Import 維持 artifact 1.1.0/wire 1.0;Serein 契約與責任邊界未變。

完整依據與回歸記錄:Android 快門自動對焦選擇。

安裝與發行檔

  • Android:open-eos-control-android-0.9.0-debug.apk,versionCode=23,沿用固定開發簽章及 Preview package,可更新同簽章舊 Preview;不覆蓋獨立 .debug 測試 App。
  • PC:提供版本對齊的 Windows x64 Bridge executable、Python wheel 與 source distribution,未新增本輪快門 AF 選擇。
  • iOS:原始碼與 iPhone Simulator CI,沒有可直接安裝的已簽署 IPA。
  • 另附 Camera Import schema ZIP、Kotlin JAR、BUILD-PROVENANCE.json 與 SHA256SUMS.txt。專用 Actions workflow 發布 exact-main immutable candidate,不以手動建包替換發行檔。

English

0.9.0 adds a shutter autofocus choice for Android direct CCAPI, allowing an App shutter request without asking to start AF again. This user-visible capability warrants a minor version. It remains a Development Preview, not a stable release or a claim that camera-body defocus is resolved.

Android Changes

  • Photo More Settings gains a shutter autofocus switch, enabled by default. Disabling it shows AF OFF / AF 關 in the shutter with corresponding English/Traditional Chinese accessibility descriptions.
  • The choice is session-scoped, not persisted. Disconnect, a new connection, transport switching, and reentering offline preview reset it to enabled.
  • The switch requires an advertised native POST /shooting/control/shutterbutton or PUT/POST /shooting/control/shutterbutton/manual. The selected af boolean passes through the production UI, ViewModel, repository, backend, and CCAPI request.
  • Manual full-press cleanup always releases with af=false, including after a failed press, using the existing non-cancellable cleanup. Pre-capture temperature restrictions still apply.
  • Busy, recording, and unreleased AF-ON states prevent changes. Video/Bulb hide the switch and retain existing behavior. The indicator rotates inside the fixed shutter area without relayout.
  • Diagnostics expose shutterAutofocusSelectable and shutterAutofocusRequested, describing capability and intent rather than inventing camera-reported focus confirmation.

Evidence And Limitations

  • Feature PR #186 passed exact-head CI and main acceptance, including Android unit/build and API 34/36 UI tests.
  • Local validation passed 501 Android unit tests, lint, and App/test APK builds. HTC U24 Pro/API 34 passed 18 focus/full UI-to-HTTP tests and 110 screen tests against a local MockWebServer: 128 unique tests.
  • The new switch/indicator was checked at 360x800, 800x360, and 800x1280, four rotations, English/Traditional Chinese, and 1.5 font scale. This is not blanket validation of every App layout.
  • No physical R6 Mark III AF/capture commands were sent in this feature's validation. The operator could not compare body half-press behavior. Defocus cause, photograph sharpness, One-Shot/Servo differences, and weak-network camera behavior remain pending.
  • Disabling the switch only means this shutter request does not ask to start AF. Camera MF/One-Shot/Servo, AF method, and tracking are unchanged; focus lock or cessation of other camera-side AF behavior is not guaranteed.
  • Release AF-ON before using the App shutter. Simultaneous held AF/capture is not implemented. The v0.8.0 stop-failure interlock and stop-only retry remain; process death or network loss can still prevent release delivery.
  • New behavior is Android direct CCAPI only. PC/iOS are version-aligned; Android USB/Bridge and the simplified Simulator do not assume support. Offline preview demonstrates the UI only.
  • Camera Import stays at artifact 1.1.0 / wire 1.0; the Serein contract is unchanged.

See shutter autofocus protocol and regression evidence.

Distribution

  • open-eos-control-android-0.9.0-debug.apk, versionCode=23, retains the persistent development signer and Preview package for matching older Preview upgrades, separate from the isolated .debug test App.
  • Version-aligned PC assets include a Windows x64 Bridge executable, wheel, and source distribution, without the new shutter AF choice. iOS remains source plus Simulator CI, without an installable signed IPA.
  • Camera Import schema ZIP, Kotlin JAR, provenance, and checksums accompany the release. The dedicated Actions workflow promotes the exact-main immutable candidate; release assets are not manually rebuilt or substituted.