Lidar-Lite Help Please

We are trying to Use Lidar-Lite we bought last year to integrate with a simple labview project to measure distance.

On our RoboRio, a Navx is connected to the MXP port. On the Navx I2C port, we have connected Lidar wires.

Wires from Lidar

  1. Red Pin1 to Navx I2C + pin
  2. Pin 6 GND to Navx I2C GND Pin
  3. Pin 4 SCL to Navx I2C SCL Pin
  4. Pin 5 SDA to Navx I2C SDA Pin

Attached are images which show LV open and read distance logic.

We are constantly getting errors from read operation -

<b>Complete call chain:</b>
i2clib_write.vi
WPI_I2CWrite.vi
Lidar Controller.vi
SubSystems.vi
Robot Main.vi
ERROR -1 i2clib_writeread.vi<ERR>
No such device or address

Can someone please help us what we are doing wrong?
thanks
sanjay

Lidar-open.PNG




Lidar-open.PNG

Can you please confirm two things:

  • that your Lidar Lite is the original (V1) Lidar Lite? I’ve heard that there are some differences in behavior w/the new V2 Lidar Lite (I think it has a blue label on it, whereas the V1 has a silver label)
  • since the Lidar Lite is receiving power from the navX-MXP, and since it requires 5VDC input voltage, can you confirm that the voltage select jumper on the navX-MXP is set to 5VDC (as opposed to 3.3VDC)?

Our team has also tried to get the Lidar-Lite to work, without success. We have the original (silver label) version. We tried the RoboRio standalone port as well as chained through the NavMXP I2C ports, with a without pullups, and different voltage supplies.
It works fine on an Arduino.

We are coding in C++.

Here’s a link to the Java code we had working last year (this was a V1 Lidar Lite connected to the navX-MXP I2C port, powered w/5V). kauaibotsfirst2010/Source/2015/GizmoBot/src/org/usfirst/frc2465/GizmoBot/subsystems/LIDAR.java at master · kauailabs/kauaibotsfirst2010 · GitHub

You may find something in there that helps.

Last year it only worked w/the MXP I2C port and not with the RoboRIO onboard I2C port.

Let me spend some time getting this to work again, this time using the 2016 RoboRIO Firmware; I’ll let you know what I find, may take a day or two.

  • scott

I also just bought the lidar lite and am have a lot of trouble getting it to work withthe roborio. I found some other sources but have not had any luck with them

here is some example code http://www.chiefdelphi.com/forums/showpost.php?p=1437440&postcount=44

also some people had luck with pull up resistors http://www.chiefdelphi.com/forums/showthread.php?t=135043

let me know if you have any luck. Can you get yours to work with an arduino example? Mine always reads 0

V2 or V1? I’ve heard that the I2C protocol for communication to V1 is different than V2…

I’m suspicious of you can’t get it working on an Arduino that (if you’ve verified your wiring) you are using V1 protocol to talk to V2, or vice versa. Definitely recommend getting this working before going further w/the RoboRIO.

i am using V1.

The arduino code i am using is from this link https://github.com/PulsedLight3D/LIDARLite_Basics/tree/master/Arduino

it does not say if it is version 1 or 2. Does anyone have a link to v1 arduino lidar lite code?

5V. Sorry I should have mentioned it in my original email.

The same Lidar wiring and setup was used successfully on an Arduino last summer to measure distance. So we are sure that Lidar is OK. But this device has no status LED to tell me otherwise.

Thanks for your help

Does anyone that has gotten this sensor to work have a picture of how they weird it up to the roborio?

Is Lidar Lite class I (does it meet R9-D)?

Yes it’s class 1 laser (as long as you don’t remove the sensor’s housing), you can read more about this in the Lidar Lite Datasheet.

anyone have any luck with this yet?

My first round of testing with this is indicating that the RoboRIO MXP I2C port is behaving a bit differently from how it did last year, which impacts the LidarLITE communication.

Summary of Last year: We were able to get LidarLite (V1) working using the MXP I2C port (plugged into the navX-MXP I2C Expansion connector), but NOT able to get LidarLite to work w/the same code via the RoboRIO’s onboard I2C connector.

This year the behavior has reversed!

Now this year: We are able to get LidarLite (V1) working using the RoboRIO onboard I2C port, but not using the MXP I2C port (plugged into the navX-MXP I2C Expansion port). The same code was used, the only difference was the Port enum value passed into the LidarLITE constructor specified a different port.

When it doesn’t work, all 0s are returned, and the WPI library indicates that the transaction was aborted.

Attached are the two small java code files used in the test. As noted in the comment in robotInit() method of Robot.java, it works w/the RoboRio onboard I2C port, but not w/the MXP I2C port.

I do plan to break out a logic analyzer and see if I can figure out what’s different on the two ports, but don’t know when I’ll get a chance to do that, maybe this weekend.

But I would recommend trying the RoboRIO onboard I2C connector, which works for me using the 2016 firmware.

LidarLITE.java (2.8 KB)
Robot.java (2.12 KB)


LidarLITE.java (2.8 KB)
Robot.java (2.12 KB)

Sorry, I meant to reply sooner and it fell off my plate.

We got a V1 to work just fine with RIO this past summer.

Use the on-board I2C port, not the MXP one.

Our labview code can be found as part of our Marvin T release
http://www.chiefdelphi.com/forums/showthread.php?t=140815

any chance you could post a wiring diagram of how you had it wired?

Lidar Lite Pinout is on page 8 of this datasheet: http://www.robotshop.com/media/files/pdf/operating-manual-llm20c132i500s011.pdf

RoboRio onboard I2C pinout is displayed on the silkscreen of the robot itself.

Simply connect RoboRio -> Lidar Lite:

GND -> Signal/Power Ground
3.3V -> POWER_IN
SCL -> I2C Clock (SCL)
SDA -> I2C Data (SDA)

My V1 sensor worked fine w/the 3.3V power pin from the RoboRIO onboard I2C connector - but you could provide it 5V power instead from one of the 5V RoboRio power rails (or the VRM) and that should work too.

thanks. Some people were saying you need a pull up resist to get it to work. Sounds like you got it to work without one?

The roboRIO has 2.2k pull-up resistors on the I2C pins as mentioned on page 15 of the User Manual.

Hi All

Thanks for all your posts and replies. Here is the final update from our experiments -

we looked at the example from Marvin T MARS Team 2614. Thanks “sraque”.

There are Lidar Open and read VIs and they work as-is. Also we have our Lidar connected to I2C on NavX via MXP ports on roborio

I have attached 2 images for open and read snippets from our Begin.vi and Lidar controller VIs.

–sk





Looks like you forgot to post the begin. Could you post it