6#include "utils/ramp.hpp"
8using namespace roboctrl::ctrl;
21void shoot::set_firing(
bool state)
31 co_await device::set_motor<device::dji_motor>(
"left_friction", 0);
32 co_await device::set_motor<device::dji_motor>(
"right_friction", 0);
33 co_await device::set_motor<device::dji_motor>(
"trigger", 0);
36 friction_ramp_.
update(firing_ ? info_.friction_max_speed : .0f);
38 co_await device::set_motor<device::dji_motor>(
"left_friction", -friction_ramp_.
state());
39 co_await device::set_motor<device::dji_motor>(
"right_friction", friction_ramp_.
state());
void log_info(std::format_string< Args... > fmt, Args &&...args) const
输出info日志
state_type state() const noexcept
获取当前输出状态
void update(T target) noexcept
更新输出值
awaitable< void > wait_for(const duration &duration)
协程任务等待。
auto spawn(task_context::task_type &&task)
添加一个协程任务到全局任务上下文中执行。
asio::awaitable< T > awaitable
协程任务类型。