@ -36,13 +36,13 @@
*
*
*/
*/
# define EEPROM_VERSION "V3 0 "
# define EEPROM_VERSION "V3 1 "
// Change EEPROM version if these are changed:
// Change EEPROM version if these are changed:
# define EEPROM_OFFSET 100
# define EEPROM_OFFSET 100
/**
/**
* V3 0 EEPROM Layout :
* V3 1 EEPROM Layout :
*
*
* 100 Version ( char x4 )
* 100 Version ( char x4 )
* 104 EEPROM Checksum ( uint16_t )
* 104 EEPROM Checksum ( uint16_t )
@ -84,64 +84,68 @@
* 308 G29 L F bilinear_start ( int x2 )
* 308 G29 L F bilinear_start ( int x2 )
* 312 bed_level_grid [ ] [ ] ( float x9 , up to float x256 ) + 988
* 312 bed_level_grid [ ] [ ] ( float x9 , up to float x256 ) + 988
*
*
* DELTA ( if deltabot ) : 36 bytes
* DELTA ( if deltabot ) : 48 bytes
* 348 M666 XYZ endstop_adj ( float x3 )
* 348 M666 XYZ endstop_adj ( float x3 )
* 360 M665 R delta_radius ( float )
* 360 M665 R delta_radius ( float )
* 364 M665 L delta_diagonal_rod ( float )
* 364 M665 L delta_diagonal_rod ( float )
* 368 M665 S delta_segments_per_second ( float )
* 368 M665 S delta_segments_per_second ( float )
* 372 M665 A delta_diagonal_rod_trim_tower_1 ( float )
* 372 M665 A delta_diagonal_rod_trim [ A ] ( float )
* 376 M665 B delta_diagonal_rod_trim_tower_2 ( float )
* 376 M665 B delta_diagonal_rod_trim [ B ] ( float )
* 380 M665 C delta_diagonal_rod_trim_tower_3 ( float )
* 380 M665 C delta_diagonal_rod_trim [ C ] ( float )
* 384 M665 I delta_tower_angle_trim [ A ] ( float )
* 388 M665 J delta_tower_angle_trim [ B ] ( float )
* 392 M665 K delta_tower_angle_trim [ C ] ( float )
*
*
* Z_DUAL_ENDSTOPS : 4 bytes
* Z_DUAL_ENDSTOPS ( if not deltabot ) : 48 bytes
* 384 M666 Z z_endstop_adj ( float )
* 348 M666 Z z_endstop_adj ( float )
* - - - dummy data ( float x11 )
*
*
* ULTIPANEL : 6 bytes
* ULTIPANEL : 6 bytes
* 3 88 M145 S0 H lcd_preheat_hotend_temp ( int x2 )
* 3 96 M145 S0 H lcd_preheat_hotend_temp ( int x2 )
* 392 M145 S0 B lcd_preheat_bed_temp ( int x2 )
* 400 M145 S0 B lcd_preheat_bed_temp ( int x2 )
* 396 M145 S0 F lcd_preheat_fan_speed ( int x2 )
* 404 M145 S0 F lcd_preheat_fan_speed ( int x2 )
*
*
* PIDTEMP : 66 bytes
* PIDTEMP : 66 bytes
* 40 0 M301 E0 PIDC Kp [ 0 ] , Ki [ 0 ] , Kd [ 0 ] , Kc [ 0 ] ( float x4 )
* 40 8 M301 E0 PIDC Kp [ 0 ] , Ki [ 0 ] , Kd [ 0 ] , Kc [ 0 ] ( float x4 )
* 4 16 M301 E1 PIDC Kp [ 1 ] , Ki [ 1 ] , Kd [ 1 ] , Kc [ 1 ] ( float x4 )
* 4 24 M301 E1 PIDC Kp [ 1 ] , Ki [ 1 ] , Kd [ 1 ] , Kc [ 1 ] ( float x4 )
* 4 32 M301 E2 PIDC Kp [ 2 ] , Ki [ 2 ] , Kd [ 2 ] , Kc [ 2 ] ( float x4 )
* 4 40 M301 E2 PIDC Kp [ 2 ] , Ki [ 2 ] , Kd [ 2 ] , Kc [ 2 ] ( float x4 )
* 4 48 M301 E3 PIDC Kp [ 3 ] , Ki [ 3 ] , Kd [ 3 ] , Kc [ 3 ] ( float x4 )
* 4 56 M301 E3 PIDC Kp [ 3 ] , Ki [ 3 ] , Kd [ 3 ] , Kc [ 3 ] ( float x4 )
* 4 64 M301 L lpq_len ( int )
* 4 72 M301 L lpq_len ( int )
*
*
* PIDTEMPBED :
* PIDTEMPBED : 12 bytes
* 4 66 M304 PID thermalManager . bedKp , thermalManager . bedKi , thermalManager . bedKd ( float x3 )
* 4 74 M304 PID thermalManager . bedKp , . bedKi , . bedKd ( float x3 )
*
*
* DOGLCD : 2 bytes
* DOGLCD : 2 bytes
* 4 7 8 M250 C lcd_contrast ( int )
* 4 86 M250 C lcd_contrast ( int )
*
*
* FWRETRACT : 29 bytes
* FWRETRACT : 29 bytes
* 48 0 M209 S autoretract_enabled ( bool )
* 48 8 M209 S autoretract_enabled ( bool )
* 48 1 M207 S retract_length ( float )
* 48 9 M207 S retract_length ( float )
* 4 85 M207 W retract_length_swap ( float )
* 4 93 M207 W retract_length_swap ( float )
* 4 8 9 M207 F retract_feedrate_mm_s ( float )
* 4 97 M207 F retract_feedrate_mm_s ( float )
* 493 M207 Z retract_zlift ( float )
* 501 M207 Z retract_zlift ( float )
* 497 M208 S retract_recover_length ( float )
* 505 M208 S retract_recover_length ( float )
* 50 1 M208 W retract_recover_length_swap ( float )
* 50 9 M208 W retract_recover_length_swap ( float )
* 5 05 M208 F retract_recover_feedrate_mm_s ( float )
* 5 13 M208 F retract_recover_feedrate_mm_s ( float )
*
*
* Volumetric Extrusion : 17 bytes
* Volumetric Extrusion : 17 bytes
* 5 09 M200 D volumetric_enabled ( bool )
* 5 17 M200 D volumetric_enabled ( bool )
* 51 0 M200 T D filament_size ( float x4 ) ( T0 . .3 )
* 51 8 M200 T D filament_size ( float x4 ) ( T0 . .3 )
*
*
* TMC2130 : 20 bytes
* TMC2130 Stepper Current : 20 bytes
* 5 26 M906 X TMC2130 X - stepper current ( uint16_t )
* 5 34 M906 X stepperX current ( uint16_t )
* 5 28 M906 Y TMC2130 Y - stepper current ( uint16_t )
* 5 36 M906 Y stepperY current ( uint16_t )
* 53 0 M906 Z TMC2130 Z - stepper current ( uint16_t )
* 53 8 M906 Z stepperZ current ( uint16_t )
* 5 32 M906 X2 TMC2130 X2 - stepper current ( uint16_t )
* 5 40 M906 X2 stepperX2 current ( uint16_t )
* 5 3 4 M906 Y2 TMC2130 Y2 - stepper current ( uint16_t )
* 5 42 M906 Y2 stepperY2 current ( uint16_t )
* 5 36 M906 Z2 TMC2130 Z2 - stepper current ( uint16_t )
* 5 44 M906 Z2 stepperZ2 current ( uint16_t )
* 5 38 M906 E0 TMC2130 E0 - stepper current ( uint16_t )
* 5 46 M906 E0 stepperE0 current ( uint16_t )
* 54 0 M906 E1 TMC2130 E1 - stepper current ( uint16_t )
* 54 8 M906 E1 stepperE1 current ( uint16_t )
* 5 42 M906 E2 TMC2130 E2 - stepper current ( uint16_t )
* 5 50 M906 E2 stepperE2 current ( uint16_t )
* 5 44 M906 E3 TMC2130 E3 - stepper current ( uint16_t )
* 5 52 M906 E3 stepperE3 current ( uint16_t )
*
*
* 5 46 Minimum end - point
* 5 5 4 Minimum end - point
* 18 6 7 ( 5 46 + 36 + 9 + 288 + 988 ) Maximum end - point
* 18 75 ( 5 5 4 + 36 + 9 + 288 + 988 ) Maximum end - point
*
*
*/
*/
# include "Marlin.h"
# include "Marlin.h"
@ -353,16 +357,15 @@ void Config_Postprocess() {
EEPROM_WRITE ( delta_radius ) ; // 1 float
EEPROM_WRITE ( delta_radius ) ; // 1 float
EEPROM_WRITE ( delta_diagonal_rod ) ; // 1 float
EEPROM_WRITE ( delta_diagonal_rod ) ; // 1 float
EEPROM_WRITE ( delta_segments_per_second ) ; // 1 float
EEPROM_WRITE ( delta_segments_per_second ) ; // 1 float
EEPROM_WRITE ( delta_diagonal_rod_trim_tower_1 ) ; // 1 float
EEPROM_WRITE ( delta_diagonal_rod_trim ) ; // 3 floats
EEPROM_WRITE ( delta_diagonal_rod_trim_tower_2 ) ; // 1 float
EEPROM_WRITE ( delta_tower_angle_trim ) ; // 3 floats
EEPROM_WRITE ( delta_diagonal_rod_trim_tower_3 ) ; // 1 float
# elif ENABLED(Z_DUAL_ENDSTOPS)
# elif ENABLED(Z_DUAL_ENDSTOPS)
EEPROM_WRITE ( z_endstop_adj ) ; // 1 float
EEPROM_WRITE ( z_endstop_adj ) ; // 1 float
dummy = 0.0f ;
dummy = 0.0f ;
for ( uint8_t q = 8 ; q - - ; ) EEPROM_WRITE ( dummy ) ;
for ( uint8_t q = 11 ; q - - ; ) EEPROM_WRITE ( dummy ) ;
# else
# else
dummy = 0.0f ;
dummy = 0.0f ;
for ( uint8_t q = 9 ; q - - ; ) EEPROM_WRITE ( dummy ) ;
for ( uint8_t q = 12 ; q - - ; ) EEPROM_WRITE ( dummy ) ;
# endif
# endif
# if DISABLED(ULTIPANEL)
# if DISABLED(ULTIPANEL)
@ -674,20 +677,19 @@ void Config_Postprocess() {
}
}
# if ENABLED(DELTA)
# if ENABLED(DELTA)
EEPROM_READ ( endstop_adj ) ; // 3 floats
EEPROM_READ ( endstop_adj ) ; // 3 floats
EEPROM_READ ( delta_radius ) ; // 1 float
EEPROM_READ ( delta_radius ) ; // 1 float
EEPROM_READ ( delta_diagonal_rod ) ; // 1 float
EEPROM_READ ( delta_diagonal_rod ) ; // 1 float
EEPROM_READ ( delta_segments_per_second ) ; // 1 float
EEPROM_READ ( delta_segments_per_second ) ; // 1 float
EEPROM_READ ( delta_diagonal_rod_trim_tower_1 ) ; // 1 float
EEPROM_READ ( delta_diagonal_rod_trim ) ; // 3 floats
EEPROM_READ ( delta_diagonal_rod_trim_tower_2 ) ; // 1 float
EEPROM_READ ( delta_tower_angle_trim ) ; // 3 floats
EEPROM_READ ( delta_diagonal_rod_trim_tower_3 ) ; // 1 float
# elif ENABLED(Z_DUAL_ENDSTOPS)
# elif ENABLED(Z_DUAL_ENDSTOPS)
EEPROM_READ ( z_endstop_adj ) ;
EEPROM_READ ( z_endstop_adj ) ;
dummy = 0.0f ;
dummy = 0.0f ;
for ( uint8_t q = 8 ; q - - ; ) EEPROM_READ ( dummy ) ;
for ( uint8_t q = 11 ; q - - ; ) EEPROM_READ ( dummy ) ;
# else
# else
dummy = 0.0f ;
dummy = 0.0f ;
for ( uint8_t q = 9 ; q - - ; ) EEPROM_READ ( dummy ) ;
for ( uint8_t q = 12 ; q - - ; ) EEPROM_READ ( dummy ) ;
# endif
# endif
# if DISABLED(ULTIPANEL)
# if DISABLED(ULTIPANEL)
@ -899,16 +901,15 @@ void Config_ResetDefault() {
# endif
# endif
# if ENABLED(DELTA)
# if ENABLED(DELTA)
const float adj [ ABC ] = DELTA_ENDSTOP_ADJ ;
const float adj [ ABC ] = DELTA_ENDSTOP_ADJ ,
endstop_adj [ A_AXIS ] = adj [ A_AXIS ] ;
drt [ ABC ] = { DELTA_DIAGONAL_ROD_TRIM_TOWER_1 , DELTA_DIAGONAL_ROD_TRIM_TOWER_2 , DELTA_DIAGONAL_ROD_TRIM_TOWER_3 } ,
endstop_adj [ B_AXIS ] = adj [ B_AXIS ] ;
dta [ ABC ] = { DELTA_TOWER_ANGLE_TRIM_1 , DELTA_TOWER_ANGLE_TRIM_2 , DELTA_TOWER_ANGLE_TRIM_3 } ;
endstop_adj[ C_AXIS ] = adj [ C_AXIS ] ;
COPY( endstop_adj , adj ) ;
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 ;
delta_diagonal_rod_trim_tower_1 = DELTA_DIAGONAL_ROD_TRIM_TOWER_1 ;
COPY ( delta_diagonal_rod_trim , drt ) ;
delta_diagonal_rod_trim_tower_2 = DELTA_DIAGONAL_ROD_TRIM_TOWER_2 ;
COPY ( delta_tower_angle_trim , dta ) ;
delta_diagonal_rod_trim_tower_3 = DELTA_DIAGONAL_ROD_TRIM_TOWER_3 ;
# elif ENABLED(Z_DUAL_ENDSTOPS)
# elif ENABLED(Z_DUAL_ENDSTOPS)
z_endstop_adj = 0 ;
z_endstop_adj = 0 ;
# endif
# endif
@ -1179,15 +1180,18 @@ void Config_ResetDefault() {
SERIAL_EOL ;
SERIAL_EOL ;
CONFIG_ECHO_START ;
CONFIG_ECHO_START ;
if ( ! forReplay ) {
if ( ! forReplay ) {
SERIAL_ECHOLNPGM ( " Delta settings: L=diagonal _rod, R=radius, S=segments_per_second, ABC=diagonal_rod_trim_tower_[123] " ) ;
SERIAL_ECHOLNPGM ( " Delta settings: L=diagonal rod, R=radius, S=segments-per-second, ABC=diagonal rod trim, IJK=tower angle trim " ) ;
CONFIG_ECHO_START ;
CONFIG_ECHO_START ;
}
}
SERIAL_ECHOPAIR ( " M665 L " , delta_diagonal_rod ) ;
SERIAL_ECHOPAIR ( " M665 L " , delta_diagonal_rod ) ;
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_ECHOPAIR ( " A " , delta_diagonal_rod_trim_tower_1 ) ;
SERIAL_ECHOPAIR ( " A " , delta_diagonal_rod_trim [ A_AXIS ] ) ;
SERIAL_ECHOPAIR ( " B " , delta_diagonal_rod_trim_tower_2 ) ;
SERIAL_ECHOPAIR ( " B " , delta_diagonal_rod_trim [ B_AXIS ] ) ;
SERIAL_ECHOPAIR ( " C " , delta_diagonal_rod_trim_tower_3 ) ;
SERIAL_ECHOPAIR ( " C " , delta_diagonal_rod_trim [ C_AXIS ] ) ;
SERIAL_ECHOPAIR ( " I " , delta_tower_angle_trim [ A_AXIS ] ) ;
SERIAL_ECHOPAIR ( " J " , delta_tower_angle_trim [ B_AXIS ] ) ;
SERIAL_ECHOPAIR ( " K " , delta_tower_angle_trim [ C_AXIS ] ) ;
SERIAL_EOL ;
SERIAL_EOL ;
# elif ENABLED(Z_DUAL_ENDSTOPS)
# elif ENABLED(Z_DUAL_ENDSTOPS)
CONFIG_ECHO_START ;
CONFIG_ECHO_START ;