@wayneparrott/rplidar-driver
TypeScript icon, indicating that this package has built-in type declarations

0.8.4 • Public • Published

rplidar-driver

A TypeScript (javascript) RPLidar device driver for controlling Slamtec A1 - A3 lidar devices from Node.

  • Implements the following device api:

    • startMotor()
    • stopMotor()
    • reset()
    • getHealth()
    • getInfo()
    • getRPM()
    • getSampleRates()
    • getScanModes()
    • startScan()
    • stopScan()

    See API docs.

  • RPLidar devices support 2 scan modes: Standard and Express. This driver uses the Standard scanning mode. Support for Express scan mode is planned.

  • Supports 3 scan data delivery modes: realtime scan data delivery, batch 360 degree scan data delivery and single 360 degree batch scan data delivery

  • Tested on MacOS Mojave and Catalina and Linux Ubuntu 18.04.1 with RPLidar 1AM8 device and cu.SLAB_USBtoUART driver. Windows 10 testing planned.

screenshot

Device user guides and protocol documentation can be found here.

Prerequisites

Node >= 10.0.0

USBtoUART Driver - download and install for your OS

Installation

npm install @wayneparrott/rplidar-driver

Usage

import { RPLidarDriver, ScanSample} from 'rplidar-driver';

async function run_demo() {
  const lidar = new RPLidarDriver();

  await lidar.init();
  console.log('health: ', await lidar.getHealth());
  console.log('info: ', await lidar.getInfo());
  
  lidar.on('scan', (scanSample: ScanSample[]) => console.log(scanSample));
  lidar.startScan();
  console.log('started scanning');
}

run_demo();

Thanks

All credit to Andrew Koroluk the author of the rplidar npm module. rplidar-driver began as a fork of node-rplidar with the goal to reimplement it's functionality in TypeScript module. Initially I was not able to run rplidar on a RPLidar 1AM8 device without errors. That led to some early mods. Then I began removing dependencies, introducing types, additional api, etc. But still much of the code and examples are basically Andrew's original work with minor tweaks to work with rplidar-driver. Thanks Andrew for showing me the way!

Built in TypeScript using the CodeMix plugin for Eclipse.

Package Sidebar

Install

npm i @wayneparrott/rplidar-driver

Weekly Downloads

1

Version

0.8.4

License

MIT

Unpacked Size

1.16 MB

Total Files

37

Last publish

Collaborators

  • wayneparrott