本文整理汇总了C++中AP_RangeFinder_Backend::distance_cm方法的典型用法代码示例。如果您正苦于以下问题:C++ AP_RangeFinder_Backend::distance_cm方法的具体用法?C++ AP_RangeFinder_Backend::distance_cm怎么用?C++ AP_RangeFinder_Backend::distance_cm使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AP_RangeFinder_Backend
的用法示例。
在下文中一共展示了AP_RangeFinder_Backend::distance_cm方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: send_rangefinder
void Rover::send_rangefinder(mavlink_channel_t chan)
{
float distance_cm;
float voltage;
bool got_one = false;
// report smaller distance of all rangefinders
for (uint8_t i=0; i<rangefinder.num_sensors(); i++) {
AP_RangeFinder_Backend *s = rangefinder.get_backend(i);
if (s == nullptr) {
continue;
}
if (!got_one ||
s->distance_cm() < distance_cm) {
distance_cm = s->distance_cm();
voltage = s->voltage_mv();
got_one = true;
}
}
if (!got_one) {
// no relevant data found
return;
}
mavlink_msg_rangefinder_send(
chan,
distance_cm * 0.01f,
voltage);
}
示例2: distance_cm_orient
uint16_t RangeFinder::distance_cm_orient(enum Rotation orientation) const
{
AP_RangeFinder_Backend *backend = find_instance(orientation);
if (backend == nullptr) {
return 0;
}
return backend->distance_cm();
}