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

Bad CRC #8

Open
Georacer opened this issue Jul 6, 2017 · 7 comments
Open

Bad CRC #8

Georacer opened this issue Jul 6, 2017 · 7 comments

Comments

@Georacer
Copy link

Georacer commented Jul 6, 2017

Hello,

I'm using this driver with a 3DM-GX3-45 INS.
At initialization, I get the following output:

[ INFO] [1499330673.562021011]: Initializing.
[ INFO] [1499330673.562288111]: Pinging device
Sizes mismatch.
[ERROR] [1499330673.562972659]: Pinging device: Bad CRC.
[ERROR] [1499330673.562991104]: Initialization failed. Please check logs.
[imu_3dm_node-2] process has finished cleanly

I'm running ROS Kinetic under Ubuntu 16.04 and I know it's not officially supported.
Any ideas? Thanks.

@Georacer
Copy link
Author

Georacer commented Jul 6, 2017

Update: I enabled some couts and the new error message is:

[ INFO] [1499332371.651405243]: Initializing.
[ INFO] [1499332371.651817390]: Pinging device
do some reading...
we have some data...
[ INFO] [1499332371.652610327]: Setting to idle
do some reading...
we have some data...
Sizes mismatch.
[ERROR] [1499332371.652716301]: Setting to idle: Bad CRC.
[ERROR] [1499332371.652741791]: Initialization failed. Please check logs.

Seems to be stepping a bit further for some reason.

@Georacer
Copy link
Author

Georacer commented Jul 6, 2017

Added some delay:

waitForMsg();
	cout << "do some reading..." << endl;
	usleep(1000);
	recv = read(n);
	cout << "we have some data..." << endl;

and it now seems to work properly.
I get

[ WARN] [1499332758.200981074]: Horizontal accuracy not valid.

but I think this is an unrelated matter.

Close this if you deem it fit.

@ZdenekM
Copy link
Owner

ZdenekM commented Jul 10, 2017

Hmm, weird. Unfortunately, we have just one unit - few years old one. Maybe the protocol changed a bit or there might be some issue with configuration.

@Georacer
Copy link
Author

Mine was also bought in 2014. Anyway, it got the delay value down to 10us and it still works fine.

@2amour
Copy link

2amour commented Mar 25, 2019

Hi, @Georacer ,I have the same problem: Bad CRC!And I add some delay, but it didn't work. I'm running ROS Kinetic under Ubuntu 16.04, Can you help me?

@Georacer
Copy link
Author

Hi @2amour,
You can find here the final code with all the changes that I made to run the IMU: https://github.com/Georacer/microstrain_3dm_gx3_45/tree/ICRA2017

I just called the IMU.launch launchfile from the main application.

Try to see if it helps you. It's been a very long time since I touched this code, so I can't offer immediate advice.

@2amour
Copy link

2amour commented Apr 2, 2019

Thank you @Georacer! I restarted the IMU and it works now!

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

3 participants