Commit a00a83f3 authored by MagoKimbra's avatar MagoKimbra

Fix Delta

parent 7e90c0c1
...@@ -540,9 +540,9 @@ your extruder heater takes 2 minutes to hit the target on heating. ...@@ -540,9 +540,9 @@ your extruder heater takes 2 minutes to hit the target on heating.
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. // M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
//define this to enable EEPROM support //define this to enable EEPROM support
//#define EEPROM_SETTINGS //#define EEPROM_SETTINGS
//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: // to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:
// please keep turned on if you can. // please keep turned on if you can.
//#define EEPROM_CHITCHAT #define EEPROM_CHITCHAT
//========================= Bowden Filament management ====================== //========================= Bowden Filament management ======================
//#define EASY_LOAD //#define EASY_LOAD
......
...@@ -142,7 +142,7 @@ void Config_StoreSettings() { ...@@ -142,7 +142,7 @@ void Config_StoreSettings() {
#endif //EEPROM_SETTINGS #endif //EEPROM_SETTINGS
#ifndef DISABLE_M503 #ifdef EEPROM_CHITCHAT
void Config_PrintSettings() { // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown void Config_PrintSettings() { // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR("Baudrate: ", baudrate); SERIAL_ECHOPAIR("Baudrate: ", baudrate);
...@@ -194,7 +194,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE ...@@ -194,7 +194,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Retraction Steps per unit:"); SERIAL_ECHOLNPGM("Retraction Steps per unit:");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" E0 ",max_retraction_feedrate[0]); SERIAL_ECHOPAIR(" E0 ",max_retraction_feedrate[0]);
#if EXTRUDERS > 1 #if EXTRUDERS > 1
SERIAL_ECHOPAIR(" E1 ",max_retraction_feedrate[1]); SERIAL_ECHOPAIR(" E1 ",max_retraction_feedrate[1]);
#if EXTRUDERS > 2 #if EXTRUDERS > 2
...@@ -302,7 +302,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE ...@@ -302,7 +302,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE
#endif #endif
{ {
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M301 E", (long unsigned int)e); SERIAL_ECHOPAIR(" M301 E", (long unsigned int)e);
SERIAL_ECHOPAIR(" P", Kp[e]); SERIAL_ECHOPAIR(" P", Kp[e]);
SERIAL_ECHOPAIR(" I" ,unscalePID_i(Ki[e])); SERIAL_ECHOPAIR(" I" ,unscalePID_i(Ki[e]));
SERIAL_ECHOPAIR(" D" ,unscalePID_d(Kd[e])); SERIAL_ECHOPAIR(" D" ,unscalePID_d(Kd[e]));
...@@ -314,48 +314,48 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE ...@@ -314,48 +314,48 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)"); SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M207 S",retract_length); SERIAL_ECHOPAIR(" M207 S",retract_length);
SERIAL_ECHOPAIR(" F" ,retract_feedrate*60); SERIAL_ECHOPAIR(" F" ,retract_feedrate*60);
SERIAL_ECHOPAIR(" Z" ,retract_zlift); SERIAL_ECHOPAIR(" Z" ,retract_zlift);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)"); SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M208 S",retract_recover_length); SERIAL_ECHOPAIR(" M208 S",retract_recover_length);
SERIAL_ECHOPAIR(" F" ,retract_recover_feedrate*60); SERIAL_ECHOPAIR(" F" ,retract_recover_feedrate*60);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0)); SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0));
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#if EXTRUDERS > 1 #if EXTRUDERS > 1
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Multi-extruder settings:"); SERIAL_ECHOLNPGM("Multi-extruder settings:");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap); SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap); SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#endif //EXTRUDERS > 1 #endif //EXTRUDERS > 1
SERIAL_ECHO_START; SERIAL_ECHO_START;
if (volumetric_enabled) { if (volumetric_enabled) {
SERIAL_ECHOLNPGM("Filament settings:"); SERIAL_ECHOLNPGM("Filament settings:");
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 D", filament_size[0]); SERIAL_ECHOPAIR(" M200 D", filament_size[0]);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#if EXTRUDERS > 1 #if EXTRUDERS > 1
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]); SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#if EXTRUDERS > 2 #if EXTRUDERS > 2
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]); SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#if EXTRUDERS > 3 #if EXTRUDERS > 3
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]); SERIAL_ECHOPAIR(" M200 T3 D", filament_size[3]);
SERIAL_ECHOLN(""); SERIAL_ECHOLN("");
#endif //EXTRUDERS > 3 #endif //EXTRUDERS > 3
#endif //EXTRUDERS > 2 #endif //EXTRUDERS > 2
...@@ -365,7 +365,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE ...@@ -365,7 +365,7 @@ void Config_PrintSettings() { // Always have this function, even with EEPROM_SE
} }
#endif //FWRETRACT #endif //FWRETRACT
} }
#endif //DISABLE_M503 #endif //EEPROM_CHITCHAT
#ifdef EEPROM_SETTINGS #ifdef EEPROM_SETTINGS
......
...@@ -22,24 +22,21 @@ ...@@ -22,24 +22,21 @@
// Horizontal offset of the universal joints on the carriages. // Horizontal offset of the universal joints on the carriages.
#define DELTA_CARRIAGE_OFFSET 20.0 // mm #define DELTA_CARRIAGE_OFFSET 20.0 // mm
// Printer radius // Bed Printer radius
#define PRINTER_RADIUS 70 // mm #define PRINTER_RADIUS 70 // mm
// Effective horizontal distance bridged by diagonal push rods.
#define DEFAULT_DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
//Uncomment to enable autocalibration debug messages //Uncomment to enable autocalibration debug messages
#define DEBUG_MESSAGES #define DEBUG_MESSAGES
// Precision for G30 delta autocalibration function // Precision for G30 delta autocalibration function
#define AUTOCALIBRATION_PRECISION 0.1 // mm #define AUTOCALIBRATION_PRECISION 0.1 // mm
// Diameter of print bed - this is used to set the distance that autocalibration probes the bed at. // Effective horizontal distance bridged by diagonal push rods.
#define BED_DIAMETER 140 // mm #define DEFAULT_DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
// Z-Probe variables // Z-Probe variables
// Start and end location values are used to deploy/retract the probe (will move from start to end and back again) // Start and end location values are used to deploy/retract the probe (will move from start to end and back again)
#define PROBING_FEEDRATE 600 // Speed for individual probe Use: G30 A F600 #define PROBING_FEEDRATE 500 // Speed for individual probe Use: G30 A F600
#define Z_PROBE_OFFSET {0,0,-1,0} // X, Y, Z, E distance between hotend nozzle and deployed bed leveling probe. #define Z_PROBE_OFFSET {0,0,-1,0} // X, Y, Z, E distance between hotend nozzle and deployed bed leveling probe.
#define Z_PROBE_DEPLOY_START_LOCATION {0,0,30,0} // X, Y, Z, E start location for z-probe deployment sequence #define Z_PROBE_DEPLOY_START_LOCATION {0,0,30,0} // X, Y, Z, E start location for z-probe deployment sequence
#define Z_PROBE_DEPLOY_END_LOCATION {0,0,30,0} // X, Y, Z, E end location for z-probe deployment sequence #define Z_PROBE_DEPLOY_END_LOCATION {0,0,30,0} // X, Y, Z, E end location for z-probe deployment sequence
...@@ -108,7 +105,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o ...@@ -108,7 +105,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o
//Manual homing switch locations: //Manual homing switch locations:
#define MANUAL_X_HOME_POS 0 #define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0 #define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 210 // Distance between nozzle and print surface after homing. #define MANUAL_Z_HOME_POS 205 // Distance between nozzle and print surface after homing.
// Travel limits after homing // Travel limits after homing
#define X_MAX_POS PRINTER_RADIUS #define X_MAX_POS PRINTER_RADIUS
......
...@@ -271,7 +271,7 @@ float delta_radius; // = DEFAULT_delta_radius; ...@@ -271,7 +271,7 @@ float delta_radius; // = DEFAULT_delta_radius;
float delta_diagonal_rod; // = DEFAULT_DELTA_DIAGONAL_ROD; float delta_diagonal_rod; // = DEFAULT_DELTA_DIAGONAL_ROD;
float DELTA_DIAGONAL_ROD_2; float DELTA_DIAGONAL_ROD_2;
float ac_prec = AUTOCALIBRATION_PRECISION / 2; float ac_prec = AUTOCALIBRATION_PRECISION / 2;
float bed_radius = BED_DIAMETER / 2; float bed_radius = PRINTER_RADIUS;
float delta_tower1_x, delta_tower1_y; float delta_tower1_x, delta_tower1_y;
float delta_tower2_x, delta_tower2_y; float delta_tower2_x, delta_tower2_y;
float delta_tower3_x, delta_tower3_y; float delta_tower3_x, delta_tower3_y;
...@@ -2589,6 +2589,11 @@ void process_commands() ...@@ -2589,6 +2589,11 @@ void process_commands()
if (code_seen('A')) { if (code_seen('A')) {
SERIAL_ECHOLN("Starting Auto Calibration.."); SERIAL_ECHOLN("Starting Auto Calibration..");
LCD_MESSAGEPGM("Auto Calibration...");
if (code_value() != 0) ac_prec = code_value();
SERIAL_ECHO("Calibration precision: +/-");
SERIAL_PROTOCOL_F(ac_prec,3);
SERIAL_ECHOLN("mm");
//Zero the bedlevel array in case this affects bed probing //Zero the bedlevel array in case this affects bed probing
for (int y = 0; y >=6; y++) { for (int y = 0; y >=6; y++) {
...@@ -2963,6 +2968,7 @@ void process_commands() ...@@ -2963,6 +2968,7 @@ void process_commands()
while(loopcount < iterations); while(loopcount < iterations);
SERIAL_ECHOLN("Auto Calibration Complete"); SERIAL_ECHOLN("Auto Calibration Complete");
LCD_MESSAGEPGM("Complete");
SERIAL_ECHOLN("Issue M500 Command to save calibration settings to EPROM (if enabled)"); SERIAL_ECHOLN("Issue M500 Command to save calibration settings to EPROM (if enabled)");
/* /*
if ((abs(delta_diagonal_rod - saved_delta_diagonal_rod) > 1) and (adj_dr_allowed == true)) { if ((abs(delta_diagonal_rod - saved_delta_diagonal_rod) > 1) and (adj_dr_allowed == true)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment