// Homing States
enum{
- NOT_HOMING,
MOVING_TO_ORIGIN_FAST,
MOVING_BACK,
MOVING_TO_ORIGIN_SLOW,
+ NOT_HOMING,
BACK_OFF_HOME,
MOVE_TO_ZERO,
LIMIT_TRIGGERED
{
if( (axes_to_move&0x03) != 3 ) return; // ignore if X and Y not homing
+ // Do we need to check if we are already at 0,0? probably not as the G0 will not do anything if we are
+ // float pos[3]; THEKERNEL->robot->get_axis_position(pos); if(pos[0] == 0 && pos[1] == 0) return;
+
this->status = MOVE_TO_ZERO;
// Move to center using a regular move, use slower of X and Y fast rate
float rate= min(this->fast_rates[0], this->fast_rates[1])*60.0F;
// Called periodically to change the speed to match acceleration
uint32_t Endstops::acceleration_tick(uint32_t dummy)
{
- if(this->status == NOT_HOMING) return(0); // nothing to do
+ if(this->status >= NOT_HOMING) return(0); // nothing to do, only do this when moving for homing sequence
// foreach stepper that is moving
for ( int c = X_AXIS; c <= Z_AXIS; c++ ) {