Thursday, August 27, 2009

Lost directions

Aaaaargh, finally found why the max stops didn't work, where they were dearly needed!
Escaped from Java Host to replicatorG and Eriks' 3D-to-5D script. Though building here sends all axis way beond the Max!
Anyhow, this is the code adjustment made in cartesian_dda.pde (svn #3252):
bool cartesian_dda::can_step(byte min_pin, byte max_pin, long current, long target, byte dir)
{
bool canStep = true; // 2009.08.27 JvO
//stop us if we're on target
if (target == current)
canStep = false;
#if ENDSTOPS_MIN_ENABLED == 1
//stop us if we're home and still going
if(min_pin >= 0)
{
if (read_switch(min_pin) && !dir)
canStep = false;
}
#endif
#if ENDSTOPS_MAX_ENABLED == 1
//stop us if we're at max and still going
if(max_pin >= 0)
{
if (read_switch(max_pin) && dir)
canStep = false;
}
#endif
// All OK - we can step
return canStep;
}
And next on the list is why the extruder stepper doesn't extrude. It does work in the stepperdriver test.

1 comment:

  1. Hi Johan!
    Maybe you've already solved this problem, but here's my solution anyway:
    ReplicatorG removes all spaces from the Gcode before it sends them. This probably causes problems in the firmware that you're using (at least I had that problem and probably was using the same branch of the firmware).

    You can rebuild ReplicatorG without the string replace for "[ ]+" to "" (from the top of my mind, don't remember the exact syntax). This is in the serial passthrough driver class. Let me know if you need help finding where you should apply this change, I could dig up a patch for your version or send you a tar.gz of my ReplicatorG dir.

    ReplyDelete