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