mesh_bed_calibration.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef MESH_BED_CALIBRATION_H
  2. #define MESH_BED_CALIBRATION_H
  3. // Exact positions of the print head above the bed reference points, in the world coordinates.
  4. // The world coordinates match the machine coordinates only in case, when the machine
  5. // is built properly, the end stops are at the correct positions and the axes are perpendicular.
  6. extern const float bed_ref_points[] PROGMEM;
  7. // 2x2 transformation matrix from the world coordinates to the machine coordinates.
  8. // Corrects for the rotation and skew of the machine axes.
  9. // Used by the planner's plan_buffer_line() and plan_set_position().
  10. extern float world2machine_rotation_and_skew[2][2];
  11. // Shift of the machine zero point, in the machine coordinates.
  12. extern float world2machine_shift[2];
  13. // Resets the transformation to identity.
  14. extern void world2machine_reset();
  15. // Loads the transformation from the EEPROM, if available.
  16. extern void world2machine_initialize();
  17. // When switching from absolute to corrected coordinates,
  18. // this will apply an inverse world2machine transformation
  19. // to current_position[x,y].
  20. extern void world2machine_update_current();
  21. extern void find_bed_induction_sensor_point_z();
  22. extern bool find_bed_induction_sensor_point_xy();
  23. extern bool find_bed_offset_and_skew(int8_t verbosity_level);
  24. extern bool improve_bed_offset_and_skew(int8_t method, int8_t verbosity_level);
  25. extern void reset_bed_offset_and_skew();
  26. // Scan the mesh bed induction points one by one by a left-right zig-zag movement,
  27. // write the trigger coordinates to the serial line.
  28. // Useful for visualizing the behavior of the bed induction detector.
  29. extern bool scan_bed_induction_points(int8_t verbosity_level);
  30. #endif /* MESH_BED_CALIBRATION_H */