           for (; j < buffer_length && current_buffer[j] != '#'; j++);// parse until I find the termination char
           if (j < buffer_length){
               char tmp_str[64];
-             // Serial.println(i);
-             // Serial.println(j);
               strncpy(tmp_str, current_buffer + i + 1, j - i - 1);
               tmp_str[j - i - 1] = 0;
               int motor_index, num_steps;
-        //      Serial.write(tmp_str);
               sscanf(tmp_str, "%d%d", &motor_index, &num_steps);
               move_motor(motor_index, num_steps);
               // remove the current executed command
               strcpy(current_buffer, current_buffer + j + 1);
-          //    Serial.write(current_buffer);
               break;
           }
           else{// the string is not completed ... so I must wait more...

      steppers[m]->run();
    else
      steppers[m]->setCurrentPosition(0);
}
//--------------------------------------------------------------------------------------------
//Reset pins to default states
void reset_pins()
{
  for (int m = 0; m < num_motors; m++){
    digitalWrite(step_pins[m], LOW);
    digitalWrite(dir_pins[m], LOW);
    digitalWrite(enable_pins[m], HIGH); // all motors are disabled now
  }
}
//--------------------------------------------------------------------------------------------
void move_motor(int motor_index, int num_steps)

  digitalWrite(enable_pins[motor_index], HIGH); // disable motor
}
//--------------------------------------------------------------------------------------------
//Reset pins to default states
void reset_pins()
{
  for (int m = 0; m < num_motors; m++){
    digitalWrite(step_pins[m], LOW);
    digitalWrite(dir_pins[m], LOW);
    digitalWrite(enable_pins[m], HIGH); // all motors are disabled now
  }
}
//--------------------------------------------------------------------------------------------


