Hi Will,

I am not sure what is causing your programming difficulty.  The Sparkfun 9D razor imu should be programed with an arduino bootloader.   Your settings are correct for programming it.. 

The only things that I can think of are that your device is not showing up as /dev/ttyUSB0 or its not being properly reset by your avrdude. When avrdude starts to program, it tells the ftdi to reset the avr chip and then starts communicating with the bootloader.  Sometimes, avrdude seems to fail to reset the device.  You can try pressing the reset button on the board right before you tell avrdude to program it.

Another thing you should try as a sanity check is reprogramming it with the default firmware or the AHRS firmware with the arduino IDE. 

Hopefully this helps.

Good luck!,
Adam

On Thu, Jan 20, 2011 at 6:29 PM, William McMahan <wmcmahan@seas.upenn.edu> wrote:
Hey,

Adam, Thanks for writing a ROS wrapper for the sparkfun razor imu.  It's actually something I was about to start working on.  However, I've been banging my head against a problem installing your AVRdriver firmware onto the IMUs and I'd appreciate any assistance you (or the community) might be able to offer.

Here is the process that I've taken so far. Note that I'm running the a fully updated version of cturtle on Ubuntu 10.04 Lucid (64bit).  

1. Plug the IMU via an FTDI board into the USB port of my computer.
2. Open Eclipse and import an existing project into the workspace, pointing to /rutgers-ros-pkg/imu_9drazor/src
(I've followed your AVR Eclipse installation instructions on the avr_bridge package documentation.)
3. Build the project.
4. Press the Upload current project to Atmel target MCU

The last step is where I run into a problem, and get the following console output.

Launching /usr/bin/avrdude -pm328p -carduino -P/dev/ttyUSB0 -Uflash:w:imu_AVRdriver.hex:a 
Output:
avrdude: stk500_getsync(): not in sync: resp=0x1e

avrdude done.  Thank you.

avrdude finished

I think the problem may lie in my selection for AVR Programmer.  I've selected the Arduino from the Programmer Hardware (-c) option and entered in /dev/ttyUSB0 into the Overide default port (-P) section.  The Target hardware is set to ATMega328P with a clock of 8000000.  Do you use the same AVR programmer settings as I do?  Do you see anything else I'm doing wrong in this process?

Thanks again,
--Will

_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users