常用数值与字节工具集合。
定义浮点别名、二维向量操作、字节序列互转等通用帮助函数,方便在设备与通信模块间复用。
在文件 utils.hpp 中定义.
|
| template<typename T > |
| vector< T > | roboctrl::operator+ (vector< T > a, vector< T > b) |
| |
| template<typename T > |
| vector< T > | roboctrl::operator- (vector< T > a, vector< T > b) |
| |
| template<typename T > |
| vector< T > | roboctrl::operator* (vector< T > a, T b) |
| |
| template<typename T > |
| vector< T > | roboctrl::operator/ (vector< T > a, T b) |
| |
| constexpr fp32 | roboctrl::utils::rad_format (fp32 ang) |
| | 将角度限制到[-Pi,Pi]范围内
|
| |
| template<package T, byte_container C> |
| T | roboctrl::utils::from_bytes (const C &bytes) |
| | 将字节容器内容反序列化为平凡类型。
|
| |
| template<package T> |
| auto | roboctrl::utils::to_bytes (const T &t) -> std::array< std::byte, sizeof(T)> |
| |
template<package T, typename C >
requires requires(C& c) { { c.data() } -> std::convertible_to<std::byte*>; { c.size() } -> std::convertible_to<std::size_t>; } |
| void | roboctrl::utils::to_bytes (const T &t, C &container) |
| | 将平凡类型序列化到指定容器。
|
| |
| auto | roboctrl::utils::now () |
| | 记录程序启动后的纳秒级时间戳。
|
| |
| constexpr uint16_t | roboctrl::utils::make_u16 (uint16_t high, uint16_t low) noexcept |
| | 将高低字节组合成无符号 16 位整数。
|
| |
| constexpr int16_t | roboctrl::utils::make_i16 (int16_t high, int16_t low) noexcept |
| | 将高低字节组合成有符号 16 位整数。
|
| |
| constexpr std::byte | roboctrl::utils::to_byte (std::integral auto v) noexcept |
| | 辅助将整数转换为 std::byte。
|
| |