跳转至

工作台

TinyBench — 运行时数据与工具的命名注册表

TinyBench 是一个可查询的命名工作台。Agent 或用户通过 MQTT 可以随时发现「现在有什么数据」「有什么工具可用」。它是 TinyOrch 流程编排的基础。


架构速览

  • 数据槽 Data Slots


    命名数据缓冲区
    put(name, data, len, type) / get(name) / list()
    零拷贝 — 只存指针,不复制数据

    API →

  • 工具注册 Tool Registry


    命名可调用函数
    register_tool(name, fn, in_type, out_type)
    带类型签名的注册 + 运行时查询

    API →

  • 类型系统 Type System


    每个数据槽和工具都有类型标签
    编译时友好枚举 tiny_type_t
    类型校验在流程定义阶段完成

    设计 →

  • MQTT 远程控制


    BENCH,TOOLS / BENCH,DATA / BENCH,TEST
    远端实时查询工作台状态
    响应发布到 /mqtt/node

    示例 →


快速开始

#include "tiny_bench.h"

tiny_bench_t bench;
tiny_bench_init(&bench);

// 放数据到工作台
float raw[1024] = {0};
tiny_bench_put(&bench, "raw_0", raw, sizeof(raw), TINY_TYPE_F32_ARR);

// 注册工具
tiny_bench_register_tool(&bench, "butterworth", my_filter_fn,
                         TINY_TYPE_F32_ARR, TINY_TYPE_F32_ARR);

// 查询
const char *names[16];
int n = tiny_bench_list_tools(&bench, names, 16);  // → 1

位置

TinyBench 是 Tiny* 生态的基础层

  • 向下依赖 tinydamage / tinysysid / tinydsp / tinymath 等算法模块
  • 向上为 TinyOrch 提供数据与工具的运行时命名空间
  • 独立于 TinyOrch 使用——仅需 bench 即可实现数据与工具的查询管理

相关链接