MarlinKimbra
MarlinKimbra copied to clipboard
M218 Doesnt Work
Hi, Using 4.3.9 Configured with the online configurator. Have 2 nozzles set up by adding the following to configuration_overall.h
#define SWITCHING_NOZZLE
#if ENABLED(SWITCHING_NOZZLE) #define SWITCHING_NOZZLE_SERVO_NR 0 //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second #define SWITCHING_NOZZLE_SERVO_ANGLES { 122, 87 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) #endif
Running M503 shows Hotend offsets for H0 and H1 Running M218 H1 X10 Y10 appears to do nothing, Running T0 or T1 Nothing happens, servo does not switch and X / Y axis doesn't move, even after being homed M503 shows no changes occured after running the M218 command.
Am I going crazy or is there something I'm missing (or has this feature not been fully integrated yet?).
Thanks for your help.
M218 H1 X50 Y50 Z50
T0
T1
M503
11:38:32.990 : N14 M50316
11:38:32.993 : Config: G21 ; Units in (mm)
11:38:32.997 : Config:Steps per unit:
11:38:32.997 : Config: M92 X80.000 Y44.445 Z240.000
11:38:32.997 : Config: M92 T0 E810.676
11:38:32.997 : Config: M92 T1 E831.000
11:38:33.002 : Config:Maximum Acceleration (units/s2):
11:38:33.002 : Config: M201 X200 Y200 Z50
11:38:33.002 : Config: M201 T0 E1000
11:38:33.005 : Config: M201 T1 E1000
11:38:33.005 : Config:Maximum feedrates (units/s):
11:38:33.006 : Config: M203 X100.000 Y100.000 Z40.000
11:38:33.006 : Config: M203 T0 E30.000
11:38:33.010 : Config: M203 T1 E30.000
11:38:33.014 : Config:Acceleration (units/s2): P<DEFAULT_ACCELERATION> V<DEFAULT_TRAVEL_ACCELERATION> T R<DEFAULT_RETRACT_ACCELERATION>
11:38:33.014 : Config: M204 P700.000 V700.000
11:38:33.014 : Config: M204 T0 R1000.000
11:38:33.018 : Config: M204 T1 R1000.000
11:38:33.022 : Config:Advanced: B<DEFAULT_MIN_SEGMENT_TIME> S<DEFAULT_MIN_FEEDRATE> V<DEFAULT_MIN_TRAVEL_FEEDRATE>
11:38:33.022 : Config: M205 B20000 S0.000 V0.000
11:38:33.026 : Config:Jerk: X<DEFAULT_XJERK> Y<DEFAULT_YJERK> Z<DEFAULT_ZJERK> T* E<DEFAULT_EJERK>
11:38:33.026 : Config: M205 X10.000 Y10.000 Z0.400
11:38:33.030 : Config: M205 T0 E5.000
11:38:33.030 : Config: M205 T1 E5.000
11:38:33.030 : Config:Set axis max travel:
11:38:33.030 : Config: M228 S0 X500.000 Y500.000 Z290.000
11:38:33.034 : Config:Set axis min travel:
11:38:33.034 : Config: M228 S1 X0.000 Y0.000 Z0.000
11:38:33.038 : Config:Heater Sensor parameters: H<Heater> P<Pin> S<Type> A<R25> B<BetaK> C<Steinhart-Hart C> R<Pullup> L<ADC low offset> O<ADC high offset>:
11:38:33.043 : Config: M305 H0 P0 S1 A100000.0 B4092.0 C0.0000000000 R4700.0 L0 O0
11:38:33.051 : Config:Heater parameters: H<Heater> P<Pin> A<Power Drive Min> B<Power Drive Max> C<Power Max> F<Freq> L<Min Temp> O<Max Temp> U<Use Pid 0-1> I<Hardware Inverted 0-1> R<Thermal Protection 0-1> Q<Pwm Hardware 0-1>:
11:38:33.055 : Config: M306 H0 P3 A40 B230 C255 F250 L5 O275 U1 I0 Q1 R0
11:38:33.059 : Config:Heater PID parameters: H<Heater> P<Proportional> I<Integral> D<Derivative>:
11:38:33.059 : Config: M301 H0 P40.00 I7.00 D60.00
11:38:33.063 : Config:Heater Sensor parameters: H<Heater> P<Pin> S<Type> A<R25> B<BetaK> C<Steinhart-Hart C> R<Pullup> L<ADC low offset> O<ADC high offset>:
11:38:33.067 : Config: M305 H1 P2 S1 A100000.0 B4092.0 C0.0000000000 R4700.0 L0 O0
11:38:33.076 : Config:Heater parameters: H<Heater> P<Pin> A<Power Drive Min> B<Power Drive Max> C<Power Max> F<Freq> L<Min Temp> O<Max Temp> U<Use Pid 0-1> I<Hardware Inverted 0-1> R<Thermal Protection 0-1> Q<Pwm Hardware 0-1>:
11:38:33.079 : Config: M306 H1 P8 A40 B230 C255 F250 L5 O275 U1 I0 Q1 R0
11:38:33.079 : Config:Heater PID parameters: H<Heater> P<Proportional> I<Integral> D<Derivative>:
11:38:33.084 : Config: M301 H1 P40.00 I7.00 D60.00
11:38:33.084 : Config:Z raise: Z
By the way, changes DO occur if I set them in configuration_overall.h file however Running T0/T1 will only cause the gantry to move, the servo does not.
configuration_overall.h `/*******************************
- Firmware Version V4.3.9 * *******************************/
#define CONFIGURATION_OVERALL
/***********************
- Configuration_Basic * ***********************/ #define SERIAL_PORT_1 0 #define BAUDRATE_1 250000 #define SERIAL_PORT_2 -2 #define BAUDRATE_2 250000 #define BLOCK_BUFFER_SIZE 32 #define MAX_CMD_SIZE 96 #define BUFSIZE 8 #define TX_BUFFER_SIZE 32 #define RX_BUFFER_SIZE 1024 #define SERIAL_XON_XOFF //#define SERIAL_STATS_MAX_RX_QUEUED //#define SERIAL_STATS_DROPPED_RX #define STRING_CONFIG_AUTHOR "(none, default config)" #define MACHINE_UUID "00000000-0000-0000-0000-000000000000" #define KILL_METHOD 0 #define NO_TIMEOUTS 1000 //#define ADVANCED_OK //#define EMERGENCY_PARSER #define FASTER_GCODE_PARSER #define FASTER_GCODE_EXECUTE #define HOST_KEEPALIVE_FEATURE #define DEFAULT_KEEPALIVE_INTERVAL 2 #define MOTHERBOARD BOARD_ULTRATRONICS #define MECHANISM MECH_CARTESIAN #define POWER_SUPPLY 0 //#define POWER_NAME "Generic" #define PS_DEFAULT_OFF false #define DELAY_AFTER_POWER_ON 5 #define POWER_TIMEOUT 30 #define EXTRUDERS 2 #define DRIVER_EXTRUDERS 2
/*****************************
- Configuration_Temperature * *****************************/ //#define TEMPERATURE_UNITS_SUPPORT #define TEMP_SENSOR_HE0 1 #define TEMP_SENSOR_HE1 1 #define TEMP_SENSOR_HE2 0 #define TEMP_SENSOR_HE3 0 #define TEMP_SENSOR_HE4 0 #define TEMP_SENSOR_HE5 0 #define TEMP_SENSOR_BED0 0 #define TEMP_SENSOR_BED1 0 #define TEMP_SENSOR_BED2 0 #define TEMP_SENSOR_BED3 0 #define TEMP_SENSOR_CHAMBER0 0 #define TEMP_SENSOR_CHAMBER1 0 #define TEMP_SENSOR_CHAMBER2 0 #define TEMP_SENSOR_CHAMBER3 0 #define TEMP_SENSOR_COOLER 0 #define THERMISTOR_SERIES_RS 4700 #define T9_NAME "User sensor" #define T9_R25 100000 #define T9_BETA 4036 //#define DHT_SENSOR #define DHT_TYPE 11 #define TEMP_SENSOR_AD595_OFFSET 0 #define TEMP_SENSOR_AD595_GAIN 1 #define DUMMY_THERMISTOR_998_VALUE 25 #define DUMMY_THERMISTOR_999_VALUE 100 #define TEMP_RESIDENCY_TIME 10 // (seconds) #define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. #define HOTEND_0_MAXTEMP 275 #define HOTEND_1_MAXTEMP 275 #define HOTEND_2_MAXTEMP 275 #define HOTEND_3_MAXTEMP 275 #define HOTEND_4_MAXTEMP 275 #define HOTEND_5_MAXTEMP 275 #define BED_MAXTEMP 150 #define CHAMBER_MAXTEMP 150 #define COOLER_MAXTEMP 150 #define HOTEND_0_MINTEMP 5 #define HOTEND_1_MINTEMP 5 #define HOTEND_2_MINTEMP 5 #define HOTEND_3_MINTEMP 5 #define HOTEND_4_MINTEMP 5 #define HOTEND_5_MINTEMP 5 #define BED_MINTEMP 5 #define CHAMBER_MINTEMP 5 #define COOLER_MINTEMP 5 #define MAX_CONSECUTIVE_LOW_TEMP 2 #define PREHEAT_1_LABEL "PLA" #define PREHEAT_1_TEMP_HOTEND 190 #define PREHEAT_1_TEMP_BED 60 #define PREHEAT_1_TEMP_CHAMBER 0 #define PREHEAT_1_FAN_SPEED 255 #define PREHEAT_2_LABEL "ABS" #define PREHEAT_2_TEMP_HOTEND 240 #define PREHEAT_2_TEMP_BED 100 #define PREHEAT_2_TEMP_CHAMBER 50 #define PREHEAT_2_FAN_SPEED 255 #define PREHEAT_3_LABEL "GUM" #define PREHEAT_3_TEMP_HOTEND 230 #define PREHEAT_3_TEMP_BED 60 #define PREHEAT_3_TEMP_CHAMBER 50 #define PREHEAT_3_FAN_SPEED 255 //#define AUTOTEMP #define AUTOTEMP_OLDWEIGHT 0.98 //#define TEMP_STAT_LEDS #define HOTEND_PWM_FREQUENCY 250 #define BED_PWM_FREQUENCY 100 #define CHAMBER_PWM_FREQUENCY 100 #define COOLER_PWM_FREQUENCY 100 #define PIDTEMP true #define POWER_MAX 255 #define POWER_DRIVE_MIN 40 #define POWER_DRIVE_MAX 230 #define HOTEND_HYSTERESIS 2 #define HOTEND_CHECK_INTERVAL 100 #define PID_FUNCTIONAL_RANGE 10 #define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result. //#define PID_ADD_EXTRUSION_RATE #define LPQ_MAX_LEN 50 #define HOTEND_Kp {40,40,40,40,40,40} #define HOTEND_Ki {7,7,7,7,7,7} #define HOTEND_Kd {60,60,60,60,60,60} #define HOTEND_Kc {100,100,100,100,100,100} #define PIDTEMPBED false #define BED_POWER_MAX 255 #define BED_POWER_DRIVE_MIN 40 #define BED_POWER_DRIVE_MAX 230 #define BED_HYSTERESIS 2 #define BED_CHECK_INTERVAL 500 #define BED_Kp {10,10,10,10} #define BED_Ki {1,1,1,1} #define BED_Kd {300,300,300,300} #define PIDTEMPCHAMBER false #define CHAMBER_POWER_MAX 255 #define CHAMBER_POWER_DRIVE_MIN 80 #define CHAMBER_POWER_DRIVE_MAX 255 #define CHAMBER_HYSTERESIS 2 #define CHAMBER_CHECK_INTERVAL 500 #define CHAMBER_Kp {10,10,10,10} #define CHAMBER_Ki {1,1,1,1} #define CHAMBER_Kd {300,300,300,300} #define PIDTEMPCOOLER false #define COOLER_POWER_MAX 255 #define COOLER_POWER_DRIVE_MIN 80 #define COOLER_POWER_DRIVE_MAX 255 #define COOLER_HYSTERESIS 2 #define COOLER_CHECK_INTERVAL 500 #define COOLER_Kp 10 #define COOLER_Ki 1 #define COOLER_Kd 305 #define INVERTED_HEATER_PINS false #define INVERTED_BED_PIN false #define INVERTED_CHAMBER_PIN false #define INVERTED_COOLER_PIN false #define THERMAL_PROTECTION_HOTENDS false #define THERMAL_PROTECTION_BED false #define THERMAL_PROTECTION_CHAMBER false #define THERMAL_PROTECTION_COOLER false #define THERMAL_PROTECTION_PERIOD 40 #define THERMAL_PROTECTION_HYSTERESIS 4 //#define ADAPTIVE_FAN_SPEED #define WATCH_HOTEND_PERIOD 20 #define WATCH_HOTEND_INCREASE 2 #define WATCH_BED_PERIOD 60 #define WATCH_BED_INCREASE 2 #define WATCH_CHAMBER_PERIOD 60 #define WATCH_CHAMBER_INCREASE 2 #define WATCH_COOLER_PERIOD 60 #define WATCH_COOLER_INCREASE 2 #define PREVENT_COLD_EXTRUSION #define EXTRUDE_MINTEMP 170 //#define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MAXLENGTH 400 #define SAFETYTIMER_TIME_MINS 30
/***************************
- Configuration_Cartesian * ***************************/ #define KNOWN_MECH #define CUSTOM_MACHINE_NAME "The Beast Medusa" #define ENDSTOPPULLUP_XMIN true #define ENDSTOPPULLUP_YMIN true #define ENDSTOPPULLUP_ZMIN true #define ENDSTOPPULLUP_XMAX true #define ENDSTOPPULLUP_YMAX true #define ENDSTOPPULLUP_ZMAX true #define ENDSTOPPULLUP_X2MIN true #define ENDSTOPPULLUP_Y2MIN true #define ENDSTOPPULLUP_Z2MIN true #define ENDSTOPPULLUP_Z3MIN true #define ENDSTOPPULLUP_X2MAX true #define ENDSTOPPULLUP_Y2MAX true #define ENDSTOPPULLUP_Z2MAX true #define ENDSTOPPULLUP_Z3MAX true #define ENDSTOPPULLUP_ZPROBE true #define X_MIN_ENDSTOP_LOGIC true #define Y_MIN_ENDSTOP_LOGIC true #define Z_MIN_ENDSTOP_LOGIC true #define X_MAX_ENDSTOP_LOGIC false #define Y_MAX_ENDSTOP_LOGIC false #define Z_MAX_ENDSTOP_LOGIC true #define X2_MIN_ENDSTOP_LOGIC false #define Y2_MIN_ENDSTOP_LOGIC false #define Z2_MIN_ENDSTOP_LOGIC false #define Z3_MIN_ENDSTOP_LOGIC false #define X2_MAX_ENDSTOP_LOGIC false #define Y2_MAX_ENDSTOP_LOGIC false #define Z2_MAX_ENDSTOP_LOGIC false #define Z3_MAX_ENDSTOP_LOGIC false #define Z_PROBE_ENDSTOP_LOGIC false //#define ENDSTOP_INTERRUPTS_FEATURE #define Z_PROBE_SERVO_NR 0 #define Z_SERVO_ANGLES {104,122} #define SWITCHING_NOZZLE //DANS MODS #if ENABLED(SWITCHING_NOZZLE) #define SWITCHING_NOZZLE_SERVO_NR 0 //#define SWITCHING_NOZZLE_E1_SERVO_NR 1 // If two servos are used, the index of the second #define SWITCHING_NOZZLE_SERVO_ANGLES { 122, 87 } // Angles for E0, E1 (single servo) or lowered/raised (dual servo) #endif //EOF DANS
//#define PROBE_MANUALLY //#define Z_PROBE_FIX_MOUNTED //#define BLTOUCH //#define Z_PROBE_SENSORLESS //#define Z_PROBE_SLED #define SLED_DOCKING_OFFSET 5 #define X_PROBE_OFFSET_FROM_NOZZLE 0 #define Y_PROBE_OFFSET_FROM_NOZZLE 0 #define Z_PROBE_OFFSET_FROM_NOZZLE -1 #define XY_PROBE_SPEED 8000 #define Z_PROBE_SPEED_FAST 1000 #define Z_PROBE_SPEED_SLOW 200 #define Z_PROBE_REPETITIONS 1 #define Z_MIN_PROBE_REPEATABILITY_TEST //#define PAUSE_BEFORE_DEPLOY_STOW #define Z_PROBE_DEPLOY_HEIGHT 10 #define Z_PROBE_BETWEEN_HEIGHT 10 #define Z_PROBE_AFTER_PROBING 0 #define Z_PROBE_LOW_POINT -5 #define Z_PROBE_OFFSET_RANGE_MIN -50 #define Z_PROBE_OFFSET_RANGE_MAX 50 //#define PROBING_HEATERS_OFF // Turn heaters off when probing //#define PROBING_FANS_OFF // Turn fans off when probing //#define LCD_BED_LEVELING #define LCD_Z_STEP 0.025 #define LCD_PROBE_Z_RANGE 4 // (mm) Z Range centered on Z MIN POS for LCD Z adjustment //#define MESH_EDIT_MENU // Add a menu to edit mesh points //#define LEVEL_BED_CORNERS #define LEVEL_CORNERS_INSET 30 // (mm) An inset for corner leveling //#define LEVEL_CENTER_TOO // Move to the center after the last corner #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR 1 #define MIN_Z_HEIGHT_FOR_HOMING 0 #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 #define INVERT_X_STEP_PIN false #define INVERT_Y_STEP_PIN false #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false #define INVERT_X_DIR false #define INVERT_Y_DIR false #define INVERT_Z_DIR false #define INVERT_E0_DIR false #define INVERT_E1_DIR false #define INVERT_E2_DIR false #define INVERT_E3_DIR false #define INVERT_E4_DIR false #define INVERT_E5_DIR false #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false #define DISABLE_E false //#define DISABLE_INACTIVE_EXTRUDER #define X_MAX_POS 500 #define X_MIN_POS 0 #define Y_MAX_POS 500 #define Y_MIN_POS 0 #define Z_MAX_POS 290 #define Z_MIN_POS 0 #define E_MIN_POS 0 #define AXIS_RELATIVE_MODES {false, false, false, false} //#define Z_SAFE_HOMING #define Z_SAFE_HOMING_X_POINT 100 #define Z_SAFE_HOMING_Y_POINT 100 //#define MESH_BED_LEVELING //#define AUTO_BED_LEVELING_UBL //#define AUTO_BED_LEVELING_LINEAR //#define AUTO_BED_LEVELING_BILINEAR #define AUTO_BED_LEVELING_3POINT //#define MESH_EDIT_GFX_OVERLAY #define MESH_INSET 10 //#define G26_MESH_VALIDATION #define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle. #define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool. #define MESH_TEST_HOTEND_TEMP 200 // (c) Default nozzle temperature for the G26 Mesh Validation Tool. #define MESH_TEST_BED_TEMP 60 // (c) Default bed temperature for the G26 Mesh Validation Tool. #define G26_XY_FEEDRATE 20 // (mm/s) Feedrate for XY Moves for the G26 Mesh Validation Tool. //#define MESH_G28_REST_ORIGIN #define UBL_MESH_EDIT_MOVES_Z //#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y 3 #define LEFT_PROBE_BED_POSITION 20 #define RIGHT_PROBE_BED_POSITION 180 #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 180 #define MIN_PROBE_EDGE 10 //#define PROBE_Y_FIRST //#define ABL_BILINEAR_SUBDIVISION #define BILINEAR_SUBDIVISIONS 3 #define PROBE_PT_1_X 15 #define PROBE_PT_1_Y 180 #define PROBE_PT_2_X 15 #define PROBE_PT_2_Y 15 #define PROBE_PT_3_X 180 #define PROBE_PT_3_Y 15 //#define Z_PROBE_END_SCRIPT "G1 Z10 F8000\nG1 X10 Y10\nG1 Z0.5" #define ENABLE_LEVELING_FADE_HEIGHT //#define BED_CENTER_AT_0_0 //#define MANUAL_X_HOME_POS 0 //#define MANUAL_Y_HOME_POS 0 //#define MANUAL_Z_HOME_POS 0 #define DEFAULT_AXIS_STEPS_PER_UNIT {80,44.445,240,810.676,831,625,625,625,625} #define DEFAULT_MAX_FEEDRATE {100,100,40,30,30,100,100,100,100} #define MANUAL_FEEDRATE {10060,10060,260,360} #define SHORT_MANUAL_Z_MOVE 0.025 #define DEFAULT_MIN_FEEDRATE 0.0 #define DEFAULT_MIN_TRAVEL_FEEDRATE 0.0 #define MINIMUM_PLANNER_SPEED 0.05 // (mm/sec) #define DEFAULT_MAX_ACCELERATION {200,200,50,1000,1000,3000,3000,3000,3000} #define DEFAULT_RETRACT_ACCELERATION {1000,1000,10000,10000,10000,10000} #define DEFAULT_ACCELERATION 700 #define DEFAULT_TRAVEL_ACCELERATION 700 #define DEFAULT_XJERK 10 #define DEFAULT_YJERK 10 #define DEFAULT_ZJERK 0.4 #define DEFAULT_EJERK {5,5,5,5,5,5} #define HOMING_FEEDRATE_X (10060) #define HOMING_FEEDRATE_Y (10060) #define HOMING_FEEDRATE_Z (40*60) //#define SLOW_HOMING #define X_HOME_BUMP_MM 5 #define Y_HOME_BUMP_MM 5 #define Z_HOME_BUMP_MM 2 #define HOMING_BUMP_DIVISOR {5,5,2} #define HOTEND_OFFSET_X {0,0,0,0} #define HOTEND_OFFSET_Y {0,0,0,0} #define HOTEND_OFFSET_Z {0,0,0,0} #define HYSTERESIS_FEATURE #define HYSTERESIS_AXIS_MM {0,0,0} #define HYSTERESIS_CORRECTION 1
/*************************
- Configuration_LCD * *************************/ #define LCD_LANGUAGE en #define LCD_CHARSET_HD44780 JAPANESE #define LCD_INFO_SCREEN_STYLE 0 //#define REPRAP_DISCOUNT_SMART_CONTROLLER //#define ULTIMAKERCONTROLLER //#define ULTIPANEL //#define PANEL_ONE //#define G3D_PANEL //#define RIGIDBOT_PANEL //#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 //#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. //#define ULTRA_LCD //#define RA_CONTROL_PANEL //#define LCD_SAINSMART_I2C_1602 //#define LCD_SAINSMART_I2C_2004 //#define LCM1602 //#define LCD_I2C_PANELOLU2 //#define LCD_I2C_VIKI //#define RADDS_DISPLAY //#define SAV_3DLCD //#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER //#define REPRAPWORLD_GRAPHICAL_LCD //#define VIKI2 //#define miniVIKI //#define MINIPANEL //#define MAKRPANEL //#define ELB_FULL_GRAPHIC_CONTROLLER //#define BQ_LCD_SMART_CONTROLLER //#define WANHAO_D6_OLED //#define CARTESIO_UI //#define LCD_FOR_MELZI //#define U8GLIB_SSD1306 //#define SAV_3DGLCD //#define U8GLIB_SSD1306 //#define U8GLIB_SH1106 //#define ULTI_CONTROLLER //#define OLED_PANEL_TINYBOY2 //#define MKS_MINI_12864 //#define FYSETC_MINI_12864 //#define CR10_STOCKDISPLAY //#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6 //#define MKS_12864OLED // Uses the SH1106 controller (default) //#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller //#define AZSMZ_12864 //#define SILVER_GATE_GLCD_CONTROLLER #define NEXTION #define NEXTION_SERIAL 2 #define NEXTION_MAX_MESSAGE_LENGTH 30 #define NEXTION_GFX #define NEXTION_FIRMWARE_FILE "mk4duo.tft" #define SHOW_BOOTSCREEN #define BOOTSCREEN_TIMEOUT 2500 #define BOOTSCREEN_MKLOGO_HIGH // Show a hight MK4duo logo on the Boot Screen (disable it saving 399 bytes of flash) //#define BOOTSCREEN_MKLOGO_ANIMATED // Animated MK4duo logo. Costs ~â€3260 (or ~940) bytes of PROGMEM. //#define SHOW_CUSTOM_BOOTSCREEN //#define CUSTOM_STATUS_SCREEN_IMAGE #define XYZ_HOLLOW_FRAME #define MENU_HOLLOW_FRAME //#define USE_BIG_EDIT_FONT //#define USE_SMALL_INFOFONT //#define DOGM_SPI_DELAY_US 5 //#define OVERLAY_GFX_REVERSE //#define STATUS_COMBINE_HEATERS // Use combined heater images instead of separate ones //#define STATUS_HOTEND_NUMBERLESS // Use plain hotend icons instead of numbered ones (with 2+ hotends) #define STATUS_HOTEND_INVERTED // Show solid nozzle bitmaps when heating (Requires STATUS_HOTEND_ANIM) #define STATUS_HOTEND_ANIM // Use a second bitmap to indicate hotend heating #define STATUS_BED_ANIM // Use a second bitmap to indicate bed heating #define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating //#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap //#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap //#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames //#define STATUS_HEAT_PERCENT // Show heating in a progress bar //#define GAME_BRICKOUT //#define GAME_INVADERS //#define GAME_SNAKE //#define NO_LCD_MENUS //#define SLIM_LCD_MENUS #define ENCODER_PULSES_PER_STEP 5 #define ENCODER_STEPS_PER_MENU_ITEM 1 //#define LCD_SCREEN_ROT_90 // Rotate screen orientation for graphics display by 90 degree clockwise //#define LCD_SCREEN_ROT_180 // Rotate screen orientation for graphics display by 180 degree clockwise //#define LCD_SCREEN_ROT_270 // Rotate screen orientation for graphics display by 270 degree clockwise //#define INVERT_CLICK_BUTTON // Option for invert encoder button logic //#define INVERT_BACK_BUTTON // Option for invert back button logic if avaible //#define REVERSE_ENCODER_DIRECTION //#define REVERSE_MENU_DIRECTION #define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly #define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value #define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value #define ULTIPANEL_FEEDMULTIPLY //#define SPEAKER //#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2 //#define LCD_FEEDBACK_FREQUENCY_HZ 5000 #define LCD_ALLIGATOR_VOLTAGE_LEVEL 1 #define LCD_INFO_MENU //#define STATUS_MESSAGE_SCROLLING //#define LCD_DECIMAL_SMALL_XY //#define LCD_TIMEOUT_TO_STATUS 15000 //#define LED_CONTROL_MENU //#define LED_COLOR_PRESETS // Enable the Preset Color menu option //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup #define LED_USER_PRESET_RED 255 // User defined RED value #define LED_USER_PRESET_GREEN 255 // User defined GREEN value #define LED_USER_PRESET_BLUE 255 // User defined BLUE value #define LED_USER_PRESET_WHITE 255 // User defined WHITE value #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity //#define LCD_PROGRESS_BAR #define PROGRESS_BAR_BAR_TIME 5000U #define PROGRESS_BAR_MSG_TIME 1500U #define PROGRESS_MSG_EXPIRE 0 //#define PROGRESS_MSG_ONCE //#define LCD_PROGRESS_BAR_TEST //#define CUSTOM_USER_MENUS #define USER_SCRIPT_DONE "M117 User Script Done" #define USER_DESC_1 "Home & ABL" #define USER_GCODE_1 "G28\nG29" #define USER_DESC_2 "Preheat for " PREHEAT_1_LABEL #define USER_GCODE_2 "M140 S" STRINGIFY(PREHEAT_1_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_1_TEMP_HOTEND) #define USER_DESC_3 "Preheat for " PREHEAT_2_LABEL #define USER_GCODE_3 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nM104 S" STRINGIFY(PREHEAT_2_TEMP_HOTEND) #define USER_DESC_4 "Heat Bed/Home/Level" #define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29" #define USER_DESC_5 "Home & Info" #define USER_GCODE_5 "G28\nM503"
/*************************
- Configuration_Feature * *************************/ #define X_DRIVER_TYPE DRV8825 #define Y_DRIVER_TYPE DRV8825 #define Z_DRIVER_TYPE DRV8825 #define X2_DRIVER_TYPE A4988 #define Y2_DRIVER_TYPE A4988 #define Z2_DRIVER_TYPE A4988 #define Z3_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE DRV8825 #define E1_DRIVER_TYPE DRV8825 #define E2_DRIVER_TYPE A4988 #define E3_DRIVER_TYPE A4988 #define E4_DRIVER_TYPE A4988 #define E5_DRIVER_TYPE A4988 #define SOFT_PWM_SPEED 0 #define FAN_MIN_PWM 0 #define FAN_MAX_PWM 255 //#define INVERTED_FAN_PINS #define FAN_PWM_FREQUENCY 250 //#define FAN_KICKSTART_TIME 0 #define AUTO_FAN {-1,0,-1,-1,-1,-1} #define HOTEND_AUTO_FAN_TEMPERATURE 50 #define HOTEND_AUTO_FAN_SPEED 255 #define HOTEND_AUTO_FAN_MIN_SPEED 0 #define CONTROLLERFAN_SECS 60 #define CONTROLLERFAN_SPEED 255 #define CONTROLLERFAN_MIN_SPEED 0 //#define TACHOMETRIC #define TOOL_CHANGE_Z_RAISE 0.5 //#define TOOL_CHANGE_PARK //#define TOOL_CHANGE_NO_RETURN //#define TOOL_CHANGE_FIL_SWAP #define TOOL_CHANGE_FIL_SWAP_LENGTH 20 #define TOOL_CHANGE_FIL_SWAP_PURGE 2 #define TOOL_CHANGE_FIL_SWAP_RETRACT_SPEED 3000 #define TOOL_CHANGE_FIL_SWAP_PRIME_SPEED 600 //#define VOLUMETRIC_EXTRUSION //#define VOLUMETRIC_DEFAULT_ON #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 //#define SINGLENOZZLE //#define BARICUDA //#define EXT_SOLENOID //#define COLOR_MIXING_EXTRUDER #define MIXING_STEPPERS 2 #define MIXING_VIRTUAL_TOOLS 16 //#define MKR4 //#define INVERTED_RELE_PINS //#define MKR6 //#define INVERTED_RELE_PINS //#define MKR12 //#define INVERTED_RELE_PINS //#define MKSE6 #define MKSE6_SERVO_INDEX 0 #define MKSE6_SERVOPOS_E0 -60 #define MKSE6_SERVOPOS_E1 -30 #define MKSE6_SERVOPOS_E2 0 #define MKSE6_SERVOPOS_E3 30 #define MKSE6_SERVOPOS_E4 60 #define MKSE6_SERVOPOS_E5 90 #define MKSE6_SERVO_DELAY 1000 //#define PRUSA_MMU2 #define MMU2_SERIAL 1 //#define MMU2_MODE_12V #define MMU2_FILAMENT_RUNOUT_SCRIPT "M600" #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 #define MMU2_LOAD_TO_NOZZLE_SEQUENCE { 7.2, 562 }, { 14.4, 871 }, { 36.0, 1393 }, { 14.4, 871 }, { 50.0, 198 } #define MMU2_RAMMING_SEQUENCE { 1.0, 1000 }, { 1.0, 1500 }, { 2.0, 2000 }, { 1.5, 3000 }, { 2.5, 4000 }, { -15.0, 5000 }, { -14.0, 1200 }, { -6.0, 600 }, { 10.0, 700 }, { -10.0, 400 }, { -50.0, 2000 } //#define DONDOLO_SINGLE_MOTOR //#define DONDOLO_DUAL_MOTOR #define DONDOLO_SERVO_INDEX 0 #define DONDOLO_SERVOPOS_E0 120 #define DONDOLO_SERVOPOS_E1 10 #define DONDOLO_SERVO_DELAY 1000 //#define IDLE_OOZING_PREVENT #define IDLE_OOZING_MINTEMP 190 #define IDLE_OOZING_FEEDRATE 50 //default feedrate for retracting (mm/s) #define IDLE_OOZING_SECONDS 5 #define IDLE_OOZING_LENGTH 15 //default retract length (positive mm) #define IDLE_OOZING_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering) #define IDLE_OOZING_RECOVER_FEEDRATE 50 //default feedrate for recovering from retraction (mm/s) //#define EXTRUDER_RUNOUT_PREVENT #define EXTRUDER_RUNOUT_MINTEMP 190 #define EXTRUDER_RUNOUT_SECONDS 30 #define EXTRUDER_RUNOUT_SPEED 1500 // mm/m #define EXTRUDER_RUNOUT_EXTRUDE 5 // mm //#define LIN_ADVANCE #define LIN_ADVANCE_K 0.22 //#define WORKSPACE_OFFSETS #define DEFAULT_STEPPER_DEACTIVE_TIME 120 #define DISABLE_INACTIVE_X #define DISABLE_INACTIVE_Y #undef DISABLE_INACTIVE_Z #define DISABLE_INACTIVE_E #define MIN_SOFTWARE_ENDSTOPS #define MAX_SOFTWARE_ENDSTOPS #define ENDSTOPS_ONLY_FOR_HOMING //#define ENABLED_ALL_SIX_ENDSTOP //#define SD_ABORT_ON_ENDSTOP_HIT //#define G38_PROBE_TARGET #define G38_MINIMUM_MOVE 0.0275 #define ENABLE_SERVOS #define NUM_SERVOS 1 //#define DEACTIVATE_SERVOS_AFTER_MOVE #define SERVO_DEACTIVATION_DELAY 300 //#define Z_LATE_ENABLE #define SLOWDOWN //#define QUICK_HOME //#define HOME_Y_BEFORE_X //#define FORCE_HOME_XY_BEFORE_Z #define BABYSTEPPING #define BABYSTEP_XY #define BABYSTEP_INVERT_Z false #define BABYSTEP_MULTIPLICATOR 1 //#define BABYSTEP_DISPLAY_TOTAL //#define BABYSTEP_ZPROBE_OFFSET //#define DOUBLECLICK_FOR_Z_BABYSTEPPING #define DOUBLECLICK_MAX_INTERVAL 1250U //#define BABYSTEP_ZPROBE_GFX_OVERLAY //#define BABYSTEP_ZPROBE_GFX_REVERSE //#define FWRETRACT #define MIN_AUTORETRACT 0.1 // When auto-retract is on, convert E moves of this length and over #define MAX_AUTORETRACT 10.0 // Upper limit for auto-retract conversion #define RETRACT_LENGTH 3 // Default retract length (positive mm) #define RETRACT_LENGTH_SWAP 13 // Default swap retract length (positive mm), for extruder change #define RETRACT_FEEDRATE 45 // Default feedrate for retracting (mm/s) #define RETRACT_ZLIFT 0 // Default retract Z-lift #define RETRACT_RECOVER_LENGTH 0 // Default additional recover length (mm, added to retract length when recovering) #define RETRACT_RECOVER_LENGTH_SWAP 0 // Default additional swap recover length (mm, added to retract length when recovering from extruder change) #define RETRACT_RECOVER_FEEDRATE 8 // Default feedrate for recovering from retraction (mm/s) #define RETRACT_RECOVER_FEEDRATE_SWAP 8 // Default feedrate for recovering from swap retraction (mm/s) //#define DUAL_X_CARRIAGE #define X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage #define X1_MAX_POS X_MAX_POS // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage #define X2_MIN_POS 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage #define X2_MAX_POS 353 // set maximum to the distance between toolheads when both heads are homed #define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position #define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position #define DEFAULT_DUAL_X_CARRIAGE_MODE DXC_FULL_CONTROL_MODE #define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder #define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder #define DEFAULT_DUPLICATION_X_OFFSET 100 //#define X_TWO_STEPPER_DRIVERS #define INVERT_X2_VS_X_DIR false //#define X_TWO_ENDSTOPS //#define Y_TWO_STEPPER_DRIVERS #define INVERT_Y2_VS_Y_DIR false //#define Y_TWO_ENDSTOPS //#define Z_TWO_STEPPER_DRIVERS #define INVERT_Z2_VS_Z_DIR false //#define Z_TWO_ENDSTOPS //#define Z_THREE_STEPPER_DRIVERS #define INVERT_Z2_VS_Z_DIR false #define INVERT_Z3_VS_Z_DIR false //#define Z_THREE_ENDSTOPS //#define Z_STEPPER_AUTO_ALIGN #define Z_STEPPER_ALIGN_X { 10, 150, 290 } #define Z_STEPPER_ALIGN_Y { 290, 10, 290 } #define Z_STEPPER_ALIGN_ITERATIONS 3 #define RESTORE_LEVELING_AFTER_G34 #define Z_STEPPER_ALIGN_AMP 1.0 #define Z_STEPPER_ALIGN_ACC 0.02 //#define XY_FREQUENCY_LIMIT 15 //#define SF_ARC_FIX //#define BLTOUCH_DELAY 500 //#define BLTOUCH_HIGH_SPEED_MODE //#define BLTOUCH_FORCE_SW_MODE #define BLTOUCH_MODE_5V false //#define BLTOUCH_FORCE_MODE //#define BLTOUCH_LCD_VOLTAGE_MENU //#define FILAMENT_WIDTH_SENSOR #define FILAMENT_SENSOR_EXTRUDER_NUM 0 #define MEASUREMENT_DELAY_CM 14 // (cm) The distance from the filament sensor to the melting chamber #define FILWIDTH_ERROR_MARGIN 1.0 // (mm) If a measurement differs too much from nominal width ignore it #define MAX_MEASUREMENT_DELAY 20 // (bytes) Buffer size for stored measurements (1 byte per cm). Must be larger than MEASUREMENT_DELAY_CM. #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially //#define FILAMENT_LCD_DISPLAY //#define FILAMENT_RUNOUT_SENSOR //#define FILAMENT_RUNOUT_DAV_SYSTEM //#define EXTRUDER_ENCODER_CONTROL #define FIL_RUNOUT_0_LOGIC false #define FIL_RUNOUT_1_LOGIC false #define FIL_RUNOUT_2_LOGIC false #define FIL_RUNOUT_3_LOGIC false #define FIL_RUNOUT_4_LOGIC false #define FIL_RUNOUT_5_LOGIC false #define FIL_RUNOUT_0_PULLUP true #define FIL_RUNOUT_1_PULLUP true #define FIL_RUNOUT_2_PULLUP true #define FIL_RUNOUT_3_PULLUP true #define FIL_RUNOUT_4_PULLUP true #define FIL_RUNOUT_5_PULLUP true #define FILAMENT_RUNOUT_DISTANCE_MM 0 #define FILAMENT_RUNOUT_THRESHOLD 5 #define FILAMENT_RUNOUT_SCRIPT "M600" //#define POWER_CONSUMPTION #define POWER_VOLTAGE 12.00 //(V) The power supply OUT voltage #define POWER_SENSITIVITY 0.066 //(V/A) How much increase V for 1A of increase #define POWER_OFFSET 0.005 //(A) Help to get 0A when no load is connected. #define POWER_ZERO 2.500 //(V) The /\V coming out from the sensor when no current flow. #define POWER_ERROR 0.0 //(%) Ammortize measure error. #define POWER_EFFICIENCY 100.0 //(%) The power efficency of the power supply //#define POWER_CONSUMPTION_LCD_DISPLAY //#define FLOWMETER_SENSOR #define FLOWMETER_MAXFLOW 6.0 // Liters per minute max #define FLOWMETER_MAXFREQ 55 // frequency of pulses at max flow //#define MINFLOW_PROTECTION 4 //#define DOOR_OPEN_FEATURE #define DOOR_OPEN_LOGIC false #define PULLUP_DOOR_OPEN true //#define POWER_CHECK #define POWER_CHECK_LOGIC false #define PULLUP_POWER_CHECK true //#define PCF8574_EXPANSION_IO #define PCF8574_ADDRESS 0x39 #define EEPROM_SETTINGS #define EEPROM_CHITCHAT //#define DISABLE_M503 //#define EEPROM_AUTO_INIT //#define EEPROM_I2C //#define EEPROM_SPI #define EEPROM_SD //#define EEPROM_FLASH #define SDSUPPORT //#define USB_FLASH_DRIVE_SUPPORT (NOT USED FOR NOW!!!) //#define ADVANCED_SD_COMMAND //#define SD_HALF_SPEED //#define SD_QUARTER_SPEED //#define SD_EIGHTH_SPEED //#define SD_SIXTEENTH_SPEED //#define SD_CHECK_AND_RETRY //#define SD_EXTENDED_DIR //#define SD_DISABLED_DETECT //#define SD_DETECT_INVERTED #define SD_FINISHED_STEPPERRELEASE true // if sd support and the file is finished: disable steppers? #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place. //#define MENU_ADDAUTOSTART //#define SCROLL_LONG_FILENAMES //#define SDCARD_SORT_ALPHA #define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each. #define FOLDER_SORTING -1 // -1=above 0=none 1=below #define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M36 g-code. #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting. #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.) #define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option. #define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use! #define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting. #define SD_RESTART_FILE // Uncomment to enable #define SD_RESTART_FILE_SAVE_TIME 1 #define SD_RESTART_FILE_PURGE_LEN 20 // Purge when restart #define SD_RESTART_FILE_RETRACT_LEN 1 // Retract when restart //#define PHOTO_GCODE //#define PHOTO_POSITION { X_MAX_POS - 5, Y_MAX_POS, 0 } // { xpos, ypos, zraise } (M240 X Y Z) //#define PHOTO_DELAY_MS 100 // (ms) Duration to pause before moving back (M240 P) //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) //#define PHOTO_SWITCH_POSITION { X_MAX_POS, Y_MAX_POS } // { xpos, ypos } (M240 I J) #define PHOTO_SWITCH_MS 50 // (ms) (M240 D) //#define CHDK #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again //#define RFID_MODULE #define RFID_SERIAL 1 //#define BLINKM //#define RGB_LED //#define RGBW_LED //#define PCA9632 //#define NEOPIXEL_LED #define NEOPIXEL_TYPE NEO_GRB #define NEOPIXEL_PIXELS 16 #define NEOPIXEL_IS_SEQUENTIAL #define NEOPIXEL_BRIGHTNESS 127 //#define NEOPIXEL_STARTUP_TEST //#define PRINTER_EVENT_LEDS //#define LASER //#define CNCROUTER //#define CASE_LIGHT #define INVERT_CASE_LIGHT false #define CASE_LIGHT_DEFAULT_ON false #define CASE_LIGHT_DEFAULT_BRIGHTNESS 255 //#define CASE_LIGHT_USE_NEOPIXEL #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } #define DOUBLE_QUAD_STEPPING true //#define JUNCTION_DEVIATION #define JUNCTION_DEVIATION_MM 0.02 #define BEZIER_JERK_CONTROL #define MINIMUM_STEPPER_PULSE 2 #define MAXIMUM_STEPPER_RATE 500000 #define DIRECTION_STEPPER_DELAY 0 //#define ADAPTIVE_STEP_SMOOTHING #define X_MICROSTEPS 32 #define Y_MICROSTEPS 32 #define Z_MICROSTEPS 32 #define E0_MICROSTEPS 16 #define E1_MICROSTEPS 16 #define E2_MICROSTEPS 16 #define E3_MICROSTEPS 16 #define E4_MICROSTEPS 16 #define E5_MICROSTEPS 16 #define X_CURRENT 800 #define Y_CURRENT 800 #define Z_CURRENT 800 #define E0_CURRENT 800 #define E1_CURRENT 800 #define E2_CURRENT 800 #define E3_CURRENT 800 #define E4_CURRENT 800 #define E5_CURRENT 800 #define DIGIPOT_MOTOR_CURRENT {135, 135, 135, 135, 135} #define PWM_MOTOR_CURRENT {1200, 1000, 1000} //#define DIGIPOT_I2C #define DIGIPOT_I2C_NUM_CHANNELS 8 #define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0} //#define SERVICE_NAME_1 "Service 1" //#define SERVICE_TIME_1 100 //#define SERVICE_NAME_2 "Service 2" //#define SERVICE_TIME_2 100 //#define SERVICE_NAME_3 "Service 3" //#define SERVICE_TIME_3 100 #define SERVICE_WARNING_BUZZES 3 #define NUM_POSITON_SLOTS 1 #define DEFAULT_MIN_SEGMENT_TIME 20000 //#define ARC_SUPPORT #define MM_PER_ARC_SEGMENT 1 // Length of each arc segment #define MIN_ARC_SEGMENTS 24 // Minimum number of segments in a complete circle #define N_ARC_CORRECTION 25 // Number of intertpolated segments between corrections //#define ARC_P_CIRCLES // Enable the 'P' parameter to specify complete circles //#define CNC_WORKSPACE_PLANES // Allow G2/G3 to operate in XY, ZX, or YZ planes #define MIN_STEPS_PER_SEGMENT 6 //#define M100_FREE_MEMORY_WATCHER #define M100_FREE_MEMORY_DUMPER #define M100_FREE_MEMORY_CORRUPTOR //#define NOZZLE_CLEAN_FEATURE #define NOZZLE_CLEAN_STROKES 12 #define NOZZLE_CLEAN_TRIANGLES 3 #define NOZZLE_CLEAN_START_POINT {30,30,1} #define NOZZLE_CLEAN_END_POINT {100,60,1} #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5 #define NOZZLE_CLEAN_CIRCLE_FN 10 #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT #define NOZZLE_CLEAN_GOBACK //#define NOZZLE_CLEAN_NO_Z //#define NOZZLE_PARK_FEATURE #define NOZZLE_PARK_POINT {10,10,20} #define NOZZLE_PARK_XY_FEEDRATE 100 #define NOZZLE_PARK_Z_FEEDRATE 5 //#define ADVANCED_PAUSE_FEATURE #define PAUSE_PARK_RETRACT_FEEDRATE 20 #define PAUSE_PARK_RETRACT_LENGTH 5 #define PAUSE_PARK_UNLOAD_FEEDRATE 50 #define PAUSE_PARK_UNLOAD_LENGTH 100 #define PAUSE_PARK_SLOW_LOAD_FEEDRATE 6 #define PAUSE_PARK_SLOW_LOAD_LENGTH 5 #define PAUSE_PARK_FAST_LOAD_FEEDRATE 50 #define PAUSE_PARK_FAST_LOAD_LENGTH 100 #define PAUSE_PARK_PURGE_FEEDRATE 5 #define PAUSE_PARK_PURGE_LENGTH 50 #define FILAMENT_UNLOAD_RETRACT_LENGTH 10 #define FILAMENT_UNLOAD_DELAY 5000 #define FILAMENT_UNLOAD_PURGE_LENGTH 8 #define PAUSE_PARK_NOZZLE_TIMEOUT 45 #define PAUSE_PARK_PRINTER_OFF 5 #define PAUSE_PARK_NUMBER_OF_ALERT_BEEPS 5 #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. //#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change //#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. //#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302) //#define INCH_MODE_SUPPORT //#define JSON_OUTPUT //#define SCAD_MESH_OUTPUT //#define PINS_DEBUGGING //#define DEBUG_FEATURE //#define USE_WATCHDOG //#define WATCHDOG_RESET_MANUAL //#define START_GCODE #define START_PRINTING_SCRIPT "G28\nG1 Z10 F8000" //#define STOP_GCODE #define STOP_PRINTING_SCRIPT "G28\nM107\nM104 T0 S0\nM140 S0\nM84\nM81" #define PROPORTIONAL_FONT_RATIO 1
/********************************
- Configuration_Motor_Driver * ********************************/ #define X_SENSE_RESISTOR 91 #define X2_SENSE_RESISTOR 91 #define Y_SENSE_RESISTOR 91 #define Y2_SENSE_RESISTOR 91 #define Z_SENSE_RESISTOR 91 #define Z2_SENSE_RESISTOR 91 #define Z3_SENSE_RESISTOR 91 #define E0_SENSE_RESISTOR 91 #define E1_SENSE_RESISTOR 91 #define E2_SENSE_RESISTOR 91 #define E3_SENSE_RESISTOR 91 #define E4_SENSE_RESISTOR 91 #define E5_SENSE_RESISTOR 91 #define R_SENSE 0.11 // R_sense resistor #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 //#define TMC_USE_SW_SPI //#define SENSORLESS_HOMING #define X_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8 #define Z_STALL_SENSITIVITY 8 //#define SPI_ENDSTOPS //#define IMPROVE_HOMING_RELIABILITY //#define SQUARE_WAVE_STEPPING //#define TMC_DEBUG //#define TMC_Z_CALIBRATION #define CALIBRATION_CURRENT 250 #define CALIBRATION_EXTRA_HEIGHT 10 //#define TMC_SOFTWARE_DRIVER_ENABLE #define X_STEALTHCHOP false #define Y_STEALTHCHOP false #define Z_STEALTHCHOP false #define E0_STEALTHCHOP false #define E1_STEALTHCHOP false #define E2_STEALTHCHOP false #define E3_STEALTHCHOP false #define E4_STEALTHCHOP false #define E5_STEALTHCHOP false #define CHOPPER_DEFAULT_12V { 3, -1, 1 } #define CHOPPER_DEFAULT_19V { 4, 1, 1 } #define CHOPPER_DEFAULT_24V { 4, 2, 1 } #define CHOPPER_DEFAULT_36V { 5, 2, 4 } #define CHOPPER_PRUSAMK3_24V { 3, -2, 6 } // Imported parameters from the official Prusa firmware for MK3 (24V) #define CHOPPER_MK4DUO_436 { 5, 2, 3 } // Old defaults from MK4duo v4.3.6 #define CHOPPER_TIMING CHOPPER_DEFAULT_12V //#define MONITOR_DRIVER_STATUS //#define MONITOR_DRIVER_STATUS_INTERVAL_MS 500u //#define CURRENT_STEP_DOWN 50 // [mA] //#define REPORT_CURRENT_CHANGE //#define STOP_ON_ERROR //#define HYBRID_THRESHOLD #define X_HYBRID_THRESHOLD 100 #define Y_HYBRID_THRESHOLD 100 #define Z_HYBRID_THRESHOLD 2 #define E0_HYBRID_THRESHOLD 30 #define E1_HYBRID_THRESHOLD 30 #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 #define E5_HYBRID_THRESHOLD 30 #define TMC_ADV() { } //#define X_HARDWARE_SERIAL Serial1 //#define X2_HARDWARE_SERIAL Serial1 //#define Y_HARDWARE_SERIAL Serial1 //#define Y2_HARDWARE_SERIAL Serial1 //#define Z_HARDWARE_SERIAL Serial1 //#define Z2_HARDWARE_SERIAL Serial1 //#define Z3_HARDWARE_SERIAL Serial1 //#define E0_HARDWARE_SERIAL Serial1 //#define E1_HARDWARE_SERIAL Serial1 //#define E2_HARDWARE_SERIAL Serial1 //#define E3_HARDWARE_SERIAL Serial1 //#define E4_HARDWARE_SERIAL Serial1 //#define E5_HARDWARE_SERIAL Serial1 #define X_SERIAL_TX_PIN NoPin #define X_SERIAL_RX_PIN NoPin #define X2_SERIAL_TX_PIN NoPin #define X2_SERIAL_RX_PIN NoPin #define Y_SERIAL_TX_PIN NoPin #define Y_SERIAL_RX_PIN NoPin #define Y2_SERIAL_TX_PIN NoPin #define Y2_SERIAL_RX_PIN NoPin #define Z_SERIAL_TX_PIN NoPin #define Z_SERIAL_RX_PIN NoPin #define Z2_SERIAL_TX_PIN NoPin #define Z2_SERIAL_RX_PIN NoPin #define Z3_SERIAL_TX_PIN NoPin #define Z3_SERIAL_RX_PIN NoPin #define E0_SERIAL_TX_PIN NoPin #define E0_SERIAL_RX_PIN NoPin #define E1_SERIAL_TX_PIN NoPin #define E1_SERIAL_RX_PIN NoPin #define E2_SERIAL_TX_PIN NoPin #define E2_SERIAL_RX_PIN NoPin #define E3_SERIAL_TX_PIN NoPin #define E3_SERIAL_RX_PIN NoPin #define E4_SERIAL_TX_PIN NoPin #define E4_SERIAL_RX_PIN NoPin #define E5_SERIAL_TX_PIN NoPin #define E5_SERIAL_RX_PIN NoPin #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be careful not to go too high #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_STALLCURRENT 1500 // current in mA where the driver will detect a stall #define X2_K_VAL 50 #define X2_OVERCURRENT 2000 #define X2_STALLCURRENT 1500 #define Y_K_VAL 50 #define Y_OVERCURRENT 2000 #define Y_STALLCURRENT 1500 #define Y2_K_VAL 50 #define Y2_OVERCURRENT 2000 #define Y2_STALLCURRENT 1500 #define Z_K_VAL 50 #define Z_OVERCURRENT 2000 #define Z_STALLCURRENT 1500 #define Z2_K_VAL 50 #define Z2_OVERCURRENT 2000 #define Z2_STALLCURRENT 1500 #define Z3_K_VAL 50 #define Z3_OVERCURRENT 2000 #define Z3_STALLCURRENT 1500 #define E0_K_VAL 50 #define E0_OVERCURRENT 2000 #define E0_STALLCURRENT 1500 #define E1_K_VAL 50 #define E1_OVERCURRENT 2000 #define E1_STALLCURRENT 1500 #define E2_K_VAL 50 #define E2_OVERCURRENT 2000 #define E2_STALLCURRENT 1500 #define E3_K_VAL 50 #define E3_OVERCURRENT 2000 #define E3_STALLCURRENT 1500 #define E4_K_VAL 50 #define E4_OVERCURRENT 2000 #define E4_STALLCURRENT 1500 #define E5_K_VAL 50 #define E5_OVERCURRENT 2000 #define E5_STALLCURRENT 1500`