rslidar_manager.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "rslidar_manager.h"
  2. Error_manager RslidarManager::init() {
  3. RSDriverParam param;
  4. LOG(INFO) << "load etc file form: " << m_config_path;
  5. m_config = new RsliadrJsonConfig(m_config_path);
  6. std::vector<int> list;
  7. m_config->getLidarIdList(list);
  8. for (auto id:list) {
  9. auto *lidar = new RslidarDevice();
  10. if (m_config->getRSDriverParam(param, id)) {
  11. if (lidar->init(param) == SUCCESS) {
  12. m_lidars_map_.insert(std::pair<int, RslidarDevice*>(id, lidar));
  13. LOG(INFO) << id;
  14. }
  15. }
  16. }
  17. return SUCCESS;
  18. }
  19. size_t RslidarManager::getLidarNumber() {
  20. return m_lidars_map_.size();
  21. }
  22. bool RslidarManager::getIdList(std::vector<int> &list) {
  23. return m_config->getLidarIdList(list);
  24. }
  25. bool RslidarManager::updateRSTransformParam(int id) {
  26. RSTransformParam param;
  27. if(!m_config->getRSTransformParam(param, id)) {
  28. return false;
  29. }
  30. m_lidars_map_.at(id)->updateRSTransformParam(param);
  31. return true;
  32. }
  33. RslidarDevice *RslidarManager::getRslidar(int id) {
  34. return m_lidars_map_.at(id);
  35. }