From ef3bef6b9e841d8174630772040e4222d2fab951 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 14 Jun 2016 18:39:24 -0700 Subject: [PATCH] Fix feedrate in gcode_T (max_feedrate is mm/s) --- Marlin/Marlin_main.cpp | 12 +++++++----- Marlin/planner.cpp | 2 +- Marlin/planner.h | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 016236b358..3d63bec3df 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -6633,11 +6633,13 @@ inline void gcode_T(uint8_t tmp_extruder) { if (next_feedrate > 0.0) stored_feedrate = feedrate = next_feedrate; } else { - #ifdef XY_TRAVEL_SPEED - feedrate = XY_TRAVEL_SPEED; - #else - feedrate = min(planner.max_feedrate[X_AXIS], planner.max_feedrate[Y_AXIS]); - #endif + feedrate = + #ifdef XY_TRAVEL_SPEED + XY_TRAVEL_SPEED + #else + min(planner.max_feedrate[X_AXIS], planner.max_feedrate[Y_AXIS]) * 60 + #endif + ; } if (tmp_extruder != active_extruder) { diff --git a/Marlin/planner.cpp b/Marlin/planner.cpp index 699987f159..be0fe8ba23 100644 --- a/Marlin/planner.cpp +++ b/Marlin/planner.cpp @@ -80,7 +80,7 @@ block_t Planner::block_buffer[BLOCK_BUFFER_SIZE]; volatile uint8_t Planner::block_buffer_head = 0; // Index of the next block to be pushed volatile uint8_t Planner::block_buffer_tail = 0; -float Planner::max_feedrate[NUM_AXIS]; // Max speeds in mm per minute +float Planner::max_feedrate[NUM_AXIS]; // Max speeds in mm per second float Planner::axis_steps_per_mm[NUM_AXIS]; unsigned long Planner::max_acceleration_steps_per_s2[NUM_AXIS]; unsigned long Planner::max_acceleration_mm_per_s2[NUM_AXIS]; // Use M201 to override by software diff --git a/Marlin/planner.h b/Marlin/planner.h index 51219743ed..71e6b81196 100644 --- a/Marlin/planner.h +++ b/Marlin/planner.h @@ -115,7 +115,7 @@ class Planner { static volatile uint8_t block_buffer_head; // Index of the next block to be pushed static volatile uint8_t block_buffer_tail; - static float max_feedrate[NUM_AXIS]; // Max speeds in mm per minute + static float max_feedrate[NUM_AXIS]; // Max speeds in mm per second static float axis_steps_per_mm[NUM_AXIS]; static unsigned long max_acceleration_steps_per_s2[NUM_AXIS]; static unsigned long max_acceleration_mm_per_s2[NUM_AXIS]; // Use M201 to override by software