From: Christian Thalhammer Date: Mon, 13 Feb 2012 12:07:55 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 X-Git-Tag: iwj-success-2012-07-29~70^2~13 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=d309565b56610b4295c7f517c6fada8d51c0ef04;p=marlin.git Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 Conflicts: Marlin/Configuration.h --- d309565b56610b4295c7f517c6fada8d51c0ef04 diff --cc Marlin/Configuration.h index 4f7ab5a,f0d8913..cab9085 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@@ -1,36 -1,29 +1,30 @@@ #ifndef __CONFIGURATION_H #define __CONFIGURATION_H + // This configurtion file contains the basic settings. + // Advanced settings can be found in Configuration_adv.h + // BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration + //User specified version info of THIS file to display in [Pronterface, etc] terminal window during startup. + //Implementation of an idea by Prof Braino to inform user that any changes made + //to THIS file by the user have been successfully uploaded into firmware. + #define STRING_VERSION_CONFIG_H "2012-02-08j" //Personal revision number for changes to THIS file. + #define STRING_CONFIG_H_AUTHOR "username" //Who made the changes. // This determines the communication speed of the printer -#define BAUDRATE 250000 -//#define BAUDRATE 115200 +//#define BAUDRATE 250000 +#define BAUDRATE 115200 - //#define BAUDRATE 230400 - - #define EXTRUDERS 1 - - // Frequency limit - // See nophead's blog for more info - // Not working O - //#define XY_FREQUENCY_LIMIT 15 - - // Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end - // of the buffer and all stops. This should not be much greater than zero and should only be changed - // if unwanted behavior is observed on a user's machine when running at very slow speeds. - #define MINIMUM_PLANNER_SPEED 2.0 // (mm/sec) - - // BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration //// The following define selects which electronics board you have. Please choose the one that matches your setup // MEGA/RAMPS up to 1.2 = 3, // RAMPS 1.3 = 33 // Gen6 = 5, // Sanguinololu 1.2 and above = 62 - // Gen7 = 77, // Ultimaker = 7, - // Teensylu = 8 ++// Gen7 = 77, + // Teensylu = 8, + // Gen3+ =9 -#define MOTHERBOARD 7 +#define MOTHERBOARD 77 //=========================================================================== //=============================Thermal Settings ============================ @@@ -45,44 -41,22 +42,22 @@@ // 6 is EPCOS 100k // 7 is 100k Honeywell thermistor 135-104LAG-J01 - #define THERMISTORHEATER_0 1 - //#define THERMISTORHEATER_1 1 - //#define THERMISTORHEATER_2 1 - - #define HEATER_0_USES_THERMISTOR - //#define HEATER_1_USES_THERMISTOR - //#define HEATER_2_USES_THERMISTOR - //#define HEATER_0_USES_AD595 - //#define HEATER_1_USES_AD595 - //#define HEATER_2_USES_AD595 - - // Select one of these only to define how the bed temp is read. - #define THERMISTORBED 1 - #define BED_USES_THERMISTOR - //#define BED_LIMIT_SWITCHING - #ifdef BED_LIMIT_SWITCHING - #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS - #endif - //#define BED_USES_AD595 - - #define BED_CHECK_INTERVAL 5000 //ms - - //// Heating sanity check: - // This waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature - // If the temperature has not increased at the end of that period, the target temperature is set to zero. - // It can be reset with another M104/M109 - //#define WATCHPERIOD 20000 //20 seconds -#define TEMP_SENSOR_0 -1 ++#define TEMP_SENSOR_0 6 + #define TEMP_SENSOR_1 0 + #define TEMP_SENSOR_2 0 -#define TEMP_SENSOR_BED 0 ++#define TEMP_SENSOR_BED 1 // Actual temperature must be close to target for this long before M109 returns success #define TEMP_RESIDENCY_TIME 30 // (seconds) - #define TEMP_HYSTERESIS 3 // (C°) range of +/- temperatures considered "close" to the target one - - //// The minimal temperature defines the temperature below which the heater will not be enabled - //#define HEATER_0_MINTEMP 5 - //#define HEATER_1_MINTEMP 5 - //#define HEATER_2_MINTEMP 5 - //#define BED_MINTEMP 5 -#define TEMP_HYSTERESIS 3 // (C°) range of +/- temperatures considered "close" to the target one ++#define TEMP_HYSTERESIS 3 // (C°) range of +/- temperatures considered "close" to the target one + // 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. + // Otherwise this would lead to the heater being powered on all the time. + #define HEATER_0_MINTEMP 5 + #define HEATER_1_MINTEMP 5 + #define HEATER_2_MINTEMP 5 + #define BED_MINTEMP 5 // 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! @@@ -184,12 -108,9 +109,9 @@@ #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. -const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. -const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. -const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. +const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. +const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. +const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops. - // For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false - - #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 #define X_ENABLE_ON 0 @@@ -203,15 -124,9 +125,9 @@@ #define DISABLE_Z false #define DISABLE_E false // For all extruders - // Inverting axis direction - //#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true - //#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false - //#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true - //#define INVERT_E*_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false, used for all extruders - -#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true +#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false - #define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true + #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true #define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false @@@ -232,21 -147,9 +148,9 @@@ #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) - //homing hits the endstop, then retracts by this distance, before it tries to slowly bump again: - #define X_HOME_RETRACT_MM 5 - #define Y_HOME_RETRACT_MM 5 - #define Z_HOME_RETRACT_MM 1 - #define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially. - - #define AXIS_RELATIVE_MODES {false, false, false, false} - - #define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) - // default settings --#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker - //#define DEFAULT_AXIS_STEPS_PER_UNIT {40, 40, 3333.92, 360} //sells mendel with v9 extruder - //#define DEFAULT_AXIS_STEPS_PER_UNIT {80.3232, 80.8900, 2284.7651, 757.2218} // SAE Prusa w/ Wade extruder ++#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,2560,760*1.1} // default steps per unit for ultimaker #define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec) #define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. @@@ -280,91 -170,28 +171,28 @@@ // M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). // 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 EEPROM_SETTINGS +#define EEPROM_SETTINGS //to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: // please keep turned on if you can. -//#define EEPROM_CHITCHAT +#define EEPROM_CHITCHAT - - // The hardware watchdog should halt the Microcontroller, in case the firmware gets stuck somewhere. However: - // the Watchdog is not working well, so please only enable this for testing - // this enables the watchdog interrupt. - //#define USE_WATCHDOG - //#ifdef USE_WATCHDOG - // you cannot reboot on a mega2560 due to a bug in he bootloader. Hence, you have to reset manually, and this is done hereby: - //#define RESET_MANUAL - //#define WATCHDOG_TIMEOUT 4 //seconds - //#endif - - // extruder advance constant (s2/mm3) - // - // advance (steps) = STEPS_PER_CUBIC_MM_E * EXTUDER_ADVANCE_K * cubic mm per second ^ 2 - // - // hooke's law says: force = k * distance - // bernoulli's priniciple says: v ^ 2 / 2 + g . h + pressure / density = constant - // so: v ^ 2 is proportional to number of steps we advance the extruder - //#define ADVANCE - - #ifdef ADVANCE - #define EXTRUDER_ADVANCE_K .0 - - #define D_FILAMENT 2.85 - #define STEPS_MM_E 836 - #define EXTRUTION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUTION_AREA) - - #endif // ADVANCE - - //LCD and SD support //#define ULTRA_LCD //general lcd support, also 16x2 - //#define SDSUPPORT // Enable SD Card Support in Hardware Console - #define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers? - #define SD_FINISHED_RELEASECOMMAND "M84 X Y E" // no z because of layer shift. + #define SDSUPPORT // Enable SD Card Support in Hardware Console -//#define ULTIPANEL +#define ULTIPANEL #ifdef ULTIPANEL - #define NEWPANEL //enable this if you have a click-encoder panel - #define SDSUPPORT - #define ULTRA_LCD - #define LCD_WIDTH 20 - #define LCD_HEIGHT 4 - //#define NEWPANEL //enable this if you have a click-encoder panel ++ #define NEWPANEL //enable this if you have a click-encoder panel + #define SDSUPPORT + #define ULTRA_LCD + #define LCD_WIDTH 20 + #define LCD_HEIGHT 4 #else //no panel but just lcd - #ifdef ULTRA_LCD - #define LCD_WIDTH 16 - #define LCD_HEIGHT 2 + #ifdef ULTRA_LCD + #define LCD_WIDTH 16 + #define LCD_HEIGHT 2 + #endif #endif - #endif - - // A debugging feature to compare calculated vs performed steps, to see if steps are lost by the software. - //#define DEBUG_STEPS - - - // Arc interpretation settings: - #define MM_PER_ARC_SEGMENT 1 - #define N_ARC_CORRECTION 25 - - - //automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. - //The maximum buffered steps/sec of the extruder motor are called "se". - //You enter the autotemp mode by a M109 S T F - // the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp - // you exit the value by any M109 without F* - // Also, if the temperature is set to a value