|
421 | 421 | // A well-chosen Kc value should add just enough power to melt the increased material volume. |
422 | 422 | //#define PID_EXTRUSION_SCALING |
423 | 423 | #if ENABLED(PID_EXTRUSION_SCALING) |
424 | | - #define DEFAULT_Kc (100) // heating power = Kc * e_speed |
425 | 424 | #define LPQ_MAX_LEN 50 |
| 425 | + #define DEFAULT_KC 100 // heating power = Kc * e_speed |
| 426 | + #if ENABLED(PID_PARAMS_PER_HOTEND) |
| 427 | + // Specify up to one value per hotend here, according to your setup. |
| 428 | + // If there are fewer values, the last one applies to the remaining hotends. |
| 429 | + #define DEFAULT_KC_LIST { DEFAULT_KC, DEFAULT_KC } // heating power = Kc * e_speed |
| 430 | + #endif |
426 | 431 | #endif |
427 | 432 |
|
428 | 433 | /** |
429 | 434 | * Add an additional term to the heater power, proportional to the fan speed. |
430 | 435 | * A well-chosen Kf value should add just enough power to compensate for power-loss from the cooling fan. |
431 | | - * You can either just add a constant compensation with the DEFAULT_Kf value |
| 436 | + * You can either just add a constant compensation with the DEFAULT_KF value |
432 | 437 | * or follow the instruction below to get speed-dependent compensation. |
433 | 438 | * |
434 | 439 | * Constant compensation (use only with fan speeds of 0% and 100%) |
|
459 | 464 | #if ENABLED(PID_FAN_SCALING_ALTERNATIVE_DEFINITION) |
460 | 465 | // The alternative definition is used for an easier configuration. |
461 | 466 | // Just figure out Kf at full speed (255) and PID_FAN_SCALING_MIN_SPEED. |
462 | | - // DEFAULT_Kf and PID_FAN_SCALING_LIN_FACTOR are calculated accordingly. |
| 467 | + // DEFAULT_KF and PID_FAN_SCALING_LIN_FACTOR are calculated accordingly. |
463 | 468 |
|
464 | | - #define PID_FAN_SCALING_AT_FULL_SPEED 13.0 //=PID_FAN_SCALING_LIN_FACTOR*255+DEFAULT_Kf |
465 | | - #define PID_FAN_SCALING_AT_MIN_SPEED 6.0 //=PID_FAN_SCALING_LIN_FACTOR*PID_FAN_SCALING_MIN_SPEED+DEFAULT_Kf |
| 469 | + #define PID_FAN_SCALING_AT_FULL_SPEED 13.0 //=PID_FAN_SCALING_LIN_FACTOR*255+DEFAULT_KF |
| 470 | + #define PID_FAN_SCALING_AT_MIN_SPEED 6.0 //=PID_FAN_SCALING_LIN_FACTOR*PID_FAN_SCALING_MIN_SPEED+DEFAULT_KF |
466 | 471 | #define PID_FAN_SCALING_MIN_SPEED 10.0 // Minimum fan speed at which to enable PID_FAN_SCALING |
467 | 472 |
|
468 | | - #define DEFAULT_Kf (255.0*PID_FAN_SCALING_AT_MIN_SPEED-PID_FAN_SCALING_AT_FULL_SPEED*PID_FAN_SCALING_MIN_SPEED)/(255.0-PID_FAN_SCALING_MIN_SPEED) |
469 | | - #define PID_FAN_SCALING_LIN_FACTOR (PID_FAN_SCALING_AT_FULL_SPEED-DEFAULT_Kf)/255.0 |
| 473 | + #define DEFAULT_KF (255.0*PID_FAN_SCALING_AT_MIN_SPEED-PID_FAN_SCALING_AT_FULL_SPEED*PID_FAN_SCALING_MIN_SPEED)/(255.0-PID_FAN_SCALING_MIN_SPEED) |
| 474 | + #define PID_FAN_SCALING_LIN_FACTOR (PID_FAN_SCALING_AT_FULL_SPEED-DEFAULT_KF)/255.0 |
470 | 475 |
|
471 | 476 | #else |
472 | 477 | #define PID_FAN_SCALING_LIN_FACTOR (0) // Power-loss due to cooling = Kf * (fan_speed) |
473 | | - #define DEFAULT_Kf 10 // A constant value added to the PID-tuner |
| 478 | + #define DEFAULT_KF 10 // A constant value added to the PID-tuner |
474 | 479 | #define PID_FAN_SCALING_MIN_SPEED 10 // Minimum fan speed at which to enable PID_FAN_SCALING |
475 | 480 | #endif |
476 | 481 | #endif |
| 482 | + #if ENABLED(PID_PARAMS_PER_HOTEND) |
| 483 | + // Specify up to one value per hotend here, according to your setup. |
| 484 | + // If there are fewer values, the last one applies to the remaining hotends. |
| 485 | + #define DEFAULT_KF_LIST { DEFAULT_KF, DEFAULT_KF } |
| 486 | + #endif |
477 | 487 | #endif |
478 | 488 |
|
479 | 489 | /** |
|
492 | 502 | #define AUTOTEMP |
493 | 503 | #if ENABLED(AUTOTEMP) |
494 | 504 | #define AUTOTEMP_OLDWEIGHT 0.98 // Factor used to weight previous readings (0.0 < value < 1.0) |
495 | | - #define AUTOTEMP_MIN 210 |
496 | | - #define AUTOTEMP_MAX 250 |
| 505 | + #define AUTOTEMP_MIN 210 |
| 506 | + #define AUTOTEMP_MAX 250 |
497 | 507 | #define AUTOTEMP_FACTOR 0.1f |
498 | 508 | // Turn on AUTOTEMP on M104/M109 by default using proportions set here |
499 | 509 | //#define AUTOTEMP_PROPORTIONAL |
500 | 510 | #if ENABLED(AUTOTEMP_PROPORTIONAL) |
501 | | - #define AUTOTEMP_MIN_P 0 // (°C) Added to the target temperature |
502 | | - #define AUTOTEMP_MAX_P 5 // (°C) Added to the target temperature |
503 | | - #define AUTOTEMP_FACTOR_P 1 // Apply this F parameter by default (overridden by M104/M109 F) |
| 511 | + #define AUTOTEMP_MIN_P 0 // (°C) Added to the target temperature |
| 512 | + #define AUTOTEMP_MAX_P 5 // (°C) Added to the target temperature |
| 513 | + #define AUTOTEMP_FACTOR_P 1 // Apply this F parameter by default (overridden by M104/M109 F) |
504 | 514 | #endif |
505 | 515 | #endif |
506 | 516 |
|
|
1197 | 1207 | // smoothing acceleration peaks, which may also smooth curved surfaces. |
1198 | 1208 | #endif |
1199 | 1209 |
|
1200 | | - #define FTM_TRAJECTORY_TYPE TRAPEZOIDAL // Block acceleration profile (TRAPEZOIDAL, POLY5, POLY6) |
1201 | | - // TRAPEZOIDAL: Continuous Velocity. Max acceleration is respected. |
1202 | | - // POLY5: Like POLY6 with 1.5x but uses less CPU. |
1203 | | - // POLY6: Continuous Acceleration (aka S_CURVE). |
1204 | | - // POLY trajectories not only reduce resonances without rounding corners, but also |
1205 | | - // reduce extruder strain due to linear advance. |
| 1210 | + #define FTM_POLYS // Disable POLY5/6 to save ~3k of Flash. Preserves TRAPEZOIDAL. |
| 1211 | + #if ENABLED(FTM_POLYS) |
| 1212 | + #define FTM_TRAJECTORY_TYPE TRAPEZOIDAL // Block acceleration profile (TRAPEZOIDAL, POLY5, POLY6) |
| 1213 | + // TRAPEZOIDAL: Continuous Velocity. Max acceleration is respected. |
| 1214 | + // POLY5: Like POLY6 with 1.5x but uses less CPU. |
| 1215 | + // POLY6: Continuous Acceleration (aka S_CURVE). |
| 1216 | + // POLY trajectories not only reduce resonances without rounding corners, but also |
| 1217 | + // reduce extruder strain due to linear advance. |
1206 | 1218 |
|
1207 | | - #define FTM_POLY6_ACCELERATION_OVERSHOOT 1.875f // Max acceleration overshoot factor for POLY6 (1.25 to 1.875) |
| 1219 | + #define FTM_POLY6_ACCELERATION_OVERSHOOT 1.875f // Max acceleration overshoot factor for POLY6 (1.25 to 1.875) |
| 1220 | + #endif |
1208 | 1221 |
|
1209 | 1222 | /** |
1210 | 1223 | * Advanced configuration |
|
0 commit comments