Skip to content

Input Shaping Calib: Types, RepRap + Improvements#10913

Merged
SoftFever merged 29 commits into
OrcaSlicer:mainfrom
ianalexis:IS-Step-0
Oct 19, 2025
Merged

Input Shaping Calib: Types, RepRap + Improvements#10913
SoftFever merged 29 commits into
OrcaSlicer:mainfrom
ianalexis:IS-Step-0

Conversation

@ianalexis

@ianalexis ianalexis commented Sep 30, 2025

Copy link
Copy Markdown
Collaborator

Description

Added Input Shaping Types to the calibration + RepRap compatibility.
Now the Dlg detects the flavor (see known issues) and use the correct type list or values to ask for.

Aiming to add what @gregmatic saids in this comment

  • Add Input Shaper Types

    • Klipper
    • RepRap
    • Marlin ZV (FT_Motion is not stable yet)
  • Improve Variables:

    • Klipper set: SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0 at first layer of test
    • Jerk: Use maximum between
      • Min between Max Jerk X and Max Jerk Y.
      • Reference
        • Klipper: 5
        • Others: 10
    • Marlin 2 JD: Max between 0.25 and Machine Max.
  • Increased Accel to use Max of the motion ability or 20.000

  • Step 0: Not added, read below.

  • Update Wiki

    • Added notes about Speed
    • Comment about fast tower
    • Examples on how to set it in printer's start g-code (thanks: @cdunn95)
      • Looking forward to implement some menú for it (look "Future").
  • Need someone to test the GUI on mac

  • RepRap theorical implementation (need someone actually testing it)

About Step 0:

I don't think it's important to use an increasing acceleration tower. Using a high acceleration triggers vibrations, so I increased the default acceleration to 20,000. This value will be limited by the maximum acceleration value set in the machine profile (in Motion Ability).

Known issues:

  • The Gcode flavor used to show the correct options but it's not updating correctly, it uses the one from the machine selected before clicking the calibration for the first time.
  • The documentation error is thanks to a current error in main. Check Wiki 13: Layer time variability + Minor Improvements #10677

Future

I want to add the IS values to the Machine profile but i want to get SoftFever OK before to code it.

Images

  • Klipper
imagen imagen
  • RepRap
imagen imagen
  • Marlin 2
imagen imagen
  • Marlin Legacy
imagen imagen

@ianalexis ianalexis force-pushed the IS-Step-0 branch 2 times, most recently from 8abe982 to 7a4b036 Compare September 30, 2025 18:43
@ianalexis ianalexis changed the title Input Shaping Test: Base test + improvements Input Shaping Calib: Base test + improvements Sep 30, 2025
@ianalexis ianalexis changed the title Input Shaping Calib: Base test + improvements Input Shaping Calib: improvements Sep 30, 2025
@ianalexis ianalexis changed the title Input Shaping Calib: improvements Input Shaping Calib: Types, RepRap + Improvements Oct 1, 2025
@ianalexis ianalexis marked this pull request as ready for review October 1, 2025 22:25
@yw4z

yw4z commented Oct 3, 2025

Copy link
Copy Markdown
Collaborator

you can create a note / warning instead adding description to every radio item for RepRap
i think 3 item per row will look cleaner for input type. also use 2humpei and 3humpei on same column. i assume you have to use vertical direction for it
one of it should do that

new RadioGroup(this, type_labels, wxVERTICAL, 3); 
new RadioGroup(this, type_labels, wxHORIZONTAL, 2); 

@ianalexis

Copy link
Copy Markdown
Collaborator Author

you can create a note / warning instead adding description to every radio item for RepRap

mmmm, yes i think im gonna do that and remove the dual string thing.

i think 3 item per row will look cleaner for input type. also use 2humpei and 3humpei on same column

will check it

@ianalexis

Copy link
Copy Markdown
Collaborator Author
new RadioGroup(this, type_labels, wxVERTICAL, 3); 

So, I've done the best I could without overcomplicating things.
It's not the most beautiful thing in the world but it mantains it's order when default it's an option and mantaining the some orderd.

@cdunn95

cdunn95 commented Oct 7, 2025

Copy link
Copy Markdown
Contributor

Looks a lot better! One suggestion I have would be to include an info message on the shaping type portion of the UI which states something along the lines of:

It is recommended to use EI or MZV when performing calibration

Comment thread src/libslic3r/GCode.cpp
Comment thread src/libslic3r/GCode.cpp

@SoftFever SoftFever left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, it looks good to me.
Thank you for enhancing this calibration 👍
I made some fixes and minor changes; please let me know if you think any of them were incorrect.
If everything looks good, we can proceed with the merge.

@ianalexis

Copy link
Copy Markdown
Collaborator Author

Overall, it looks good to me.
Thank you for enhancing this calibration 👍
I made some fixes and minor changes; please let me know if you think any of them were incorrect.
If everything looks good, we can proceed with the merge.

It's perfect, thanks for the review and change it directly. I'm not at home and this make the process a lot faster.

