FFCP updates. Update XY soft endstops on tool_change (#14125)

This commit is contained in:
mikeshub 2019-06-10 18:01:42 -05:00 committed by Scott Lahteine
parent b7eeb5b13b
commit a3f034b95e
6 changed files with 281 additions and 143 deletions

View File

@ -71,6 +71,9 @@ void LEDLights::setup() {
#if ENABLED(NEOPIXEL_LED) #if ENABLED(NEOPIXEL_LED)
setup_neopixel(); setup_neopixel();
#endif #endif
#if ENABLED(PCA9533)
RGBinit();
#endif
#if ENABLED(LED_USER_PRESET_STARTUP) #if ENABLED(LED_USER_PRESET_STARTUP)
set_default(); set_default();
#endif #endif

View File

@ -750,8 +750,17 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
const float old_feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : feedrate_mm_s; const float old_feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : feedrate_mm_s;
feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S; feedrate_mm_s = fr_mm_s > 0.0 ? fr_mm_s : XY_PROBE_FEEDRATE_MM_S;
#if HAS_SOFTWARE_ENDSTOPS && ENABLED(DUAL_X_CARRIAGE) #if HAS_SOFTWARE_ENDSTOPS
update_software_endstops(X_AXIS, active_extruder, tmp_extruder); #if HAS_HOTEND_OFFSET
#define _EXT_ARGS , active_extruder, tmp_extruder
#else
#define _EXT_ARGS
#endif
update_software_endstops(X_AXIS _EXT_ARGS);
#if DISABLED(DUAL_X_CARRIAGE)
update_software_endstops(Y_AXIS _EXT_ARGS);
update_software_endstops(Z_AXIS _EXT_ARGS);
#endif
#endif #endif
set_destination_from_current(); set_destination_from_current();

View File

@ -68,6 +68,16 @@
#define Z_MIN_PROBE_PIN 42 #define Z_MIN_PROBE_PIN 42
#endif #endif
//
// Filament Runout Pins
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 49
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN 47
#endif
// //
// Steppers // Steppers
// //
@ -186,24 +196,19 @@
#endif #endif
#endif #endif
//
// Extruder Auto Fan Pins
//
#define ORIG_E0_AUTO_FAN_PIN EX1_FAN_PIN
#define ORIG_E1_AUTO_FAN_PIN EX2_FAN_PIN
// //
// Misc. Functions // Misc. Functions
// //
#define LED_PIN 13 // B7 #define LED_PIN 13 // B7
#define CUTOFF_RESET_PIN 16 // H1 #define CUTOFF_RESET_PIN 16 // H1
#define CUTOFF_TEST_PIN 17 // H0 #define CUTOFF_TEST_PIN 17 // H0
#define CASE_LIGHT_PIN 44 // L5 MUST BE HARDWARE PWM
// //
// LCD / Controller // LCD / Controller
// //
#ifdef REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER #if ENABLED(ULTRA_LCD)
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 33 // C4: LCD-STROBE #define LCD_PINS_RS 33 // C4: LCD-STROBE
#define LCD_PINS_ENABLE 72 // J2: LEFT #define LCD_PINS_ENABLE 72 // J2: LEFT
@ -220,19 +225,12 @@
#define BEEPER_PIN 8 // H5, SD_WP #define BEEPER_PIN 8 // H5, SD_WP
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
//on board leds //on board leds
#define STAT_LED_RED_LED SERVO0_PIN // C1 (1280-EX1, DEBUG2) #define STAT_LED_RED_LED SERVO0_PIN // C1 (1280-EX1, DEBUG2)
#define STAT_LED_BLUE_PIN SERVO1_PIN // C0 (1280-EX2, DEBUG3) #define STAT_LED_BLUE_PIN SERVO1_PIN // C0 (1280-EX2, DEBUG3)
#else #else
// Replicator uses a 3-wire SR controller with HD44780 // Replicator uses a 3-wire SR controller with HD44780
// For now, pretend it's the SAV
//
//#define FF_INTERFACEBOARD
#define SR_DATA_PIN 34 // C3 #define SR_DATA_PIN 34 // C3
#define SR_CLK_PIN 35 // C2 #define SR_CLK_PIN 35 // C2
#define SR_STROBE_PIN 33 // C4 #define SR_STROBE_PIN 33 // C4
@ -241,8 +239,6 @@
#define BTN_DWN 73 // J3 #define BTN_DWN 73 // J3
#define BTN_LFT 72 // J2 #define BTN_LFT 72 // J2
#define BTN_RT 14 // J1 #define BTN_RT 14 // J1
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
// Disable encoder // Disable encoder
#undef BTN_EN1 #undef BTN_EN1
@ -255,74 +251,47 @@
#endif #endif
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
#endif // ULTRA_LCD
// //
// SD Card // SD Card
// //
#define SDSS 53 // B0 #define SDSS 53 // B0
#define SD_DETECT_PIN 9 // H6 #define SD_DETECT_PIN 9 // H6
#define MAX_PIN THERMO_SCK_PIN
// //
// M3/M4/M5 - Spindle/Laser Control //TMC 2208
// //
#define SPINDLE_LASER_ENA_PIN 66 // K4 Pin should have a pullup! #if HAS_DRIVER(TMC2208)
#define SPINDLE_LASER_PWM_PIN 8 // H5 MUST BE HARDWARE PWM /**
#define SPINDLE_DIR_PIN 67 // K5 * TMC2208 stepper drivers
*
* Hardware serial communication ports.
// Check if all pins are defined in mega/pins_arduino.h * If undefined software serial is used according to the pins below
//#include <Arduino.h>
static_assert(NUM_DIGITAL_PINS > MAX_PIN, "add missing pins to [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h based on fastio.h"
"to digital_pin_to_port_PGM, digital_pin_to_bit_mask_PGM, digital_pin_to_timer_PGM, NUM_DIGITAL_PINS, see below");
/* in [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h
change:
#define NUM_DIGITAL_PINS 70
to:
#define NUM_DIGITAL_PINS 80
to digital_pin_to_port_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
....
PG , // PG 4 ** 70 **
PG , // PG 3 ** 71 **
PJ , // PJ 2 ** 72 **
PJ , // PJ 3 ** 73 **
PJ , // PJ 7 ** 74 **
PJ , // PJ 4 ** 75 **
PJ , // PJ 5 ** 76 **
PJ , // PJ 6 ** 77 **
PE , // PE 2 ** 78 **
PE , // PE 6 ** 79 **
};
to digital_pin_to_bit_mask_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
....
_BV( 4 ) , // PG 4 ** 70 **
_BV( 3 ) , // PG 3 ** 71 **
_BV( 2 ) , // PJ 2 ** 72 **
_BV( 3 ) , // PJ 3 ** 73 **
_BV( 7 ) , // PJ 7 ** 74 **
_BV( 4 ) , // PJ 4 ** 75 **
_BV( 5 ) , // PJ 5 ** 76 **
_BV( 6 ) , // PJ 6 ** 77 **
_BV( 2 ) , // PE 2 ** 78 **
_BV( 6 ) , // PE 6 ** 79 **
};
to digital_pin_to_timer_PGM add at the end:
const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
....
NOT_ON_TIMER , // PG 4 ** 70 **
NOT_ON_TIMER , // PG 3 ** 71 **
NOT_ON_TIMER , // PJ 2 ** 72 **
NOT_ON_TIMER , // PJ 3 ** 73 **
NOT_ON_TIMER , // PJ 7 ** 74 **
NOT_ON_TIMER , // PJ 4 ** 75 **
NOT_ON_TIMER , // PJ 5 ** 76 **
NOT_ON_TIMER , // PJ 6 ** 77 **
NOT_ON_TIMER , // PE 2 ** 78 **
NOT_ON_TIMER , // PE 6 ** 79 **
};
*/ */
#define X_HARDWARE_SERIAL Serial2
#define Y_HARDWARE_SERIAL Serial1
/**
* Software serial
*/
#define X_SERIAL_TX_PIN 16
#define X_SERIAL_RX_PIN 17
#define Y_SERIAL_TX_PIN 18
#define Y_SERIAL_RX_PIN 19
#define Z_SERIAL_TX_PIN 41
#define Z_SERIAL_RX_PIN 66
#define E0_SERIAL_TX_PIN 40
#define E0_SERIAL_RX_PIN 67
#define E1_SERIAL_TX_PIN 37
#define E1_SERIAL_RX_PIN 68
#endif

View File

@ -124,7 +124,7 @@
* *
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
*/ */
#define BAUDRATE 115200 #define BAUDRATE 250000
// Enable the Bluetooth serial interface on AT90USB devices // Enable the Bluetooth serial interface on AT90USB devices
//#define BLUETOOTH //#define BLUETOOTH
@ -294,8 +294,8 @@
// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing). // Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder). // The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend. // For the other hotends it is their distance from the extruder 0 hotend.
#define HOTEND_OFFSET_X {0.0, -33.00} // (mm) relative X-offset for each nozzle //#define HOTEND_OFFSET_X {0.0, -34.00} // (mm) relative X-offset for each nozzle
//#define HOTEND_OFFSET_Y {0.0, 5.00} // (mm) relative Y-offset for each nozzle //#define HOTEND_OFFSET_Y {0.0, 0.00} // (mm) relative Y-offset for each nozzle
//#define HOTEND_OFFSET_Z {0.0, 0.00} // (mm) relative Z-offset for each nozzle //#define HOTEND_OFFSET_Z {0.0, 0.00} // (mm) relative Z-offset for each nozzle
// @section machine // @section machine
@ -405,11 +405,11 @@
//#define TEMP_SENSOR_1_AS_REDUNDANT //#define TEMP_SENSOR_1_AS_REDUNDANT
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
#define TEMP_RESIDENCY_TIME 10 // (seconds) Time to wait for hotend to "settle" in M109 #define TEMP_RESIDENCY_TIME 0 // (seconds) Time to wait for hotend to "settle" in M109
#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer #define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target #define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190 #define TEMP_BED_RESIDENCY_TIME 0 // (seconds) Time to wait for bed to "settle" in M190
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer #define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target #define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
@ -452,7 +452,7 @@
//#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay
//#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders) //#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
// Set/get with gcode: M301 E[extruder number, 0-2] // Set/get with gcode: M301 E[extruder number, 0-2]
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature #define PID_FUNCTIONAL_RANGE 15 // If the temperature difference between the target temperature and the actual temperature
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
@ -699,7 +699,7 @@
* Override with M203 * Override with M203
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
*/ */
#define DEFAULT_MAX_FEEDRATE { 500, 500, 20, 25 } #define DEFAULT_MAX_FEEDRATE { 250, 250, 20, 100 }
/** /**
* Default Max Acceleration (change/s) change = mm/s * Default Max Acceleration (change/s) change = mm/s
@ -707,7 +707,7 @@
* Override with M201 * Override with M201
* X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]] * X, Y, Z, E0 [, E1[, E2[, E3[, E4[, E5]]]]]
*/ */
#define DEFAULT_MAX_ACCELERATION { 5000, 5000, 100, 80000 } #define DEFAULT_MAX_ACCELERATION { 1000, 1000, 100, 5000 }
/** /**
* Default Acceleration (change/s) change = mm/s * Default Acceleration (change/s) change = mm/s
@ -717,9 +717,9 @@
* M204 R Retract Acceleration * M204 R Retract Acceleration
* M204 T Travel Acceleration * M204 T Travel Acceleration
*/ */
#define DEFAULT_ACCELERATION 1750 // X, Y, Z and E max acceleration for printing moves #define DEFAULT_ACCELERATION 250 // X, Y, Z and E max acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 5000 // E acceleration for retracts #define DEFAULT_RETRACT_ACCELERATION 5000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves #define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z acceleration for travel (non printing) moves
// //
// Use Junction Deviation instead of traditional Jerk Limiting // Use Junction Deviation instead of traditional Jerk Limiting
@ -743,7 +743,7 @@
#define DEFAULT_ZJERK 0.4 #define DEFAULT_ZJERK 0.4
#endif #endif
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance #define DEFAULT_EJERK 2.0 // May be used by Linear Advance
/** /**
* S-Curve Acceleration * S-Curve Acceleration
@ -970,7 +970,7 @@
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed //#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off. #define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
//#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ... //#define Z_HOMING_HEIGHT 4 // (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure you have this distance over your Z_MAX_POS in case. // Be sure you have this distance over your Z_MAX_POS in case.
@ -989,7 +989,7 @@
#define Y_BED_SIZE 148 #define Y_BED_SIZE 148
// Travel limits (mm) after homing, corresponding to endstop positions. // Travel limits (mm) after homing, corresponding to endstop positions.
#define X_MIN_POS -120 #define X_MIN_POS -115
#define Y_MIN_POS -84 #define Y_MIN_POS -84
#define Z_MIN_POS 0 #define Z_MIN_POS 0
#define X_MAX_POS 152 #define X_MAX_POS 152
@ -1351,11 +1351,11 @@
* M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
* M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) * M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.)
*/ */
//#define EEPROM_SETTINGS // Persistent storage with M500 and M501 #define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release! //#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM. #define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
#if ENABLED(EEPROM_SETTINGS) #if ENABLED(EEPROM_SETTINGS)
//#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors. #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
#endif #endif
// //
@ -1387,13 +1387,13 @@
// Preheat Constants // Preheat Constants
#define PREHEAT_1_LABEL "PLA" #define PREHEAT_1_LABEL "PLA"
#define PREHEAT_1_TEMP_HOTEND 180 #define PREHEAT_1_TEMP_HOTEND 200
#define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_TEMP_BED 50
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
#define PREHEAT_2_LABEL "ABS" #define PREHEAT_2_LABEL "ABS"
#define PREHEAT_2_TEMP_HOTEND 240 #define PREHEAT_2_TEMP_HOTEND 220
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 100
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
/** /**
@ -1507,7 +1507,7 @@
* *
* View the current statistics with M78. * View the current statistics with M78.
*/ */
//#define PRINTCOUNTER #define PRINTCOUNTER
//============================================================================= //=============================================================================
//============================= LCD and SD support ============================ //============================= LCD and SD support ============================
@ -1582,7 +1582,7 @@
* *
* Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
*/ */
//#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
/** /**
* LCD Menu Items * LCD Menu Items
@ -1637,7 +1637,7 @@
// //
// Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu. // Add individual axis homing items (Home X, Home Y, and Home Z) to the LCD menu.
// //
//#define INDIVIDUAL_AXIS_HOMING_MENU #define INDIVIDUAL_AXIS_HOMING_MENU
// //
// SPEAKER/BUZZER // SPEAKER/BUZZER

View File

@ -215,7 +215,7 @@
#endif #endif
// Show extra position information in M114 // Show extra position information in M114
#define M114_DETAIL //#define M114_DETAIL
// Show Temperature ADC value // Show Temperature ADC value
// Enable for M105 to include ADC values read from temperature sensors. // Enable for M105 to include ADC values read from temperature sensors.
@ -631,7 +631,7 @@
#define DEFAULT_STEPPER_DEACTIVE_TIME 120 #define DEFAULT_STEPPER_DEACTIVE_TIME 120
#define DISABLE_INACTIVE_X true #define DISABLE_INACTIVE_X true
#define DISABLE_INACTIVE_Y true #define DISABLE_INACTIVE_Y true
#define DISABLE_INACTIVE_Z true // set to false if the nozzle will fall down on your printed part when print has finished. #define DISABLE_INACTIVE_Z false // set to false if the nozzle will fall down on your printed part when print has finished.
#define DISABLE_INACTIVE_E true #define DISABLE_INACTIVE_E true
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate #define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
@ -820,7 +820,7 @@
#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster #define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster
#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8 #define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8
// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS // Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
#define DIGIPOT_I2C_MOTOR_CURRENTS { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 } // AZTEEG_X3_PRO #define DIGIPOT_I2C_MOTOR_CURRENTS { 0.84, 0.84, 0.4, 1.0, 1.0 } // AZTEEG_X3_PRO
//=========================================================================== //===========================================================================
//=============================Additional Features=========================== //=============================Additional Features===========================
@ -872,16 +872,16 @@
* LED Control Menu * LED Control Menu
* Enable this feature to add LED Control to the LCD menu * Enable this feature to add LED Control to the LCD menu
*/ */
//#define LED_CONTROL_MENU #define LED_CONTROL_MENU
#if ENABLED(LED_CONTROL_MENU) #if ENABLED(LED_CONTROL_MENU)
#define LED_COLOR_PRESETS // Enable the Preset Color menu option #define LED_COLOR_PRESETS // Enable the Preset Color menu option
#if ENABLED(LED_COLOR_PRESETS) #if ENABLED(LED_COLOR_PRESETS)
#define LED_USER_PRESET_RED 255 // User defined RED value #define LED_USER_PRESET_RED 255 // User defined RED value
#define LED_USER_PRESET_GREEN 128 // User defined GREEN value #define LED_USER_PRESET_GREEN 255 // User defined GREEN value
#define LED_USER_PRESET_BLUE 0 // User defined BLUE value #define LED_USER_PRESET_BLUE 255 // User defined BLUE value
#define LED_USER_PRESET_WHITE 255 // User defined WHITE value #define LED_USER_PRESET_WHITE 255 // User defined WHITE value
#define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity
//#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup #define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
#endif #endif
#endif // LED_CONTROL_MENU #endif // LED_CONTROL_MENU
@ -1466,12 +1466,12 @@
// This short retract is done immediately, before parking the nozzle. // This short retract is done immediately, before parking the nozzle.
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // (mm/s) Unload filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // (mm) The length of filament for a complete unload. #define FILAMENT_CHANGE_UNLOAD_LENGTH 80 // (mm) The length of filament for a complete unload.
// For Bowden, the full length of the tube and nozzle. // For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle. // For direct drive, the full length of the nozzle.
// Set to 0 for manual unloading. // Set to 0 for manual unloading.
#define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load. #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE 6 // (mm/s) Slow move when starting load.
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material. #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 80 // (mm) Slow length, to allow time to insert material.
// 0 to disable start loading and skip to fast load only // 0 to disable start loading and skip to fast load only
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 // (mm/s) Load filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. #define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
@ -1496,7 +1496,7 @@
#define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed. #define FILAMENT_CHANGE_ALERT_BEEPS 10 // Number of alert beeps to play when a response is needed.
#define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change. #define PAUSE_PARK_NO_STEPPER_TIMEOUT // Enable for XYZ steppers to stay powered on during filament change.
//#define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change. #define PARK_HEAD_ON_PAUSE // Park the nozzle during pause and filament change.
//#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change //#define HOME_BEFORE_FILAMENT_CHANGE // Ensure homing has been completed prior to parking for filament change
#define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu. #define FILAMENT_LOAD_UNLOAD_GCODES // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.

View File

@ -0,0 +1,157 @@
NOTE ON FLASHING THE FIRMWARE:
The firmware for the Atmel chip used for USB on the Mighty Board is the same as the Arduino Mega's, but it doesn't do an automatic reset. If you want the printer to reset on DTR you will need to flash it with the firmware for the Arduino Mega.
### Use with all nozzle settings
Build plate shape: Rectangular
[X] Origin at center
[X] Heated bed
G-code flavor: Marlin
### Right Nozzle
Number of Extruders: 1
X (Width) 227
Y (Depth) 148
Z (Heigth) 150
Extruder 1 -
Nozzle size: 0.4
Compatible material diameter: 1.75
Nozzle offset X: 0
Nozzle offset Y: 0
Cooling Fan Number:0
;START G-CODE;
M104 T0 S{material_print_temperature}
M140 S{material_bed_temperature}
G28
T0
G1 X150 Y-70 Z30 F4800 ; move to wait position left hand side of the table
M190 S{material_bed_temperature}
M109 T0 S{material_print_temperature}
G92 E0
G1 Z0.4 F1800
G1 X110 Y-70 E20 F300 ; purge nozzle
G1 X120 Y-70 Z0.15 F1200 ; slow wipe
G1 X110 Y-70 Z0.5 F1200 ; lift
G92 E0
;START G-CODE;
;END G-CODE;
G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine
M140 S0; cool down HBP
M104 T0 S0 ; cool down right extruder
M104 T1 S0 ; cool down left extruder
M127 ; stop blower fan
M18 ; disable stepper
;END G-CODE;
***Left Nozzle***
Number of Extruders: 1
X (Width) 227
Y (Depth) 148
Z (Heigth) 150
Extruder 1 -
Nozzle size: 0.4
Compatible material diameter: 1.75
Nozzle offset X: -34
Nozzle offset Y: 0
Cooling Fan Number:0
;START G-CODE;
M104 S{material_print_temperature}
M140 S{material_bed_temperature}
G28
T1
G1 X-110 Y-70 Z30 F4800 ; move to wait position left hand side of the table
M104 S{material_print_temperature}
M190 S{material_bed_temperature}
M109 S{material_print_temperature}
G92 E0
G1 Z0.4 F1800
G1 E10 F300 ; purge nozzle
G1 X-67 Y-70 E25 F300 ; purge nozzle
G1 X-77 Y-70 Z0.15 F1200 ; slow wipe
G1 X-67 Y-70 Z0.5 F1200 ; lift
G92 E0
;START G-CODE;
;END G-CODE;
G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine
M140 S0; cool down HBP
M104 T0 S0 ; cool down right extruder
M104 T1 S0 ; cool down left extruder
M127 ; stop blower fan
M18 ; disable stepper
;END G-CODE;
***Both Nozzles***
Number of Extruders: 2
X (Width) 295 <---- bed width + 2 x nozzle offset
Y (Depth) 148
Z (Heigth) 150
Extruder 1 -
Nozzle size: 0.4
Compatible material diameter: 1.75
Nozzle offset X: 0
Nozzle offset Y: 0
Cooling Fan Number:0
;Extruder End G-code;
G1 X150 Y70 F9000;move away from print in case extrusion cool down speed modifier too low
;Extruder End G-code;
Extruder 2 -
Nozzle size: 0.4
Compatible material diameter: 1.75
Nozzle offset X: -34
Nozzle offset Y: 0
Cooling Fan Number:0
;Extruder End G-code;
G1 X150 Y70 F9000;move away from print in case extrusion cool down speed modifier too low
;Extruder End G-code;
;START G-CODE;
M104 T0 S{material_print_temperature, 0}
M104 T1 S{material_print_temperature , 1}
M140 S{material_bed_temperature}
G28
;purge right
T0
G1 X155 Y-70 Z30 F4800
M190 S{material_bed_temperature}
M109 T0 S{material_print_temperature, 0}
M104 T0 S{material_standby_temperature, 0}
G92 E0
G1 Z0.4 F1800
G1 X110 Y-70 E20 F300 ; purge nozzle
G1 X120 Y-70 Z0.15 F1200 ; slow wipe
G1 E17 F2400
G1 X110 Y-70 Z0.5 F1200 ; lift
G92 E0
;purge left
T1
;M104 T0 S{material_standby_temperature, 0}
M104 T1 S{material_print_temperature ,1}
G1 X-110 Y-70 Z30 F4800
M109 T1 S{material_print_temperature , 1}
G92 E0
G1 Z0.4 F1800
G1 X-67 Y-70 E25 F300 ; purge nozzle
G1 X-77 Y-70 Z0.15 F1200 ; slow wipe
G1 E22 F3600
G1 X-67 Y-70 Z0.5 F1200 ; lift
G92 E0
;START G-CODE;
;END G-CODE;
G1 X150 Y75 Z150 F1000 ; send Z axis to bottom of machine
M140 S0; cool down HBP
M104 T0 S0 ; cool down right extruder
M104 T1 S0 ; cool down left extruder
M127 ; stop blower fan
M18 ; disable stepper
;END G-CODE;