|
|
|
@ -37,7 +37,7 @@
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// Change EEPROM version if the structure changes
|
|
|
|
|
#define EEPROM_VERSION "V64"
|
|
|
|
|
#define EEPROM_VERSION "V65"
|
|
|
|
|
#define EEPROM_OFFSET 100
|
|
|
|
|
|
|
|
|
|
// Check the integrity of data offsets.
|
|
|
|
@ -90,6 +90,10 @@
|
|
|
|
|
|
|
|
|
|
#include "../feature/pause.h"
|
|
|
|
|
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
#include "../feature/runout.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if ENABLED(EXTRA_LIN_ADVANCE_K)
|
|
|
|
|
extern float saved_extruder_advance_K[EXTRUDERS];
|
|
|
|
|
#endif
|
|
|
|
@ -141,6 +145,11 @@ typedef struct SettingsDataStruct {
|
|
|
|
|
float hotend_offset[XYZ][HOTENDS - 1]; // M218 XYZ
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// FILAMENT_RUNOUT_SENSOR
|
|
|
|
|
//
|
|
|
|
|
bool runout_sensor_enabled; // M412 S
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// ENABLE_LEVELING_FADE_HEIGHT
|
|
|
|
|
//
|
|
|
|
@ -291,6 +300,8 @@ typedef struct SettingsDataStruct {
|
|
|
|
|
|
|
|
|
|
} SettingsData;
|
|
|
|
|
|
|
|
|
|
//static_assert(sizeof(SettingsData) <= E2END + 1, "EEPROM too small to contain SettingsData!");
|
|
|
|
|
|
|
|
|
|
MarlinSettings settings;
|
|
|
|
|
|
|
|
|
|
uint16_t MarlinSettings::datasize() { return sizeof(SettingsData); }
|
|
|
|
@ -512,6 +523,18 @@ void MarlinSettings::postprocess() {
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Filament Runout Sensor
|
|
|
|
|
//
|
|
|
|
|
{
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
EEPROM_WRITE(runout.enabled);
|
|
|
|
|
#else
|
|
|
|
|
const bool runout_sensor_enabled = true;
|
|
|
|
|
EEPROM_WRITE(runout_sensor_enabled);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Global Leveling
|
|
|
|
|
//
|
|
|
|
@ -1237,6 +1260,19 @@ void MarlinSettings::postprocess() {
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Filament Runout Sensor
|
|
|
|
|
//
|
|
|
|
|
{
|
|
|
|
|
_FIELD_TEST(runout_sensor_enabled);
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
EEPROM_READ(runout.enabled);
|
|
|
|
|
#else
|
|
|
|
|
bool runout_sensor_enabled;
|
|
|
|
|
EEPROM_READ(runout_sensor_enabled);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Global Leveling
|
|
|
|
|
//
|
|
|
|
@ -2047,6 +2083,19 @@ void MarlinSettings::reset() {
|
|
|
|
|
reset_hotend_offsets();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Filament Runout Sensor
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
runout.enabled = true;
|
|
|
|
|
runout.reset();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Tool-change Settings
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#if EXTRUDERS > 1
|
|
|
|
|
#if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
|
|
|
|
|
toolchange_settings.swap_length = TOOLCHANGE_FIL_SWAP_LENGTH;
|
|
|
|
@ -2059,6 +2108,10 @@ void MarlinSettings::reset() {
|
|
|
|
|
toolchange_settings.z_raise = TOOLCHANGE_ZRAISE;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Magnetic Parking Extruder
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#if ENABLED(MAGNETIC_PARKING_EXTRUDER)
|
|
|
|
|
mpe_settings_init();
|
|
|
|
|
#endif
|
|
|
|
@ -2540,6 +2593,12 @@ void MarlinSettings::reset() {
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if HAS_FILAMENT_SENSOR
|
|
|
|
|
CONFIG_ECHO_HEADING("Filament Runout Sensor:");
|
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
|
SERIAL_ECHOLNPAIR(" M412 S", int(runout.enabled));
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Bed Leveling
|
|
|
|
|
*/
|
|
|
|
|