|
|
@ -95,7 +95,7 @@
|
|
|
|
#include "ultralcd.h"
|
|
|
|
#include "ultralcd.h"
|
|
|
|
#include "configuration_store.h"
|
|
|
|
#include "configuration_store.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef MESH_BED_LEVELING
|
|
|
|
#if ENABLED(MESH_BED_LEVELING)
|
|
|
|
#include "mesh_bed_leveling.h"
|
|
|
|
#include "mesh_bed_leveling.h"
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -130,7 +130,7 @@ void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size) {
|
|
|
|
|
|
|
|
|
|
|
|
#define EEPROM_OFFSET 100
|
|
|
|
#define EEPROM_OFFSET 100
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef EEPROM_SETTINGS
|
|
|
|
#if ENABLED(EEPROM_SETTINGS)
|
|
|
|
|
|
|
|
|
|
|
|
void Config_StoreSettings() {
|
|
|
|
void Config_StoreSettings() {
|
|
|
|
float dummy = 0.0f;
|
|
|
|
float dummy = 0.0f;
|
|
|
@ -153,7 +153,7 @@ void Config_StoreSettings() {
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t mesh_num_x = 3;
|
|
|
|
uint8_t mesh_num_x = 3;
|
|
|
|
uint8_t mesh_num_y = 3;
|
|
|
|
uint8_t mesh_num_y = 3;
|
|
|
|
#ifdef MESH_BED_LEVELING
|
|
|
|
#if ENABLED(MESH_BED_LEVELING)
|
|
|
|
// Compile time test that sizeof(mbl.z_values) is as expected
|
|
|
|
// Compile time test that sizeof(mbl.z_values) is as expected
|
|
|
|
typedef char c_assert[(sizeof(mbl.z_values) == MESH_NUM_X_POINTS*MESH_NUM_Y_POINTS*sizeof(dummy)) ? 1 : -1];
|
|
|
|
typedef char c_assert[(sizeof(mbl.z_values) == MESH_NUM_X_POINTS*MESH_NUM_Y_POINTS*sizeof(dummy)) ? 1 : -1];
|
|
|
|
mesh_num_x = MESH_NUM_X_POINTS;
|
|
|
|
mesh_num_x = MESH_NUM_X_POINTS;
|
|
|
@ -171,17 +171,17 @@ void Config_StoreSettings() {
|
|
|
|
for (int q=0; q<mesh_num_x*mesh_num_y; q++) EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
for (int q=0; q<mesh_num_x*mesh_num_y; q++) EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
#endif // MESH_BED_LEVELING
|
|
|
|
#endif // MESH_BED_LEVELING
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ENABLE_AUTO_BED_LEVELING
|
|
|
|
#if DISABLED(ENABLE_AUTO_BED_LEVELING)
|
|
|
|
float zprobe_zoffset = 0;
|
|
|
|
float zprobe_zoffset = 0;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
EEPROM_WRITE_VAR(i, zprobe_zoffset);
|
|
|
|
EEPROM_WRITE_VAR(i, zprobe_zoffset);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef DELTA
|
|
|
|
#if ENABLED(DELTA)
|
|
|
|
EEPROM_WRITE_VAR(i, endstop_adj); // 3 floats
|
|
|
|
EEPROM_WRITE_VAR(i, endstop_adj); // 3 floats
|
|
|
|
EEPROM_WRITE_VAR(i, delta_radius); // 1 float
|
|
|
|
EEPROM_WRITE_VAR(i, delta_radius); // 1 float
|
|
|
|
EEPROM_WRITE_VAR(i, delta_diagonal_rod); // 1 float
|
|
|
|
EEPROM_WRITE_VAR(i, delta_diagonal_rod); // 1 float
|
|
|
|
EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float
|
|
|
|
EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float
|
|
|
|
#elif defined(Z_DUAL_ENDSTOPS)
|
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS)
|
|
|
|
EEPROM_WRITE_VAR(i, z_endstop_adj); // 1 floats
|
|
|
|
EEPROM_WRITE_VAR(i, z_endstop_adj); // 1 floats
|
|
|
|
dummy = 0.0f;
|
|
|
|
dummy = 0.0f;
|
|
|
|
for (int q=5; q--;) EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
for (int q=5; q--;) EEPROM_WRITE_VAR(i, dummy);
|
|
|
@ -190,7 +190,7 @@ void Config_StoreSettings() {
|
|
|
|
for (int q=6; q--;) EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
for (int q=6; q--;) EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ULTIPANEL
|
|
|
|
#if DISABLED(ULTIPANEL)
|
|
|
|
int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED,
|
|
|
|
int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED,
|
|
|
|
absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
|
|
|
|
absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
|
|
|
|
#endif // !ULTIPANEL
|
|
|
|
#endif // !ULTIPANEL
|
|
|
@ -204,12 +204,12 @@ void Config_StoreSettings() {
|
|
|
|
|
|
|
|
|
|
|
|
for (int e = 0; e < 4; e++) {
|
|
|
|
for (int e = 0; e < 4; e++) {
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
#if ENABLED(PIDTEMP)
|
|
|
|
if (e < EXTRUDERS) {
|
|
|
|
if (e < EXTRUDERS) {
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kp, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kp, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Ki, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Ki, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kd, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kd, e));
|
|
|
|
#ifdef PID_ADD_EXTRUSION_RATE
|
|
|
|
#if ENABLED(PID_ADD_EXTRUSION_RATE)
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kc, e));
|
|
|
|
EEPROM_WRITE_VAR(i, PID_PARAM(Kc, e));
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
dummy = 1.0f; // 1.0 = default kc
|
|
|
|
dummy = 1.0f; // 1.0 = default kc
|
|
|
@ -227,7 +227,7 @@ void Config_StoreSettings() {
|
|
|
|
|
|
|
|
|
|
|
|
} // Extruders Loop
|
|
|
|
} // Extruders Loop
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef PIDTEMPBED
|
|
|
|
#if DISABLED(PIDTEMPBED)
|
|
|
|
float bedKp = DUMMY_PID_VALUE, bedKi = DUMMY_PID_VALUE, bedKd = DUMMY_PID_VALUE;
|
|
|
|
float bedKp = DUMMY_PID_VALUE, bedKi = DUMMY_PID_VALUE, bedKd = DUMMY_PID_VALUE;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -235,19 +235,19 @@ void Config_StoreSettings() {
|
|
|
|
EEPROM_WRITE_VAR(i, bedKi);
|
|
|
|
EEPROM_WRITE_VAR(i, bedKi);
|
|
|
|
EEPROM_WRITE_VAR(i, bedKd);
|
|
|
|
EEPROM_WRITE_VAR(i, bedKd);
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef HAS_LCD_CONTRAST
|
|
|
|
#if DISABLED(HAS_LCD_CONTRAST)
|
|
|
|
int lcd_contrast = 32;
|
|
|
|
const int lcd_contrast = 32;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
EEPROM_WRITE_VAR(i, lcd_contrast);
|
|
|
|
EEPROM_WRITE_VAR(i, lcd_contrast);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef SCARA
|
|
|
|
#if ENABLED(SCARA)
|
|
|
|
EEPROM_WRITE_VAR(i, axis_scaling); // 3 floats
|
|
|
|
EEPROM_WRITE_VAR(i, axis_scaling); // 3 floats
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
dummy = 1.0f;
|
|
|
|
dummy = 1.0f;
|
|
|
|
EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
EEPROM_WRITE_VAR(i, dummy);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef FWRETRACT
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
EEPROM_WRITE_VAR(i, autoretract_enabled);
|
|
|
|
EEPROM_WRITE_VAR(i, autoretract_enabled);
|
|
|
|
EEPROM_WRITE_VAR(i, retract_length);
|
|
|
|
EEPROM_WRITE_VAR(i, retract_length);
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#if EXTRUDERS > 1
|
|
|
@ -327,7 +327,7 @@ void Config_RetrieveSettings() {
|
|
|
|
EEPROM_READ_VAR(i, dummy_uint8);
|
|
|
|
EEPROM_READ_VAR(i, dummy_uint8);
|
|
|
|
EEPROM_READ_VAR(i, mesh_num_x);
|
|
|
|
EEPROM_READ_VAR(i, mesh_num_x);
|
|
|
|
EEPROM_READ_VAR(i, mesh_num_y);
|
|
|
|
EEPROM_READ_VAR(i, mesh_num_y);
|
|
|
|
#ifdef MESH_BED_LEVELING
|
|
|
|
#if ENABLED(MESH_BED_LEVELING)
|
|
|
|
mbl.active = dummy_uint8;
|
|
|
|
mbl.active = dummy_uint8;
|
|
|
|
if (mesh_num_x == MESH_NUM_X_POINTS && mesh_num_y == MESH_NUM_Y_POINTS) {
|
|
|
|
if (mesh_num_x == MESH_NUM_X_POINTS && mesh_num_y == MESH_NUM_Y_POINTS) {
|
|
|
|
EEPROM_READ_VAR(i, mbl.z_values);
|
|
|
|
EEPROM_READ_VAR(i, mbl.z_values);
|
|
|
@ -339,17 +339,17 @@ void Config_RetrieveSettings() {
|
|
|
|
for (int q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ_VAR(i, dummy);
|
|
|
|
for (int q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ_VAR(i, dummy);
|
|
|
|
#endif // MESH_BED_LEVELING
|
|
|
|
#endif // MESH_BED_LEVELING
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ENABLE_AUTO_BED_LEVELING
|
|
|
|
#if DISABLED(ENABLE_AUTO_BED_LEVELING)
|
|
|
|
float zprobe_zoffset = 0;
|
|
|
|
float zprobe_zoffset = 0;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
EEPROM_READ_VAR(i, zprobe_zoffset);
|
|
|
|
EEPROM_READ_VAR(i, zprobe_zoffset);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef DELTA
|
|
|
|
#if ENABLED(DELTA)
|
|
|
|
EEPROM_READ_VAR(i, endstop_adj); // 3 floats
|
|
|
|
EEPROM_READ_VAR(i, endstop_adj); // 3 floats
|
|
|
|
EEPROM_READ_VAR(i, delta_radius); // 1 float
|
|
|
|
EEPROM_READ_VAR(i, delta_radius); // 1 float
|
|
|
|
EEPROM_READ_VAR(i, delta_diagonal_rod); // 1 float
|
|
|
|
EEPROM_READ_VAR(i, delta_diagonal_rod); // 1 float
|
|
|
|
EEPROM_READ_VAR(i, delta_segments_per_second); // 1 float
|
|
|
|
EEPROM_READ_VAR(i, delta_segments_per_second); // 1 float
|
|
|
|
#elif defined(Z_DUAL_ENDSTOPS)
|
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS)
|
|
|
|
EEPROM_READ_VAR(i, z_endstop_adj);
|
|
|
|
EEPROM_READ_VAR(i, z_endstop_adj);
|
|
|
|
dummy = 0.0f;
|
|
|
|
dummy = 0.0f;
|
|
|
|
for (int q=5; q--;) EEPROM_READ_VAR(i, dummy);
|
|
|
|
for (int q=5; q--;) EEPROM_READ_VAR(i, dummy);
|
|
|
@ -358,7 +358,7 @@ void Config_RetrieveSettings() {
|
|
|
|
for (int q=6; q--;) EEPROM_READ_VAR(i, dummy);
|
|
|
|
for (int q=6; q--;) EEPROM_READ_VAR(i, dummy);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef ULTIPANEL
|
|
|
|
#if DISABLED(ULTIPANEL)
|
|
|
|
int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed,
|
|
|
|
int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed,
|
|
|
|
absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed;
|
|
|
|
absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -370,7 +370,7 @@ void Config_RetrieveSettings() {
|
|
|
|
EEPROM_READ_VAR(i, absPreheatHPBTemp);
|
|
|
|
EEPROM_READ_VAR(i, absPreheatHPBTemp);
|
|
|
|
EEPROM_READ_VAR(i, absPreheatFanSpeed);
|
|
|
|
EEPROM_READ_VAR(i, absPreheatFanSpeed);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
#if ENABLED(PIDTEMP)
|
|
|
|
for (int e = 0; e < 4; e++) { // 4 = max extruders currently supported by Marlin
|
|
|
|
for (int e = 0; e < 4; e++) { // 4 = max extruders currently supported by Marlin
|
|
|
|
EEPROM_READ_VAR(i, dummy); // Kp
|
|
|
|
EEPROM_READ_VAR(i, dummy); // Kp
|
|
|
|
if (e < EXTRUDERS && dummy != DUMMY_PID_VALUE) {
|
|
|
|
if (e < EXTRUDERS && dummy != DUMMY_PID_VALUE) {
|
|
|
@ -378,7 +378,7 @@ void Config_RetrieveSettings() {
|
|
|
|
PID_PARAM(Kp, e) = dummy;
|
|
|
|
PID_PARAM(Kp, e) = dummy;
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Ki, e));
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Ki, e));
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Kd, e));
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Kd, e));
|
|
|
|
#ifdef PID_ADD_EXTRUSION_RATE
|
|
|
|
#if ENABLED(PID_ADD_EXTRUSION_RATE)
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Kc, e));
|
|
|
|
EEPROM_READ_VAR(i, PID_PARAM(Kc, e));
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
EEPROM_READ_VAR(i, dummy);
|
|
|
|
EEPROM_READ_VAR(i, dummy);
|
|
|
@ -393,7 +393,7 @@ void Config_RetrieveSettings() {
|
|
|
|
for (int q=16; q--;) EEPROM_READ_VAR(i, dummy); // 4x Kp, Ki, Kd, Kc
|
|
|
|
for (int q=16; q--;) EEPROM_READ_VAR(i, dummy); // 4x Kp, Ki, Kd, Kc
|
|
|
|
#endif // !PIDTEMP
|
|
|
|
#endif // !PIDTEMP
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef PIDTEMPBED
|
|
|
|
#if DISABLED(PIDTEMPBED)
|
|
|
|
float bedKp, bedKi, bedKd;
|
|
|
|
float bedKp, bedKi, bedKd;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
@ -407,18 +407,18 @@ void Config_RetrieveSettings() {
|
|
|
|
for (int q=2; q--;) EEPROM_READ_VAR(i, dummy); // bedKi, bedKd
|
|
|
|
for (int q=2; q--;) EEPROM_READ_VAR(i, dummy); // bedKi, bedKd
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef HAS_LCD_CONTRAST
|
|
|
|
#if DISABLED(HAS_LCD_CONTRAST)
|
|
|
|
int lcd_contrast;
|
|
|
|
int lcd_contrast;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
EEPROM_READ_VAR(i, lcd_contrast);
|
|
|
|
EEPROM_READ_VAR(i, lcd_contrast);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef SCARA
|
|
|
|
#if ENABLED(SCARA)
|
|
|
|
EEPROM_READ_VAR(i, axis_scaling); // 3 floats
|
|
|
|
EEPROM_READ_VAR(i, axis_scaling); // 3 floats
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
EEPROM_READ_VAR(i, dummy);
|
|
|
|
EEPROM_READ_VAR(i, dummy);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef FWRETRACT
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
EEPROM_READ_VAR(i, autoretract_enabled);
|
|
|
|
EEPROM_READ_VAR(i, autoretract_enabled);
|
|
|
|
EEPROM_READ_VAR(i, retract_length);
|
|
|
|
EEPROM_READ_VAR(i, retract_length);
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#if EXTRUDERS > 1
|
|
|
@ -455,7 +455,7 @@ void Config_RetrieveSettings() {
|
|
|
|
SERIAL_ECHOLNPGM(" bytes)");
|
|
|
|
SERIAL_ECHOLNPGM(" bytes)");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef EEPROM_CHITCHAT
|
|
|
|
#if ENABLED(EEPROM_CHITCHAT)
|
|
|
|
Config_PrintSettings();
|
|
|
|
Config_PrintSettings();
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -474,7 +474,7 @@ void Config_ResetDefault() {
|
|
|
|
axis_steps_per_unit[i] = tmp1[i];
|
|
|
|
axis_steps_per_unit[i] = tmp1[i];
|
|
|
|
max_feedrate[i] = tmp2[i];
|
|
|
|
max_feedrate[i] = tmp2[i];
|
|
|
|
max_acceleration_units_per_sq_second[i] = tmp3[i];
|
|
|
|
max_acceleration_units_per_sq_second[i] = tmp3[i];
|
|
|
|
#ifdef SCARA
|
|
|
|
#if ENABLED(SCARA)
|
|
|
|
if (i < COUNT(axis_scaling))
|
|
|
|
if (i < COUNT(axis_scaling))
|
|
|
|
axis_scaling[i] = 1;
|
|
|
|
axis_scaling[i] = 1;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
@ -494,25 +494,25 @@ void Config_ResetDefault() {
|
|
|
|
max_e_jerk = DEFAULT_EJERK;
|
|
|
|
max_e_jerk = DEFAULT_EJERK;
|
|
|
|
home_offset[X_AXIS] = home_offset[Y_AXIS] = home_offset[Z_AXIS] = 0;
|
|
|
|
home_offset[X_AXIS] = home_offset[Y_AXIS] = home_offset[Z_AXIS] = 0;
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef MESH_BED_LEVELING
|
|
|
|
#if ENABLED(MESH_BED_LEVELING)
|
|
|
|
mbl.active = 0;
|
|
|
|
mbl.active = 0;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef ENABLE_AUTO_BED_LEVELING
|
|
|
|
#if ENABLED(ENABLE_AUTO_BED_LEVELING)
|
|
|
|
zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
|
|
|
|
zprobe_zoffset = Z_PROBE_OFFSET_FROM_EXTRUDER;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef DELTA
|
|
|
|
#if ENABLED(DELTA)
|
|
|
|
endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0;
|
|
|
|
endstop_adj[X_AXIS] = endstop_adj[Y_AXIS] = endstop_adj[Z_AXIS] = 0;
|
|
|
|
delta_radius = DELTA_RADIUS;
|
|
|
|
delta_radius = DELTA_RADIUS;
|
|
|
|
delta_diagonal_rod = DELTA_DIAGONAL_ROD;
|
|
|
|
delta_diagonal_rod = DELTA_DIAGONAL_ROD;
|
|
|
|
delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND;
|
|
|
|
delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND;
|
|
|
|
recalc_delta_settings(delta_radius, delta_diagonal_rod);
|
|
|
|
recalc_delta_settings(delta_radius, delta_diagonal_rod);
|
|
|
|
#elif defined(Z_DUAL_ENDSTOPS)
|
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS)
|
|
|
|
z_endstop_adj = 0;
|
|
|
|
z_endstop_adj = 0;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef ULTIPANEL
|
|
|
|
#if ENABLED(ULTIPANEL)
|
|
|
|
plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP;
|
|
|
|
plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP;
|
|
|
|
plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP;
|
|
|
|
plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP;
|
|
|
|
plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
|
|
|
|
plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
|
|
|
@ -521,12 +521,12 @@ void Config_ResetDefault() {
|
|
|
|
absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
|
|
|
|
absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef HAS_LCD_CONTRAST
|
|
|
|
#if ENABLED(HAS_LCD_CONTRAST)
|
|
|
|
lcd_contrast = DEFAULT_LCD_CONTRAST;
|
|
|
|
lcd_contrast = DEFAULT_LCD_CONTRAST;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
#if ENABLED(PIDTEMP)
|
|
|
|
#ifdef PID_PARAMS_PER_EXTRUDER
|
|
|
|
#if ENABLED(PID_PARAMS_PER_EXTRUDER)
|
|
|
|
for (int e = 0; e < EXTRUDERS; e++)
|
|
|
|
for (int e = 0; e < EXTRUDERS; e++)
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
int e = 0; // only need to write once
|
|
|
|
int e = 0; // only need to write once
|
|
|
@ -535,7 +535,7 @@ void Config_ResetDefault() {
|
|
|
|
PID_PARAM(Kp, e) = DEFAULT_Kp;
|
|
|
|
PID_PARAM(Kp, e) = DEFAULT_Kp;
|
|
|
|
PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki);
|
|
|
|
PID_PARAM(Ki, e) = scalePID_i(DEFAULT_Ki);
|
|
|
|
PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd);
|
|
|
|
PID_PARAM(Kd, e) = scalePID_d(DEFAULT_Kd);
|
|
|
|
#ifdef PID_ADD_EXTRUSION_RATE
|
|
|
|
#if ENABLED(PID_ADD_EXTRUSION_RATE)
|
|
|
|
PID_PARAM(Kc, e) = DEFAULT_Kc;
|
|
|
|
PID_PARAM(Kc, e) = DEFAULT_Kc;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -543,13 +543,13 @@ void Config_ResetDefault() {
|
|
|
|
updatePID();
|
|
|
|
updatePID();
|
|
|
|
#endif // PIDTEMP
|
|
|
|
#endif // PIDTEMP
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMPBED
|
|
|
|
#if ENABLED(PIDTEMPBED)
|
|
|
|
bedKp = DEFAULT_bedKp;
|
|
|
|
bedKp = DEFAULT_bedKp;
|
|
|
|
bedKi = scalePID_i(DEFAULT_bedKi);
|
|
|
|
bedKi = scalePID_i(DEFAULT_bedKi);
|
|
|
|
bedKd = scalePID_d(DEFAULT_bedKd);
|
|
|
|
bedKd = scalePID_d(DEFAULT_bedKd);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef FWRETRACT
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
autoretract_enabled = false;
|
|
|
|
autoretract_enabled = false;
|
|
|
|
retract_length = RETRACT_LENGTH;
|
|
|
|
retract_length = RETRACT_LENGTH;
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#if EXTRUDERS > 1
|
|
|
@ -573,7 +573,7 @@ void Config_ResetDefault() {
|
|
|
|
SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
|
|
|
|
SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef DISABLE_M503
|
|
|
|
#if DISABLED(DISABLE_M503)
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Print Configuration Settings - M503
|
|
|
|
* Print Configuration Settings - M503
|
|
|
@ -598,7 +598,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
|
|
|
|
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef SCARA
|
|
|
|
#if ENABLED(SCARA)
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("Scaling factors:");
|
|
|
|
SERIAL_ECHOLNPGM("Scaling factors:");
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
@ -663,7 +663,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_ECHOPAIR(" Z", home_offset[Z_AXIS]);
|
|
|
|
SERIAL_ECHOPAIR(" Z", home_offset[Z_AXIS]);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef MESH_BED_LEVELING
|
|
|
|
#if ENABLED(MESH_BED_LEVELING)
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("Mesh bed leveling:");
|
|
|
|
SERIAL_ECHOLNPGM("Mesh bed leveling:");
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
@ -683,7 +683,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef DELTA
|
|
|
|
#if ENABLED(DELTA)
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("Endstop adjustment (mm):");
|
|
|
|
SERIAL_ECHOLNPGM("Endstop adjustment (mm):");
|
|
|
@ -700,7 +700,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_ECHOPAIR(" R", delta_radius);
|
|
|
|
SERIAL_ECHOPAIR(" R", delta_radius);
|
|
|
|
SERIAL_ECHOPAIR(" S", delta_segments_per_second);
|
|
|
|
SERIAL_ECHOPAIR(" S", delta_segments_per_second);
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
#elif defined(Z_DUAL_ENDSTOPS)
|
|
|
|
#elif ENABLED(Z_DUAL_ENDSTOPS)
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("Z2 Endstop adjustment (mm):");
|
|
|
|
SERIAL_ECHOLNPGM("Z2 Endstop adjustment (mm):");
|
|
|
@ -710,7 +710,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
#endif // DELTA
|
|
|
|
#endif // DELTA
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef ULTIPANEL
|
|
|
|
#if ENABLED(ULTIPANEL)
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("Material heatup parameters:");
|
|
|
|
SERIAL_ECHOLNPGM("Material heatup parameters:");
|
|
|
@ -727,13 +727,13 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
#endif // ULTIPANEL
|
|
|
|
#endif // ULTIPANEL
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(PIDTEMP) || defined(PIDTEMPBED)
|
|
|
|
#if ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED)
|
|
|
|
|
|
|
|
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("PID settings:");
|
|
|
|
SERIAL_ECHOLNPGM("PID settings:");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#ifdef PIDTEMP
|
|
|
|
#if ENABLED(PIDTEMP)
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
if (forReplay) {
|
|
|
|
if (forReplay) {
|
|
|
|
for (uint8_t i = 0; i < EXTRUDERS; i++) {
|
|
|
|
for (uint8_t i = 0; i < EXTRUDERS; i++) {
|
|
|
@ -742,7 +742,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_ECHOPAIR(" P", PID_PARAM(Kp, i));
|
|
|
|
SERIAL_ECHOPAIR(" P", PID_PARAM(Kp, i));
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, i)));
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, i)));
|
|
|
|
SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, i)));
|
|
|
|
SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, i)));
|
|
|
|
#ifdef PID_ADD_EXTRUSION_RATE
|
|
|
|
#if ENABLED(PID_ADD_EXTRUSION_RATE)
|
|
|
|
SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, i));
|
|
|
|
SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, i));
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
@ -756,14 +756,14 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echo values for E0
|
|
|
|
SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echo values for E0
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0)));
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0)));
|
|
|
|
SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0)));
|
|
|
|
SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0)));
|
|
|
|
#ifdef PID_ADD_EXTRUSION_RATE
|
|
|
|
#if ENABLED(PID_ADD_EXTRUSION_RATE)
|
|
|
|
SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, 0));
|
|
|
|
SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, 0));
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif // PIDTEMP
|
|
|
|
#endif // PIDTEMP
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef PIDTEMPBED
|
|
|
|
#if ENABLED(PIDTEMPBED)
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
SERIAL_ECHOPAIR(" M304 P", bedKp);
|
|
|
|
SERIAL_ECHOPAIR(" M304 P", bedKp);
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(bedKi));
|
|
|
|
SERIAL_ECHOPAIR(" I", unscalePID_i(bedKi));
|
|
|
@ -773,7 +773,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
|
|
|
|
|
|
|
|
#endif // PIDTEMP || PIDTEMPBED
|
|
|
|
#endif // PIDTEMP || PIDTEMPBED
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef HAS_LCD_CONTRAST
|
|
|
|
#if ENABLED(HAS_LCD_CONTRAST)
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_ECHOLNPGM("LCD Contrast:");
|
|
|
|
SERIAL_ECHOLNPGM("LCD Contrast:");
|
|
|
@ -783,7 +783,7 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
SERIAL_EOL;
|
|
|
|
SERIAL_EOL;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef FWRETRACT
|
|
|
|
#if ENABLED(FWRETRACT)
|
|
|
|
|
|
|
|
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
@ -857,8 +857,8 @@ void Config_PrintSettings(bool forReplay) {
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Auto Bed Leveling
|
|
|
|
* Auto Bed Leveling
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#ifdef ENABLE_AUTO_BED_LEVELING
|
|
|
|
#if ENABLED(ENABLE_AUTO_BED_LEVELING)
|
|
|
|
#ifdef CUSTOM_M_CODES
|
|
|
|
#if ENABLED(CUSTOM_M_CODES)
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
CONFIG_ECHO_START;
|
|
|
|
SERIAL_ECHOLNPGM("Z-Probe Offset (mm):");
|
|
|
|
SERIAL_ECHOLNPGM("Z-Probe Offset (mm):");
|
|
|
|