Eric Callahan 5f9706f6be test: initial testing framework
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>
2022-02-17 11:19:41 -05:00

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")}