TouchGlove API
TouchGlove 生命周期、数据读取、标定、时钟同步与录制接口参考。
更新于 2026年8月19日约 3 分钟阅读
导入接口
可以从 imprintx.glove 导入高层函数和 TouchGlove 类:
from imprintx.glove import (
TouchGlove,
list_ports,
load_video_timestamps,
record_video,
save_image,
show_gui,
stream,
)高层函数
| 接口 | 用途 |
|---|---|
list_ports() | 扫描并返回可用串口路径 |
stream(port=None, callback=None, duration=None) | 启动实时数据流,可输出到控制台或回调函数 |
show_gui(port=None, model=None, device="auto") | 打开五通道实时可视化,并支持模型推理与基线标定 |
save_image(port=None, output_dir=".", prefix="tactile", save_grid=True) | 保存各通道快照与组合网格图 |
record_video(port=None, output_path="output_h265.mp4", duration=5.0, fps=30.0) | 录制 H.265 网格视频与微秒级时间戳 |
load_video_timestamps(path) | 读取录制生成的 JSON 时间戳元数据 |
TouchGlove 生命周期
自定义控制循环建议使用上下文管理器:
from imprintx.glove import TouchGlove, list_ports
ports = list_ports()
with TouchGlove(port=ports[0]) as device:
device.sync_rtc()
device.start()
batch = device.poll()TouchGlove 方法
| 方法 | 说明 |
|---|---|
open(port) / close() | 建立或关闭设备连接 |
start() / stop() | 启动或停止触觉数据流 |
poll() -> FrameBatch | 获取当前可用的五通道数据帧批次 |
calibrate_baseline(duration_sec=1.0) | 重新标定触觉数据零点 |
get_dense_fields() | 获取形状为 (5, 32, 32, 3) 的三维位移或力场 |
get_sn() / set_sn(sn) | 读取或写入硬件序列号 |
sync_rtc() / query_rtc() | 同步或查询设备 RTC 时钟 |
start_recording(output_path) / stop_recording() | 手动控制视频录制生命周期 |
使用建议
- 在
start()前完成 RTC 同步和需要的基线标定 - 轮询循环中避免执行耗时阻塞操作;重计算可交给独立线程或进程
- 退出时始终停止数据流和录制,上下文管理器可以简化资源释放
- 集成时保留设备未发现、连接中断和输出路径不可写等异常处理
