Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multimaterials config cleanup #13

Open
wants to merge 2 commits into
base: multimaterials
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 13 additions & 40 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@
//can be software-disabled for whatever purposes by
#define PREVENT_DANGEROUS_EXTRUDE
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
#define EXTRUDE_MAXLENGTH 400 //prevent extrusion of very large distances.
#else
#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
#endif
Expand Down Expand Up @@ -234,6 +234,10 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {50*60, 50*60, 1*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {300, 300, 3, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {800,800,30,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values
#endif

#ifdef REPRAPPRO_MENDEL2
Expand All @@ -244,6 +248,10 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {50*60, 50*60, 1*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {300, 300, 3, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {800,800,30,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values
#endif

#ifdef REPRAPPRO_HUXLEY
Expand All @@ -254,6 +262,10 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {80*60, 80*60, 4*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {1000,1000,50,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values
#endif


Expand All @@ -274,45 +286,6 @@ const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of t
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E

#ifdef REPRAPPRO_MENDEL

#define X_MAX_LENGTH 210
#define Y_MAX_LENGTH 210
#define Z_MAX_LENGTH 110
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {50*60, 50*60, 1*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {500, 500, 3, 45}
#define DEFAULT_MAX_FEEDRATE {300, 300, 3, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {800,800,30,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values

#else

#ifdef REPRAPPRO_MENDEL2

#define X_MAX_LENGTH 210
#define Y_MAX_LENGTH 210
#define Z_MAX_LENGTH 110
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {50*60, 50*60, 1*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {500, 500, 3, 45}
#define DEFAULT_MAX_FEEDRATE {300, 300, 3, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {800,800,30,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values

#else

#define X_MAX_LENGTH 155
#define Y_MAX_LENGTH 150
#define Z_MAX_LENGTH 90
#define HOMING_FEEDRATE {10*60, 10*60, 1*60, 0} // set the homing speeds (mm/min)
#define FAST_HOME_FEEDRATE {80*60, 80*60, 4*60, 0} // set the homing speeds (mm/min)
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {1000,1000,50,250} // X, Y, Z, E maximum start speed for accelerated moves. E default values

#endif
#endif


// default settings
// X, Y, Z, E steps per mm
#define DEFAULT_AXIS_STEPS_PER_UNIT {92.635, 92.635, 4000, 660}
Expand Down
1 change: 0 additions & 1 deletion Marlin/EEPROMwrite.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include "FPUTransform.h"
//#include <EEPROM.h>

extern float max_length[];
extern float extruder_x_off[];
extern float extruder_y_off[];
extern float extruder_z_off[];
Expand Down
6 changes: 3 additions & 3 deletions Marlin/FPUTransform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,16 +153,16 @@ void FPUDisable()
void FPUTransform_determineBedOrientation()
{
int X3 = 15;
float X4 = X_MAX_LENGTH - 20;
float X4 = max_length[X_AXIS] - 20;
float X2 = (X4 + X3) / 2;
int Y1 = 15;
float Y2 = Y_MAX_LENGTH - 5;
float Y2 = max_length[Y_AXIS] - 5;
float Z1;
float Z2;
float Z3;
float Z4;

//get Z for X15 Y15, X15 Y(Y_MAX_LENGTH - 15) and X(X_MAX_LENGTH - 15) Y15
//get Z for X15 Y15, X15 Y(max_length[Y_AXIS] - 15) and X(max_length[X_AXIS] - 15) Y15
Z3 = Probe_Bed(X3,Y1,PROBE_N);
Z4 = Probe_Bed(X4,Y1,PROBE_N);
Z1 = (Z3 + Z4) / 2;
Expand Down
1 change: 1 addition & 0 deletions Marlin/Marlin.h
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ extern bool axis_relative_modes[];
extern volatile int feedmultiply;
extern int saved_feedmultiply;
extern float current_position[NUM_AXIS] ;
extern float max_length[3] ;
extern float add_homeing[3];
extern unsigned char FanSpeed;

Expand Down
6 changes: 3 additions & 3 deletions Marlin/motion_control.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,9 @@ void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8
}

if (max_software_endstops) {
if (arc_target[X_AXIS] > X_MAX_LENGTH) arc_target[X_AXIS] = X_MAX_LENGTH;
if (arc_target[Y_AXIS] > Y_MAX_LENGTH) arc_target[Y_AXIS] = Y_MAX_LENGTH;
if (arc_target[Z_AXIS] > Z_MAX_LENGTH) arc_target[Z_AXIS] = Z_MAX_LENGTH;
if (arc_target[X_AXIS] > max_length[X_AXIS]) arc_target[X_AXIS] = max_length[X_AXIS];
if (arc_target[Y_AXIS] > max_length[Y_AXIS]) arc_target[Y_AXIS] = max_length[Y_AXIS];
if (arc_target[Z_AXIS] > max_length[Z_AXIS]) arc_target[Z_AXIS] = max_length[Z_AXIS];
}
plan_buffer_line(arc_target[X_AXIS], arc_target[Y_AXIS], arc_target[Z_AXIS], arc_target[E_AXIS], feed_rate, extruder);

Expand Down
6 changes: 3 additions & 3 deletions Marlin/z_probe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ float Probe_Bed(float x_pos, float y_pos, int n)

//fast probe
//plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[Z_AXIS] = 1.1 * Z_MAX_LENGTH * Z_HOME_DIR;
destination[Z_AXIS] = 1.1 * max_length[Z_AXIS] * Z_HOME_DIR;
feedrate = homing_feedrate[Z_AXIS];
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
Expand Down Expand Up @@ -138,8 +138,8 @@ void probe_3points()
{
float Probe_Avg, Point1, Point2, Point3;
Point1 = Probe_Bed(15,15,PROBE_N);
Point2 = Probe_Bed(X_MAX_LENGTH - 20,15,PROBE_N) ;
Point3 = Probe_Bed(X_MAX_LENGTH/2,Y_MAX_LENGTH - 5,PROBE_N);
Point2 = Probe_Bed(max_length[X_AXIS] - 20,15,PROBE_N) ;
Point3 = Probe_Bed(max_length[X_AXIS]/2,max_length[Y_AXIS] - 5,PROBE_N);
Probe_Avg = (Point1 + Point2 + Point3) / 3;
//destination[2] = Probe_Avg;
//feedrate = homing_feedrate[Z_AXIS];
Expand Down