GrabBag/SDK/Device/gl_linelaser_sdk/test/test_height_net.cpp

186 lines
4.0 KiB
C++
Raw Normal View History

//#include <iostream>
//
//
//
//#include "phoskey_ss.h"
//
//#include <Windows.h>
//
//#include <vector>
//
//int devId = 3;
//
//void HighSpeedDataCallBack(const int32_t* buffer, uint32_t size, uint32_t count, uint32_t notify, uint32_t user)
//{
// printf("HighSpeedDataCallBack -------\n");
// printf("size = %d \n", int(size));
// printf("count = %d \n", int(count));
// printf("user = %d \n", int(user));
// printf("notify = %d \n", int(notify));
//
// if (notify != -1)
// {
// if (notify & 0x07 == 1)
// {
// printf("批处理超时 \n");
// return;
// }
// }
//
// uint32_t profileSize = (uint32_t)(size / sizeof(uint32_t)); //轮廓宽度
// printf("profileSize = %d \n", int(profileSize));
//
// int BatchCount = GLX8_2_ProfilePointSetCount(devId, nullptr);
// printf("BatchCount = %d \n", BatchCount);
//
// //数据拷贝
// std::vector<int32_t> bufferArray;
// bufferArray.resize(profileSize * count);
//
// memcpy(bufferArray.data(), buffer, (profileSize * count) * sizeof(int32_t));
//
// printf("bufferArray[0] = %d \n", bufferArray[0]);
//
// std::vector<uint32_t> Encoders;
// Encoders.resize(count);
//
// int Rc = GLX8_2_GetEncoder(devId, nullptr, Encoders.data());
// if (Rc != 0)
// {
// printf("获取编码器数据错误 \n");
// return;
// }
//
// printf("Encoders[0] = %d\n", Encoders[0]);
//}
//
//int main()
//{
// system("chcp 65001");
//
// GLX8_2_Initialize();
//
// GLX8_2_ETHERNET_CONFIG cnf;
// cnf.abyIpAddress[0] = 192;
// cnf.abyIpAddress[1] = 168;
// cnf.abyIpAddress[2] = 1;
// cnf.abyIpAddress[3] = 10;
//
//
// int res = GLX8_2_EthernetOpen(devId, &cnf);
// if (res != 0)
// {
// printf("连接相机失败! \n");
// return -1;
// }
//
//
// res = GLX8_2_HighSpeedDataEthernetCommunicationInitalize(devId, &cnf, 7, HighSpeedDataCallBack, 0, 123456);
// if (res != 0)
// {
// printf("启动高速失败! \n");
// return -1;
// }
//
//
// Sleep(5000);
// GLX8_2_StartMeasure(devId, 0);
//
// while (true)
// {
// Sleep(2000);
// }
//
// return 0;
//}
/*
ON
GLX8_2_EthernetOpen
GLX8_2_SetBatchOneTimeDataHandler
退
*/
#include <iostream>
#include "phoskey_ss.h"
#include <vector>
#include <memory>
#include <string.h>
#include <thread>
int devId = 3;
// glx8_stop_watch sw;
void HighSpeedDataCallBack(const GLX8_2_STR_CALLBACK_INFO* info, const int32_t* DataObj)
{
printf("HighSpeedDataCallBack -------\n");
//sw.stop();
//printf("[%s] time = %f ms\n", LINETOOLSOBJ->getCurrentTimeWithMilliseconds().c_str(), sw.elapsed_ms());
std::vector<int32_t> heightdatas;
heightdatas.resize(info->BatchPoints * info->xPoints);
int32_t* bdatas = GLX8_2_GetBatchProfilePoint((void*)DataObj, 0);
if (bdatas)
{
memcpy(heightdatas.data(), bdatas, heightdatas.size() * 4);
}
int32_t* bdatas = GLX8_2_GetBatchProfilePoint((void*)DataObj, 0);
if (bdatas)
{
memcpy(heightdatas.data(), bdatas, heightdatas.size() * 4);
}
}
int main()
{
//sw.start();
system("chcp 65001");
GLX8_2_Initialize();
GLX8_2_ETHERNET_CONFIG cnf;
cnf.abyIpAddress[0] = 192;
cnf.abyIpAddress[1] = 168;
cnf.abyIpAddress[2] = 1;
cnf.abyIpAddress[3] = 10;
int res = GLX8_2_EthernetOpen(devId, &cnf);
if (res != 0)
{
printf("连接相机失败! \n");
return -1;
}
// 设置批处理
// 设置数量
res = GLX8_2_SetBatchOneTimeDataHandler(devId, HighSpeedDataCallBack);
if (res != 0)
{
printf("启动高速失败! \n");
return -1;
}
/*Sleep(5000);
printf("exit...\n");
GLX8_2_CommClose(devId);
printf("exit end...\n");*/
while (true)
{
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
GLX8_2_StartMeasure(devId, 0);
printf("GLX8_2_StartMeasure");
//sw.restart();
//printf("[%s] GLX8_2_StartMeasure...\n", LINETOOLSOBJ->getCurrentTimeWithMilliseconds().c_str());
}
return 0;
}