I’m wondering if the SSC-32 firmware code is available and if I could have a little looksy? I nosed around the site for a while but couldn’t find it or any references to it. Maybe it’s proprietary? I’m tinkering with the robotic arm from the unix command line (Mac OSX) and I would like to get a better feel for the SSC-32 command syntax in optimizing things. What would be really nice is if the firmware is written to be compiled with avr-gcc??? I realize it may be a long shot, but I thought I would ask…
Sure, that’s what it’s all about! I wrote a makefile and tried compiling with avr-gcc but, alas, there were some errors. I’m just back from lunch and I’ll take another crack at it. Stay tuned…
I’ll try to solve the stuff I think I can solve first. I’m happy to post files once (if) I get things worked out.
Just as an update, mostly the errors are from missing declarations (stuff with lost libraries). I’m also getting some messages with expected ','s and stray '@'s. Not sure what to think there yet… Compiler stuff, yuck.
Also, if I remember right, spi.h is being phased out in favor of io.h (for interrupt stuff) and the version of avr-gcc that I’m using (4.1.0) doesn’t even have spi.h included as a library. I switched spi.h to io.h but that hasn’t solved everything.
Another thing with avr-gcc is that you specify the target at compile time with a command like:
So there isn’t a library corresponding to: #include <mega8.h> that installs with avr-gcc. This is where most declarations seem to stem from. I’m hunting for the mega8.h lib now…
Great! This is a nice forum. Thanks for the help. I’m sure be back soon with some questions…
The SSC-32 firmware was developed using the CodeVisionAVR compiler (Version 1.24.1e Standard). I have intended to port it to avr-gcc, but have not done so yet. It uses some compiler-specific extensions such as allocation of global variables to registers, the “flash” modifier for constants stored in program memory, inline assembly, etc. These capabilities are all present in avr-gcc, but in many cases the syntax is incompatable. Also, as you observed, the library usage and target specification are different.
Sorry to not have better news on this. I would like to remove the dependency on a commercial compiler with a license key, but the porting project has never made it to the top of my priority list because it works fine as is.