Follows a list of blocking issues:
1. Arduino had a HardwareSerial issue in the Sanguino (Atmega644P) library, solved in Arduino 0018. Mark that you clean up the firmware objects (FiveD_GCode_Interpreter/applet) to ensure a clean object recompiled with the proper libraries;
2. ReplicatorG SerialPassthroughDriver.java removes spaces from the commandstring, patched as follows;
public String clean(String str) {
String clean = str;
// trim whitespace
clean = clean.trim();
// remove spaces
// 2010.04.04 JvO DON'T clean = clean.replaceAll(" ", "");
return clean;
}
3. FiveD Firmware, byte datatype tested for -1 unsigned byte;
4. FiveD Firmware, cartesian_dda.can_step() code is incorrect for Max endstops, patched as follows;
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 && min_pin != 255) // JvO byte datatype is unsigned
{
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 && max_pin != 255) // JvO byte datatype is unsigned
{
if (read_switch(max_pin) && dir)
canStep = false;
}
#endif
// All OK - we can step
return canStep;
}