# Documentation update request for Measuring Resonances:

**URL:** <https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182>\
**Category:** General Discussion\
**Created:** [February 23, 2025, 10:41pm UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182 "2025-02-23T22:41:44Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Automobilie](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Automobilie](https://klipper.discourse.group/u/Automobilie)\
**Post date:** [February 23, 2025, 10:41pm UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/1 "2025-02-23T22:41:44Z")

</div>

Doing some input shaping calibrations on my printers and found (what I think may be) an outdated section in the Klipper documentation under the ‘Measuring Resonances’ section:

 ![Screenshot 2025-02-23 133558](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/2/8/283f2eeeaab54a67ec1d9fe0e4d04aea38235ebd.jpeg)

When trying to create the graphs for the shaper it seems the two data files in the /tmp/ folder are now called “calibration\_data\_” instead of “resonances\_”, so the two lengths of code don’t find the correct files.

If the two lines of code were change from:

```auto
From:

~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o /tmp/shaper_calibrate_x.png
~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.csv -o /tmp/shaper_calibrate_y.png

To:

~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o /tmp/shaper_calibrate_x.png
~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o /tmp/shaper_calibrate_y.png

```

or perhaps have both lines mentioned as if the script throws a FileNotFoundError with the ‘resonances\_’ commands then use the ‘calibration\_data\_’ commands.

Anyways, just wanted to point that out! Really appreciate the documentation work and coding all you folks have done!

---

<div class="post-metadata">

**Author:** ![flowerysong](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/flowerysong/32/10214_2.png) [@flowerysong](https://klipper.discourse.group/u/flowerysong)\
**Post date:** [February 24, 2025, 4:18am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/2 "2025-02-24T04:18:43Z")

</div>

`calibration_data_*` is output by the automatic calibration command `SHAPER_CALIBRATE`, which is documented elsewhere in this file. The examples given are not out of date, they are part of this specific process which does not use this command so cannot generate those output files. You can’t expect to arbitrarily jam parts of two different processes together with zero effort on your part.

---

<div class="post-metadata">

**Author:** ![Automobilie](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Automobilie](https://klipper.discourse.group/u/Automobilie)\
**Post date:** [February 24, 2025, 4:43am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/3 "2025-02-24T04:43:21Z")

</div>

I see the calibration\_data\_\* mentioned further down under the SHAPER\_CALIBRATE section, but no mention that it can be used with the script.

Does that mean it cannot be used to generate the graphs?

Also, I didn’t mean any offense, just thought I spotted something that might be helpful 😕

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [February 24, 2025, 7:14am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/4 "2025-02-24T07:14:44Z")

</div>

I rechecked the documentation, and it is correct.

- `TEST_RESONANCES` command → `resonances_*.csv`
- `TEST_RESONANCES OUTPUT=raw_data` command → `raw_data_axis*.csv`
- `SHAPER_CALIBRATE` command → `calibration_data_*.csv`

Each of these commands and the corresponding filenames is mentioned in the correct context in the documentation.

The `SHAPER_CALIBRATE` command is explicitly for autotuning from a web interface **without** the need to drop to the shell and perform manual work.

The need to mention that `calibrate_shaper.py` can be used with all three output formats is debatable, but would not hurt. Feel free to submit a PR to improve this section.

---

<div class="post-metadata">

**Author:** ![Automobilie](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Automobilie](https://klipper.discourse.group/u/Automobilie)\
**Post date:** [February 26, 2025, 1:09am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/5 "2025-02-26T01:09:17Z")

</div>

Thanks Sineos!

Would something like this make sense to be added? Any changes before submitting a PR?

 ![Screenshot 2025-02-25 154440](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/e/7/e75827df172d226e33978aef68c660f747c829ea.jpeg)

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [February 26, 2025, 7:11am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/6 "2025-02-26T07:11:18Z")

</div>

Thanks for working on it!

My recommendation would be:  
The `SHAPER_CALIBRATE` command is introduced here: [Measuring Resonances - Klipper documentation](https://www.klipper3d.org/Measuring_Resonances.html#input-shaper-auto-calibration)

Right at the beginning, it is already mentioned:

 ![grafik](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/b/a/ba38eb1850e657c6d7418419552817b01d694774.png)

Rephrase this section and move the information to the end of this chapter, something like:

> The `SHAPER_CALIBRATE` command also generates `csv` output (`/tmp/calibration_data_*.csv`), which can be processed using the `calibrate_shaper.py` script, for example:
> 
> ```auto
> ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o /tmp/shaper_calibrate_x.png
> ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o /tmp/shaper_calibrate_y.png
> 
> ```

As stated before, I would think that all the needed information is already present, so duplicating it at various places might be debatable as it will blow up the chapter, which is already quite unwieldy. Maybe something like the following is already enough:

> The `SHAPER_CALIBRATE` command also generates `csv` output, but with different filenames (`/tmp/calibration_data_*.csv`). These files can also be processed using the scripts as shown in the chapters above.

Or even shorter, leaving the whole structure as is:

> This will run the full test for both axes and generate the csv output (`/tmp/calibration_data_*.csv` by default , which is also compatible with the analysis scripts above) for the frequency response and the suggested input shapers.

---

<div class="post-metadata">

**Author:** ![Automobilie](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Automobilie](https://klipper.discourse.group/u/Automobilie)\
**Post date:** [February 26, 2025, 8:40am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/7 "2025-02-26T08:40:41Z")

</div>

It definitely would keep things a bit more organized to have the commands down in the SHAPER\_CALIBRATE section, so I can update the PR for that! I do think it’s worth having the command lines like in the rephrase you have as I’ve always found it handy to have the commands to transpose into SSH when working through the Klipper manual!

I guess my thinking with having it up under the ‘Measuring Resonances’ section is that is where I’d be reading on how to generate the graphs and with both TEST\_RESONANCES and SHAPER\_CALIBRATE being capable of producing the raw data for the scripts it made sense to have that information close together.

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [February 26, 2025, 9:30am UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/8 "2025-02-26T09:30:24Z")

</div>

> [@Automobilie](#):
>
> I guess my thinking with having it up under the ‘Measuring Resonances’ section is that is where I’d be reading on how to generate the graphs and with both TEST\_RESONANCES and SHAPER\_CALIBRATE being capable of producing the raw data for the scripts it made sense to have that information close together.

If you are following the reading flow, it makes sense to introduce the command `SHAPER_CALIBRATE` before mentioning “advanced” usage topics.

---

<div class="post-metadata">

**Author:** ![Automobilie](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Automobilie](https://klipper.discourse.group/u/Automobilie)\
**Post date:** [February 26, 2025, 10:22pm UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/9 "2025-02-26T22:22:30Z")

</div>

> [@Sineos](#):
>
> The `SHAPER_CALIBRATE` command also generates `csv` output (`/tmp/calibration_data_*.csv`), which can be processed using the `calibrate_shaper.py` script, for example:
> 
> ```auto
> ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_x_*.csv -o /tmp/shaper_calibrate_x.png
> ~/klipper/scripts/calibrate_shaper.py /tmp/calibration_data_y_*.csv -o /tmp/shaper_calibrate_y.png
> 
> ```

Moved the edit down to the end of the section and merged it with the existing reference to `SHAPER_CALIBRATE`. Only adds a line and the two commands, much more compact, but still near the section on generating the graphs! 🙂

 ![Screenshot 2025-02-26 132048](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/4/2/42ca5841be3db5570c2f2034db0ae037bb72b957.jpeg)

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/klipper/original/1X/64419bf2aac6639e6ef5cef200dcd456b0a01ac3.png) [@system](https://klipper.discourse.group/u/system)\
**Post date:** [April 27, 2025, 10:23pm UTC](https://klipper.discourse.group/t/documentation-update-request-for-measuring-resonances/22182/10 "2025-04-27T22:23:12Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
