Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VLP 16 Changes #1

Open
jbrowndev opened this issue Jun 23, 2017 · 4 comments
Open

VLP 16 Changes #1

jbrowndev opened this issue Jun 23, 2017 · 4 comments

Comments

@jbrowndev
Copy link

Just checking that along with using the VLP-16 corrections file if you would also need to change any of the rest of the code.

Looking through PacketDecoder.cpp the ProcessHDLPacket checks from blocks 0 to 31:
int offset = (firingData.blockIdentifier == BLOCK_0_TO_31) ? 0 : 32;

Would I be correct in saying that should be 0 to 15 for a VLP 16? Is that the only change needed for VLP 16 compatibility or is there more?

Thanks for the excellent code in any case!

@nicrip
Copy link
Owner

nicrip commented Jun 24, 2017

I don't have access to a VLP-16 but testing with the sample datasets from Velodyne (https://midas3.kitware.com/midas/folder/12979) seems to indicate that you only need to make sure that you use the VLP-16 corrections file for it to work correctly - no code changes needed.

@nicrip
Copy link
Owner

nicrip commented Jun 28, 2017

From testing with sample datasets, no VLP-16-specific changes are required - If a change is required the fix is easy, but for now I will close this issue until I get data that shows problems.

@nicrip nicrip closed this as completed Jun 28, 2017
@jbrowndev
Copy link
Author

Been working on this some more and I've been outputting the various data to investigate how it all looks.
This shows some of the data output: http://imgur.com/a/zKbh3

As you can see the Laser ID is not correct when compared to the table view in VeloView which has them from 0-15. While this code creates them from 0-31 and includes more than 16 in some of the packets.

Looking through the code I think that perhaps something in the offset that is derived from the corrections is not correct? If you output the data using a VLP-16 sample file you should see the same thing.

@nicrip nicrip reopened this Jul 6, 2017
@nicrip
Copy link
Owner

nicrip commented Aug 5, 2017

Unfortunately, examination of the sample VLP-16 datasets indicates that the data block ID for the VLP-16 is identical to that of the HDL-32/64 (0xEEFF) instead of 0xFFEE as shown in the manual - if you have access to an actual VLP-16, can you confirm the block ID and upload a sample pcap?

I'd like to automatically distinguish between the HDL and VLP using the block ID, otherwise I have to add some function to switch between the two which is not elegant.

A quick fix for now if you are definitely using a VLP-16 is to add the line:

if (laserId >= 16) laserId -= 16;

in PacketDecoder.cpp after line 65 where laserId is set.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants