@@ -30,7 +30,6 @@ CYdLidar::CYdLidar() : lidarPtr(nullptr)
3030 isScanning = false ;
3131 node_counts = 720 ;
3232 each_angle = 0.5 ;
33- print_error_info = 0 ;
3433 m_FrequencyOffset = 0.4 ;
3534 m_isMultipleRate = false ;
3635 m_IgnoreArray.clear ();
@@ -256,17 +255,15 @@ bool CYdLidar::getDeviceHealth() const {
256255 } else {
257256 ydlidar::console.error (" YDLidar running correctly ! The health status is bad" );
258257 }
259- if (healthinfo.status == 2 ) {
260- if (print_error_info == 3 )
261- ydlidar::console.error (" Error, Yd Lidar internal error detected. Please reboot the device to retry." );
258+ if (healthinfo.status == 2 ) {
259+ ydlidar::console.error (" Error, Yd Lidar internal error detected. Please reboot the device to retry." );
262260 return false ;
263261 } else {
264262 return true ;
265263 }
266264
267- } else {
268- if (print_error_info == 3 )
269- ydlidar::console.error ( " Error, cannot retrieve Yd Lidar health code: %x" , op_result);
265+ } else {
266+ ydlidar::console.error ( " Error, cannot retrieve Yd Lidar health code: %x" , op_result);
270267 return false ;
271268 }
272269
@@ -278,9 +275,8 @@ bool CYdLidar::getDeviceInfo(int &type) {
278275
279276 device_info devinfo;
280277 result_t ans = lidarPtr->getDeviceInfo (devinfo);
281- if (!IS_OK (ans)) {
282- if (print_error_info == 3 )
283- ydlidar::console.error (" get DeviceInfo Error" );
278+ if (!IS_OK (ans)) {
279+ ydlidar::console.error (" get DeviceInfo Error" );
284280 return false ;
285281 }
286282 std::string model;
@@ -622,19 +618,22 @@ bool CYdLidar::checkStatus()
622618 for (it=checkmodel.begin (); it!=checkmodel.end (); ++it) {
623619 if (it->second )
624620 continue ;
625- print_error_info++;
626621 lidarPtr->disconnect ();
622+ delete lidarPtr;
623+ lidarPtr = nullptr ;
627624 m_SerialBaudrate = it->first ;
628625
629- bool ret = checkCOMMs ();
630- if (!ret) {
626+ if (!checkCOMMs ()) {
631627 return false ;
628+ } else {
629+ break ;
632630 }
633631 }
634-
632+ if (it == checkmodel.end ()) {
633+ return false ;
634+ }
635635 } else {
636636 ret = true ;
637- print_error_info = 0 ;
638637 break ;
639638 }
640639 }
0 commit comments