跳到主要内容

Telemetry API

#include <latentos/sdk/telemetry/telemetry_client.h>
find_package(latentos_sdk_telemetry CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE latentos::sdk_telemetry)

类:latentos::sdk::telemetry::TelemetryClient

explicit TelemetryClient(core::Session& session);

void SubscribeImu(ImuCallback callback);
std::optional<ImuState> GetLatestImu() const;
void SubscribeGnss(GnssCallback callback);
std::optional<GnssState> GetLatestGnss() const;

不需要回调时传入 {}。必须先订阅,GetLatest*() 才会开始获得缓存数据。

ImuState

字段类型说明
send_time_nsstd::int64_t消息发送时间,ns
axayazdouble三轴加速度,m/s²
wxwywzdouble三轴角速度,rad/s
qxqyqzqwdouble姿态四元数

GnssState

字段类型说明
sample_time_nsstd::int64_t采样时间,ns
sequencestd::int64_t消息序号
validbool定位结果是否有效
fix_typestd::int32_t定位类型
satellites_usedstd::int32_t使用的卫星数
hdopdouble水平精度因子
latitudelongitudealtitudedouble经纬度与高度
vel_evel_nvel_ddouble东、北、下方向速度,m/s
h_accv_accdouble水平与垂直精度

读取数据前检查 std::optional 是否有值;GNSS 数据还应检查 valid,不要只依据经纬度是否为零。