Marlin does not support auto bed levelling for Delta printers? February 10, 2015 05:15PM |
Registered: 9 years ago Posts: 113 |
// Marlin_main.cpp line 803 static void homeaxis(int axis) { #define HOMEAXIS_DO(LETTER) \ ((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1)) if (axis==X_AXIS ? HOMEAXIS_DO(X) : axis==Y_AXIS ? HOMEAXIS_DO(Y) : axis==Z_AXIS ? HOMEAXIS_DO(Z) : 0) { int axis_home_dir = home_dir(axis); #ifdef DUAL_X_CARRIAGE if (axis == X_AXIS) axis_home_dir = x_home_dir(active_extruder); #endif // Engage Servo endstop if enabled #ifdef SERVO_ENDSTOPS if (servo_endstops[axis] > -1) { servos[servo_endstops[axis]].write(servo_endstop_angles[axis * 2]); } #endif
Re: Marlin does not support auto bed levelling for Delta printers? February 10, 2015 05:29PM |
Registered: 9 years ago Posts: 113 |
void deploy_z_probe() { feedrate = homing_feedrate[X_AXIS]; destination[X_AXIS] = z_probe_deploy_start_location[X_AXIS]; destination[Y_AXIS] = z_probe_deploy_start_location[Y_AXIS]; destination[Z_AXIS] = z_probe_deploy_start_location[Z_AXIS]; prepare_move_raw(); feedrate = homing_feedrate[X_AXIS]/10; destination[X_AXIS] = z_probe_deploy_end_location[X_AXIS]; destination[Y_AXIS] = z_probe_deploy_end_location[Y_AXIS]; destination[Z_AXIS] = z_probe_deploy_end_location[Z_AXIS]; prepare_move_raw(); feedrate = homing_feedrate[X_AXIS]; destination[X_AXIS] = z_probe_deploy_start_location[X_AXIS]; destination[Y_AXIS] = z_probe_deploy_start_location[Y_AXIS]; destination[Z_AXIS] = z_probe_deploy_start_location[Z_AXIS]; prepare_move_raw(); st_synchronize(); // EDIT: ADDED THE FOLLOWING // Engage Servo endstop if enabled #ifdef SERVO_ENDSTOPS if (servo_endstops[Z_AXIS] > -1) { servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2]); } #endif // END EDIT }
void retract_z_probe() { // EDIT: ADDED THE FOLLOWING // Engage Servo endstop if enabled #ifdef SERVO_ENDSTOPS if (servo_endstops[Z_AXIS] > -1) { servos[servo_endstops[Z_AXIS]].write(servo_endstop_angles[Z_AXIS * 2 + 1]); } #endif // END EDIT feedrate = homing_feedrate[X_AXIS]; destination[Z_AXIS] = 50; prepare_move_raw(); destination[X_AXIS] = z_probe_retract_start_location[X_AXIS]; destination[Y_AXIS] = z_probe_retract_start_location[Y_AXIS]; destination[Z_AXIS] = z_probe_retract_start_location[Z_AXIS]; prepare_move(); prepare_move_raw(); // Move the nozzle below the print surface to push the probe up. feedrate = homing_feedrate[Z_AXIS]/10; destination[X_AXIS] = z_probe_retract_end_location[X_AXIS]; destination[Y_AXIS] = z_probe_retract_end_location[Y_AXIS]; destination[Z_AXIS] = z_probe_retract_end_location[Z_AXIS]; prepare_move_raw(); feedrate = homing_feedrate[Z_AXIS]; destination[X_AXIS] = z_probe_retract_start_location[X_AXIS]; destination[Y_AXIS] = z_probe_retract_start_location[Y_AXIS]; destination[Z_AXIS] = z_probe_retract_start_location[Z_AXIS]; prepare_move_raw(); st_synchronize(); }
Re: Marlin does not support auto bed levelling for Delta printers? February 17, 2015 12:50PM |
Registered: 9 years ago Posts: 569 |