rplidar_arduino icon indicating copy to clipboard operation
rplidar_arduino copied to clipboard

40% sampling speed improvement by avoiding time check on every byte in waitPoint(...)

Open avirtuos opened this issue 8 years ago • 8 comments

  • 40% sampling speed improvement by avoiding time check on every byte in waitPoint(...)
  • Migrated to SoftSerial from HardwareSerial
  • Tested on Arduino Leonardo and Pro Micro with RPLidar 360

avirtuos avatar Jul 09 '16 23:07 avirtuos

Any updates on this request? I'm sure your customers would appreciate the significant performance improvement. If it helps I can separate the SoftSerial changes from the 3-line performance improvement change. Please let me know. Thanks.

avirtuos avatar Jul 22 '16 01:07 avirtuos

Almost 1 year and still no answer on this. I've called your company's support number and emailed the support address. I can officially say I won't be buying any future products made by your company considering the level of support your drivers clearly receive.

avirtuos avatar Feb 17 '17 02:02 avirtuos

Seems to work fine on ESP32. It's so disappointing that slamtec doesn't support this anymore...

Titibo26 avatar May 21 '19 09:05 Titibo26

This is important. I'm going to use this instead of the original driver.

wesamjabali avatar Dec 19 '20 03:12 wesamjabali

You are likely to get better support from me than SlamTech anyway lol

avirtuos avatar Dec 19 '20 03:12 avirtuos

Well, I'm actually totally not getting a response on my lidar.waitPoint() on either of them. The motor control works, but the lidar isn't giving me any data on either hardware or software serial. Any suggestions?

wesamjabali avatar Dec 20 '20 19:12 wesamjabali

@wesamjabali I have working sample code at https://github.com/DanCrank/tank-bot-mk1/blob/main/arduino/tank-bot-mk1/tank-bot-mk1.ino if it helps.

I found a bug and was just thinking about putting a pull request here for it (not that it would ever be merged). The RPLidar::begin method is declared to return bool but it does not actually return a value. In my testing, this caused the controller to lock up. This can be fixed by editing the files RPLidar.h and RPLidar.cpp and changing the RPLidar::begin method to return void in both places.

DanCrank avatar Apr 25 '21 14:04 DanCrank

@wesamjabali ~~Have you managed to solve it? I have exactly the same problem as you, and I'm afraid that this library doesn't work anymore with RPLIDAR A1M8 revision 6~~ 😅

EDIT: Ok, nevermind, it's working now. Great addition to the library btw, thanks

rsilverioo avatar Jun 14 '21 14:06 rsilverioo