Files
ASER/App/Contract/robot_cmd_slot.h

37 lines
1.2 KiB
C
Raw Normal View History

2026-03-31 23:30:33 +08:00
#ifndef ROBOT_CMD_SLOT_H
#define ROBOT_CMD_SLOT_H
#include <stdint.h>
#include <stdbool.h>
/**
* @brief
*/
typedef struct {
float target_vx; // 目标线速度 (m/s)
float target_wz; // 目标角速度 (rad/s)
uint8_t ctrl_flags; // 控制模式/标志
uint32_t gen_tick_ms; // 指令生成时的系统时间 (用于底层判断算法是否卡死)
} RobotTargetCmd_t;
/* =========================================================
* API
* ========================================================= */
/**
* @brief /
* @param vx 线 (m/s)
* @param wz (rad/s)
* @param flags
*/
void CmdSlot_Push(float vx, float wz, uint8_t flags);
/**
* @brief 20ms CAN Tx
* @param out_cmd
* @param timeout_ms ( 100ms)
* @return true: ; false: 0
*/
bool CmdSlot_Pop(RobotTargetCmd_t *out_cmd, uint32_t timeout_ms);
#endif // ROBOT_CMD_SLOT_H