#include "LivoxMid100Laser.h" #include "common.h" RegisterLaser(LivoxMid100) CLivoxMid100Laser::CLivoxMid100Laser(int id, Automatic::stLaserCalibParam laser_param) :CLivoxLaser(id, laser_param) { m_frame_maxnum = laser_param.frame_num(); if (laser_param.type() == "LivoxMid100") { std::string sn = laser_param.sn(); std::string sn1 = sn, sn2 = sn, sn3 = sn; sn1 += "1"; sn2 += "2"; sn3 += "3"; g_sn_laser.insert(std::make_pair(sn1, this)); g_sn_laser.insert(std::make_pair(sn2, this)); g_sn_laser.insert(std::make_pair(sn3, this)); } } void CLivoxMid100Laser::UpdataHandle() { std::string sn = m_laser_param.sn(); std::string sn1 = sn, sn2 = sn, sn3 = sn; sn1 += "1"; sn2 += "2"; sn3 += "3"; if (g_sn_handle.find(sn1) != g_sn_handle.end()) { m_handle1 = g_sn_handle[sn1]; } if (g_sn_handle.find(sn2) != g_sn_handle.end()) { m_handle2 = g_sn_handle[sn2]; } if (g_sn_handle.find(sn3) != g_sn_handle.end()) { m_handle3 = g_sn_handle[sn3]; } } bool CLivoxMid100Laser::IsScanComplete() { return g_count[m_handle1] >= m_frame_maxnum && g_count[m_handle2] >= m_frame_maxnum && g_count[m_handle2] >= m_frame_maxnum; } bool CLivoxMid100Laser::Start() { LOG(INFO) << " livoxMid100 start :" << this; //清除数据,开始 m_queue_livox_data.clear(); g_count[m_handle1] = 0; g_count[m_handle2] = 0; g_count[m_handle3] = 0; return CLaser::Start(); } CLivoxMid100Laser::~CLivoxMid100Laser() { }