LivoxMid100Laser.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "LivoxMid100Laser.h"
  2. #include "common.h"
  3. RegisterLaser(LivoxMid100)
  4. CLivoxMid100Laser::CLivoxMid100Laser(int id, Automatic::stLaserCalibParam laser_param)
  5. :CLivoxLaser(id, laser_param)
  6. {
  7. m_frame_maxnum = laser_param.frame_num();
  8. if (laser_param.type() == "LivoxMid100")
  9. {
  10. std::string sn = laser_param.sn();
  11. std::string sn1 = sn, sn2 = sn, sn3 = sn;
  12. sn1 += "1";
  13. sn2 += "2";
  14. sn3 += "3";
  15. g_sn_laser.insert(std::make_pair(sn1, this));
  16. g_sn_laser.insert(std::make_pair(sn2, this));
  17. g_sn_laser.insert(std::make_pair(sn3, this));
  18. }
  19. }
  20. void CLivoxMid100Laser::UpdataHandle()
  21. {
  22. std::string sn = m_laser_param.sn();
  23. std::string sn1 = sn, sn2 = sn, sn3 = sn;
  24. sn1 += "1";
  25. sn2 += "2";
  26. sn3 += "3";
  27. if (g_sn_handle.find(sn1) != g_sn_handle.end())
  28. {
  29. m_handle1 = g_sn_handle[sn1];
  30. }
  31. if (g_sn_handle.find(sn2) != g_sn_handle.end())
  32. {
  33. m_handle2 = g_sn_handle[sn2];
  34. }
  35. if (g_sn_handle.find(sn3) != g_sn_handle.end())
  36. {
  37. m_handle3 = g_sn_handle[sn3];
  38. }
  39. }
  40. bool CLivoxMid100Laser::IsScanComplete()
  41. {
  42. return g_count[m_handle1] >= m_frame_maxnum && g_count[m_handle2] >= m_frame_maxnum
  43. && g_count[m_handle2] >= m_frame_maxnum;
  44. }
  45. bool CLivoxMid100Laser::Start()
  46. {
  47. LOG(INFO) << " livoxMid100 start :" << this;
  48. //Çå³ýÊý¾Ý£¬¿ªÊ¼
  49. m_queue_livox_data.clear();
  50. g_count[m_handle1] = 0;
  51. g_count[m_handle2] = 0;
  52. g_count[m_handle3] = 0;
  53. return CLaser::Start();
  54. }
  55. CLivoxMid100Laser::~CLivoxMid100Laser()
  56. {
  57. }