600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > API激光跟踪仪SDK基础使用

API激光跟踪仪SDK基础使用

时间:2019-04-05 11:49:25

相关推荐

API激光跟踪仪SDK基础使用

需要添加的头文件

#include "APISDK/include/apidevice.h"

激光跟踪仪的连接

激光跟踪仪的连接需要知道设备的IP地址,然后以该IP地址为参数,调用函数进行激光跟踪仪的连接。

从line_edit中读取ip地址,然后作为参数传入到Connect函数中。

char add[20];LPTSTR addr;sprintf_s(add, ui->lineEdit_ipaddr->text().toStdString().c_str());addr = add;int nRetCode = g_tracker.Connect(nullptr, 0, TheCallBack, nullptr, add);//check RetCodeif(API_ERROR_SUCCESS != nRetCode){g_tracker.DisplayAPIErrorMessage(nRetCode);QMessageBox::information(nullptr,QObject::tr("message"),QObject::tr("Laser tracker connection failed"),QMessageBox::Ok);return;}//连接成功提示...

激光跟踪仪的断开

当由于某些原因,激光跟踪仪主动断开连接,而软件不知道设备主动断开。因此不能进行其他操作。所以需要设计激光跟踪仪的断开方法。

if(g_tracker.IsConnected()){timer->stop();int nRetCode = g_tracker.DisConnect();if(API_ERROR_SUCCESS != nRetCode){g_tracker.DisplayAPIErrorMessage(nRetCode);QMessageBox::information(nullptr,QObject::tr("message"),QObject::tr("Failed to disconnect"),QMessageBox::Ok);return;}//断开成功提示...}//已经断开提示...

激光跟踪仪回鸟巢

在激光跟踪仪进行连接后,需要进行回鸟巢操作,API激光跟踪仪提供3中大小的靶标。分别是Home函数的参数,有3个选项:0 最大 、2 中型、 1最小

int nRetCode=g_tracker.Home(0); //此处参数是靶球类型if(API_ERROR_SUCCESS != nRetCode){g_tracker.DisplayAPIErrorMessage(nRetCode);QMessageBox::information(nullptr,QObject::tr("message"),QObject::tr("Back to the nest failed, please check the target ball type"),QMessageBox::Ok);return;}//回鸟巢成功提示...

激光跟踪仪实时测量

当激光跟踪仪由于其他原因断开连接时,实时测量线程不能立即知道,导致在请求实时位置数据时产生“设备丢失”错误。所以在每次请求测量时首先判断激光跟踪仪是否连接。

本项目是在qt中开发的,实时测量使用一个定时器每隔100ms进行测量。测量结果通过信号槽机制发射到数据处理类。

void DeviceInitDock::on_timer(){if(g_tracker.IsConnected()){REALTIME_INFOrtInfo ;int ret = g_tracker.getRTData(rtInfo); //rtInfoif(API_ERROR_SUCCESS != ret){g_tracker.DisplayAPIErrorMessage(ret);return;}float dis = rtInfo.Laser_Distance;float x = rtInfo.Current_Position_X;float y = rtInfo.Current_Position_Y;float z = rtInfo.Current_Position_Z;emit on_trackpos(x,y,z);//qDebug() << x << y << z << dis << endl;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。