added filesystem sync and file handler checks to avoid going too fast with corrupted CSVs

This commit is contained in:
Félix Boisselier
2023-11-27 14:49:36 +01:00
parent 060a800cc3
commit da10593ca7
2 changed files with 38 additions and 13 deletions

View File

@@ -2,9 +2,10 @@
###### STANDARD INPUT_SHAPER CALIBRATIONS ######
################################################
# Written by Frix_x#0161 #
# @version: 1.4
# @version: 1.5
# CHANGELOG:
# v1.5: modified EXCITATE_AXIS_AT_FREQ to allow A or B belt testing
# v1.4: added possibility to only run one axis at a time for the axes shaper calibration
# v1.3: added possibility to override the default parameters
# v1.2: added EXCITATE_AXIS_AT_FREQ to hold a specific excitating frequency on an axis and diagnose mechanical problems
@@ -26,7 +27,7 @@
[gcode_macro AXES_SHAPER_CALIBRATION]
description: Run standard input shaper test for all axes
description: Perform standard axis input shaper tests on one or both XY axes to select the best input shaper filter
gcode:
{% set verbose = params.VERBOSE|default(true) %}
{% set min_freq = params.FREQ_START|default(5)|float %}
@@ -51,7 +52,8 @@ gcode:
M400
{% if verbose %}
RESPOND MSG="X axis shaper graphs generation..."
RESPOND MSG="X axis frequency profile generation..."
RESPOND MSG="This may take some time (1-3min)"
{% endif %}
RUN_SHELL_COMMAND CMD=plot_graph PARAMS=SHAPER
{% endif %}
@@ -61,14 +63,15 @@ gcode:
M400
{% if verbose %}
RESPOND MSG="Y axis shaper graphs generation..."
RESPOND MSG="Y axis frequency profile generation..."
RESPOND MSG="This may take some time (1-3min)"
{% endif %}
RUN_SHELL_COMMAND CMD=plot_graph PARAMS=SHAPER
{% endif %}
[gcode_macro BELTS_SHAPER_CALIBRATION]
description: Run custom demi-axe test to analyze belts on CoreXY printers
description: Perform a custom half-axis test to analyze and compare the frequency profiles of individual belts on CoreXY printers
gcode:
{% set verbose = params.VERBOSE|default(true) %}
{% set min_freq = params.FREQ_START|default(5)|float %}
@@ -77,21 +80,33 @@ gcode:
TEST_RESONANCES AXIS=1,1 OUTPUT=raw_data NAME=b FREQ_START={min_freq} FREQ_END={max_freq} HZ_PER_SEC={hz_per_sec}
M400
TEST_RESONANCES AXIS=1,-1 OUTPUT=raw_data NAME=a FREQ_START={min_freq} FREQ_END={max_freq} HZ_PER_SEC={hz_per_sec}
M400
{% if verbose %}
RESPOND MSG="Belts graphs generation..."
RESPOND MSG="Belts comparative frequency profile generation..."
RESPOND MSG="This may take some time (3-5min)"
{% endif %}
RUN_SHELL_COMMAND CMD=plot_graph PARAMS=BELTS
[gcode_macro EXCITATE_AXIS_AT_FREQ]
description: Maintain a specified input shaper excitating frequency for some time to diagnose vibrations
description: Maintain a specified input shaper excitation frequency for a period of time to diagnose and locate a source of vibration
gcode:
{% set FREQUENCY = params.FREQUENCY|default(25)|int %}
{% set TIME = params.TIME|default(10)|int %}
{% set AXIS = params.AXIS|default("x")|string|lower %}
{% if AXIS not in ["x", "y", "a", "b"] %}
{ action_raise_error("AXIS selection invalid. Should be either x, y, a or b!") }
{% endif %}
{% if axis == "a" %}
{% set AXIS = "1,-1" %}
{% elif axis == "b" %}
{% set AXIS = "1,1" %}
{% endif %}
TEST_RESONANCES OUTPUT=raw_data AXIS={AXIS} FREQ_START={FREQUENCY-1} FREQ_END={FREQUENCY+1} HZ_PER_SEC={1/(TIME/3)}
M400