Add a feedRate_t data type (#15349)
This commit is contained in:
@ -38,7 +38,7 @@
|
||||
extern float destination[XYZE];
|
||||
|
||||
#if ENABLED(VARIABLE_G0_FEEDRATE)
|
||||
float saved_g0_feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE);
|
||||
feedRate_t fast_move_feedrate = MMM_TO_MMS(G0_FEEDRATE);
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -46,7 +46,7 @@ extern float destination[XYZE];
|
||||
*/
|
||||
void GcodeSuite::G0_G1(
|
||||
#if IS_SCARA || defined(G0_FEEDRATE)
|
||||
bool fast_move/*=false*/
|
||||
const bool fast_move/*=false*/
|
||||
#endif
|
||||
) {
|
||||
|
||||
@ -60,23 +60,23 @@ void GcodeSuite::G0_G1(
|
||||
) {
|
||||
|
||||
#ifdef G0_FEEDRATE
|
||||
float saved_feedrate_mm_s;
|
||||
feedRate_t old_feedrate;
|
||||
#if ENABLED(VARIABLE_G0_FEEDRATE)
|
||||
if (fast_move) {
|
||||
saved_feedrate_mm_s = feedrate_mm_s; // Back up the (old) motion mode feedrate
|
||||
feedrate_mm_s = saved_g0_feedrate_mm_s; // Get G0 feedrate from last usage
|
||||
old_feedrate = feedrate_mm_s; // Back up the (old) motion mode feedrate
|
||||
feedrate_mm_s = fast_move_feedrate; // Get G0 feedrate from last usage
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
get_destination_from_command(); // For X Y Z E F
|
||||
get_destination_from_command(); // Process X Y Z E F parameters
|
||||
|
||||
#ifdef G0_FEEDRATE
|
||||
if (fast_move) {
|
||||
#if ENABLED(VARIABLE_G0_FEEDRATE)
|
||||
saved_g0_feedrate_mm_s = feedrate_mm_s; // Save feedrate for the next G0
|
||||
fast_move_feedrate = feedrate_mm_s; // Save feedrate for the next G0
|
||||
#else
|
||||
saved_feedrate_mm_s = feedrate_mm_s; // Back up the (new) motion mode feedrate
|
||||
old_feedrate = feedrate_mm_s; // Back up the (new) motion mode feedrate
|
||||
feedrate_mm_s = MMM_TO_MMS(G0_FEEDRATE); // Get the fixed G0 feedrate
|
||||
#endif
|
||||
}
|
||||
@ -100,14 +100,14 @@ void GcodeSuite::G0_G1(
|
||||
#endif // FWRETRACT
|
||||
|
||||
#if IS_SCARA
|
||||
fast_move ? prepare_uninterpolated_move_to_destination() : prepare_move_to_destination();
|
||||
fast_move ? prepare_fast_move_to_destination() : prepare_move_to_destination();
|
||||
#else
|
||||
prepare_move_to_destination();
|
||||
#endif
|
||||
|
||||
#ifdef G0_FEEDRATE
|
||||
// Restore the motion mode feedrate
|
||||
if (fast_move) feedrate_mm_s = saved_feedrate_mm_s;
|
||||
if (fast_move) feedrate_mm_s = old_feedrate;
|
||||
#endif
|
||||
|
||||
#if ENABLED(NANODLP_Z_SYNC)
|
||||
|
@ -146,10 +146,10 @@ void plan_arc(
|
||||
// Initialize the extruder axis
|
||||
raw[E_AXIS] = current_position[E_AXIS];
|
||||
|
||||
const float fr_mm_s = MMS_SCALED(feedrate_mm_s);
|
||||
const feedRate_t scaled_fr_mm_s = MMS_SCALED(feedrate_mm_s);
|
||||
|
||||
#if ENABLED(SCARA_FEEDRATE_SCALING)
|
||||
const float inv_duration = fr_mm_s / MM_PER_ARC_SEGMENT;
|
||||
const float inv_duration = scaled_fr_mm_s / MM_PER_ARC_SEGMENT;
|
||||
#endif
|
||||
|
||||
millis_t next_idle_ms = millis() + 200UL;
|
||||
@ -206,7 +206,7 @@ void plan_arc(
|
||||
planner.apply_leveling(raw);
|
||||
#endif
|
||||
|
||||
if (!planner.buffer_line(raw, fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT
|
||||
if (!planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT
|
||||
#if ENABLED(SCARA_FEEDRATE_SCALING)
|
||||
, inv_duration
|
||||
#endif
|
||||
@ -226,7 +226,7 @@ void plan_arc(
|
||||
planner.apply_leveling(raw);
|
||||
#endif
|
||||
|
||||
planner.buffer_line(raw, fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT
|
||||
planner.buffer_line(raw, scaled_fr_mm_s, active_extruder, MM_PER_ARC_SEGMENT
|
||||
#if ENABLED(SCARA_FEEDRATE_SCALING)
|
||||
, inv_duration
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user