1 #ifndef CONFIGURATION_PRUSA_H
2 #define CONFIGURATION_PRUSA_H
11 #define PRINTER_TYPE PRINTER_MK3S
12 #define PRINTER_NAME PRINTER_MK3S_NAME
13 #define PRINTER_NAME_ALTERNATE PRINTER_MK3_NAME
14 #define PRINTER_MMU_TYPE PRINTER_MK3S_MMU3
15 #define PRINTER_MMU_NAME PRINTER_MK3S_MMU3_NAME
16 #define FILAMENT_SIZE "1_75mm_MK3S"
17 #define NOZZLE_TYPE "E3Dv6full"
20 #define CUSTOM_MENDEL_NAME "Prusa i3 MK3S"
23 #define MOTHERBOARD BOARD_EINSY_1_0a
25 #define HAS_SECOND_SERIAL_PORT
43 #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280}
46 #define X_MIN_ENDSTOP_INVERTING 0
47 #define Y_MIN_ENDSTOP_INVERTING 0
48 #define Z_MIN_ENDSTOP_INVERTING 0
51 #define INVERT_X_DIR 1
52 #define INVERT_Y_DIR 0
53 #define INVERT_Z_DIR 1
54 #define INVERT_E0_DIR 0
57 #define MANUAL_X_HOME_POS 0
58 #define MANUAL_Y_HOME_POS -2.2
59 #define MANUAL_Z_HOME_POS 0.2
64 #define Y_MAX_POS 212.5
67 #define Z_MIN_POS 0.15
70 #define X_CANCEL_POS 50
71 #define Y_CANCEL_POS 190
72 #define Z_CANCEL_LIFT 50
75 #define X_PAUSE_POS 50
76 #define Y_PAUSE_POS 190
77 #define Z_PAUSE_LIFT 20
80 #define HOMING_FEEDRATE {3000, 3000, 800, 0}
86 #define SHEET_PRINT_ZERO_REF_X 0.f
90 #define SHEET_PRINT_ZERO_REF_Y -2.f
92 #define DEFAULT_MAX_FEEDRATE {200, 200, 12, 120}
93 #define DEFAULT_MAX_FEEDRATE_SILENT {100, 100, 12, 120}
95 #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000}
96 #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000}
99 #define DEFAULT_ACCELERATION 1250
100 #define DEFAULT_RETRACT_ACCELERATION 1250
101 #define DEFAULT_TRAVEL_ACCELERATION 1250
103 #define MANUAL_FEEDRATE {2700, 2700, 1000, 100}
106 #define SILENT_MAX_ACCEL_XY 960ul
107 #define SILENT_MAX_FEEDRATE_XY 100
110 #define NORMAL_MAX_ACCEL_XY 2500ul
111 #define NORMAL_MAX_FEEDRATE_XY 200
114 #define END_FILE_SECTION 30720
116 #define Z_AXIS_ALWAYS_ON 1
119 #define CRASHDET_TIMER 45
120 #define CRASHDET_COUNTER_MAX 3
136 #define DEFAULT_SAFETYTIMER_TIME_MINS 5
141 #define EMERGENCY_DUMP
148 #define FILAMENT_SENSOR
149 #define FILAMENT_SENSOR_TYPE FSENSOR_IR_ANALOG
150 #define FSENSOR_PROBING
161 #define MINTEMP_MINAMBIENT 10
162 #define MINTEMP_MINAMBIENT_RAW 1002
178 #define DEBUG_STACK_MONITOR
188 #define DEBUG_DISABLE_STARTMSGS
198 #define DEBUG_DUMP_TO_2ND_SERIAL
199 #define DEBUG_STEPPER_TIMER_MISSED
200 #define PLANNER_DIAGNOSTICS
201 #define CMD_DIAGNOSTICS
205 #define LINEARITY_CORRECTION
206 #define TMC2130_LINEARITY_CORRECTION
207 #define TMC2130_LINEARITY_CORRECTION_XYZ
208 #define TMC2130_VARIABLE_RESOLUTION
216 #define TMC2130_FCLK 12000000
218 #define TMC2130_USTEPS_XY 16
219 #define TMC2130_USTEPS_Z 16
220 #define TMC2130_USTEPS_E 32
221 #define TMC2130_INTPOL_XY 1
222 #define TMC2130_INTPOL_Z 1
223 #define TMC2130_INTPOL_E 1
226 #define TMC2130_PWM_GRAD_X 2
227 #define TMC2130_PWM_AMPL_X 230
228 #define TMC2130_PWM_AUTO_X 1
229 #define TMC2130_PWM_FREQ_X 2
231 #define TMC2130_PWM_GRAD_Y 2
232 #define TMC2130_PWM_AMPL_Y 235
233 #define TMC2130_PWM_AUTO_Y 1
234 #define TMC2130_PWM_FREQ_Y 2
236 #define TMC2130_PWM_GRAD_Z 4
237 #define TMC2130_PWM_AMPL_Z 200
238 #define TMC2130_PWM_AUTO_Z 1
239 #define TMC2130_PWM_FREQ_Z 2
241 #define TMC2130_PWM_GRAD_E 4
242 #define TMC2130_PWM_AMPL_E 240
243 #define TMC2130_PWM_AUTO_E 1
244 #define TMC2130_PWM_FREQ_E 2
247 #define TMC2130_PWM_GRAD_Ecool 84
248 #define TMC2130_PWM_AMPL_Ecool 43
249 #define TMC2130_PWM_AUTO_Ecool 0
251 #define TMC2130_TOFF_XYZ 3
252 #define TMC2130_TOFF_E 3
260 #define TMC2130_PWM_DIV 512
261 #define TMC2130_PWM_CLK (2 * TMC2130_FCLK / TMC2130_PWM_DIV)
263 #define TMC2130_TPWMTHRS 0
264 #define TMC2130_TPWMTHRS_E 403
265 #define TMC2130_THIGH 0
269 #define TMC2130_TCOOLTHRS_X 430
270 #define TMC2130_TCOOLTHRS_Y 430
271 #define TMC2130_TCOOLTHRS_Z 500
272 #define TMC2130_TCOOLTHRS_E 500
274 #define TMC2130_SG_HOMING 1
275 #define TMC2130_SG_THRS_X 3
276 #define TMC2130_SG_THRS_Y 3
277 #define TMC2130_SG_THRS_Z 4
278 #define TMC2130_SG_THRS_E 3
279 #define TMC2130_SG_THRS_HOME {3, 3, TMC2130_SG_THRS_Z, TMC2130_SG_THRS_E}
282 #define TMC2130_CURRENTS_H {16, 20, 35, 30}
283 #define TMC2130_CURRENTS_FARM 36
284 #define TMC2130_CURRENTS_R {16, 20, 35, 30}
285 #define TMC2130_CURRENTS_R_HOME {8, 10, 20, 18}
287 #define TMC2130_STEALTH_Z
288 #define TMC2130_DEDGE_STEPPING
302 #define HEATER_0_MINTEMP 10
303 #define HEATER_MINTEMP_DELAY 15000
304 #if HEATER_MINTEMP_DELAY>USHRT_MAX
305 #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)"
307 #define BED_MINTEMP 10
308 #define BED_MINTEMP_DELAY 50000
309 #if BED_MINTEMP_DELAY>USHRT_MAX
310 #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)"
312 #define SUPERPINDA_SUPPORT
313 #define PINDA_MINTEMP 10
315 #define AMBIENT_MINTEMP -30
318 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP)
319 #define HEATER_0_MAXTEMP 410
321 #define HEATER_0_MAXTEMP 305
323 #define BED_MAXTEMP 125
324 #define AMBIENT_MAXTEMP 80
326 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP)
328 #define DEFAULT_Kp 21.70
329 #define DEFAULT_Ki 1.60
330 #define DEFAULT_Kd 73.76
336 #define DEFAULT_Kp 16.13
337 #define DEFAULT_Ki 1.1625
338 #define DEFAULT_Kd 56.23
342 #define EXTRUDE_MINTEMP 175
348 #define EXTRUDER_0_AUTO_FAN_PIN 8
349 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50
350 #define EXTRUDER_AUTO_FAN_SPEED 255
351 #define EXTRUDER_ALTFAN_DETECT
352 #define EXTRUDER_ALTFAN_SPEED_SILENT 128
354 #define FANCHECK_AUTO_PRINT_FAN_THRS 70
355 #define FANCHECK_AUTO_FAIL_THRS 20
362 #define FILAMENTCHANGEENABLE
363 #ifdef FILAMENTCHANGEENABLE
364 #define FILAMENTCHANGE_XPOS 211
365 #define FILAMENTCHANGE_YPOS 0
366 #define FILAMENTCHANGE_ZADD 2
367 #define FILAMENTCHANGE_FIRSTRETRACT -2
368 #define FILAMENTCHANGE_FINALRETRACT 0
370 #define FILAMENTCHANGE_FIRSTFEED 70
371 #define FILAMENTCHANGE_FINALFEED 25
372 #define FILAMENTCHANGE_RECFEED 5
374 #define FILAMENTCHANGE_XYFEED 50
375 #define FILAMENTCHANGE_EFEED_FIRST 20
376 #define FILAMENTCHANGE_EFEED_FINAL 3.3f
378 #define FILAMENTCHANGE_RFEED 7000 / 60
379 #define FILAMENTCHANGE_EXFEED 2
380 #define FILAMENTCHANGE_ZFEED 15
386 #ifdef COMMUNITY_PREVENT_OOZE
387 #define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10
388 #define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4
398 #define TEMP_RUNAWAY_BED_HYSTERESIS 5
399 #define TEMP_RUNAWAY_BED_TIMEOUT 360
401 #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15
402 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45
405 #define THERMAL_MODEL 1
406 #define THERMAL_MODEL_DEBUG 1
408 #define THERMAL_MODEL_CAL_C_low 5
409 #define THERMAL_MODEL_CAL_C_high 20
410 #define THERMAL_MODEL_CAL_C_thr 0.01
411 #define THERMAL_MODEL_CAL_C_itr 30
413 #define THERMAL_MODEL_CAL_R_low 5
414 #define THERMAL_MODEL_CAL_R_high 50
415 #define THERMAL_MODEL_CAL_R_thr 0.01
416 #define THERMAL_MODEL_CAL_R_itr 30
418 #define THERMAL_MODEL_CAL_T_low 50
419 #define THERMAL_MODEL_CAL_T_high 230
421 #define THERMAL_MODEL_Ta_corr -7
423 #include "thermal_model/e3d_v6.h"
424 #define THERMAL_MODEL_DEFAULT E3D_V6
437 #define MOTOR_CURRENT_PWM_RANGE 63
444 #define MESH_BED_LEVELING
445 #ifdef MESH_BED_LEVELING
447 #define MBL_Z_STEP 0.01
450 #define MESH_NUM_X_POINTS 7
451 #define MESH_NUM_Y_POINTS 7
453 #define MESH_MEAS_NUM_X_POINTS 3
454 #define MESH_MEAS_NUM_Y_POINTS 3
457 #define BED_ADJUSTMENT_UM_MAX 100
459 #define MESH_HOME_Z_CALIB 0.2
460 #define MESH_HOME_Z_SEARCH 5.0f
462 #define X_PROBE_OFFSET_FROM_EXTRUDER 23
463 #define Y_PROBE_OFFSET_FROM_EXTRUDER 5
464 #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4
485 #define MAX_BED_POWER 255
488 #define BED_OFFSET 10
489 #define BED_OFFSET_START 40
490 #define BED_OFFSET_CENTER 50
496 #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP)
498 #define DEFAULT_bedKp 21.70
499 #define DEFAULT_bedKi 1.60
500 #define DEFAULT_bedKd 73.76
502 #define DEFAULT_bedKp 126.13
503 #define DEFAULT_bedKi 4.30
504 #define DEFAULT_bedKd 924.76
520 #define PLA_PREHEAT_HOTEND_TEMP 215
521 #define PLA_PREHEAT_HPB_TEMP 60
523 #define PVB_PREHEAT_HOTEND_TEMP 215
524 #define PVB_PREHEAT_HPB_TEMP 75
526 #define ASA_PREHEAT_HOTEND_TEMP 260
527 #define ASA_PREHEAT_HPB_TEMP 105
529 #define PC_PREHEAT_HOTEND_TEMP 275
530 #define PC_PREHEAT_HPB_TEMP 110
532 #define PA_PREHEAT_HOTEND_TEMP 275
533 #define PA_PREHEAT_HPB_TEMP 90
535 #define ABS_PREHEAT_HOTEND_TEMP 255
536 #define ABS_PREHEAT_HPB_TEMP 100
538 #define HIPS_PREHEAT_HOTEND_TEMP 220
539 #define HIPS_PREHEAT_HPB_TEMP 100
541 #define PP_PREHEAT_HOTEND_TEMP 254
542 #define PP_PREHEAT_HPB_TEMP 100
544 #define PET_PREHEAT_HOTEND_TEMP 230
545 #define PET_PREHEAT_HPB_TEMP 85
547 #define FLEX_PREHEAT_HOTEND_TEMP 240
548 #define FLEX_PREHEAT_HPB_TEMP 50
550 #define LCD_JUMP_HOTEND_TEMP 200
551 #define LCD_JUMP_BED_TEMP 50
552 #define LCD_JUMP_FAN_SPEED 127
595 #if defined(E3D_PT100_EXTRUDER_WITH_AMP)
596 #define TEMP_SENSOR_0 247
597 #elif defined(E3D_PT100_EXTRUDER_NO_AMP)
598 #define TEMP_SENSOR_0 148
600 #define TEMP_SENSOR_0 5
602 #if defined(E3D_PT100_BED_WITH_AMP)
603 #define TEMP_SENSOR_BED 247
604 #elif defined(E3D_PT100_BED_NO_AMP)
605 #define TEMP_SENSOR_BED 148
607 #define TEMP_SENSOR_BED 1
609 #define TEMP_SENSOR_PINDA 1
610 #define TEMP_SENSOR_AMBIENT 2000
612 #define STACK_GUARD_TEST_VALUE 0xA2A2
613 #define STACK_GUARD_MARGIN 32
615 #define MAX_BED_TEMP_CALIBRATION 50
616 #define MAX_HOTEND_TEMP_CALIBRATION 50
618 #define Z_BABYSTEP_MIN -3999
619 #define Z_BABYSTEP_MAX 0
621 #define PINDA_PREHEAT_X 20
622 #define PINDA_PREHEAT_Y 60
623 #define PINDA_PREHEAT_Z 0.15
628 #define PINDA_HEAT_T 120
630 #define PINDA_MIN_T 50
631 #define PINDA_STEP_T 10
632 #define PINDA_MAX_T 100
634 #define LONG_PRESS_TIME 1000
635 #define BUTTON_BLANKING_TIME 200
637 #define DEFAULT_PID_TEMP 210
639 #define MIN_PRINT_FAN_SPEED 75
649 #define UVLO_Z_AXIS_SHIFT 0.64
653 #define UVLO_TINY_Z_AXIS_SHIFT 0.16
655 #define AUTOMATIC_UVLO_BED_TEMP_OFFSET 5
659 #define M600_TIMEOUT 600
663 #define MMU_CONFIG_FILE "mmu2/variants/config_MMU2S.h"
664 #define MMU_FILAMENT_COUNT 5
668 #define MMU_HAS_CUTTER
679 #define MMU_ERR_X_PAUSE_POS 125
680 #define MMU_ERR_Y_PAUSE_POS 0
681 #define MMU_ERR_Z_PAUSE_LIFT 20
684 #define DEFAULT_N_ARC_CORRECTION 25
687 #define DEFAULT_MM_PER_ARC_SEGMENT 1.0f
688 #define DEFAULT_MIN_MM_PER_ARC_SEGMENT 0.5f
692 #define DEFAULT_MIN_ARC_SEGMENTS 20
693 #define DEFAULT_ARC_SEGMENTS_PER_SEC 0