mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-10 00:37:46 -07:00
Input Shaping Calib: Types, RepRap + Improvements (#10913)
* 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 <28517890+yw4z@users.noreply.github.com> * Better notes * Update + Clean Wiki Co-Authored-By: gregmatic <60957555+gregmatic@users.noreply.github.com> * Wiki Update Update Images Improve guide Co-Authored-By: Cameron D <30559428+cdunn95@users.noreply.github.com> * Fix G-code generation issue and refine input shaping calibration documentation --------- Co-authored-by: yw4z <28517890+yw4z@users.noreply.github.com> Co-authored-by: gregmatic <60957555+gregmatic@users.noreply.github.com> Co-authored-by: Cameron D <30559428+cdunn95@users.noreply.github.com> Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
a754387566
commit
d786aec255
13 changed files with 384 additions and 138 deletions
|
|
@ -3788,23 +3788,31 @@ LayerResult GCode::process_layer(
|
|||
}
|
||||
case CalibMode::Calib_Input_shaping_freq: {
|
||||
if (m_layer_index == 1){
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start, 0.f);
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start, 0.f, print.calib_params().shaper_type);
|
||||
if (m_writer.get_gcode_flavor() == gcfKlipper) {
|
||||
// Disable minimum cruise ratio to ensure consistent motion for calibration
|
||||
gcode += "SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0\n";
|
||||
}
|
||||
} else {
|
||||
if (print.calib_params().freqStartX == print.calib_params().freqStartY && print.calib_params().freqEndX == print.calib_params().freqEndY) {
|
||||
gcode += writer().set_input_shaping('A', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
gcode += writer().set_input_shaping('A', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3), "");
|
||||
} else {
|
||||
gcode += writer().set_input_shaping('X', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
gcode += writer().set_input_shaping('Y', 0.f, (print.calib_params().freqStartY) + ((print.calib_params().freqEndY)-(print.calib_params().freqStartY)) * (m_layer_index - 2) / (m_layer_count - 3));
|
||||
gcode += writer().set_input_shaping('X', 0.f, (print.calib_params().freqStartX) + ((print.calib_params().freqEndX)-(print.calib_params().freqStartX)) * (m_layer_index - 2) / (m_layer_count - 3), "");
|
||||
gcode += writer().set_input_shaping('Y', 0.f, (print.calib_params().freqStartY) + ((print.calib_params().freqEndY)-(print.calib_params().freqStartY)) * (m_layer_index - 2) / (m_layer_count - 3), "");
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CalibMode::Calib_Input_shaping_damp: {
|
||||
if (m_layer_index == 1){
|
||||
gcode += writer().set_input_shaping('X', 0.f, print.calib_params().freqStartX);
|
||||
gcode += writer().set_input_shaping('Y', 0.f, print.calib_params().freqStartY);
|
||||
if (m_writer.get_gcode_flavor() == gcfKlipper) {
|
||||
// Disable minimum cruise ratio to ensure consistent motion for calibration
|
||||
gcode += "SET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0\n";
|
||||
}
|
||||
gcode += writer().set_input_shaping('X', 0.f, print.calib_params().freqStartX, print.calib_params().shaper_type);
|
||||
gcode += writer().set_input_shaping('Y', 0.f, print.calib_params().freqStartY, print.calib_params().shaper_type);
|
||||
} else {
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start + ((print.calib_params().end)-(print.calib_params().start)) * (m_layer_index) / (m_layer_count), 0.f);
|
||||
gcode += writer().set_input_shaping('A', print.calib_params().start + ((print.calib_params().end)-(print.calib_params().start)) * (m_layer_index) / (m_layer_count), 0.f, "");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue