Vyntek

示例

示例目录:卡片式索引,按主题与难度浏览可运行示例。

用途

本页是示例目录:每个示例一张卡片,点标题进入各自的文档页(每页含逐段源码讲解、构建运行、输出与退出码)。

示例钉住的契约见各页「常见误区」;场景规格见 examples-scenarios(TC019)。示例通过 ≠ TC-* 验收:验收另需供应商 SDK 实机与真实渲染。

示例目录

学习路线

先读这三行——宿主集成最容易做错的一步,是以为「工具跑完」会顺手把相机停掉。真实接线只有一次转交:

void WireToolWorkHook(vyntek::toolgroup::RunSession & session, vyntek::imaging::AcquisitionSession & camera) {
    session.SetToolWorkDoneHook([&camera](bool tool_work_done) { camera.SetToolWorkDone(tool_work_done); });
}

钩子只报告工具是否在途;停流仍由宿主显式执行。三个示例都围绕这条边界展开。

建议按卡片顺序读:先跑通一次(对象所有权与两端停流),再看住内存(字节/引用/槽位三单位),最后存取配方(往返与顺序契约)。

概念速查

  • RunSession vs AcquisitionSession —— 前者是编排的一次 Run 边界;后者是采集设备会话。互不驱动(M3-07)
  • Latest() vs PeekIngressFront() —— Latest() 是最近一次投递的所有权预览槽(替换即关旧);队首是 PeekIngressFront()
  • GetOutput vs KeepLatest —— 前者是标量投影(图像输出为空串);后者是 output_inspector 的观察保留
  • 解析 vs 算法 —— .avtg Load/Save 已实现;passthrough 的 Run 仍是基类桩
  • bytes vs refs vs slots —— 只有 bytes 可跨层去重汇总;refs 是计数;slots 只对本队列容量

构建与运行

VYNTEK_BUILD_EXAMPLES=ON 才会构建示例;ninja-debug-all 预设已同时打开 tests 与 examples。二进制统一落在 build/ninja-debug-all/bin/。

Linux(本机 VPS,AGENTS.md「本机 VPS」小节)

cmake --preset ninja-debug-all
cmake --build --preset ninja-debug-all

Windows(PowerShell,AGENTS.md「构建」小节,仓库在 D:\Works\Vyntek)

cmake --preset ninja-debug-all
cmake --build --preset ninja-debug-all

每个示例的运行命令、实跑输出与退出码在各自页面的「构建与运行 / 输出 / 退出码」章节。只想跑测试时用 ninja-debug-tests(不含示例)。

On this page