Day Five!

"When things are planned out really well, the only thing you have to worry about is how your plan may need to be thrown out the window when you get to the execution phase." -- I just made that up; feel free to quote me.

I stared to follow the plan that I laid out on the previous page, but I ran into some issues. Running Arduino in Linux, I could not see the comm port to talk to the IMU over the FTDI. In attempts to get around this, I decided to use Windows 7. Neither seemed to work correctly with the Arduino IDE. I knew that the device was obviously not completely dead, because LED's were on each of the boards. I tried changing the cables to see if the chosen cable was built just for charging a device. Next, I looked in device manager and there were no signs that the FTDI device was installed and had an emulated comm port. I tried to reinstall the drivers with no luck. I then seen that I had two devices in device manager that were not properly installed. I incorrectly assumed that these were the FTDI and the IMU. I then did the correct action of looking at the device id and searching it on google. One was an accelerometer in my laptop; the other was the USB 3.0 port controller on the computer. I installed both and this allowed the FTDI device to be seen in the device manager and the port was now given as an option in the Arduino IDE. I am sure my issue in Linux was USB privileges were not assigned, thus denying Arduino IDE the ability to see the emulated port.

Garbage, garbage, garbage troubleshooting -- but troubleshooting, none the less.

**Check this out: http://www.geeetech.com/wiki/index.php/ArduIMU_9_Degrees_of_Freedom and notice that the page says that it uses 5V on the top of the page and then later stated that it needs a 3.3V FTDI device *****Don't use a 5V FTDI device, it will most likely kill your IMU******


After that waste of time, I downloaded the ROS IMU code from github and tried to compile it. It, of course, didn't compile because I had to remove the commenting out of the board in which I posses. Now, please remember that I am using a clone, and because of this it doesn't directly say that it is exactly this model. I had to do some guessing. Here is the code portion for the selection of the board type.

//#define HW__VERSION_CODE 10125 // SparkFun "9DOF Razor IMU" version "SEN-10125" (HMC5843 magnetometer)//#define HW__VERSION_CODE 10736 // SparkFun "9DOF Razor IMU" version "SEN-10736" (HMC5883L magnetometer)//#define HW__VERSION_CODE 14001 // SparkFun "9DoF Razor IMU M0" version "SEN-14001"//#define HW__VERSION_CODE 10183 // SparkFun "9DOF Sensor Stick" version "SEN-10183" (HMC5843 magnetometer)//#define HW__VERSION_CODE 10321 // SparkFun "9DOF Sensor Stick" version "SEN-10321" (HMC5843 magnetometer)//#define HW__VERSION_CODE 10724 // SparkFun "9DOF Sensor Stick" version "SEN-10724" (HMC5883L magnetometer)

After looking at the geetech web page, I found that this board has a HMC5883L magnetometer. This narrowed my options down to two. I then used a google image search to find out which board looks like mine. I can say with complete certainty that SEN-10724 is NOT my board.

After removing the // in front of the line for the version code for SEN-10736, the program compiled and uploaded perfectly.

I think this Is probably enough for one day's work on a web page that a whole 3 people will read.

Thanks you guys!

7/12/18