chore(project): 重构为 src 布局并新增校准脚本

将包、xvsdk、rules 移入 src/,新增 vive_calibrate 脚本。
This commit is contained in:
Vinman 2026-06-15 12:22:52 +08:00
parent d959d82dbe
commit 6f520b5fef
54 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
import os
import sys
import time
import pysurvive
argv = sys.argv.copy()
if '--force-calibrate' not in argv:
argv.append('--force-calibrate')
if '--v' not in argv:
argv.append('--v')
argv.append('100')
config_path = os.path.join(os.path.expanduser('~'), '.config', 'libsurvive', 'config.json')
if os.path.exists(config_path):
print('Remove config: {}'.format(config_path))
os.remove(config_path)
ctx = pysurvive.SimpleContext(argv)
for obj in ctx.Objects():
print("*device:", obj.Name())
next_print_time = time.monotonic()
while ctx.Running():
updated = ctx.NextUpdated()
if updated:
pose, ts = updated.Pose()
name = updated.Name().decode("utf-8")
serial_number = None
if hasattr(pysurvive, "simple_serial_number"):
serial_number = pysurvive.simple_serial_number(updated.ptr).decode("utf-8")
pos = [pose.Pos[0], pose.Pos[1], pose.Pos[2]]
rot = [pose.Rot[0], pose.Rot[1], pose.Rot[2], pose.Rot[3]]
print('[{}][{}] POS: {}, ROT: {}'.format(name, serial_number, pos, rot))