Header and pins changes to support 5 extruders
This commit is contained in:
		
							parent
							
								
									2a84122edd
								
							
						
					
					
						commit
						04050237f0
					
				| @ -113,6 +113,8 @@ void manage_inactivity(bool ignore_stepper_queue = false); | |||||||
|   #define disable_e2() NOOP |   #define disable_e2() NOOP | ||||||
|   #define  enable_e3() NOOP |   #define  enable_e3() NOOP | ||||||
|   #define disable_e3() NOOP |   #define disable_e3() NOOP | ||||||
|  |   #define  enable_e4() NOOP | ||||||
|  |   #define disable_e4() NOOP | ||||||
| 
 | 
 | ||||||
| #else // !MIXING_EXTRUDER
 | #else // !MIXING_EXTRUDER
 | ||||||
| 
 | 
 | ||||||
| @ -148,6 +150,14 @@ void manage_inactivity(bool ignore_stepper_queue = false); | |||||||
|     #define disable_e3() NOOP |     #define disable_e3() NOOP | ||||||
|   #endif |   #endif | ||||||
| 
 | 
 | ||||||
|  |   #if E_STEPPERS > 4 && HAS_E4_ENABLE | ||||||
|  |     #define  enable_e4() E4_ENABLE_WRITE( E_ENABLE_ON) | ||||||
|  |     #define disable_e4() E4_ENABLE_WRITE(!E_ENABLE_ON) | ||||||
|  |   #else | ||||||
|  |     #define  enable_e4() NOOP | ||||||
|  |     #define disable_e4() NOOP | ||||||
|  |   #endif | ||||||
|  | 
 | ||||||
| #endif // !MIXING_EXTRUDER
 | #endif // !MIXING_EXTRUDER
 | ||||||
| 
 | 
 | ||||||
