Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Sweep for Processing Build Status Build status codebeat badge

Use the Scanse Sweep LIDAR with processing.

Introduction

Sweep for Processing is a port of the Scanse Sweep LIDAR library for processing. It gives you full access to the C API and adds some processing specfic methods to it.

Currently it is still under development and ONLY tested on MacOS.

LIDAR Example

Example of the LIDAR with FX2D

Example

Basic

To get sample data from the LIDAR sensor, you have to create a new SweepSensor and call the start method. The start method needs the path to the Sweep COM port.

import ch.bildspur.sweep.*;

SweepSensor sweep;

void setup()
{
  size(600, 300, FX2D);

  sweep = new SweepSensor(this);
  sweep.start("/dev/tty.usbserial-DO004HM4");
}

In draw you then just have to read the new samples from the device.

void draw()
{
	// do your stuff
	
	// read samples
	List<SensorSample> samples = sweep.getSamples()
	
	// do drawing
}

It is recommended to save the reference to the list of samples in a own variable and only use getSamples() once in a draw loop. Otherwise it is not guaranteed, that the samples are from the same scan (Concurrency).

Based on BasicExample

Asynchronous

With version 0.3 it is possible to start the device asynchronous and set the set the motor speed and sample rate through the constructor (thanks to @felixerdy).

import ch.bildspur.sweep.*;

SweepSensor sweep;

void setup()
{
  size(600, 300, FX2D);

  sweep = new SweepSensor(this);
  sweep.startAsync("/dev/tty.usbserial-DO004HM4", 5, 500);
}

It is recommended to use this method if the processing main thread should not be blocked by the start of the sweep device.

Based on AsyncExample

You can’t perform that action at this time.