Commit 105faf41 authored by MagoKimbra's avatar MagoKimbra

fix

parent 766db58b
#ifndef CONFIGURATION_H #ifndef CONFIGURATION_H
#define CONFIGURATION_H #define CONFIGURATION_H
// This configuration file contains basic settings. Select your:
// - board type
// - temperature sensor type
// - Mechanism type (cartesian-corexy-delta-scara)
//
// Mechanisms-settings can be found in configuration_xxx.h
// Advanced settings can be found in Configuration_adv.h
// Choose your board type.
// Either an numeric ID or name defined in boards.h is valid.
// See: https://github.com/MagoKimbra/MarlinKimbra/blob/master/Documentation/Hardware.md
#include "boards.h" #include "boards.h"
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_13_EFB
#endif
// This configuration file contains the basic settings. // User-specified version info of this build to display in during startup.
// Advanced settings can be found in Configuration_adv.h // Implementation of an idea by Prof Braino to inform user that any changes
// User-specified version info of this build to display in [Pronterface, etc] terminal window during // made to this build by the user have been successfully uploaded into firmware.
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// build by the user have been successfully uploaded into firmware.
#define STRING_VERSION "v4.0.2" #define STRING_VERSION "v4.0.2"
#define STRING_URL "reprap.org"
#define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time
#define STRING_URL "reprap.org"
#define STRING_CONFIG_H_AUTHOR "(MagoKimbra: magokimbra@hotmail.com)" // Who made the changes. #define STRING_CONFIG_H_AUTHOR "(MagoKimbra: magokimbra@hotmail.com)" // Who made the changes.
#define STRING_SPLASH STRING_VERSION " - " STRING_URL // will be shown during bootu #define STRING_SPLASH STRING_VERSION " - " STRING_URL // will be shown during bootu
// SERIAL_PORT selects which serial port should be used for communication with the host. // Select which serial port should be used for communication with the host.
// This allows the connection of wireless adapters (for instance) to non-default port pins. // This allows the connection of wireless adapters (for instance) to non-default port pins.
// Serial port 0 is still used by the Arduino bootloader regardless of this setting. // Serial port 0 is still used by the Arduino bootloader regardless of this setting.
#define SERIAL_PORT 0 #define SERIAL_PORT 0
...@@ -23,13 +35,12 @@ ...@@ -23,13 +35,12 @@
// 115200 - 250000 // 115200 - 250000
#define BAUDRATE 115200 #define BAUDRATE 115200
// This enables the serial port associated to the Bluetooth interface // This enables the serial port associated to the Bluetooth interface on AT90USB devices
//#define BTENABLED // Enable BT interface on AT90USB devices //#define BTENABLED
// This configuration file contains the basic settings. // Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// Advanced settings can be found in Configuration_adv.h // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
// BASIC SETTINGS: select your board type, temperature sensor type //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
// MECHANISM SETTING: Select your type printer and put it in file associated
// If you want test the firmware uncomment below. Use Serial arduino monitor... // If you want test the firmware uncomment below. Use Serial arduino monitor...
//#define FIRMWARE_TEST //#define FIRMWARE_TEST
...@@ -57,17 +68,10 @@ ...@@ -57,17 +68,10 @@
#endif #endif
/***********************************************************************/ /***********************************************************************/
// This defines the number of extruders real or virtual
// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_13_EFB
#endif
// This defines the number of extruder real or virtual
#define EXTRUDERS 1 #define EXTRUDERS 1
//This is used for singlenozzled multiple extrusion configuration // This is used for singlenozzled multiple extrusion configuration
// Uncomment below to enable (One Hotend) // Uncomment below to enable (One Hotend)
//#define SINGLENOZZLE //#define SINGLENOZZLE
...@@ -122,50 +126,49 @@ ...@@ -122,50 +126,49 @@
// 0 = Normal power // 0 = Normal power
// 1 = ATX // 1 = ATX
// 2 = X-Box 360 203 Watts (the blue wire connected to PS_ON and the red wire to VCC) // 2 = X-Box 360 203 Watts (the blue wire connected to PS_ON and the red wire to VCC)
#define POWER_SUPPLY 0 #define POWER_SUPPLY 0
//Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it. // Define this to have the electronics keep the power supply off on startup. If you don't know what this is leave it.
//#define PS_DEFAULT_OFF //#define PS_DEFAULT_OFF
/****************************************************************************** //===========================================================================
************************** Thermal Settings ********************************** //============================= Thermal Settings ============================
****************************************************************************** //===========================================================================
*
* --NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table //================================ Thermistor ===============================
* // Standard 4.7kohm pull up tables
* Temperature sensor settings: //
* -2 is thermocouple with MAX6675 (only for sensor 0) // -2 is thermocouple with MAX6675 (only for sensor 0)
* -1 is thermocouple with AD595 // -1 is thermocouple with AD595
* 0 is not used // 0 is not used
* 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup) // 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
* 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup) // 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
* 3 is Mendel-parts thermistor (4.7k pullup) // 3 is Mendel-parts thermistor (4.7k pullup)
* 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! // 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
* 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup) // 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup)
* 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) // 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
* 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) // 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
* 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup) // 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
* 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
* 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
* 10 is 100k RS thermistor 198-961 (4.7k pullup) // 10 is 100k RS thermistor 198-961 (4.7k pullup)
* 11 is 100k beta 3950 1% thermistor (4.7k pullup) // 11 is 100k beta 3950 1% thermistor (4.7k pullup)
* 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) // 12 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed)
* 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE" // 13 is 100k Hisens 3950 1% up to 300�C for hotend "Simple ONE " & "Hotend "All In ONE"
* 20 is the PT100 circuit found in the Ultimainboard V2.x // 20 is the PT100 circuit found in the Ultimainboard V2.x
* 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
* // 1047 is Pt1000 with 4k7 pullup
* 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k // 1010 is Pt1000 with 1k pullup (non standard)
* (but gives greater accuracy and more stable PID) // 147 is Pt100 with 4k7 pullup
* 51 is 100k thermistor - EPCOS (1k pullup) // 110 is Pt100 with 1k pullup (non standard)
* 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
* 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup) // 1 kohm pullup tables
* // ATTENTION: This is not normal, you would have to have changed out your 4.7k for 1k
* 1047 is Pt1000 with 4k7 pullup // This gives greater accuracy and more stable PID
* 1010 is Pt1000 with 1k pullup (non standard) //
* 147 is Pt100 with 4k7 pullup // 51 is 100k thermistor - EPCOS (1k pullup)
* 110 is Pt100 with 1k pullup (non standard) // 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
***********************************************************************/ // 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (1k pullup)
#define TEMP_SENSOR_0 1 #define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0 #define TEMP_SENSOR_1 0
...@@ -173,60 +176,75 @@ ...@@ -173,60 +176,75 @@
#define TEMP_SENSOR_3 0 #define TEMP_SENSOR_3 0
#define TEMP_SENSOR_BED 1 #define TEMP_SENSOR_BED 1
// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted. // This makes temp sensor 1 a redundant sensor for sensor 0.
// If the temperatures difference between these sensors is to high the print will be aborted.
//#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 // degC
#ifdef SINGLENOZZLE #ifdef SINGLENOZZLE
#undef TEMP_SENSOR_1_AS_REDUNDANT #undef TEMP_SENSOR_1_AS_REDUNDANT
#endif #endif
// Actual temperature must be close to target for this long before M109 returns success // Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10 // (seconds) #define TEMP_RESIDENCY_TIME 10 // seconds
#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one // Range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. #define TEMP_HYSTERESIS 3 // degC
// Window around target to start the residency timer x degC early.
#define TEMP_WINDOW 1 // degC
// The minimal temperature defines the temperature below which the heater will not be enabled It is used // The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken. // to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time. // Otherwise this would lead to the heater being powered on all the time.
#define HEATER_0_MINTEMP 5 #define HEATER_0_MINTEMP 5 // degC
#define HEATER_1_MINTEMP 5 #define HEATER_1_MINTEMP 5 // degC
#define HEATER_2_MINTEMP 5 #define HEATER_2_MINTEMP 5 // degC
#define HEATER_3_MINTEMP 5 #define HEATER_3_MINTEMP 5 // degC
#define BED_MINTEMP 5 #define BED_MINTEMP 5 // degC
// When temperature exceeds max temp, your heater will be switched off. // When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection. // You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275 #define HEATER_0_MAXTEMP 275 // degC
#define HEATER_1_MAXTEMP 275 #define HEATER_1_MAXTEMP 275 // degC
#define HEATER_2_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 // degC
#define HEATER_3_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 // degC
#define BED_MAXTEMP 150 #define BED_MAXTEMP 150 // degC
// If your bed has low resistance e.g. .6 ohm and throws the fuse you can duty cycle it to reduce the // If your bed has low resistance e.g. 0.6 ohm and throws the fuse you can duty cycle it to reduce the
// average current. The value should be an integer and the heat bed will be turned on for 1 interval of // average current. The value should be an integer and the heat bed will be turned on for 1 interval of
// HEATER_BED_DUTY_CYCLE_DIVIDER intervals. // HEATER_BED_DUTY_CYCLE_DIVIDER intervals.
//#define HEATER_BED_DUTY_CYCLE_DIVIDER 4 //#define HEATER_BED_DUTY_CYCLE_DIVIDER 4
// If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) HOTEND_WATTS // If you want the M105 heater power reported in watts, define the BED_WATTS, and (shared for all extruders) HOTEND_WATTS
//#define HOTEND_WATTS (12.0*12.0/6.7) // P=I^2/R //#define HOTEND_WATTS (12.0*12.0/6.7) // P=I^2/R
//#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R //#define BED_WATTS (12.0*12.0/1.1) // P=I^2/R
// PID settings: //=============================== PID settings ==============================
// Comment the following line to disable PID and enable bang-bang. // Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP #define PIDTEMP
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#ifdef PIDTEMP #ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port. // Limits current to nozzle while in bang-bang mode
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX #define BANG_MAX 255 // 255 is full current
//#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 // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below)
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature #define PID_MAX BANG_MAX // 255 is full current
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. // Sends debug data to the serial port
#define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term //#define PID_DEBUG
#define K1 0.95 //smoothing factor within the PID // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
#define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine //#define PID_OPENLOOP 1
// 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
// If the temperature difference between the target temperature and the actual temperature
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
#define PID_FUNCTIONAL_RANGE 10 // degC
// Limit for the integral term
#define PID_INTEGRAL_DRIVE_MAX PID_MAX
// Smoothing factor within the PID
#define K1 0.95
// Sampling period of the temperature routine
#define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0))
// HotEnd{HE0,HE1,HE2,HE3} // HotEnd{HE0,HE1,HE2,HE3}
#define DEFAULT_Kp {41,41,41,41} // Kp for E0, E1, E2, E3 #define DEFAULT_Kp {41,41,41,41} // Kp for E0, E1, E2, E3
...@@ -235,9 +253,8 @@ ...@@ -235,9 +253,8 @@
#endif // PIDTEMP #endif // PIDTEMP
// Bed Temperature Control //========================= Bed Temperature Control =========================
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder. // Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
// If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz, // If your PID_dT above is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating. // which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
...@@ -246,85 +263,75 @@ ...@@ -246,85 +263,75 @@
// shouldn't use bed PID until someone else verifies your hardware works. // shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below. // If this is enabled, find your own PID constants below.
//#define PIDTEMPBED //#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING //#define BED_LIMIT_SWITCHING
// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option. // This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis) // all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did, // setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED) // so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current // Limits duty cycle to bed
#define MAX_BED_POWER 255 // 255 is full current
#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
// #define DEFAULT_bedKp 97.1
// #define DEFAULT_bedKi 1.41
// #define DEFAULT_bedKd 1675.16
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#ifdef PIDTEMPBED
// 120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of 0.15 (vs 0.1, 1, 10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi 0.023
#define DEFAULT_bedKd 305.4
// 120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// From pidautotune:
//#define DEFAULT_bedKp 97.1
//#define DEFAULT_bedKi 1.41
//#define DEFAULT_bedKd 1675.16
#endif // PIDTEMPBED #endif // PIDTEMPBED
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit //this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by //can be software-disabled for whatever purposes by
#define PREVENT_DANGEROUS_EXTRUDE #define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT DANGEROUS EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately. //if PREVENT DANGEROUS EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
#define PREVENT_LENGTHY_EXTRUDE #define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. #define EXTRUDE_MINTEMP 170 // degC
// Prevent extrusion of very large distances.
/********************* Thermal Runaway Protection ********************************* #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) // mm
* This is a feature to protect your printer from burn up in flames if it has
* a thermistor coming off place (this happened to a friend of mine recently and //================== Thermal Runaway Protection ==============================
* motivated me writing this feature). // This is a feature to protect your printer from burn up in flames if it has
* // a thermistor coming off place (this happened to a friend of mine recently and
* The issue: If a thermistor come off, it will read a lower temperature than actual. // motivated me writing this feature).
* The system will turn the heater on forever, burning up the filament and anything // The issue: If a thermistor come off, it will read a lower temperature than actual.
* else around. // The system will turn the heater on forever, burning up the filament and anything
* // else around.
* After the temperature reaches the target for the first time, this feature will // After the temperature reaches the target for the first time, this feature will
* start measuring for how long the current temperature stays below the target // start measuring for how long the current temperature stays below the target
* minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS). // minus _HYSTERESIS (set_temperature - THERMAL_RUNAWAY_PROTECTION_HYSTERESIS).
* // If it stays longer than _PERIOD, it means the thermistor temperature
* If it stays longer than _PERIOD, it means the thermistor temperature // cannot catch up with the target, so something *may be* wrong. Then, to be on the
* cannot catch up with the target, so something *may be* wrong. Then, to be on the // safe side, the system will he halt.
* safe side, the system will he halt. // Bear in mind the count down will just start AFTER the first time the
* // thermistor temperature is over the target, so you will have no problem if
* Bear in mind the count down will just start AFTER the first time the // your extruder heater takes 2 minutes to hit the target on heating.
* thermistor temperature is over the target, so you will have no problem if
* your extruder heater takes 2 minutes to hit the target on heating.
*
*/
// If you want to enable this feature for all your extruder heaters, // If you want to enable this feature for all your extruder heaters,
// uncomment the 2 defines below: // uncomment the 2 defines below:
// Parameters for all extruder heaters // Parameters for all extruder heaters
//#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 // seconds
//#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius //#define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // degC
// If you want to enable this feature for your bed heater, // If you want to enable this feature for your bed heater,
// uncomment the 2 defines below: // uncomment the 2 defines below:
// Parameters for the bed heater // Parameters for the bed heater
//#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds //#define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 // seconds
//#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius //#define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // degC
//===========================================================================
//=========================================================================== //===========================================================================
//=============================User Interfaces=========================== //============================ User Interfaces ==============================
//=========================================================================== //===========================================================================
//LCD and SD support //============================== LCD and SD support =========================
//#define ULTRA_LCD //general LCD support, also 16x2 //#define ULTRA_LCD //general LCD support, also 16x2
//#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) //#define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family)
//#define SDSUPPORT // Enable SD Card Support in Hardware Console //#define SDSUPPORT // Enable SD Card Support in Hardware Console
...@@ -498,7 +505,7 @@ ...@@ -498,7 +505,7 @@
// option for invert rotary switch // option for invert rotary switch
//#define INVERT_ROTARY_SWITCH //#define INVERT_ROTARY_SWITCH
// Languages //============================== Languages UI =========================
// 1 English // 1 English
// 2 Polish // 2 Polish
// 3 French // 3 French
...@@ -520,7 +527,7 @@ ...@@ -520,7 +527,7 @@
//=============================Additional Features=========================== //=============================Additional Features===========================
//=========================================================================== //===========================================================================
// EEPROM //=================================== EEPROM ================================
// The microcontroller can store settings in the EEPROM, e.g. max velocity... // The microcontroller can store settings in the EEPROM, e.g. max velocity...
// M500 - stores parameters in EEPROM // M500 - stores parameters in EEPROM
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
...@@ -531,6 +538,7 @@ ...@@ -531,6 +538,7 @@
// 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 //Bowden Filament management
//#define EASY_LOAD //#define EASY_LOAD
#ifdef EASY_LOAD #ifdef EASY_LOAD
...@@ -544,6 +552,7 @@ ...@@ -544,6 +552,7 @@
#endif #endif
//========================= LCD PROGRESS BAR ======================
// Show a progress bar on HD44780 LCDs for SD printing // Show a progress bar on HD44780 LCDs for SD printing
//#define LCD_PROGRESS_BAR //#define LCD_PROGRESS_BAR
#ifdef LCD_PROGRESS_BAR #ifdef LCD_PROGRESS_BAR
...@@ -564,7 +573,7 @@ ...@@ -564,7 +573,7 @@
#endif #endif
// Preheat Constants //============================== Preheat Constants ==========================
#define PLA_PREHEAT_HOTEND_TEMP 190 #define PLA_PREHEAT_HOTEND_TEMP 190
#define PLA_PREHEAT_HPB_TEMP 60 #define PLA_PREHEAT_HPB_TEMP 60
#define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255
...@@ -578,14 +587,66 @@ ...@@ -578,14 +587,66 @@
#define GUM_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define GUM_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino //============================= R/C Servo support ===========================
//#define FAST_PWM_FAN // Number of servos
// If you select a configuration below, this will receive a default value and does not need to be set manually
// set it manually if you have more servos than extruders and wish to manually control some
// leaving it defining as 0 will disable the servo subsystem
#define NUM_SERVOS 0 // Servo index starts with 0 for M280 command
// Servo Endstops
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M666 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
#define SERVO_ENDSTOPS {-1,-1,0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0,0,0,90,0} // X,Y,Z Axis Extend and Retract angles
//============================== Filament Sensor ============================
// Enter the diameter of the filament generally used (3.0 mm or 1.75 mm)
// This is then used in the slicer software. Used for sensor reading validation
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 // mm
// Also allows adjustment of diameter at print time (vs at slicing)
// Single extruder only at this point (extruder 0)
// Motherboards
// 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector
// 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E)
// 301 - Rambo - uses Analog input 3
// Note may require analog pins to be defined for different motherboards
//#define FILAMENT_SENSOR
#ifdef FILAMENT_SENSOR
//The number of the extruder that has the filament sensor (0,1,2)
#define FILAMENT_SENSOR_EXTRUDER_NUM 0
// Measurement delay in cm. This is the distance from filament sensor to middle of barrel
#define MEASUREMENT_DELAY_CM 14 // cm
// Upper limit factor used for sensor reading validation
#define MEASURED_UPPER_LIMIT 3.30 // mm
// Lower limit factor for sensor reading validation
#define MEASURED_LOWER_LIMIT 1.90 // mm
// Delay buffer size in bytes (1 byte = 1cm)
// Limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
#define MAX_MEASUREMENT_DELAY 20 // cm
// When using an LCD, uncomment the line below to display the Filament
// sensor data on the last line instead of status. Status will appear for 5 sec.
//#define FILAMENT_LCD_DISPLAY
//defines used in the code
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
#endif // FILAMENT_SENSOR
//=================================== Misc =================================
// Temperature status LEDs that display the hotend and bet temperature. // Temperature status LEDs that display the hotend and bet temperature.
// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on. // If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on.
// Otherwise the RED led is on. There is 1C hysteresis. // Otherwise the RED led is on. There is 1C hysteresis.
//#define TEMP_STAT_LEDS //#define TEMP_STAT_LEDS
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
//#define FAST_PWM_FAN
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
// which is not ass annoying as with the hardware PWM. On the other hand, if this frequency // which is not ass annoying as with the hardware PWM. On the other hand, if this frequency
// is too low, you should also increment SOFT_PWM_SCALE. // is too low, you should also increment SOFT_PWM_SCALE.
...@@ -599,20 +660,20 @@ ...@@ -599,20 +660,20 @@
// M240 Triggers a camera by emulating a Canon RC-1 Remote // M240 Triggers a camera by emulating a Canon RC-1 Remote
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
//#define PHOTOGRAPH_PIN 23 //#define PHOTOGRAPH_PIN 23
// SF send wrong arc g-codes when using Arc Point as fillet procedure // SF send wrong arc g-codes when using Arc Point as fillet procedure
//#define SF_ARC_FIX //#define SF_ARC_FIX
// Support for STEPPERS TOSHIBA
//#define CONFIG_STEPPERS_TOSHIBA 1
// Support for the BariCUDA Paste Extruder. // Support for the BariCUDA Paste Extruder.
//#define BARICUDA //#define BARICUDA
// define BlinkM/CyzRgb Support // Support for BlinkM/CyzRgb
//#define BLINKM //#define BLINKM
// Support for STEPPERS TOSHIBA
//#define CONFIG_STEPPERS_TOSHIBA
// Setting firmware for filament end switch // Setting firmware for filament end switch
//#define FILAMENT_END_SWITCH //#define FILAMENT_END_SWITCH
...@@ -620,59 +681,6 @@ ...@@ -620,59 +681,6 @@
//#define LASERBEAM //#define LASERBEAM
/*********************************************************************\
* R/C SERVO support
* Sponsored by TrinityLabs, Reworked by codexmas
**********************************************************************/
// Number of servos
//
// If you select a configuration below, this will receive a default value and does not need to be set manually
// set it manually if you have more servos than extruders and wish to manually control some
// leaving it defining as 0 will disable the servo subsystem
#define NUM_SERVOS 0 // Servo index starts with 0 for M280 command
// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
#define SERVO_ENDSTOPS {-1,-1,0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0,0,0,90,0} // X,Y,Z Axis Extend and Retract angles
/**********************************************************************\
* Support for a filament diameter sensor
* Also allows adjustment of diameter at print time (vs at slicing)
* Single extruder only at this point (extruder 0)
*
* Motherboards
* 34 - RAMPS1.4 - uses Analog input 5 on the AUX2 connector
* 81 - Printrboard - Uses Analog input 2 on the Exp1 connector (version B,C,D,E)
* 301 - Rambo - uses Analog input 3
* Note may require analog pins to be defined for different motherboards
**********************************************************************/
// Uncomment below to enable
//#define FILAMENT_SENSOR
#define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2)
#define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation
#define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm
#define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm
#define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)
//defines used in the code
#define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially
//When using an LCD, uncomment the line below to display the Filament sensor data on the last line instead of status. Status will appear for 5 sec.
//#define FILAMENT_LCD_DISPLAY
#include "Configuration_adv.h" #include "Configuration_adv.h"
......
// Define this to set a custom name for your generic Mendel, // Define this to set a custom name for your generic Mendel,
#define CUSTOM_MENDEL_NAME "Prusa" #define CUSTOM_MENDEL_NAME "Prusa"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
//=========================================================================== //===========================================================================
//=============================Mechanical Settings=========================== //=============================Mechanical Settings===========================
//=========================================================================== //===========================================================================
......
// Define this to set a custom name for your generic Mendel, // Define this to set a custom name for your generic Mendel,
#define CUSTOM_MENDEL_NAME "Core XY" #define CUSTOM_MENDEL_NAME "Core XY"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
//=========================================================================== //===========================================================================
//=============================Mechanical Settings=========================== //=============================Mechanical Settings===========================
//=========================================================================== //===========================================================================
......
// Define this to set a custom name for your generic Mendel, // Define this to set a custom name for your generic Mendel,
#define CUSTOM_MENDEL_NAME "Delta" #define CUSTOM_MENDEL_NAME "Delta"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
//=========================================================================== //===========================================================================
//============================== Delta Settings ============================= //============================== Delta Settings =============================
//=========================================================================== //===========================================================================
......
// Define this to set a custom name for your generic Mendel, // Define this to set a custom name for your generic Mendel,
#define CUSTOM_MENDEL_NAME "Scara" #define CUSTOM_MENDEL_NAME "Scara"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
// #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
// SCARA-mode for Marlin has been developed by QHARLEY in ZA in 2012/2013. Implemented // SCARA-mode for Marlin has been developed by QHARLEY in ZA in 2012/2013. Implemented
// and slightly reworked by JCERNY in 06/2014 with the goal to bring it into Master-Branch // and slightly reworked by JCERNY in 06/2014 with the goal to bring it into Master-Branch
// QHARLEYS Autobedlevelling has not been ported, because Marlin has now Bed-levelling // QHARLEYS Autobedlevelling has not been ported, because Marlin has now Bed-levelling
......
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