Add pre-calculated planner.e_factor
This commit is contained in:
parent
24b302c001
commit
3293823642
11 changed files with 110 additions and 85 deletions
|
|
@ -33,6 +33,7 @@
|
|||
#include "stepper.h"
|
||||
#include "configuration_store.h"
|
||||
#include "utility.h"
|
||||
#include "gcode.h"
|
||||
|
||||
#if HAS_BUZZER && DISABLED(LCD_USE_I2C_BUZZER)
|
||||
#include "buzzer.h"
|
||||
|
|
@ -1248,6 +1249,22 @@ void kill_screen(const char* lcd_msg) {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
// Refresh the E factor after changing flow
|
||||
inline void _lcd_refresh_e_factor_0() { planner.refresh_e_factor(0); }
|
||||
#if EXTRUDERS > 1
|
||||
inline void _lcd_refresh_e_factor() { planner.refresh_e_factor(active_extruder); }
|
||||
inline void _lcd_refresh_e_factor_1() { planner.refresh_e_factor(1); }
|
||||
#if EXTRUDERS > 2
|
||||
inline void _lcd_refresh_e_factor_2() { planner.refresh_e_factor(2); }
|
||||
#if EXTRUDERS > 3
|
||||
inline void _lcd_refresh_e_factor_3() { planner.refresh_e_factor(3); }
|
||||
#if EXTRUDERS > 4
|
||||
inline void _lcd_refresh_e_factor_4() { planner.refresh_e_factor(4); }
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
#endif // EXTRUDERS > 1
|
||||
|
||||
/**
|
||||
*
|
||||
* "Tune" submenu
|
||||
|
|
@ -1327,17 +1344,17 @@ void kill_screen(const char* lcd_msg) {
|
|||
// Flow [1-5]:
|
||||
//
|
||||
#if EXTRUDERS == 1
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW, &flow_percentage[0], 10, 999);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, _lcd_refresh_e_factor_0);
|
||||
#else // EXTRUDERS > 1
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW, &flow_percentage[active_extruder], 10, 999);
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW MSG_N1, &flow_percentage[0], 10, 999);
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW MSG_N2, &flow_percentage[1], 10, 999);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, _lcd_refresh_e_factor);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N1, &planner.flow_percentage[0], 10, 999, _lcd_refresh_e_factor_0);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N2, &planner.flow_percentage[1], 10, 999, _lcd_refresh_e_factor_1);
|
||||
#if EXTRUDERS > 2
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW MSG_N3, &flow_percentage[2], 10, 999);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N3, &planner.flow_percentage[2], 10, 999, _lcd_refresh_e_factor_2);
|
||||
#if EXTRUDERS > 3
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW MSG_N4, &flow_percentage[3], 10, 999);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N4, &planner.flow_percentage[3], 10, 999, _lcd_refresh_e_factor_3);
|
||||
#if EXTRUDERS > 4
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW MSG_N5, &flow_percentage[4], 10, 999);
|
||||
MENU_ITEM_EDIT_CALLBACK(int3, MSG_FLOW MSG_N5, &planner.flow_percentage[4], 10, 999, _lcd_refresh_e_factor_4);
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
|
|
@ -3678,20 +3695,20 @@ void kill_screen(const char* lcd_msg) {
|
|||
MENU_ITEM_EDIT(float3, MSG_ADVANCE_K, &planner.extruder_advance_k, 0, 999);
|
||||
#endif
|
||||
|
||||
MENU_ITEM_EDIT_CALLBACK(bool, MSG_VOLUMETRIC_ENABLED, &volumetric_enabled, calculate_volumetric_multipliers);
|
||||
MENU_ITEM_EDIT_CALLBACK(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
|
||||
|
||||
if (volumetric_enabled) {
|
||||
if (parser.volumetric_enabled) {
|
||||
#if EXTRUDERS == 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &filament_size[0], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#else // EXTRUDERS > 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &filament_size[0], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &filament_size[1], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 2
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &filament_size[2], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 3
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &filament_size[3], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 4
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &filament_size[4], 1.5, 3.25, calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue