Saturday, January 02, 2010

 

Hacking on the code...?

I've been hacking on variations of the reprap code now for around 5 years.

Anyway, I've never really been able to publish anything worthwhile as it's either specific to my junk-strap, or it's so small it's pointless setting up a site, repository, whatever, and as a result I've not been able to "prove myself" worthy of the blessing that would be SVN access. ( wouldn't that be handy, hint, hint).

I constantly see requests in the forums for people saying "it'd be nice if..." or "can the firmware do X" and thinking to myself "I've written that, but how do properly *share* that: Sending a tarball of my firmware is bound to end in tears, as it's based the main firmware, but hacked up for my non-standard setup ( mega, gen2 electronics, DC extruder, graycode stepper drivers, etc )

So anyway, As my firmware has been getting further and further from the one-true-way, and it didn't support 5D ( a killer feature AFAIAC ) , I'm integrating the two, and sharing it all!

here it is, my integrated, feature-ful, experimental, probably-busted firmware code:
http://github.com/davidbuzz/reprap-firmware-fork/commits/master
( a work-in-progress)

My added features:

Once "stable" (ie bugs removed) this firmware is aiming to be as close to a "universal" firmware as I've seen. ( ie it should support darwin,mendel,makerbot, custom, etc with a little extra effort).

Buzz.

happy hacking 2010.
( patches encouraged/welcome)

Comments:
Looks good.

I was going to try and implement into the extruder code for the extruder PCB control for a servo extruder, and being a totally separate entity from the stepper, but using similar function calls, so that you could just define #ifdef StepperControl and #ifdef ServoControl.

Even further to reduce code size, I had planned on adding, eg,
#ifdef ServoControl
#include ServoExtrude
Because the #Anything is a preprocessor function before compilation you essentially enable smaller code size by not including everything, and include that which is needed.

Just a theory, I have not tried it.
 
I wonder if you've heard of stgit. See:

http://procode.org/stgit/

If you're trying to make patches against a "canonical" source base, and you have several different features you wish to keep as separate patches, and the "canonical" source is a moving target, something like stgit is a godsend.

Don't know if it applies to what you're doing, but thought I'd mention it.
 
Thanks!

I've been fiddling myself, and re-inventing the wheel.

This could save us hours of time!

Thanks

DaveR
 
I've need of the graycode stepper control in particular. I'm using a found stepper driver/powersupply board that I was able to get the pinouts for. Works great, but the 2 pins for each stepper set the polarity of each coil, NOT step/direction. I'll try this once I get my extruder stepper wired in and mounted. If I can get it to work, it may save me hours of time...
 
Post a Comment

Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]