Skip to main content

Module loop_runner

Module loop_runner 

Source
Expand description

Loop Runner - 控制循环包装器

提供高级控制循环接口,处理定时、dt 钳位、异常检测等。

§核心功能

  • 精确定时: 使用 spin_sleep 实现低抖动延时
  • dt 钳位: 限制异常大的时间步长
  • 时间跳变处理: 自动调用 on_time_jump()
  • 错误传播: 透明传播控制器和命令错误

§使用场景

use piper_client::control::{run_controller, LoopConfig, Controller};
use piper_client::state::Piper;

let config = LoopConfig {
    frequency_hz: 100.0,              // 100Hz 控制频率
    dt_clamp_multiplier: 2.0,         // dt 最大为 2x 标称值
    max_iterations: Some(1000),       // 运行 1000 次后停止
};

run_controller(piper, controller, config)?;

Structs§

LoopConfig
控制循环配置

Functions§

run_controller
运行控制循环
run_controller_spin
使用 spin_sleep 的高精度控制循环