-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspeedtest.cfg
42 lines (40 loc) · 1.97 KB
/
speedtest.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[gcode_macro SPEEDTEST]
gcode:
{% set fmin = params.FMIN|default(50)|float * 60 %}
{% set fmax = params.FMAX|default(150)|float * 60 %}
{% set steps = params.STEPS|default(10)|int %}
{% set cycles = params.CYCLES|default(1)|int %}
{% set inset = params.INSET|default(30)|float %}
{% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %}
{% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %}
{% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %}
{% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %}
SAVE_GCODE_STATE NAME=speedtest_state
G90
{% for INTERVAL in range(steps) %}
{% for REPEAT in range(cycles) %}
{% if fmin == fmax %}
{% set feedrate = fmin %}
{% else %}
{% set feedrate = fmin + ( (fmax - fmin) / (steps -1) ) * INTERVAL %}
{% endif %}
M400 # Wait for queue to empty
M117 {INTERVAL+1}/{steps} {"%4.0f mm/s" % (feedrate/60)}
#M118 {INTERVAL+1}/{steps} {"%4.0f mm/s" % (feedrate/60)}
G1 F{feedrate} # set feedrate for the round
G1 X{minX} Y{minY} # front left
G1 X{minX} Y{minY + (maxY-minY)/2} # mid left
G1 X{maxX} Y{minY + (maxY-minY)/2} # mid right
G1 X{minX} Y{minY + (maxY-minY)/2} # mid left
G1 X{minX} Y{minY} # front left
G1 X{maxX} Y{maxY} # back right
G1 X{maxX} Y{minY} # front right
G1 X{minX} Y{maxY} # back left
G1 X{minX} Y{minY + (maxY-minY)/2} # center left for circle start
G2 I{(maxY-minY)/2} J0 #circle move cw
G3 I{(maxY-minY)/2} J0 #circle move cсw
{% endfor %}
{% endfor %}
M117
# park_toolhead
RESTORE_GCODE_STATE NAME=speedtest_state