Waybeam v0.40 — стабілізація на Maruko, штучний горизонт та нові режими Star6E
Лише тиждень після v0.24 — і новий великий стрибок: 11 липня в OpenIPC/waybeam_venc влили squash-синхронізацію з форком розробника — 26 PR-ів, приблизно два місяці роботи. Поточна версія — v0.40.1. Нижче — головне з v0.25–v0.40.1 і на що звернути увагу при оновленні.
🔹 Стабілізація тепер і на Maruko
Найпомітніша зміна: video0.framing = stab (v0.35) та stab-fill (v0.37) запрацювали на Infinity6C / Maruko — на рівні можливостей із Star6E. З'ясувалося, що детектор руху MI_IVE на цьому чипі блокувала несумісна vendor-бібліотека, а не залізо; сумісну libmi_ive.so тепер постачає тарбол.
Нюанси:
- детектор — програмна NEON-бібліотека, тож на одноядерному Maruko стабілізація коштує помітну частку CPU (у
stab-fill≈29% ядра на 50 fps); - нове поле
video0.stabAccuracy(v0.36):high/medium/low/auto— важіль «якість ↔ CPU».auto=highна Star6E,lowна Maruko; - на Maruko
stab-fillнесумісний зrecord.mode: "dual".
🔹 Attitude — штучний горизонт з IMU
Гіроскоп BMI270, який досі значився «POC без споживача», отримав роботу (v0.39–v0.40):
- нова секція конфігу
attitude: кут монтажу (mountDeg), інверсії, перестановка осей (axisFwd/axisDown) для плат у нестандартній орієнтації, трими рівня; GET /api/v1/attitude— живі roll/pitch/yaw для HUD;GET /api/v1/attitude/calibrate_level— калібрування рівня однією командою: потримайте камеру рівно ~1.5 с, трими обчисляться і збережуться самі;- 12-байтовий трейлер ATTITUDE у RTP-sidecar — штучний горизонт прямо в покадровій телеметрії;
- сам sidecar тепер мультипідписний: до 4 одержувачів одночасно, підписка HUD більше не «викрадає» телеметрію в adaptive-link контролера;
- у WebUI з'явилась 14-та секція Attitude з живим індикатором і кнопкою «Capture level trims».
Обмеження: трейлер і калібрування — тільки Star6E (на Maruko calibrate_level повертає 501). У v0.40.1 оцінювач загартовано: биті IMU-семпли (NaN/Inf) відкидаються, «застиглий» горизонт зі статусом valid більше неможливий.
🔹 Власні драйвери сенсорів Star6E BREAKING
Star6E наздогнав Maruko: замість стокових .ko тепер власні in-tree драйвери IMX335/IMX415 (v0.25) з переробленими лінійками режимів (v0.26–v0.34):
- IMX335: 2560×1920@30/60, 2560×1440@90, 2176×1224@100, 1920×1080@120 та ультранизьколатентний
1600×900@144; - IMX415: 5 видимих режимів — 4K@~33, 2816×1584@60, 1920×1080@90, 1728×972@100,
1728×816@120; - частину службових режимів приховано, індекси перенумеровано кілька разів.
Перевірте sensor.mode перед оновленням
Режимів тепер менше, ніж у стокового драйвера. Збережений у /etc/waybeam.json індекс поза новим діапазоном не дає waybeam стартувати (помилка вибору режиму при завантаженні). Поставте "mode": -1 або звірте індекс зі списком GET /api/v1/modes після оновлення.
🔹 Чесні FPS і точний CBR
- Справжні 144 fps (v0.34.1): енкодер тепер отримує реальну частоту сенсора, а не обрізану до 120 — раніше rate-control «ламався» і завищував бітрейт у рази;
- фіксована експозиційна політика (v0.38): AE більше не розтягує кадр — частота не «провисає» від яскравості сцени (раніше замість 144 виходило 142–143.5 залежно від освітлення);
- точна компенсація CBR для режимів понад 120 fps: на 144 fps ефірний бітрейт тепер відповідає заданому (було ~1.19× перевищення).
🔹 Стабільність: watchdog проти зависань
Адверсарне тестування перемикань режимів виявило давню ваду SigmaStar SDK: teardown пайплайну міг зависнути в непереривному D-state (це пояснює й старі «мертві» камери після зміни роздільності). У v0.37:
- двофазний teardown стабілізації — знизив частоту зависань з ~1 із 2 до <1 із 20;
- teardown-watchdog: якщо перезапуск пайплайну не завершився за 12 с — обмежений автоматичний ребут (~45 с) замість вічного зависання. Працює для всіх режимів, не лише стабілізації.
🔹 Документація
Сторінки Waybeam актуалізовано під v0.40.1 (застарілі відомості — у розгортуваних блоках):
- Огляд Waybeam — можливості та порівняння з Majestic
- Встановлення на камеру — тарбол, конфіг
/etc/waybeam.json, перший запуск - Інтеграція з WFB-ng — заміна Majestic, наземна станція
- Веб-панель та HTTP API — attitude, framing, resilience, всі ендпоінти
Репозиторій: github.com/OpenIPC/waybeam_venc — ліцензія MIT, відкритий код.

