added kinematics info to belt comparison graph
This commit is contained in:
@@ -424,7 +424,7 @@ def compute_signal_data(data, max_freq):
|
||||
######################################################################
|
||||
|
||||
|
||||
def belts_calibration(lognames, klipperdir='~/klipper', max_freq=200.0, st_version=None):
|
||||
def belts_calibration(lognames, kinematics, klipperdir='~/klipper', max_freq=200.0, st_version=None):
|
||||
set_locale()
|
||||
global shaper_calibrate
|
||||
shaper_calibrate = setup_klipper_import(klipperdir)
|
||||
@@ -493,6 +493,8 @@ def belts_calibration(lognames, klipperdir='~/klipper', max_freq=200.0, st_versi
|
||||
filename = lognames[0].split('/')[-1]
|
||||
dt = datetime.strptime(f"{filename.split('_')[1]} {filename.split('_')[2]}", '%Y%m%d %H%M%S')
|
||||
title_line2 = dt.strftime('%x %X')
|
||||
if kinematics is not None:
|
||||
title_line2 += ' -- ' + kinematics.upper() + ' kinematics'
|
||||
except Exception:
|
||||
print_with_c_locale(
|
||||
'Warning: CSV filenames look to be different than expected (%s , %s)' % (lognames[0], lognames[1])
|
||||
@@ -530,13 +532,20 @@ def main():
|
||||
opts.add_option(
|
||||
'-k', '--klipper_dir', type='string', dest='klipperdir', default='~/klipper', help='main klipper directory'
|
||||
)
|
||||
opts.add_option(
|
||||
'-m',
|
||||
'--kinematics',
|
||||
type='string',
|
||||
dest='kinematics',
|
||||
help='machine kinematics configuration',
|
||||
)
|
||||
options, args = opts.parse_args()
|
||||
if len(args) < 1:
|
||||
opts.error('Incorrect number of arguments')
|
||||
if options.output is None:
|
||||
opts.error('You must specify an output file.png to use the script (option -o)')
|
||||
|
||||
fig = belts_calibration(args, options.klipperdir, options.max_freq)
|
||||
fig = belts_calibration(args, options.kinematics, options.klipperdir, options.max_freq)
|
||||
fig.savefig(options.output, dpi=150)
|
||||
|
||||
|
||||
|
||||
@@ -207,8 +207,13 @@ class BeltsGraphCreator(GraphCreator):
|
||||
def __init__(self, keep_csv: bool = False, dpi: int = 150):
|
||||
super().__init__(keep_csv, dpi)
|
||||
|
||||
self._kinematics = None
|
||||
|
||||
self._setup_folder('belts')
|
||||
|
||||
def configure(self, kinematics: str) -> None:
|
||||
self._kinematics = kinematics
|
||||
|
||||
def create_graph(self) -> None:
|
||||
lognames = self._move_and_prepare_files(
|
||||
glob_pattern='raw_data_axis*.csv',
|
||||
@@ -217,6 +222,7 @@ class BeltsGraphCreator(GraphCreator):
|
||||
)
|
||||
fig = belts_calibration(
|
||||
lognames=[str(path) for path in lognames],
|
||||
kinematics=self._kinematics,
|
||||
klipperdir=str(Config.KLIPPER_FOLDER),
|
||||
st_version=self._version,
|
||||
)
|
||||
@@ -381,7 +387,7 @@ def main():
|
||||
print_with_c_locale(f'Shake&Tune version: {Config.get_git_version()}')
|
||||
|
||||
graph_creators = {
|
||||
'belts': (BeltsGraphCreator, None),
|
||||
'belts': (BeltsGraphCreator, lambda gc: gc.configure(options.kinematics)),
|
||||
'shaper': (ShaperGraphCreator, lambda gc: gc.configure(options.scv, options.max_smoothing)),
|
||||
'vibrations': (
|
||||
VibrationsGraphCreator,
|
||||
|
||||
Reference in New Issue
Block a user