|
@@ -135,19 +135,13 @@ float Planner::steps_to_mm[XYZE_N]; // (mm) Millimeters per step
|
135
|
135
|
#if HAS_JUNCTION_DEVIATION
|
136
|
136
|
float Planner::junction_deviation_mm; // (mm) M205 J
|
137
|
137
|
#if ENABLED(LIN_ADVANCE)
|
138
|
|
- #if ENABLED(DISTINCT_E_FACTORS)
|
139
|
|
- float Planner::max_e_jerk[EXTRUDERS]; // Calculated from junction_deviation_mm
|
140
|
|
- #else
|
141
|
|
- float Planner::max_e_jerk;
|
142
|
|
- #endif
|
|
138
|
+ float Planner::max_e_jerk // Calculated from junction_deviation_mm
|
|
139
|
+ TERN_(DISTINCT_E_FACTORS, [EXTRUDERS]);
|
143
|
140
|
#endif
|
144
|
141
|
#endif
|
|
142
|
+
|
145
|
143
|
#if HAS_CLASSIC_JERK
|
146
|
|
- #if HAS_LINEAR_E_JERK
|
147
|
|
- xyz_pos_t Planner::max_jerk; // (mm/s^2) M205 XYZ - The largest speed change requiring no acceleration.
|
148
|
|
- #else
|
149
|
|
- xyze_pos_t Planner::max_jerk; // (mm/s^2) M205 XYZE - The largest speed change requiring no acceleration.
|
150
|
|
- #endif
|
|
144
|
+ TERN(HAS_LINEAR_E_JERK, xyz_pos_t, xyze_pos_t) Planner::max_jerk;
|
151
|
145
|
#endif
|
152
|
146
|
|
153
|
147
|
#if ENABLED(SD_ABORT_ON_ENDSTOP_HIT)
|
|
@@ -2382,12 +2376,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
|
2382
|
2376
|
#endif
|
2383
|
2377
|
|
2384
|
2378
|
uint8_t limited = 0;
|
2385
|
|
- #if HAS_LINEAR_E_JERK
|
2386
|
|
- LOOP_XYZ(i)
|
2387
|
|
- #else
|
2388
|
|
- LOOP_XYZE(i)
|
2389
|
|
- #endif
|
2390
|
|
- {
|
|
2379
|
+ TERN(HAS_LINEAR_E_JERK, LOOP_XYZ, LOOP_XYZE)(i) {
|
2391
|
2380
|
const float jerk = ABS(current_speed[i]), // cs : Starting from zero, change in speed for this axis
|
2392
|
2381
|
maxj = (max_jerk[i] + (i == X_AXIS || i == Y_AXIS ? extra_xyjerk : 0.0f)); // mj : The max jerk setting for this axis
|
2393
|
2382
|
if (jerk > maxj) { // cs > mj : New current speed too fast?
|