Пример #1
0
void plan_set_position(const float &x, const float &y, const float &z, const float &e)
{
  position[X_AXIS] = lround(x*axis_steps_per_unit[X_AXIS]);
  position[Y_AXIS] = lround(y*axis_steps_per_unit[Y_AXIS]);
  position[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);     
  position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);  
  st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]);
  previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.
  previous_speed[0] = 0.0;
  previous_speed[1] = 0.0;
  previous_speed[2] = 0.0;
  previous_speed[3] = 0.0;
}
Пример #2
0
  void plan_set_position(const float& x, const float& y, const float& z, const float& e)
#endif // AUTO_BED_LEVELING_FEATURE
{
  #if ENABLED(AUTO_BED_LEVELING_FEATURE)
    apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
  #endif

  long  nx = position[X_AXIS] = lround(x * axis_steps_per_unit[X_AXIS]),
        ny = position[Y_AXIS] = lround(y * axis_steps_per_unit[Y_AXIS]),
        nz = position[Z_AXIS] = lround(z * axis_steps_per_unit[Z_AXIS]),
        ne = position[E_AXIS] = lround(e * axis_steps_per_unit[E_AXIS + active_extruder]);
  last_extruder = active_extruder;
  st_set_position(nx, ny, nz, ne);
  previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.

  for (uint8_t i = 0; i < NUM_AXIS; i++) previous_speed[i] = 0.0;
}
Пример #3
0
  void plan_set_position(const float &x, const float &y, const float &z, const float &e)
#endif // AUTO_BED_LEVELING_FEATURE || MESH_BED_LEVELING
  {
    #if ENABLED(MESH_BED_LEVELING)
      if (mbl.active) z += mbl.get_z(x, y);
    #elif ENABLED(AUTO_BED_LEVELING_FEATURE)
      apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
    #endif

    float nx = position[X_AXIS] = lround(x * axis_steps_per_unit[X_AXIS]),
          ny = position[Y_AXIS] = lround(y * axis_steps_per_unit[Y_AXIS]),
          nz = position[Z_AXIS] = lround(z * axis_steps_per_unit[Z_AXIS]),
          ne = position[E_AXIS] = lround(e * axis_steps_per_unit[E_AXIS]);
    st_set_position(nx, ny, nz, ne);
    previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.

    for (int i=0; i<NUM_AXIS; i++) previous_speed[i] = 0.0;
  }
Пример #4
0
void plan_set_position(float x, float y, float z, const float &e)
{
    apply_rotation_xyz(plan_bed_level_matrix, x, y, z);
#else
void plan_set_position(const float &x, const float &y, const float &z, const float &e)
{
#endif // ENABLE_AUTO_BED_LEVELING

    position[X_AXIS] = lround(x*axis_steps_per_unit[X_AXIS]);
    position[Y_AXIS] = lround(y*axis_steps_per_unit[Y_AXIS]);
    position[Z_AXIS] = lround(z*axis_steps_per_unit[Z_AXIS]);
    position[E_AXIS] = lround(e*axis_steps_per_unit[E_AXIS]);
    st_set_position(position[X_AXIS], position[Y_AXIS], position[Z_AXIS], position[E_AXIS]);
    previous_nominal_speed = 0.0; // Resets planner junction speeds. Assumes start from rest.
    previous_speed[0] = 0.0;
    previous_speed[1] = 0.0;
    previous_speed[2] = 0.0;
    previous_speed[3] = 0.0;
}