diff --git a/eddy_macros.cfg b/disabled_eddy.cfg similarity index 100% rename from eddy_macros.cfg rename to disabled_eddy.cfg diff --git a/martyn_macros.cfg b/martyn_macros.cfg index 328d43c..3b875c8 100644 --- a/martyn_macros.cfg +++ b/martyn_macros.cfg @@ -15,13 +15,13 @@ gcode: ;TEMPERATURE_WAIT SENSOR="temperature_sensor chamber_temp" MINIMUM={CHAMBER_TEMP} ; Wait for chamber temp M140 S0 ; turn off power to the bed, interference with probe? SET_GCODE_OFFSET Z=0.0 ; Reset the G-Code Z offset so we can set it manually later. we don't care if move=1|0 because we're about to home anyway. - G28 Z ; Heatsoaked, validate that z + G28 Z0 ; Heatsoaked, validate that z G90 ; ensure absolute positioning (how would it be something else?! G1 Z10 F3000 QUAD_GANTRY_LEVEL STATUS_MESHING - BED_MESH_CALIBRATE - G28 Z ; Leveled, validate that z! + ;BED_MESH_CALIBRATE Well, this is fine and dandy... + G28 Z0 ; Leveled, validate that z! M190 S{BED_TEMP} ; Start heating the bed, wait until target temperature reached M109 S{EXTRUDER_TEMP} ; Finish heating the nozzle CLEAN_NOZZLE @@ -332,79 +332,79 @@ gcode: G1 E-{unload_distance} F{max_velocity} # fast-unload RESTORE_GCODE_STATE NAME=unload_state -[gcode_macro _SAFE_X_HOME] -; This macro is to ensure that we're not at y=home when X is homed. -gcode: - {% if 'Y' in printer.toolhead.homed_axes %} - G91 - G0 Y-20 F50000 - G90 - {% else %} - G90 - SET_KINEMATIC_POSITION Y=20 - G0 Y0 F50000 - G28 X - {% endif %} - -[gcode_macro _SAFE_Z_HOME_LIFT] -; Lift the Z no matter what (replicate z-hop from [safe_z_home] -gcode: - {% if 'Z' in printer.toolhead.homed_axes %} - G91 - G0 Z10 F1000 - G90 - {% else %} - G90 - SET_KINEMATIC_POSITION Z=0 - G0 Z10 F1000 - {% endif %} - -[gcode_macro _SAFE_Z_HOME] -; this macro recreates the save_z_home setup center the toolhead before z home. -gcode: - {% if not 'X' in printer.toolhead.homed_axes %} - _SAFE_X_HOME - {% endif %} - {% if not 'Y' in printer.toolhead.homed_axes %} - G28 Y - {% endif %} - G0 X175 Y175 F50000 - G4 P200 ;Wait 200ms - SET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.4 - SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.4 - SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.4 - SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.4 - G28 Z - {% set run_current = printer.configfile.config['tmc2209 stepper_z'].run_current | float %} - SET_TMC_CURRENT STEPPER=stepper_z CURRENT={run_current} - SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={run_current} - SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={run_current} - SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={run_current} - SET_KINEMATIC_POSITION Z=0 - G0 Z10 F3000 - -[homing_override] -; The ebb36 mount often catches on the drag chain at the back of the printer. -; This ensures that if X is asked to be homed, first Y is homed and then y is -; moved away from the back of the printer and then homed. -axes: xyz -gcode: - #z hop no matter what - _SAFE_Z_HOME_LIFT - {% if not 'Z' in params and not 'Y' in params and 'X' in params %} # Home X - _SAFE_X_HOME - {% elif not 'Z' in params and not 'X' in params and 'Y' in params %} #Home Y - G28 Y - {% elif not 'Z' in params and 'X' in params and 'Y' in params %} #Home X+Y - _SAFE_X_HOME - G28 Y - {% elif 'Z' in params and not 'X' in params and not 'Y' in params %} # Home Z - _SAFE_Z_HOME - {% else %} #Home X+Y+Z - _SAFE_X_HOME - G28 Y - _SAFE_Z_HOME - {% endif %} +#[gcode_macro _SAFE_X_HOME] +#; This macro is to ensure that we're not at y=home when X is homed. +#gcode: +# {% if 'Y' in printer.toolhead.homed_axes %} +# G91 +# G0 Y-20 F50000 +# G90 +# {% else %} +# G90 +# SET_KINEMATIC_POSITION Y=20 +# G0 Y0 F50000 +# G28 X +# {% endif %} +# +#[gcode_macro _SAFE_Z_HOME_LIFT] +#; Lift the Z no matter what (replicate z-hop from [safe_z_home] +#gcode: +# {% if 'Z' in printer.toolhead.homed_axes %} +# G91 +# G0 Z10 F1000 +# G90 +# {% else %} +# G90 +# SET_KINEMATIC_POSITION Z=0 +# G0 Z10 F1000 +# {% endif %} +# +#[gcode_macro _SAFE_Z_HOME] +#; this macro recreates the save_z_home setup center the toolhead before z home. +#gcode: +# {% if not 'X' in printer.toolhead.homed_axes %} +# _SAFE_X_HOME +# {% endif %} +# {% if not 'Y' in printer.toolhead.homed_axes %} +# G28 Y +# {% endif %} +# G0 X175 Y175 F50000 +# G4 P200 ;Wait 200ms +# SET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.4 +# SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.4 +# SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.4 +# SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.4 +# G28 Z0 +# {% set run_current = printer.configfile.config['tmc2209 stepper_z'].run_current | float %} +# SET_TMC_CURRENT STEPPER=stepper_z CURRENT={run_current} +# SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={run_current} +# SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={run_current} +# SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={run_current} +# SET_KINEMATIC_POSITION Z=0 +# G0 Z10 F3000 +# +#[homing_override] +# The ebb36 mount often catches on the drag chain at the back of the printer. +# This ensures that if X is asked to be homed, first Y is homed and then y is +# moved away from the back of the printer and then homed. +#axes: xyz +#gcode: +# #z hop no matter what +# _SAFE_Z_HOME_LIFT +# {% if not 'Z' in params and not 'Y' in params and 'X' in params %} # Home X +# _SAFE_X_HOME +# {% elif not 'Z' in params and not 'X' in params and 'Y' in params %} #Home Y +# G28 Y +# {% elif not 'Z' in params and 'X' in params and 'Y' in params %} #Home X+Y +# _SAFE_X_HOME +# G28 Y +# {% elif 'Z' in params and not 'X' in params and not 'Y' in params %} # Home Z +# _SAFE_Z_HOME +# {% else %} #Home X+Y+Z +# _SAFE_X_HOME +# G28 Y +# _SAFE_Z_HOME +# {% endif %} [mmu_led_effect mmu_purple_slow] diff --git a/mmu/mmu_vars.cfg b/mmu/mmu_vars.cfg index 5e1b03c..7e00755 100644 --- a/mmu/mmu_vars.cfg +++ b/mmu/mmu_vars.cfg @@ -1,5 +1,5 @@ [Variables] -mmu__revision = 2205 +mmu__revision = 2292 mmu_calibration_bowden_home = 'encoder' mmu_calibration_bowden_lengths = [1425.1, 1425.1, 1425.1, 1425.1, 1425.1, 1425.1, 1425.1, 1425.1] mmu_calibration_clog_length = 17.4 @@ -24,7 +24,7 @@ mmu_state_gate_temperature = [200, 200, 200, 200, 200, 200, 200, 200] mmu_state_last_tool = 1 mmu_state_tool_selected = -2 mmu_state_tool_to_gate_map = [0, 1, 2, 3, 4, 5, 6, 7] -mmu_statistics_counters = {'servo_down': {'count': 812, 'limit': 5000, 'warning': 'Inspect servo arm for wear/damage', 'pause': False}, 'mmu_restarts': {'count': 102, 'limit': -1, 'warning': ''}, 'cutter_blade': {'count': 45, 'limit': 3000, 'warning': 'Inspect/replace filament cutting blade', 'pause': False}} +mmu_statistics_counters = {'servo_down': {'count': 812, 'limit': 5000, 'warning': 'Inspect servo arm for wear/damage', 'pause': False}, 'mmu_restarts': {'count': 119, 'limit': -1, 'warning': ''}, 'cutter_blade': {'count': 45, 'limit': 3000, 'warning': 'Inspect/replace filament cutting blade', 'pause': False}} mmu_statistics_gate_0 = {'pauses': 12, 'loads': 28, 'load_distance': 38354.336, 'load_delta': 6896.202, 'unloads': 43, 'unload_distance': 31567.3, 'unload_delta': 1877.741, 'load_failures': 7, 'unload_failures': 16, 'quality': 0.9546537865318246} mmu_statistics_gate_1 = {'pauses': 2, 'loads': 22, 'load_distance': 28896.615, 'load_delta': 90.861, 'unloads': 25, 'unload_distance': 27502.0, 'unload_delta': 1483.93, 'load_failures': 1, 'unload_failures': 5, 'quality': 0.8375118313601163} mmu_statistics_gate_2 = {'pauses': 0, 'loads': 0, 'load_distance': 0.0, 'load_delta': 0.0, 'unloads': 0, 'unload_distance': 0.0, 'unload_delta': 0.0, 'load_failures': 0, 'unload_failures': 0, 'quality': -1.0} diff --git a/printer.cfg b/printer.cfg index 9ecefad..e98e47c 100644 --- a/printer.cfg +++ b/printer.cfg @@ -1,6 +1,6 @@ -[include mmu/base/*.cfg] -[include mmu/optional/client_macros.cfg] -[include mmu/optional/mmu_menu.cfg] +#[include mmu/base/*.cfg] +#[include mmu/optional/client_macros.cfg] +#[include mmu/optional/mmu_menu.cfg] # This file contains common pin mappings for the BigTreeTech Octopus V1. # To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader" # Enable "extra low-level configuration options" and select the "12MHz crystal" as clock reference @@ -118,18 +118,18 @@ enable_pin: !PG5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 -#endstop_pin: probe:z_virtual_endstop -endstop_pin: !ebb36:PB7 +endstop_pin: probe:z_virtual_endstop +#endstop_pin: !ebb36:PB7 ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) ## (+) value = endstop above Z0, (-) value = endstop below ## Increasing position_endstop brings nozzle closer to the bed ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config -position_endstop: 0 +#position_endstop: -0.2 position_max: 310 -position_min: -10 -homing_speed: 5 -second_homing_speed: 3 -homing_retract_dist: 3 +position_min: -5 +homing_speed: 15 +#second_homing_speed: 3 +#homing_retract_dist: 3 ## Make sure to update below for your relevant driver (2208 or 2209) [tmc2209 stepper_z] @@ -289,16 +289,26 @@ timeout: 1800 # Need to work out how eddy interferes with magic home #[safe_z_home] -## XY Location of the Z Endstop Switch -## Update -10,-10 to the XY coordinates of your endstop pin -## (such as 157,305) after going through Z Endstop Pin -## Location Definition step. -#home_xy_position:232,350 #home_xy_position: 175,175 #speed:100 #z_hop:10 #z_hop_speed:10 +[homing_override] +axes: z +gcode: + SET_KINEMATIC_POSITION Z=0 + G1 Z10 F3000 + {% if not 'X' in printer.toolhead.homed_axes %} + G28 X0 + {% endif %} + {% if not 'Y' in printer.toolhead.homed_axes %} + G28 Y0 + {% endif %} + G1 X150 Y150 F3000 + G28 Z0 + G1 Z10 F3000 + ## Use QUAD_GANTRY_LEVEL to level a gantry. ## Min & Max gantry corners - measure from nozzle at MIN (0,0) and @@ -387,43 +397,45 @@ sensor_type: temperature_mcu [skew_correction] [exclude_object] + + ##################################################################### # Macros ##################################################################### -#[probe] ## Other parameters in config.cfg -#pin: !ebb36:PB7 -#x_offset: 0.0 -#y_offset: 0.0 -#z_offset: 0.0 -#speed: 5.0 # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. -#samples: 2 -#sample_retract_dist: 3.0 -#samples_tolerance_retries: 1 -#lift_speed: 10 -#activate_gcode: -# G4 P200 ;Wait 200ms -# SET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.4 -# SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.4 -# SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.4 -# SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.4 -#deactivate_gcode: -# {% set run_current = printer.configfile.config['tmc2209 stepper_z'].run_current | float %} -# SET_TMC_CURRENT STEPPER=stepper_z CURRENT={run_current} -# SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={run_current} -# SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={run_current} -# SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={run_current} +[probe] ## Other parameters in config.cfg +pin: !ebb36:PB7 +x_offset: 0.0 +y_offset: 0.0 +z_offset: 0.0 +speed: 15.0 # Speed (in mm/s) of the Z axis when probing. The default is 5mm/s. +samples: 2 +sample_retract_dist: 3.0 +samples_tolerance_retries: 1 +lift_speed: 10 +activate_gcode: + G4 P200 ;Wait 200ms + SET_TMC_CURRENT STEPPER=stepper_z CURRENT=0.4 + SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT=0.4 + SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT=0.4 + SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT=0.4 +deactivate_gcode: + {% set run_current = printer.configfile.config['tmc2209 stepper_z'].run_current | float %} + SET_TMC_CURRENT STEPPER=stepper_z CURRENT={run_current} + SET_TMC_CURRENT STEPPER=stepper_z1 CURRENT={run_current} + SET_TMC_CURRENT STEPPER=stepper_z2 CURRENT={run_current} + SET_TMC_CURRENT STEPPER=stepper_z3 CURRENT={run_current} [bed_mesh] -speed: 200 +speed: 800 horizontal_move_z: 3 -mesh_min: 35, 35 +mesh_min: 0, 0 mesh_max: 310, 310 zero_reference_position: 175, 175 -mesh_pps: 9, 9 -algorithm: bicubic -bicubic_tension: 0.2 -probe_count: 9, 9 +# #mesh_pps: 9, 9 +# algorithm: bicubic +# bicubic_tension: 0.2 +probe_count: 6,6 [input_shaper] shaper_freq_x: 91.4 @@ -433,18 +445,18 @@ shaper_type: 3hump_ei [mcu eddy] canbus_uuid: 01dd4779f312 -[probe_eddy_current btt_eddy] -sensor_type: ldc1612 -z_offset: 2.01 -i2c_mcu: eddy -i2c_bus: i2c0f -x_offset: 0 -y_offset: 21.42 +#[probe_eddy_current btt_eddy] +#sensor_type: ldc1612 +#z_offset: 2.01 +#i2c_mcu: eddy +#i2c_bus: i2c0f +#x_offset: 0 +#y_offset: 21.42 -[temperature_probe btt_eddy] -sensor_type: Generic 3950 -sensor_pin: eddy:gpio26 -horizontal_move_z: 2 +#[temperature_probe btt_eddy] +#sensor_type: Generic 3950 +#sensor_pin: eddy:gpio26 +#horizontal_move_z: 2 [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: @@ -490,54 +502,3 @@ enable_force_move: True #*# xy_skew = 0.007318697823262824 #*# xz_skew = 0.0004313347372552723 #*# yz_skew = -0.0005939714989857676 -#*# -#*# [probe_eddy_current btt_eddy] -#*# reg_drive_current = 15 -#*# calibrate = -#*# 0.050000:3245638.704,0.090000:3245080.054,0.130000:3244565.336, -#*# 0.170000:3244049.306,0.210000:3243547.198,0.250000:3242983.782, -#*# 0.290000:3242485.192,0.330000:3242003.499,0.370000:3241513.810, -#*# 0.410000:3241005.009,0.450000:3240524.679,0.490000:3240007.220, -#*# 0.530000:3239582.630,0.570000:3239091.260,0.610000:3238656.819, -#*# 0.650000:3238201.389,0.690000:3237738.464,0.730000:3237327.553, -#*# 0.770000:3236871.922,0.810000:3236450.933,0.850000:3236013.435, -#*# 0.890000:3235604.570,0.930000:3235213.842,0.970000:3234806.320, -#*# 1.010000:3234402.262,1.050000:3234011.073,1.090000:3233605.455, -#*# 1.130000:3233234.712,1.170000:3232870.210,1.210000:3232508.894, -#*# 1.250000:3232151.577,1.290000:3231750.211,1.330000:3231417.439, -#*# 1.370000:3231076.224,1.410000:3230749.915,1.450000:3230408.322, -#*# 1.490000:3230089.275,1.530000:3229744.872,1.570000:3229405.069, -#*# 1.610000:3229098.050,1.650000:3228793.859,1.690000:3228494.736, -#*# 1.730000:3228192.648,1.770000:3227892.116,1.810000:3227632.023, -#*# 1.850000:3227317.057,1.890000:3227028.950,1.930000:3226751.663, -#*# 1.970000:3226491.384,2.010000:3226215.191,2.050000:3225969.888, -#*# 2.090000:3225686.092,2.130000:3225413.803,2.170000:3225169.825, -#*# 2.210000:3224906.131,2.250000:3224685.325,2.290000:3224436.049, -#*# 2.330000:3224180.495,2.370000:3223968.437,2.410000:3223730.180, -#*# 2.450000:3223513.775,2.490000:3223276.750,2.530000:3223059.567, -#*# 2.570000:3222849.555,2.610000:3222638.022,2.650000:3222423.121, -#*# 2.690000:3222245.379,2.730000:3222044.814,2.770000:3221807.780, -#*# 2.810000:3221609.367,2.850000:3221410.154,2.890000:3221233.477, -#*# 2.930000:3221053.693,2.970000:3220848.945,3.010000:3220647.095, -#*# 3.050000:3220506.474,3.090000:3220310.181,3.130000:3220109.755, -#*# 3.170000:3219971.126,3.210000:3219810.795,3.250000:3219615.773, -#*# 3.290000:3219469.812,3.330000:3219311.643,3.370000:3219128.365, -#*# 3.410000:3218969.474,3.450000:3218835.061,3.490000:3218678.080, -#*# 3.530000:3218523.050,3.570000:3218373.833,3.610000:3218217.807, -#*# 3.650000:3218077.498,3.690000:3217930.874,3.730000:3217797.046, -#*# 3.770000:3217658.917,3.810000:3217505.867,3.850000:3217410.132, -#*# 3.890000:3217255.991,3.930000:3217104.296,3.970000:3216992.397, -#*# 4.010000:3216852.585,4.050000:3216743.023 -#*# -#*# [temperature_probe btt_eddy] -#*# drift_calibration = -#*# 3295881.310465, -1597.470868, 13.826983 -#*# 3280529.985085, -1287.274699, 11.063779 -#*# 3266451.502831, -991.104037, 8.459800 -#*# 3255074.317427, -766.953277, 6.550420 -#*# 3245056.498078, -552.419340, 4.625431 -#*# 3236797.908245, -374.099752, 2.993489 -#*# 3229565.215149, -207.644688, 1.443555 -#*# 3224109.964452, -92.088684, 0.383280 -#*# 3219621.930355, 2.311153, -0.482160 -#*# drift_calibration_min_temp = 38.524523728844876