mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 15:07:31 -06:00
Vfa calibs - Input Shaping & Junction Deviation (#9160)
@RF47 and I have been working on a **two-step input shaping calibration** to help fine-tune print quality and Junction Deviation Test for Marlin2 printers. This is based on [Klipper's Resonance Compensation](https://www.klipper3d.org/Resonance_Compensation.html#resonance-compensation), [Marlin’s M593 G-code](https://marlinfw.org/docs/gcode/M593.html), discussions from [SoftFever/OrcaSlicer#1820](https://github.com/SoftFever/OrcaSlicer/issues/1820), some elements from the [input_shaping branch](https://github.com/SoftFever/OrcaSlicer/tree/feature/input_shaping) and Junction Deviation [Marlin Documentation](https://marlinfw.org/docs/configuration/configuration.html#junction-deviation-) This is for Marlin only, but I'm working on a future Klipper-compatible version here: [VFA-Calibs+Klipper](https://github.com/ianalexis/OrcaSlicer/tree/VFA-Calibs%2BKlipper). However, we don't own a Klipper machine, so we're unsure how to improve it or verify if it works correctly. ### Calibration Steps 1. **Frequency Test** – Helps identify the optimal input shaping frequency. 2. **Damping Test** – Fine-tunes the damping ratio for smoother prints. ### Screenshots         ## Tests - Marlin tested on **Ender 3-class printers** (@RF47 and @ianalexis) - Klipper tested in Voron 2.4 and an FLSun T1 Pro @ShaneDelmore - Tested in Windows and MacOs.
This commit is contained in:
commit
32efc176d9
16 changed files with 925 additions and 35 deletions
|
@ -57,6 +57,12 @@ std::string get_calib_mode_name(CalibMode cali_mode, int stage)
|
|||
return "vfa_tower_calib_mode";
|
||||
case CalibMode::Calib_Retraction_tower:
|
||||
return "retration_tower_calib_mode";
|
||||
case CalibMode::Calib_Input_shaping_freq:
|
||||
return "input_shaping_freq_calib_mode";
|
||||
case CalibMode::Calib_Input_shaping_damp:
|
||||
return "input_shaping_damp_calib_mode";
|
||||
case CalibMode::Calib_Junction_Deviation:
|
||||
return "junction_deviation_calib_mode";
|
||||
default:
|
||||
assert(false);
|
||||
return "";
|
||||
|
@ -196,6 +202,12 @@ CalibMode CalibUtils::get_calib_mode_by_name(const std::string name, int& cali_s
|
|||
return CalibMode::Calib_VFA_Tower;
|
||||
else if (name == "retration_tower_calib_mode")
|
||||
return CalibMode::Calib_Retraction_tower;
|
||||
else if (name == "input_shaping_freq_calib_mode")
|
||||
return CalibMode::Calib_Input_shaping_freq;
|
||||
else if (name == "input_shaping_damp_calib_mode")
|
||||
return CalibMode::Calib_Input_shaping_damp;
|
||||
else if (name == "junction_deviation_calib_mode")
|
||||
return CalibMode::Calib_Junction_Deviation;
|
||||
return CalibMode::Calib_None;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue