Code Monkey home page Code Monkey logo

Comments (5)

okalachev avatar okalachev commented on July 19, 2024

Hello.

I believe the much more ROS way is to have one node running per each device, but that's seems impossible without preliminary changing the addresses of each rangefinder.

So what if to have something (a script, a node, ...) that will sequentially change the addresses of each device, and only after that to have necessary count of these nodes running, each with adjusted i2c_address parameter in appropriate way?

from vl53l1x_ros.

tiralonghipol avatar tiralonghipol commented on July 19, 2024

the idea is to have a 'ring' of sensors to have a 360 degree coverage on the horizontal plane

What is required to get something similar to this: https://github.com/mjbogusz/vl53l0x-linux/blob/master/examples/continuousMultipleSensors.cpp ?

from vl53l1x_ros.

okalachev avatar okalachev commented on July 19, 2024

I get your idea. I guess there is two options:

  • Extend my node to add support running for multiple rangefinders. This is a pretty huge change, and also seems not too much ROS way to me (where one node per one device usually used).
  • Write a program or script, that changes addresses of each rangefinder connected, and only after that run N instances of this node, each for each rangefinder. This solution is more universal and can be used not only with this package.

from vl53l1x_ros.

tiralonghipol avatar tiralonghipol commented on July 19, 2024

all right
could you be more specific on 'huge change' on method 1 ?
for example, where can I find documentation on how to write my own i2c/gpio functions?
like the one declared in the API https://github.com/okalachev/vl53l1x_ros/blob/master/vl53l1x/lib/platform/vl53l1_platform.h
regarding the VL53L1_GPIO*

from vl53l1x_ros.

okalachev avatar okalachev commented on July 19, 2024

Here is my implementation of I2C functions, that are needed to the library, based on Linux API:

The change is to update the API of the node a little, to make it possible to configure multiple I2C addresses and multiple set of parameters for each I2C address. Adding preliminary procedure for updating the addresses of the rangefinders. Plus publishing multiple result topics, each in its own namespace.

But as I said, personally I like the method 2 more.

from vl53l1x_ros.

Related Issues (6)

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.