Use cs.filament_size from ConfigurationStore.
This commit is contained in:
parent
e225e9cab0
commit
ca179a2d18
@ -146,13 +146,13 @@ void Config_PrintSettings(uint8_t level)
|
|||||||
#endif
|
#endif
|
||||||
if (cs.volumetric_enabled) {
|
if (cs.volumetric_enabled) {
|
||||||
printf_P(PSTR("%SFilament settings:\n%S M200 D%.2f\n"),
|
printf_P(PSTR("%SFilament settings:\n%S M200 D%.2f\n"),
|
||||||
echomagic, echomagic, filament_size[0]);
|
echomagic, echomagic, cs.filament_size[0]);
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
printf_P(PSTR("%S M200 T1 D%.2f\n"),
|
printf_P(PSTR("%S M200 T1 D%.2f\n"),
|
||||||
echomagic, echomagic, filament_size[1]);
|
echomagic, echomagic, cs.filament_size[1]);
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
printf_P(PSTR("%S M200 T1 D%.2f\n"),
|
printf_P(PSTR("%S M200 T1 D%.2f\n"),
|
||||||
echomagic, echomagic, filament_size[2]);
|
echomagic, echomagic, cs.filament_size[2]);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
@ -171,13 +171,17 @@ void Config_PrintSettings(uint8_t level)
|
|||||||
|
|
||||||
#ifdef EEPROM_SETTINGS
|
#ifdef EEPROM_SETTINGS
|
||||||
|
|
||||||
static_assert (EXTRUDERS == 1, "ConfigurationStore M500_conf not implemented for more extruders.");
|
static_assert (EXTRUDERS == 1, "ConfigurationStore M500_conf not implemented for more extruders, fix filament_size array size.");
|
||||||
static_assert (NUM_AXIS == 4, "ConfigurationStore M500_conf not implemented for more axis.");
|
static_assert (NUM_AXIS == 4, "ConfigurationStore M500_conf not implemented for more axis."
|
||||||
|
"Fix axis_steps_per_unit max_feedrate_normal max_acceleration_units_per_sq_second_normal max_jerk max_feedrate_silent"
|
||||||
|
" max_acceleration_units_per_sq_second_silent array size.");
|
||||||
#ifdef ENABLE_AUTO_BED_LEVELING
|
#ifdef ENABLE_AUTO_BED_LEVELING
|
||||||
static_assert (false, "zprobe_zoffset was not initialized in printers in field to -(Z_PROBE_OFFSET_FROM_EXTRUDER), so it contains"
|
static_assert (false, "zprobe_zoffset was not initialized in printers in field to -(Z_PROBE_OFFSET_FROM_EXTRUDER), so it contains"
|
||||||
"0.0, if this is not acceptable, increment EEPROM_VERSION to force use default_conf");
|
"0.0, if this is not acceptable, increment EEPROM_VERSION to force use default_conf");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static_assert (sizeof(M500_conf) == 188, "sizeof(M500_conf) has changed, ensure that EEPROM_VERSION has been incremented, "
|
||||||
|
"or if you added members in the end of struct, ensure that historically uninitialized values will be initialized");
|
||||||
|
|
||||||
static const M500_conf default_conf PROGMEM =
|
static const M500_conf default_conf PROGMEM =
|
||||||
{
|
{
|
||||||
@ -207,14 +211,18 @@ static const M500_conf default_conf PROGMEM =
|
|||||||
RETRACT_RECOVER_LENGTH,
|
RETRACT_RECOVER_LENGTH,
|
||||||
RETRACT_RECOVER_FEEDRATE,
|
RETRACT_RECOVER_FEEDRATE,
|
||||||
false,
|
false,
|
||||||
{DEFAULT_NOMINAL_FILAMENT_DIA},
|
{DEFAULT_NOMINAL_FILAMENT_DIA,
|
||||||
|
#if EXTRUDERS > 1
|
||||||
|
DEFAULT_NOMINAL_FILAMENT_DIA,
|
||||||
|
#if EXTRUDERS > 2
|
||||||
|
DEFAULT_NOMINAL_FILAMENT_DIA,
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
},
|
||||||
DEFAULT_MAX_FEEDRATE_SILENT,
|
DEFAULT_MAX_FEEDRATE_SILENT,
|
||||||
DEFAULT_MAX_ACCELERATION_SILENT,
|
DEFAULT_MAX_ACCELERATION_SILENT,
|
||||||
};
|
};
|
||||||
|
|
||||||
static_assert (sizeof(M500_conf) == 188, "sizeof(M500_conf) has changed, ensure that version has been incremented, "
|
|
||||||
"or if you added members in the end of struct, ensure that historically uninitialized values will be initialized");
|
|
||||||
|
|
||||||
//!
|
//!
|
||||||
//! @retval true Stored or default settings retrieved
|
//! @retval true Stored or default settings retrieved
|
||||||
//! @retval false default settings retrieved, eeprom was erased.
|
//! @retval false default settings retrieved, eeprom was erased.
|
||||||
|
@ -32,7 +32,7 @@ typedef struct
|
|||||||
float retract_recover_length;
|
float retract_recover_length;
|
||||||
float retract_recover_feedrate;
|
float retract_recover_feedrate;
|
||||||
bool volumetric_enabled;
|
bool volumetric_enabled;
|
||||||
float filament_size[1];
|
float filament_size[1]; //!< cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.
|
||||||
float max_feedrate_silent[4];
|
float max_feedrate_silent[4];
|
||||||
unsigned long max_acceleration_units_per_sq_second_silent[4];
|
unsigned long max_acceleration_units_per_sq_second_silent[4];
|
||||||
} __attribute__ ((packed)) M500_conf;
|
} __attribute__ ((packed)) M500_conf;
|
||||||
|
@ -270,7 +270,6 @@ extern bool axis_relative_modes[];
|
|||||||
extern int feedmultiply;
|
extern int feedmultiply;
|
||||||
extern int extrudemultiply; // Sets extrude multiply factor (in percent) for all extruders
|
extern int extrudemultiply; // Sets extrude multiply factor (in percent) for all extruders
|
||||||
extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually
|
extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually
|
||||||
extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.
|
|
||||||
extern float volumetric_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner
|
extern float volumetric_multiplier[EXTRUDERS]; // reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner
|
||||||
extern float current_position[NUM_AXIS] ;
|
extern float current_position[NUM_AXIS] ;
|
||||||
extern float destination[NUM_AXIS] ;
|
extern float destination[NUM_AXIS] ;
|
||||||
|
@ -368,14 +368,7 @@ char dir_names[3][9];
|
|||||||
|
|
||||||
bool sortAlpha = false;
|
bool sortAlpha = false;
|
||||||
|
|
||||||
float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA
|
|
||||||
#if EXTRUDERS > 1
|
|
||||||
, DEFAULT_NOMINAL_FILAMENT_DIA
|
|
||||||
#if EXTRUDERS > 2
|
|
||||||
, DEFAULT_NOMINAL_FILAMENT_DIA
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
float extruder_multiplier[EXTRUDERS] = {1.0
|
float extruder_multiplier[EXTRUDERS] = {1.0
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
, 1.0
|
, 1.0
|
||||||
@ -5848,13 +5841,13 @@ Sigma_Exit:
|
|||||||
// for all extruders
|
// for all extruders
|
||||||
cs.volumetric_enabled = false;
|
cs.volumetric_enabled = false;
|
||||||
} else {
|
} else {
|
||||||
filament_size[extruder] = (float)code_value();
|
cs.filament_size[extruder] = (float)code_value();
|
||||||
// make sure all extruders have some sane value for the filament size
|
// make sure all extruders have some sane value for the filament size
|
||||||
filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]);
|
cs.filament_size[0] = (cs.filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : cs.filament_size[0]);
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]);
|
cs.filament_size[1] = (cs.filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : cs.filament_size[1]);
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]);
|
cs.filament_size[2] = (cs.filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : cs.filament_size[2]);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
cs.volumetric_enabled = true;
|
cs.volumetric_enabled = true;
|
||||||
@ -7655,11 +7648,11 @@ float calculate_extruder_multiplier(float diameter) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void calculate_extruder_multipliers() {
|
void calculate_extruder_multipliers() {
|
||||||
extruder_multiplier[0] = calculate_extruder_multiplier(filament_size[0]);
|
extruder_multiplier[0] = calculate_extruder_multiplier(cs.filament_size[0]);
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
extruder_multiplier[1] = calculate_extruder_multiplier(filament_size[1]);
|
extruder_multiplier[1] = calculate_extruder_multiplier(cs.filament_size[1]);
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
extruder_multiplier[2] = calculate_extruder_multiplier(filament_size[2]);
|
extruder_multiplier[2] = calculate_extruder_multiplier(cs.filament_size[2]);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user