Are there directions for compiling the GoPiGo firmware from scratch?
I tried last night using rev 1.6.4 of the Arduino software, and got a different hex file than is distributed. (As an aside, finding the hex file on my Mac was task and half!) I suspect I missed a step.
Can anybody give me pointers or tips on compiling my own image from scratch?
I am interested in implementing PID velocity controllers for the two motors using the encoder feedback. If somebody else has already done this, then I’m not interested in reinventing the wheel. If nobody else has done it, then I’m interested in feeding my code back to the community.
But my first step is to make sure that I can regenerate the existing code, before I try changing anything and wondering why things don’t work.
Hey,
The Hex file generated would be different. We have seen that a lot of times the Arduino IDE would be producing HEX files which do look different.
The easiest way to verify that the hex file was correct is to burn it to the GoPiGo and use sudo i2cdetect -y 1. If you see 08 in there, then the code was burnt successfully.
The easiest way to find if the changes that you have made are there in the firmware is to change the firmware version to a new number and verify that the software reports the same as you had put there.
Oh that’s a shame! I hate using embedded tools that don’t produce the same output every time they are run, when given the same input. Oh well.
I am less concerned about validating that my changes are in the firmware than I am about validating the firmware to begin with. But I guess I’ll just have to go with the time honored technique of “If it looks like its running, it must work”.
Any thoughts regarding the PID velocity controller for the wheels? Good idea? Bad idea? Already done? Will never work?
We did use the Arduino software to produce the released code.
We compiled on a PC, using Arduino (1.0.5-r2 works).
In the latest version of the code, we have fuse settings and changes to the clock speeds; we invoke the div8 on it to make it more stable.