@SoftFever SoftFever merged commit d786aec into OrcaSlicer:main Oct 19, 2025
19 checks passed
@ianalexis ianalexis deleted the IS-Step-0 branch October 20, 2025 00:32
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 20, 2025
* main: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
dbaarda pushed a commit to dbaarda/OrcaSlicer that referenced this pull request Oct 21, 2025
* opt-filltpmsfk: (21 commits)
  Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924)
  Fix Z offset for 1st layer (OrcaSlicer#11011)
  Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641)
  Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084)
  Limit Shrinkage values (OrcaSlicer#10930)
  Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841)
  Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913)
  Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677)
  Validation Action comment Remove + Improvement (OrcaSlicer#10617)
  Material Type standarization + Technical Filament Types (OrcaSlicer#10553)
  Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747)
  Fix several imgui UTF8 related issues (OrcaSlicer#11078)
  Make top resizing grabber larger on Windows (OrcaSlicer#11023)
  Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665)
  Add the u8 marker to UTF-8 strings (OrcaSlicer#10666)
  Add static assert for bed number related values (OrcaSlicer#11035)
  BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942)
  [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933)
  overflow inital setup screen (OrcaSlicer#11007)
  Clarify warning about malicious websites
  ...
valerii-bokhan pushed a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Oct 22, 2025
* IS Freq duplicated as Base

* IS jerk to 5

* JD jerk to 0

* Base 1 layer + MINIMUM_CRUISE_RATIO=0

* Tab

* Remove IS BASE

* Update Plater.cpp

* Klipper Jerk 5, Others 10

* JD in Marlin2

* Types

* Horizontal

* Different lists

* RepRap IS writer

* Smart Flavors and axis

* RepRap values lowercase

* Hide Y axix for RepRap

* Max Jerk or JD

* Reorder

* Removed dual list + Default

* RepRap show UpperCase use LowerCase

* RepRap P"type" Type of input shaping to use, not case sensitive.

* RepRap DAA

* Reorder Klipper

* Custom Firmware Note

* Better Display

Co-Authored-By: yw4z <[email protected]>

* Better notes

* Update + Clean Wiki

Co-Authored-By: gregmatic <[email protected]>

* Wiki Update

Update Images
Improve guide

Co-Authored-By: Cameron D <[email protected]>

* Fix G-code generation issue and refine input shaping calibration documentation

---------

Co-authored-by: yw4z <[email protected]>
Co-authored-by: gregmatic <[email protected]>
Co-authored-by: Cameron D <[email protected]>
Co-authored-by: SoftFever <[email protected]>
valerii-bokhan pushed a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Oct 22, 2025
* IS Freq duplicated as Base

* IS jerk to 5

* JD jerk to 0

* Base 1 layer + MINIMUM_CRUISE_RATIO=0

* Tab

* Remove IS BASE

* Update Plater.cpp

* Klipper Jerk 5, Others 10

* JD in Marlin2

* Types

* Horizontal

* Different lists

* RepRap IS writer

* Smart Flavors and axis

* RepRap values lowercase

* Hide Y axix for RepRap

* Max Jerk or JD

* Reorder

* Removed dual list + Default

* RepRap show UpperCase use LowerCase

* RepRap P"type" Type of input shaping to use, not case sensitive.

* RepRap DAA

* Reorder Klipper

* Custom Firmware Note

* Better Display

Co-Authored-By: yw4z <[email protected]>

* Better notes

* Update + Clean Wiki

Co-Authored-By: gregmatic <[email protected]>

* Wiki Update

Update Images
Improve guide

Co-Authored-By: Cameron D <[email protected]>

* Fix G-code generation issue and refine input shaping calibration documentation

---------

Co-authored-by: yw4z <[email protected]>
Co-authored-by: gregmatic <[email protected]>
Co-authored-by: Cameron D <[email protected]>
Co-authored-by: SoftFever <[email protected]>
valerii-bokhan pushed a commit to valerii-bokhan/OrcaSlicer that referenced this pull request Oct 22, 2025
* IS Freq duplicated as Base

* IS jerk to 5

* JD jerk to 0

* Base 1 layer + MINIMUM_CRUISE_RATIO=0

* Tab

* Remove IS BASE

* Update Plater.cpp

* Klipper Jerk 5, Others 10

* JD in Marlin2

* Types

* Horizontal

* Different lists

* RepRap IS writer

* Smart Flavors and axis

* RepRap values lowercase

* Hide Y axix for RepRap

* Max Jerk or JD

* Reorder

* Removed dual list + Default

* RepRap show UpperCase use LowerCase

* RepRap P"type" Type of input shaping to use, not case sensitive.

* RepRap DAA

* Reorder Klipper

* Custom Firmware Note

* Better Display

Co-Authored-By: yw4z <[email protected]>

* Better notes

* Update + Clean Wiki

Co-Authored-By: gregmatic <[email protected]>

* Wiki Update

Update Images
Improve guide

Co-Authored-By: Cameron D <[email protected]>

* Fix G-code generation issue and refine input shaping calibration documentation

---------

Co-authored-by: yw4z <[email protected]>
Co-authored-by: gregmatic <[email protected]>
Co-authored-by: Cameron D <[email protected]>
Co-authored-by: SoftFever <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants