API 参考
Exo Python SDK 1.0.0 的公开函数、对象、通道、模型与错误速查。
当前版本 · 1.0.0
API 参考
发现与配置
| API | 返回/说明 |
|---|---|
discover_exos() | tuple[DiscoveredExo, ...] |
ExoConfig(connection=..., name=..., enabled=...) | Exo 设备配置 |
Sdk(...).exo() | Exo 域入口 |
DiscoveredExo 字段:port、device_info、error。发现错误由 ExoDiscoveryIssue(code, message) 表示。
Exo
| 方法 | 说明 |
|---|---|
device(name=None) | 选择唯一设备或逻辑名称对应设备 |
start() / stop() | 启停整个 Exo 域 |
update() | 手动推进一次运行 |
run_forever() | 在当前线程持续运行 |
run_background() | 启动后台运行 |
request_stop() / join() | 请求后台停止并等待 |
health() | 返回 Core Health |
close() | 关闭域并使子对象失效 |
ExoDevice
属性:name、source_id。
| 方法 | 返回 |
|---|---|
start() / stop() | None |
health() | Health |
get_device_info() | ExoDeviceInfo |
telemetry() | ReadChannel[ExoTelemetry] |
status() | ReadChannel[ExoStatus] |
haptics() | HapticsState |
close() | None |
设备信息模型
ExoDeviceInfo:protocol_version、product、firmware、serial_number、hardware_name、capabilities、components。ExoCapabilities:telemetry、encoders、handsets、imus、haptics、wireless。ExoComponentCounts:encoders、handsets、imus,每项包含available和total_slots。ExoProduct:STANDARD、PLUS、PLUS_WIRELESS。
数据模型
ExoTelemetry(meta, payload, quality)。ExoTelemetryPayload:left_arm、right_arm、left_handset、right_handset、torso_imu、extra_imu。ExoArmState: 8 项encoder_counts和 8 项joint_positions_rad。ExoHandsetState:axis_x_raw、axis_y_raw、button_mask、trigger_raw。ExoImuState: 3 项acceleration_mps2、3 项angular_velocity_rad_s、4 项orientation_xyzw。ExoStatus是 CoreDeviceStatus的领域名称。
震动与错误
ExoHaptics(left=None, right=None) 的非空强度必须是 0…100。HapticsState 继承只读通道并增加 set(value) 与 clear()。
Exo 控制失败抛出 ExoControlError;其 kind 为 ExoControlErrorKind。参数错误使用 InvalidArgumentError,关闭对象使用 ClosedHandleError。