Merge pull request #4005 from thinkyhead/rc_prepare_move_destination

Clarify names of prepare_move functions
This commit is contained in:
Scott Lahteine 2016-06-11 15:51:58 -07:00 committed by GitHub
commit 2f1bf8373b
2 changed files with 54 additions and 54 deletions

View file

@ -227,7 +227,6 @@ void FlushSerialRequestResend();
void ok_to_send(); void ok_to_send();
void reset_bed_level(); void reset_bed_level();
void prepare_move();
void kill(const char*); void kill(const char*);
#if DISABLED(DELTA) && DISABLED(SCARA) #if DISABLED(DELTA) && DISABLED(SCARA)

View file

@ -529,6 +529,7 @@ void stop();
void get_available_commands(); void get_available_commands();
void process_next_command(); void process_next_command();
void prepare_move_to_destination();
#if ENABLED(ARC_SUPPORT) #if ENABLED(ARC_SUPPORT)
void plan_arc(float target[NUM_AXIS], float* offset, uint8_t clockwise); void plan_arc(float target[NUM_AXIS], float* offset, uint8_t clockwise);
@ -1568,9 +1569,9 @@ static void setup_for_endstop_move() {
/** /**
* Calculate delta, start a line, and set current_position to destination * Calculate delta, start a line, and set current_position to destination
*/ */
void prepare_move_raw() { void prepare_move_to_destination_raw() {
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) DEBUG_POS("prepare_move_raw", destination); if (DEBUGGING(LEVELING)) DEBUG_POS("prepare_move_to_destination_raw", destination);
#endif #endif
refresh_cmd_timeout(); refresh_cmd_timeout();
calculate_delta(destination); calculate_delta(destination);
@ -1674,7 +1675,7 @@ static void setup_for_endstop_move() {
// move down slowly until you find the bed // move down slowly until you find the bed
feedrate = homing_feedrate[Z_AXIS] / 4; feedrate = homing_feedrate[Z_AXIS] / 4;
destination[Z_AXIS] = -10; destination[Z_AXIS] = -10;
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
stepper.synchronize(); stepper.synchronize();
endstops.hit_on_purpose(); // clear endstop hit flags endstops.hit_on_purpose(); // clear endstop hit flags
@ -1754,9 +1755,9 @@ static void setup_for_endstop_move() {
destination[Z_AXIS] = z; destination[Z_AXIS] = z;
if (x == current_position[X_AXIS] && y == current_position[Y_AXIS]) if (x == current_position[X_AXIS] && y == current_position[Y_AXIS])
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
else else
prepare_move(); // this will also set_current_to_destination prepare_move_to_destination(); // this will also set_current_to_destination
stepper.synchronize(); stepper.synchronize();
@ -1843,7 +1844,7 @@ static void setup_for_endstop_move() {
destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_X; destination[X_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_X;
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Y;
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_1_Z;
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
// Move to engage deployment // Move to engage deployment
if (Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE) if (Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE)
@ -1854,7 +1855,7 @@ static void setup_for_endstop_move() {
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Y;
if (Z_PROBE_ALLEN_KEY_DEPLOY_2_Z != Z_PROBE_ALLEN_KEY_DEPLOY_1_Z) if (Z_PROBE_ALLEN_KEY_DEPLOY_2_Z != Z_PROBE_ALLEN_KEY_DEPLOY_1_Z)
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_2_Z;
prepare_move_raw(); prepare_move_to_destination_raw();
#ifdef Z_PROBE_ALLEN_KEY_DEPLOY_3_X #ifdef Z_PROBE_ALLEN_KEY_DEPLOY_3_X
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE != Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE)
@ -1870,14 +1871,14 @@ static void setup_for_endstop_move() {
if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z) if (Z_PROBE_ALLEN_KEY_DEPLOY_3_Z != Z_PROBE_ALLEN_KEY_DEPLOY_2_Z)
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_DEPLOY_3_Z;
prepare_move_raw(); prepare_move_to_destination_raw();
#endif #endif
} }
// Partially Home X,Y for safety // Partially Home X,Y for safety
destination[X_AXIS] = destination[X_AXIS] * 0.75; destination[X_AXIS] = destination[X_AXIS] * 0.75;
destination[Y_AXIS] = destination[Y_AXIS] * 0.75; destination[Y_AXIS] = destination[Y_AXIS] * 0.75;
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
stepper.synchronize(); stepper.synchronize();
@ -1940,14 +1941,14 @@ static void setup_for_endstop_move() {
#if Z_RAISE_AFTER_PROBING > 0 #if Z_RAISE_AFTER_PROBING > 0
destination[Z_AXIS] = current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING; destination[Z_AXIS] = current_position[Z_AXIS] + Z_RAISE_AFTER_PROBING;
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
#endif #endif
// Move to the start position to initiate retraction // Move to the start position to initiate retraction
destination[X_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_X; destination[X_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_X;
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Y;
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z;
prepare_move_raw(); prepare_move_to_destination_raw();
// Move the nozzle down to push the Z probe into retracted position // Move the nozzle down to push the Z probe into retracted position
if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE)
@ -1957,7 +1958,7 @@ static void setup_for_endstop_move() {
if (Z_PROBE_ALLEN_KEY_STOW_2_Y != Z_PROBE_ALLEN_KEY_STOW_1_Y) if (Z_PROBE_ALLEN_KEY_STOW_2_Y != Z_PROBE_ALLEN_KEY_STOW_1_Y)
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Y;
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_2_Z;
prepare_move_raw(); prepare_move_to_destination_raw();
// Move up for safety // Move up for safety
if (Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE) if (Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE)
@ -1967,13 +1968,13 @@ static void setup_for_endstop_move() {
if (Z_PROBE_ALLEN_KEY_STOW_3_Y != Z_PROBE_ALLEN_KEY_STOW_2_Y) if (Z_PROBE_ALLEN_KEY_STOW_3_Y != Z_PROBE_ALLEN_KEY_STOW_2_Y)
destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Y; destination[Y_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Y;
destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Z; destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_3_Z;
prepare_move_raw(); prepare_move_to_destination_raw();
// Home XY for safety // Home XY for safety
feedrate = homing_feedrate[X_AXIS] / 2; feedrate = homing_feedrate[X_AXIS] / 2;
destination[X_AXIS] = 0; destination[X_AXIS] = 0;
destination[Y_AXIS] = 0; destination[Y_AXIS] = 0;
prepare_move_raw(); // this will also set_current_to_destination prepare_move_to_destination_raw(); // this will also set_current_to_destination
stepper.synchronize(); stepper.synchronize();
@ -2468,7 +2469,7 @@ static void homeaxis(AxisEnum axis) {
feedrate = retract_feedrate * 60; feedrate = retract_feedrate * 60;
current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder]; current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder];
sync_plan_position_e(); sync_plan_position_e();
prepare_move(); prepare_move_to_destination();
if (retract_zlift > 0.01) { if (retract_zlift > 0.01) {
current_position[Z_AXIS] -= retract_zlift; current_position[Z_AXIS] -= retract_zlift;
@ -2477,7 +2478,7 @@ static void homeaxis(AxisEnum axis) {
#else #else
sync_plan_position(); sync_plan_position();
#endif #endif
prepare_move(); prepare_move_to_destination();
} }
} }
else { else {
@ -2495,7 +2496,7 @@ static void homeaxis(AxisEnum axis) {
float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length; float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length;
current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder];
sync_plan_position_e(); sync_plan_position_e();
prepare_move(); prepare_move_to_destination();
} }
feedrate = oldFeedrate; feedrate = oldFeedrate;
@ -2593,7 +2594,7 @@ inline void gcode_G0_G1() {
#endif //FWRETRACT #endif //FWRETRACT
prepare_move(); prepare_move_to_destination();
} }
} }
@ -5887,7 +5888,7 @@ inline void gcode_M303() {
calculate_SCARA_forward_Transform(delta); calculate_SCARA_forward_Transform(delta);
destination[X_AXIS] = delta[X_AXIS] / axis_scaling[X_AXIS]; destination[X_AXIS] = delta[X_AXIS] / axis_scaling[X_AXIS];
destination[Y_AXIS] = delta[Y_AXIS] / axis_scaling[Y_AXIS]; destination[Y_AXIS] = delta[Y_AXIS] / axis_scaling[Y_AXIS];
prepare_move(); prepare_move_to_destination();
//ok_to_send(); //ok_to_send();
return true; return true;
} }
@ -6716,7 +6717,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
#endif #endif
// Move to the "old position" (move the extruder into place) // Move to the "old position" (move the extruder into place)
if (IsRunning()) prepare_move(); if (IsRunning()) prepare_move_to_destination();
} // (tmp_extruder != active_extruder) } // (tmp_extruder != active_extruder)
@ -7597,32 +7598,9 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
} }
#endif // MESH_BED_LEVELING #endif // MESH_BED_LEVELING
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
inline void prevent_dangerous_extrude(float& curr_e, float& dest_e) {
if (DEBUGGING(DRYRUN)) return;
float de = dest_e - curr_e;
if (de) {
if (thermalManager.tooColdToExtrude(active_extruder)) {
curr_e = dest_e; // Behave as if the move really took place, but ignore E part
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
}
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
if (labs(de) > EXTRUDE_MAXLENGTH) {
curr_e = dest_e; // Behave as if the move really took place, but ignore E part
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP);
}
#endif
}
}
#endif // PREVENT_DANGEROUS_EXTRUDE
#if ENABLED(DELTA) || ENABLED(SCARA) #if ENABLED(DELTA) || ENABLED(SCARA)
inline bool prepare_move_delta(float target[NUM_AXIS]) { inline bool prepare_delta_move_to(float target[NUM_AXIS]) {
float difference[NUM_AXIS]; float difference[NUM_AXIS];
for (int8_t i = 0; i < NUM_AXIS; i++) difference[i] = target[i] - current_position[i]; for (int8_t i = 0; i < NUM_AXIS; i++) difference[i] = target[i] - current_position[i];
@ -7651,8 +7629,8 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
if (!bed_leveling_in_progress) adjust_delta(target); if (!bed_leveling_in_progress) adjust_delta(target);
#endif #endif
//DEBUG_POS("prepare_move_delta", target); //DEBUG_POS("prepare_delta_move_to", target);
//DEBUG_POS("prepare_move_delta", delta); //DEBUG_POS("prepare_delta_move_to", delta);
planner.buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], target[E_AXIS], _feedrate, active_extruder); planner.buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], target[E_AXIS], _feedrate, active_extruder);
} }
@ -7662,7 +7640,7 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
#endif // DELTA || SCARA #endif // DELTA || SCARA
#if ENABLED(SCARA) #if ENABLED(SCARA)
inline bool prepare_move_scara(float target[NUM_AXIS]) { return prepare_move_delta(target); } inline bool prepare_scara_move_to(float target[NUM_AXIS]) { return prepare_delta_move_to(target); }
#endif #endif
#if ENABLED(DUAL_X_CARRIAGE) #if ENABLED(DUAL_X_CARRIAGE)
@ -7706,7 +7684,7 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
#if DISABLED(DELTA) && DISABLED(SCARA) #if DISABLED(DELTA) && DISABLED(SCARA)
inline bool prepare_move_cartesian() { inline bool prepare_cartesian_move_to_destination() {
// Do not use feedrate_multiplier for E or Z only moves // Do not use feedrate_multiplier for E or Z only moves
if (current_position[X_AXIS] == destination[X_AXIS] && current_position[Y_AXIS] == destination[Y_AXIS]) { if (current_position[X_AXIS] == destination[X_AXIS] && current_position[Y_AXIS] == destination[Y_AXIS]) {
line_to_destination(); line_to_destination();
@ -7724,13 +7702,36 @@ void mesh_buffer_line(float x, float y, float z, const float e, float feed_rate,
#endif // !DELTA && !SCARA #endif // !DELTA && !SCARA
#if ENABLED(PREVENT_DANGEROUS_EXTRUDE)
inline void prevent_dangerous_extrude(float& curr_e, float& dest_e) {
if (DEBUGGING(DRYRUN)) return;
float de = dest_e - curr_e;
if (de) {
if (thermalManager.tooColdToExtrude(active_extruder)) {
curr_e = dest_e; // Behave as if the move really took place, but ignore E part
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ERR_COLD_EXTRUDE_STOP);
}
#if ENABLED(PREVENT_LENGTHY_EXTRUDE)
if (labs(de) > EXTRUDE_MAXLENGTH) {
curr_e = dest_e; // Behave as if the move really took place, but ignore E part
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM(MSG_ERR_LONG_EXTRUDE_STOP);
}
#endif
}
}
#endif // PREVENT_DANGEROUS_EXTRUDE
/** /**
* Prepare a single move and get ready for the next one * Prepare a single move and get ready for the next one
* *
* (This may call planner.buffer_line several times to put * (This may call planner.buffer_line several times to put
* smaller moves into the planner for DELTA or SCARA.) * smaller moves into the planner for DELTA or SCARA.)
*/ */
void prepare_move() { void prepare_move_to_destination() {
clamp_to_software_endstops(destination); clamp_to_software_endstops(destination);
refresh_cmd_timeout(); refresh_cmd_timeout();
@ -7739,14 +7740,14 @@ void prepare_move() {
#endif #endif
#if ENABLED(SCARA) #if ENABLED(SCARA)
if (!prepare_move_scara(destination)) return; if (!prepare_scara_move_to(destination)) return;
#elif ENABLED(DELTA) #elif ENABLED(DELTA)
if (!prepare_move_delta(destination)) return; if (!prepare_delta_move_to(destination)) return;
#else #else
#if ENABLED(DUAL_X_CARRIAGE) #if ENABLED(DUAL_X_CARRIAGE)
if (!prepare_move_dual_x_carriage()) return; if (!prepare_move_dual_x_carriage()) return;
#endif #endif
if (!prepare_move_cartesian()) return; if (!prepare_cartesian_move_to_destination()) return;
#endif #endif
set_current_to_destination(); set_current_to_destination();
@ -8262,7 +8263,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
// travel moves have been received so enact them // travel moves have been received so enact them
delayed_move_time = 0xFFFFFFFFUL; // force moves to be done delayed_move_time = 0xFFFFFFFFUL; // force moves to be done
set_destination_to_current(); set_destination_to_current();
prepare_move(); prepare_move_to_destination();
} }
#endif #endif