Add a feedRate_t data type (#15349)

This commit is contained in:
Scott Lahteine
2019-09-26 01:28:09 -05:00
committed by GitHub
parent ee7558a622
commit 455dabb183
42 changed files with 384 additions and 377 deletions

View File

@ -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)

View File

@ -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