| #if ENABLED(G38_PROBE_TARGET) | #if ENABLED(G38_PROBE_TARGET) | ||||||
|  | |||||||
| @ -106,6 +106,8 @@ enum TempState { | |||||||
|   MeasureTemp_2, |   MeasureTemp_2, | ||||||
|   PrepareTemp_3, |   PrepareTemp_3, | ||||||
|   MeasureTemp_3, |   MeasureTemp_3, | ||||||
|  |   PrepareTemp_4, | ||||||
|  |   MeasureTemp_4, | ||||||
|   Prepare_FILWIDTH, |   Prepare_FILWIDTH, | ||||||
|   Measure_FILWIDTH, |   Measure_FILWIDTH, | ||||||
|   StartupDelay // Startup, delay initial temp reading a tiny bit so the hardware can settle
 |   StartupDelay // Startup, delay initial temp reading a tiny bit so the hardware can settle
 | ||||||
|  | |||||||
| @ -268,22 +268,27 @@ | |||||||
| #define MSG_H2 "2" | #define MSG_H2 "2" | ||||||
| #define MSG_H3 "3" | #define MSG_H3 "3" | ||||||
| #define MSG_H4 "4" | #define MSG_H4 "4" | ||||||
|  | #define MSG_H5 "5" | ||||||
| #define MSG_N1 " 1" | #define MSG_N1 " 1" | ||||||
| #define MSG_N2 " 2" | #define MSG_N2 " 2" | ||||||
| #define MSG_N3 " 3" | #define MSG_N3 " 3" | ||||||
| #define MSG_N4 " 4" | #define MSG_N4 " 4" | ||||||
|  | #define MSG_N5 " 5" | ||||||
| #define MSG_E1 "E1" | #define MSG_E1 "E1" | ||||||
| #define MSG_E2 "E2" | #define MSG_E2 "E2" | ||||||
| #define MSG_E3 "E3" | #define MSG_E3 "E3" | ||||||
| #define MSG_E4 "E4" | #define MSG_E4 "E4" | ||||||
|  | #define MSG_E5 "E5" | ||||||
| #define MSG_MOVE_E1 "1" | #define MSG_MOVE_E1 "1" | ||||||
| #define MSG_MOVE_E2 "2" | #define MSG_MOVE_E2 "2" | ||||||
| #define MSG_MOVE_E3 "3" | #define MSG_MOVE_E3 "3" | ||||||
| #define MSG_MOVE_E4 "4" | #define MSG_MOVE_E4 "4" | ||||||
|  | #define MSG_MOVE_E5 "5" | ||||||
| #define MSG_DIAM_E1 " 1" | #define MSG_DIAM_E1 " 1" | ||||||
| #define MSG_DIAM_E2 " 2" | #define MSG_DIAM_E2 " 2" | ||||||
| #define MSG_DIAM_E3 " 3" | #define MSG_DIAM_E3 " 3" | ||||||
| #define MSG_DIAM_E4 " 4" | #define MSG_DIAM_E4 " 4" | ||||||
|  | #define MSG_DIAM_E5 " 5" | ||||||
| 
 | 
 | ||||||
| #include INCLUDE_LANGUAGE | #include INCLUDE_LANGUAGE | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -128,10 +128,12 @@ | |||||||
| 
 | 
 | ||||||
| #define CEILING(x,y) (((x) + (y) - 1) / (y)) | #define CEILING(x,y) (((x) + (y) - 1) / (y)) | ||||||
| 
 | 
 | ||||||
| #define MIN3(a, b, c)    min(min(a, b), c) | #define MIN3(a, b, c)       min(min(a, b), c) | ||||||
| #define MIN4(a, b, c, d) min(min(a, b), min(c, d)) | #define MIN4(a, b, c, d)    min(MIN3(a, b, c), d) | ||||||
| #define MAX3(a, b, c)    max(max(a, b), c) | #define MIN5(a, b, c, d, e) min(MIN4(a, b, c, d), e) | ||||||
| #define MAX4(a, b, c, d) max(max(a, b), max(c, d)) | #define MAX3(a, b, c)       max(max(a, b), c) | ||||||
|  | #define MAX4(a, b, c, d)    max(MAX3(a, b, c), d) | ||||||
|  | #define MAX5(a, b, c, d, e) max(MAX4(a, b, c, d), e) | ||||||
| 
 | 
 | ||||||
| #define UNEAR_ZERO(x) ((x) < 0.000001) | #define UNEAR_ZERO(x) ((x) < 0.000001) | ||||||
| #define NEAR_ZERO(x) WITHIN(x, -0.000001, 0.000001) | #define NEAR_ZERO(x) WITHIN(x, -0.000001, 0.000001) | ||||||
|  | |||||||
| @ -252,6 +252,9 @@ | |||||||
| #ifndef TEMP_3_PIN | #ifndef TEMP_3_PIN | ||||||
|   #define TEMP_3_PIN -1 |   #define TEMP_3_PIN -1 | ||||||
| #endif | #endif | ||||||
|  | #ifndef TEMP_4_PIN | ||||||
|  |   #define TEMP_4_PIN -1 | ||||||
|  | #endif | ||||||
| #ifndef TEMP_BED_PIN | #ifndef TEMP_BED_PIN | ||||||
|   #define TEMP_BED_PIN -1 |   #define TEMP_BED_PIN -1 | ||||||
| #endif | #endif | ||||||
| @ -279,7 +282,7 @@ | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef MAX_EXTRUDERS | #ifndef MAX_EXTRUDERS | ||||||
|   #define MAX_EXTRUDERS 4 |   #define MAX_EXTRUDERS 5 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // Marlin needs to account for pins that equal -1
 | // Marlin needs to account for pins that equal -1
 | ||||||
| @ -320,10 +323,10 @@ | |||||||
|       #if EXTRUDERS > 4 |       #if EXTRUDERS > 4 | ||||||
|         #undef _E4_PINS |         #undef _E4_PINS | ||||||
|         #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, |         #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, | ||||||
|       #endif |       #endif // EXTRUDERS > 4
 | ||||||
|     #endif |     #endif // EXTRUDERS > 3
 | ||||||
|   #endif |   #endif // EXTRUDERS > 2
 | ||||||
| #endif | #endif // EXTRUDERS > 1
 | ||||||
| 
 | 
 | ||||||
| #define _H0_PINS HEATER_0_PIN, E0_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_0_PIN), | #define _H0_PINS HEATER_0_PIN, E0_AUTO_FAN_PIN, marlinAnalogInputToDigitalPin(TEMP_0_PIN), | ||||||
| #define _H1_PINS | #define _H1_PINS | ||||||
| @ -343,9 +346,9 @@ | |||||||
|       #if HOTENDS > 4 |       #if HOTENDS > 4 | ||||||
|         #undef _H4_PINS |         #undef _H4_PINS | ||||||
|         #define _H4_PINS HEATER_4_PIN, marlinAnalogInputToDigitalPin(TEMP_4_PIN), |         #define _H4_PINS HEATER_4_PIN, marlinAnalogInputToDigitalPin(TEMP_4_PIN), | ||||||
|       #endif |       #endif // HOTENDS > 4
 | ||||||
|     #endif |     #endif // HOTENDS > 3
 | ||||||
|   #endif |   #endif // HOTENDS > 2
 | ||||||
| #elif ENABLED(MIXING_EXTRUDER) | #elif ENABLED(MIXING_EXTRUDER) | ||||||
|   #undef _E1_PINS |   #undef _E1_PINS | ||||||
|   #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, |   #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, | ||||||
| @ -358,10 +361,10 @@ | |||||||
|       #if MIXING_STEPPERS > 4 |       #if MIXING_STEPPERS > 4 | ||||||
|         #undef _E4_PINS |         #undef _E4_PINS | ||||||
|         #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, |         #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, | ||||||
|       #endif |       #endif // MIXING_STEPPERS > 4
 | ||||||
|     #endif |     #endif // MIXING_STEPPERS > 3
 | ||||||
|   #endif |   #endif // MIXING_STEPPERS > 2
 | ||||||
| #endif | #endif // MIXING_STEPPERS > 1
 | ||||||
| 
 | 
 | ||||||
| #define BED_PINS HEATER_BED_PIN, marlinAnalogInputToDigitalPin(TEMP_BED_PIN), | #define BED_PINS HEATER_BED_PIN, marlinAnalogInputToDigitalPin(TEMP_BED_PIN), | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -24,6 +24,10 @@ | |||||||
|  * AZTEEG_X3_PRO (Arduino Mega) pin assignments |  * AZTEEG_X3_PRO (Arduino Mega) pin assignments | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | #if HOTENDS > 5 || E_STEPPERS > 5 | ||||||
|  |   #error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue." | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #define BOARD_NAME "Azteeg X3 Pro" | #define BOARD_NAME "Azteeg X3 Pro" | ||||||
| 
 | 
 | ||||||
| #include "pins_RAMPS.h" | #include "pins_RAMPS.h" | ||||||
|  | |||||||
| @ -388,6 +388,10 @@ | |||||||
|   #define E_STEP_WRITE(v) E0_STEP_WRITE(v) |   #define E_STEP_WRITE(v) E0_STEP_WRITE(v) | ||||||
|   #define NORM_E_DIR() E0_DIR_WRITE(current_block->active_extruder ?  INVERT_E0_DIR : !INVERT_E0_DIR) |   #define NORM_E_DIR() E0_DIR_WRITE(current_block->active_extruder ?  INVERT_E0_DIR : !INVERT_E0_DIR) | ||||||
|   #define  REV_E_DIR() E0_DIR_WRITE(current_block->active_extruder ? !INVERT_E0_DIR :  INVERT_E0_DIR) |   #define  REV_E_DIR() E0_DIR_WRITE(current_block->active_extruder ? !INVERT_E0_DIR :  INVERT_E0_DIR) | ||||||
|  | #elif EXTRUDERS > 4 | ||||||
|  |   #define E_STEP_WRITE(v) { switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } } | ||||||
|  |   #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } } | ||||||
|  |   #define REV_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(INVERT_E4_DIR); } } | ||||||
| #elif EXTRUDERS > 3 | #elif EXTRUDERS > 3 | ||||||
|   #define E_STEP_WRITE(v) { switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } } |   #define E_STEP_WRITE(v) { switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } } | ||||||
|   #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); } } |   #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); } } | ||||||
| @ -408,7 +412,11 @@ | |||||||
|   #endif |   #endif | ||||||
| #elif ENABLED(MIXING_EXTRUDER) | #elif ENABLED(MIXING_EXTRUDER) | ||||||
|   #define E_STEP_WRITE(v) NOOP /* not used for mixing extruders! */ |   #define E_STEP_WRITE(v) NOOP /* not used for mixing extruders! */ | ||||||
|   #if MIXING_STEPPERS > 3 |   #if MIXING_STEPPERS > 4 | ||||||
|  |     #define En_STEP_WRITE(n,v) { switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } } | ||||||
|  |     #define NORM_E_DIR() { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); E4_DIR_WRITE(!INVERT_E4_DIR); } | ||||||
|  |     #define REV_E_DIR()  { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); E3_DIR_WRITE( INVERT_E3_DIR); E4_DIR_WRITE( INVERT_E4_DIR); } | ||||||
|  |   #elif MIXING_STEPPERS > 3 | ||||||
|     #define En_STEP_WRITE(n,v) { switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } } |     #define En_STEP_WRITE(n,v) { switch (n) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); } } | ||||||
|     #define NORM_E_DIR() { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); } |     #define NORM_E_DIR() { E0_DIR_WRITE(!INVERT_E0_DIR); E1_DIR_WRITE(!INVERT_E1_DIR); E2_DIR_WRITE(!INVERT_E2_DIR); E3_DIR_WRITE(!INVERT_E3_DIR); } | ||||||
|     #define REV_E_DIR()  { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); E3_DIR_WRITE( INVERT_E3_DIR); } |     #define REV_E_DIR()  { E0_DIR_WRITE( INVERT_E0_DIR); E1_DIR_WRITE( INVERT_E1_DIR); E2_DIR_WRITE( INVERT_E2_DIR); E3_DIR_WRITE( INVERT_E3_DIR); } | ||||||
|  | |||||||
| @ -39,6 +39,10 @@ | |||||||
|   #define HEATER_3_RAW_HI_TEMP 16383 |   #define HEATER_3_RAW_HI_TEMP 16383 | ||||||
|   #define HEATER_3_RAW_LO_TEMP 0 |   #define HEATER_3_RAW_LO_TEMP 0 | ||||||
| #endif | #endif | ||||||
|  | #if (THERMISTORHEATER_4 == 20) | ||||||
|  |   #define HEATER_4_RAW_HI_TEMP 16383 | ||||||
|  |   #define HEATER_4_RAW_LO_TEMP 0 | ||||||
|  | #endif | ||||||
| #if (THERMISTORBED == 20) | #if (THERMISTORBED == 20) | ||||||
|   #define HEATER_BED_RAW_HI_TEMP 16383 |   #define HEATER_BED_RAW_HI_TEMP 16383 | ||||||
|   #define HEATER_BED_RAW_LO_TEMP 0 |   #define HEATER_BED_RAW_LO_TEMP 0 | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ | |||||||
| 
 | 
 | ||||||
| #define OVERSAMPLENR 16 | #define OVERSAMPLENR 16 | ||||||
| 
 | 
 | ||||||
| #define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n) | #define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORHEATER_4 == n || THERMISTORBED == n) | ||||||
| 
 | 
 | ||||||
| // Pt1000 and Pt100 handling
 | // Pt1000 and Pt100 handling
 | ||||||
| //
 | //
 | ||||||
| @ -168,6 +168,16 @@ | |||||||
|   #define HEATER_3_TEMPTABLE_LEN 0 |   #define HEATER_3_TEMPTABLE_LEN 0 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | #ifdef THERMISTORHEATER_4 | ||||||
|  |   #define HEATER_4_TEMPTABLE TT_NAME(THERMISTORHEATER_4) | ||||||
|  |   #define HEATER_4_TEMPTABLE_LEN COUNT(HEATER_4_TEMPTABLE) | ||||||
|  | #elif defined(HEATER_4_USES_THERMISTOR) | ||||||
|  |   #error "No heater 4 thermistor table specified" | ||||||
|  | #else | ||||||
|  |   #define HEATER_4_TEMPTABLE NULL | ||||||
|  |   #define HEATER_4_TEMPTABLE_LEN 0 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #ifdef THERMISTORBED | #ifdef THERMISTORBED | ||||||
|   #define BEDTEMPTABLE TT_NAME(THERMISTORBED) |   #define BEDTEMPTABLE TT_NAME(THERMISTORBED) | ||||||
|   #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) |   #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user