This adds the framework for unit testing Moonraker via pytest. Initally only moonraker.py, klippy_connection.py, and confighelper.py have acceptable coverage. Coverage for other modules will be added on an incremental basis, when most of Moonraker's source is covered tests will be conducted via GitHub actions. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
404 lines
7.2 KiB
INI
404 lines
7.2 KiB
INI
[mcu]
|
|
serial: /dev/serial/by-id/usb
|
|
|
|
[printer]
|
|
kinematics: cartesian
|
|
max_velocity: 300
|
|
max_accel: 1500
|
|
max_z_velocity: 15
|
|
max_z_accel: 200
|
|
|
|
[stepper_x]
|
|
microsteps: 16
|
|
step_pin: PC0
|
|
dir_pin: !PL0
|
|
enable_pin: !PA7
|
|
rotation_distance: 32
|
|
endstop_pin: tmc2130_stepper_x:virtual_endstop
|
|
position_endstop: 0
|
|
position_min: 0
|
|
position_max: 250
|
|
homing_speed: 50
|
|
homing_retract_dist: 0
|
|
|
|
[tmc2130 stepper_x]
|
|
cs_pin: PG0
|
|
interpolate: True
|
|
run_current: .281738
|
|
hold_current: .281738
|
|
sense_resistor: 0.220
|
|
diag1_pin: !PK2
|
|
driver_IHOLDDELAY: 8
|
|
driver_TPOWERDOWN: 0
|
|
driver_TBL: 2
|
|
driver_TOFF: 3
|
|
driver_HEND: 1
|
|
driver_HSTRT: 5
|
|
driver_PWM_FREQ: 2
|
|
driver_PWM_GRAD: 2
|
|
driver_PWM_AMPL: 230
|
|
driver_PWM_AUTOSCALE: True
|
|
driver_SGT: 3
|
|
|
|
[stepper_y]
|
|
microsteps: 16
|
|
step_pin: PC1
|
|
dir_pin: PL1
|
|
enable_pin: !PA6
|
|
rotation_distance: 32
|
|
endstop_pin: tmc2130_stepper_y:virtual_endstop
|
|
position_endstop: -4
|
|
position_max: 210
|
|
position_min: -4
|
|
homing_speed: 50
|
|
homing_retract_dist: 0
|
|
|
|
[tmc2130 stepper_y]
|
|
cs_pin: PG2
|
|
interpolate: True
|
|
run_current: .3480291
|
|
hold_current: .3480291
|
|
sense_resistor: 0.220
|
|
diag1_pin: !PK7
|
|
driver_IHOLDDELAY: 8
|
|
driver_TPOWERDOWN: 0
|
|
driver_TBL: 2
|
|
driver_TOFF: 3
|
|
driver_HEND: 1
|
|
driver_HSTRT: 5
|
|
driver_PWM_FREQ: 2
|
|
driver_PWM_GRAD: 2
|
|
driver_PWM_AMPL: 235
|
|
driver_PWM_AUTOSCALE: True
|
|
driver_SGT: 3
|
|
|
|
[stepper_z]
|
|
microsteps: 16
|
|
step_pin: PC2
|
|
dir_pin: !PL2
|
|
enable_pin: !PA5
|
|
rotation_distance: 8
|
|
endstop_pin: probe:z_virtual_endstop
|
|
position_max: 220
|
|
position_min: -2
|
|
homing_speed: 13.333
|
|
|
|
[tmc2130 stepper_z]
|
|
cs_pin: PK5
|
|
interpolate: True
|
|
run_current: .53033
|
|
hold_current: .53033
|
|
sense_resistor: 0.220
|
|
diag1_pin: !PK6
|
|
driver_IHOLDDELAY: 8
|
|
driver_TPOWERDOWN: 0
|
|
driver_TBL: 2
|
|
driver_TOFF: 3
|
|
driver_HEND: 1
|
|
driver_HSTRT: 5
|
|
driver_PWM_FREQ: 2
|
|
driver_PWM_GRAD: 4
|
|
driver_PWM_AMPL: 200
|
|
driver_PWM_AUTOSCALE: True
|
|
driver_SGT: 4
|
|
|
|
[extruder]
|
|
microsteps: 8
|
|
step_pin: PC3
|
|
dir_pin: PL6
|
|
enable_pin: !PA4
|
|
rotation_distance: 6.53061216
|
|
full_steps_per_rotation: 400
|
|
nozzle_diameter: 0.4
|
|
filament_diameter: 1.750
|
|
max_extrude_cross_section: 50.0
|
|
# Allows to load filament and purge up to 500mm
|
|
max_extrude_only_distance: 500.0
|
|
max_extrude_only_velocity: 120.0
|
|
max_extrude_only_accel: 1250.0
|
|
heater_pin: PE5
|
|
sensor_type: ATC Semitec 104GT-2
|
|
sensor_pin: PF0
|
|
control: pid
|
|
pid_Kp: 16.13
|
|
pid_Ki: 1.1625
|
|
pid_Kd: 56.23
|
|
min_temp: 0
|
|
max_temp: 305
|
|
|
|
[tmc2130 extruder]
|
|
cs_pin: PK4
|
|
interpolate: True
|
|
run_current: 0.41432
|
|
hold_current: 0.3
|
|
sense_resistor: 0.220
|
|
diag1_pin: !PK3
|
|
driver_IHOLDDELAY: 8
|
|
driver_TPOWERDOWN: 0
|
|
driver_TBL: 2
|
|
driver_TOFF: 3
|
|
driver_HEND: 1
|
|
driver_HSTRT: 5
|
|
driver_PWM_FREQ: 2
|
|
driver_PWM_GRAD:4
|
|
driver_PWM_AMPL: 240
|
|
driver_PWM_AUTOSCALE: True
|
|
driver_SGT: 3
|
|
|
|
[heater_bed]
|
|
heater_pin: PG5
|
|
sensor_type: EPCOS 100K B57560G104F
|
|
sensor_pin: PF2
|
|
control: pid
|
|
pid_Kp: 126.13
|
|
pid_Ki: 4.3
|
|
pid_Kd: 924.76
|
|
min_temp: 0
|
|
max_temp: 125
|
|
|
|
[verify_heater heater_bed]
|
|
max_error: 240
|
|
check_gain_time: 120
|
|
|
|
[heater_fan nozzle_cooling_fan]
|
|
pin: PH5
|
|
heater: extruder
|
|
heater_temp: 50.0
|
|
|
|
[fan]
|
|
pin: PH3
|
|
|
|
[display]
|
|
lcd_type: hd44780
|
|
rs_pin: PD5
|
|
e_pin: PF7
|
|
d4_pin: PF5
|
|
d5_pin: PG4
|
|
d6_pin: PH7
|
|
d7_pin: PG3
|
|
encoder_pins: ^PJ1,^PJ2
|
|
click_pin: ^!PH6
|
|
|
|
[pause_resume]
|
|
|
|
[virtual_sdcard]
|
|
path: ${gcode_path}
|
|
|
|
[respond]
|
|
default_type: command
|
|
|
|
[probe]
|
|
pin: PB4
|
|
x_offset: 23
|
|
y_offset: 5
|
|
z_offset: 0.8
|
|
speed: 12.0
|
|
|
|
[bed_mesh]
|
|
speed: 140
|
|
horizontal_move_z: 2
|
|
mesh_min: 24, 6
|
|
mesh_max: 238, 210
|
|
probe_count: 7
|
|
mesh_pps: 2
|
|
fade_start: 1
|
|
fade_end: 10
|
|
fade_target: 0
|
|
move_check_distance: 15
|
|
algorithm: bicubic
|
|
bicubic_tension: .2
|
|
relative_reference_index: 24
|
|
faulty_region_1_min: 116.75, 41.81
|
|
faulty_region_1_max: 133.25, 78.81
|
|
faulty_region_2_min: 156.5, 99.31
|
|
faulty_region_2_max: 193.5, 115.81
|
|
faulty_region_3_min: 116.75, 136.21
|
|
faulty_region_3_max: 133.25, 173.31
|
|
|
|
[homing_override]
|
|
gcode:
|
|
G1 Z3 F600
|
|
G28 X0 Y0
|
|
G1 X131 Y108 F5000
|
|
G28 Z0
|
|
axes: Z
|
|
set_position_x: 0
|
|
set_position_y: 0
|
|
set_position_z: 0
|
|
|
|
[output_pin BEEPER_pin]
|
|
pin: PH2
|
|
pwm: True
|
|
value: 0
|
|
shutdown_value:0
|
|
cycle_time: 0.001
|
|
scale: 1000
|
|
|
|
[force_move]
|
|
enable_force_move: True
|
|
|
|
[idle_timeout]
|
|
gcode:
|
|
M104 S0
|
|
M84
|
|
|
|
[gcode_macro PAUSE]
|
|
rename_existing: BASE_PAUSE
|
|
gcode:
|
|
{% if not printer.pause_resume.is_paused %}
|
|
M600
|
|
{% endif %}
|
|
|
|
[gcode_macro M600]
|
|
variable_extr_temp: 0
|
|
gcode:
|
|
{% set X = params.X|default(100) %}
|
|
{% set Y = params.Y|default(100) %}
|
|
{% set Z = params.Z|default(100) %}
|
|
BASE_PAUSE
|
|
SET_GCODE_VARIABLE MACRO=M600 VARIABLE=extr_temp VALUE={printer.extruder.target}
|
|
G91
|
|
{% if printer.extruder.temperature|float > 180 %}
|
|
G1 E-.8 F2700
|
|
{% endif %}
|
|
G1 Z{Z}
|
|
G90
|
|
G1 X{X} Y{Y} F3000
|
|
|
|
[gcode_macro RESUME]
|
|
rename_existing: BASE_RESUME
|
|
gcode:
|
|
{% if printer.pause_resume.is_paused %}
|
|
{% if printer["gcode_macro M600"].extr_temp %}
|
|
M109 S{printer["gcode_macro M600"].extr_temp}
|
|
{% endif %}
|
|
BASE_RESUME
|
|
{% endif %}
|
|
|
|
[gcode_macro LOAD_FILAMENT]
|
|
gcode:
|
|
M117 Loading Filament...
|
|
G92 E0.0
|
|
G91
|
|
G1 E50 F400
|
|
G1 E25 F100
|
|
G90
|
|
G92 E0.0
|
|
M400
|
|
M117 Load Complete
|
|
UPDATE_DELAYED_GCODE ID=clear_display DURATION=5
|
|
|
|
[gcode_macro UNLOAD_FILAMENT]
|
|
gcode:
|
|
M117 Unloading Filament...
|
|
G92 E0.0
|
|
G91
|
|
G1 E-32 F5200
|
|
G1 E-10 F100
|
|
G1 E-38 F1000
|
|
G90
|
|
G92 E0.0
|
|
M400
|
|
M300 S300 P1000
|
|
M117 Remove Filament Now!
|
|
UPDATE_DELAYED_GCODE ID=clear_display DURATION=5
|
|
|
|
[gcode_macro G80]
|
|
gcode:
|
|
G28
|
|
BED_MESH_CALIBRATE
|
|
G1 X0 Y0 F4000
|
|
|
|
[gcode_macro G81]
|
|
gcode:
|
|
{% set S = params.S|default(0) %}
|
|
BED_MESH_OUTPUT CENTER_ZERO={S}
|
|
|
|
[gcode_macro M300]
|
|
gcode:
|
|
{% set S = params.S|default(1000) %}
|
|
{% set P = params.P|default(100) %}
|
|
SET_PIN PIN=BEEPER_pin VALUE={S}
|
|
G4 P{P}
|
|
SET_PIN PIN=BEEPER_pin VALUE=0
|
|
|
|
[gcode_macro PRINT_START]
|
|
gcode:
|
|
{% set MATERIAL = params.MATERIAL|default("Unknown") %}
|
|
{% set LAYER_HEIGHT = params.LAYER_HEIGHT|default(0) %}
|
|
M83
|
|
CLEAR_PAUSE
|
|
SET_IDLE_TIMEOUT TIMEOUT=600
|
|
SET_PRESSURE_ADVANCE ADVANCE=0
|
|
SET_GCODE_OFFSET Z=0
|
|
G90
|
|
M104 S170
|
|
M190 S{params.BTMP}
|
|
M109 S170
|
|
G80
|
|
M104 S{params.ETMP}
|
|
G1 X1 Y-3.0 Z20 F1000.0 ; go outside print area
|
|
M109 S{params.ETMP}
|
|
G1 Z.4
|
|
G92 E0.0
|
|
G91
|
|
G1 X60.0 E9.0 F1000.0 ; intro line
|
|
G1 X40.0 E12.5 F1000.0 ; intro line
|
|
G90
|
|
G92 E0.0
|
|
{% if MATERIAL != "PLA" %}
|
|
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1
|
|
{% endif %}
|
|
{% if LAYER_HEIGHT|float < 0.051 %}
|
|
M221 S100
|
|
{% else %}
|
|
M221 S95
|
|
{% endif %}
|
|
|
|
[gcode_macro PRINT_END]
|
|
gcode:
|
|
CLEAR_PAUSE
|
|
M400
|
|
BED_MESH_CLEAR
|
|
G92 E0.0
|
|
G91
|
|
{% if printer.gcode_move.gcode_position.x > 20 %}
|
|
{% if printer.gcode_move.gcode_position.y > 20 %}
|
|
G1 Z+1.00 X-20.0 Y-20.0 F20000 ;short quick move to disengage from print
|
|
{% else %}
|
|
G1 Z+1.00 X-20.0 F20000 ;short quick move to disengage from print
|
|
{% endif %}
|
|
{% elif printer.gcode_move.gcode_position.y > 20 %}
|
|
G1 Z+1.00 Y-20.0 F20000 ;short quick move to disengage from print
|
|
{% endif %}
|
|
G1 E-8.00 F500 ;retract additional filament to prevent oozing
|
|
G90
|
|
{% if printer.gcode_move.gcode_position.z < 100 %}
|
|
G0 Z100 F1500
|
|
{% elif printer.gcode_move.gcode_position.z < 190 %}
|
|
G91
|
|
G0 Z10 F1500
|
|
G90
|
|
{% endif %}
|
|
G0 X10 Y200 F6000
|
|
SET_GCODE_OFFSET Z=0 MOVE=1
|
|
TURN_OFF_HEATERS
|
|
SET_VELOCITY_LIMIT VELOCITY=300 SQUARE_CORNER_VELOCITY=5
|
|
M84
|
|
M107
|
|
M204 S3000
|
|
M221 S100
|
|
|
|
[gcode_macro CANCEL_PRINT]
|
|
rename_existing: BASE_CANCEL_PRINT
|
|
gcode:
|
|
PAUSE
|
|
SDCARD_RESET_FILE
|
|
PRINT_END
|
|
CLEAR_PAUSE
|
|
|
|
[gcode_macro TEST_REMOTE_METHOD]
|
|
gcode:
|
|
{action_call_remote_method(method="moonraker_test",
|
|
result="test")}
|