Git Product home page Git Product logo

lidarenhanced's People

Contributors

alexistm avatar per1234 avatar rikba avatar tomasroj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

lidarenhanced's Issues

Filter output

Filter the output values to have a really simplified program with a high acquisition rate.

  • Average on N data (Moving average -done every cycle- or average every N data ?)
  • Prediction aware : x = x[-1]*x[-1]dt

Add configurable callbacks

To avoid having to read blindly the data from the Controller (distance, statuses, signal_strenghs) we should add a configurable callback the user implements and give to the controller.

  • One callback for each laser : callback(self); and for the velocity : callback(self, dt);
  • Global callback when all lasers have a data : callback(... ?)

Add the missing #define of registers & data and use them

The #define has to be used in the code

// READ Registers
// Those are registers we only READ from
#define STATUS_REGISTER           0x01
#define SIGNAL_STRENGTH_REGISTER  0x0e
#define ERROR_REGISTER            0x40
#define MEASURED_VALUE_REGISTER   0x8f
#define READ_SERIAL_REGISTERS     0x96

// WRITE Registers
// Those are register we only WRITE on
#define CONTROL_REGISTER          0x00
#define SERIAL1_REGISTER          0x18
#define SERIAL2_REGISTER          0x19
#define ADDRESS_REGISTER          0x1a
#define PARTY_LINE_REGISTER       0x1e
#define COMMAND_REGISTER          0x40
#define SCALE_VELOCITY_REGISTER   0x45
#define VELOCITY_MODE_REGISTER    0x04
#define OFFSET_REGISTER           0x13

// Values
#define INITIATE_VALUE            0x04
#define PARTY_LINE_ON             0x00
#define PARTY_LINE_OFF            0x08
#define VELOCITY_MODE_DATA        0xa0

// Busyflag from STATUS_REGISTER
#define BUSYFLAG_READY_VALUE      0x00

porting LIDAREnhanced to esp32 c++

I am studying your code and it looks nice! My target platform is c++ on the Espressif ESP32 WROVER KIT https://www.adafruit.com/product/3384[](url)

Please confirm that in the statement below:

LZ1.begin(Z1_LASER_EN, Z1_LASER_PIN, Z1_LASER_TRIG, Z1_LASER_AD, 2, DISTANCE, 'A');

Z1_LASER_EN is the i2c SDA pin (data) and
Z1_LASER_PIN is the i2c SCL pin (clock).

When I become more literate, I will be happy to assist with simple velocity codes.
Sincerely

Kent Smith

confused about OneLidar example

Hi, I am looking through your cool project because the official lidar API have some problems when I use it.
In your OneLidar example,I have two questions:
1): It just define some pin for PWM method like Trigger pin and Mode pin, but when it receive distance data just use I2C method.
2): the LIDAR_TYPE not used for that example, I know it was declared as I2C_TYPE first, but not used in all the loop.
Maybe I misunderstanding something, please give me some suggestions. thanks for sharing your project again.

Tidy Velocity

Velocity measurements change the laser mode.

To make Velocity and Distance measurements, we need to switch mode.

Or else, we could simply measure velocity with our own algorithm, storing N positions and getting instantaneous speed directly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.