MCPcopy Create free account
hub / github.com/MarlinFirmware/Marlin / postprocess

Method postprocess

Marlin/src/module/settings.cpp:724–773  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

722#endif
723
724void MarlinSettings::postprocess() {
725 xyze_pos_t oldpos = current_position;
726
727 // steps per s2 needs to be updated to agree with units per s2
728 planner.refresh_acceleration_rates();
729
730 // Make sure delta kinematics are updated before refreshing the
731 // planner position so the stepper counts will be set correctly.
732 TERN_(DELTA, recalc_delta_settings());
733
734 TERN_(PIDTEMP, thermalManager.updatePID());
735
736 #if DISABLED(NO_VOLUMETRICS)
737 planner.calculate_volumetric_multipliers();
738 #elif EXTRUDERS
739 for (uint8_t i = COUNT(planner.e_factor); i--;)
740 planner.refresh_e_factor(i);
741 #endif
742
743 // Software endstops depend on home_offset
744 LOOP_NUM_AXES(i) update_software_endstops((AxisEnum)i);
745
746 TERN_(ENABLE_LEVELING_FADE_HEIGHT, set_z_fade_height(new_z_fade_height, false)); // false = no report
747
748 TERN_(AUTO_BED_LEVELING_BILINEAR, bedlevel.refresh_bed_level());
749
750 TERN_(HAS_MOTOR_CURRENT_PWM, stepper.refresh_motor_power());
751
752 TERN_(FWRETRACT, fwretract.refresh_autoretract());
753
754 TERN_(HAS_LINEAR_E_JERK, planner.recalculate_max_e_jerk());
755
756 TERN_(CASELIGHT_USES_BRIGHTNESS, caselight.update_brightness());
757
758 TERN_(EXTENSIBLE_UI, ExtUI::onPostprocessSettings());
759
760 // Refresh mm_per_step with the reciprocal of axis_steps_per_mm
761 // and init stepper.count[], planner.position[] with current_position
762 planner.refresh_positioning();
763
764 // Various factors can change the current position
765 if (oldpos != current_position)
766 report_current_position();
767
768 // Moved as last update due to interference with NeoPixel init
769 TERN_(HAS_LCD_CONTRAST, ui.refresh_contrast());
770 TERN_(HAS_LCD_BRIGHTNESS, ui.refresh_brightness());
771 TERN_(HAS_BACKLIGHT_TIMEOUT, ui.refresh_backlight_timeout());
772 TERN_(HAS_DISPLAY_SLEEP, ui.refresh_screen_timeout());
773}
774
775#if ALL(PRINTCOUNTER, EEPROM_SETTINGS)
776 #include "printcounter.h"

Callers

nothing calls this directly

Calls 15

recalc_delta_settingsFunction · 0.85
update_software_endstopsFunction · 0.85
set_z_fade_heightFunction · 0.85
report_current_positionFunction · 0.85
updatePIDMethod · 0.80
refresh_e_factorMethod · 0.80
refresh_bed_levelMethod · 0.80
refresh_motor_powerMethod · 0.80
refresh_autoretractMethod · 0.80

Tested by

no test coverage detected