![]() |
Repetier-Firmware
0.80
|
00001 /* 00002 This file is part of Repetier-Firmware. 00003 00004 Repetier-Firmware is free software: you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation, either version 3 of the License, or 00007 (at your option) any later version. 00008 00009 Repetier-Firmware is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with Repetier-Firmware. If not, see <http://www.gnu.org/licenses/>. 00016 00017 */ 00018 00019 #ifndef CONFIGURATION_H 00020 #define CONFIGURATION_H 00021 00022 /* Some words on units: 00023 00024 From 0.80 onwards the units used are unified for easier configuration, watch out when transfering from older configs! 00025 00026 Speed is in mm/s 00027 Acceleration in mm/s^2 00028 Temperature is in degrees celsius 00029 00030 00031 ########################################################################################## 00032 ## IMPORTANT ## 00033 ########################################################################################## 00034 00035 For easy configuration, the default settings enable parameter storage in EEPROM. 00036 This means, after the first upload many variables can only be changed using the special 00037 M commands as described in the documentation. Changing these value sin the configuration.h 00038 has no effect. Parameters overriden by EEPROM settings are calibartion values, extruder 00039 values except thermistor tables and some other parameter likely to change during usage 00040 like advance steps or ops mode. 00041 To override EEPROM settings with config settings, set EEPROM_MODE 0 00042 00043 */ 00044 00045 00046 // BASIC SETTINGS: select your board type, thermistor type, axis scaling, and endstop configuration 00047 00049 // MEGA/RAMPS up to 1.2 = 3 00050 // RAMPS 1.3/RAMPS 1.4 = 33 00051 // Gen6 = 5 00052 // Gen6 deluxe = 51 00053 // Sanguinololu up to 1.1 = 6 00054 // Sanguinololu 1.2 and above = 62 00055 // Gen7 1.1 till 1.3.x = 7 00056 // Gen7 1.4.1 and later = 71 00057 // Teensylu (at90usb) = 8 // requires Teensyduino 00058 // Printrboard (at90usb) = 9 // requires Teensyduino 00059 // Foltyn 3D Master = 12 00060 // MegaTronics = 70 00061 // RUMBA = 80 // Get it from reprapdiscount 00062 // Rambo = 301 00063 // Arduino Due = 401 // This is only experimental 00064 00065 #define MOTHERBOARD 5 00066 #include "pins.h" 00067 00068 /* Define the type of axis movements needed for your printer. The typical case 00069 is a full cartesian system where x, y and z moves are handled by seperate motors. 00070 00071 0 = full cartesian system, xyz have seperate motors. 00072 1 = z axis + xy H-gantry (x_motor = x+y, y_motor = x-y) 00073 2 = z axis + xy H-gantry (x_motor = x+y, y_motor = y-x) 00074 3 = Delta printers (Rostock, Kossel, RostockMax, Cerberus, etc) 00075 Cases 1 and 2 cover all needed xy H gantry systems. If you get results mirrored etc. you can swap motor connections for x and y. If a motor turns in 00076 the wrong direction change INVERT_X_DIR or INVERT_Y_DIR. 00077 */ 00078 #define DRIVE_SYSTEM 0 00079 00080 // ########################################################################################## 00081 // ## Calibration ## 00082 // ########################################################################################## 00083 00086 #if DRIVE_SYSTEM==3 00087 00089 #define DELTA_DRIVE_TYPE 0 00090 00091 #if DELTA_DRIVE_TYPE == 0 00092 00094 #define BELT_PITCH 2 00095 00098 #define PULLEY_TEETH 20 00099 #define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH) 00100 00101 #elif DELTA_DRIVE_TYPE == 1 00102 00105 #define PULLEY_DIAMETER 10 00106 00107 #define PULLEY_CIRCUMFERENCE (PULLEY_DIAMETER * 3.1415927) 00108 00109 #endif 00110 00111 00114 #define STEPS_PER_ROTATION 400 00115 00118 #define MICRO_STEPS 8 00119 00125 #define MAX_DELTA_SEGMENTS_PER_LINE 30 00126 00127 // Calculations 00128 #define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE) 00129 #define XAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00130 #define YAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00131 #define ZAXIS_STEPS_PER_MM AXIS_STEPS_PER_MM 00132 00133 #else 00134 00138 #define XAXIS_STEPS_PER_MM 80 00139 00142 #define YAXIS_STEPS_PER_MM 80 00143 00144 #define ZAXIS_STEPS_PER_MM 3360 00145 #endif 00146 00147 // ########################################################################################## 00148 // ## Extruder configuration ## 00149 // ########################################################################################## 00150 00152 #define NUM_EXTRUDER 1 00153 00154 #define EXT0_X_OFFSET 0 00155 #define EXT0_Y_OFFSET 0 00156 // for skeinforge 40 and later, steps to pull the plasic 1 mm inside the extruder, not out. Overridden if EEPROM activated. 00157 #define EXT0_STEPS_PER_MM 385 00158 // What type of sensor is used? 00159 // 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other) 00160 // 2 is 200k thermistor 00161 // 3 is mendel-parts thermistor (EPCOS G550) 00162 // 4 is 10k thermistor 00163 // 5 is userdefined thermistor table 0 00164 // 6 is userdefined thermistor table 1 00165 // 7 is userdefined thermistor table 2 00166 // 50 is userdefined thermistor table 0 for PTC thermistors 00167 // 51 is userdefined thermistor table 0 for PTC thermistors 00168 // 52 is userdefined thermistor table 0 for PTC thermistors 00169 // 97 Generic thermistor table 1 00170 // 98 Generic thermistor table 2 00171 // 99 Generic thermistor table 3 00172 // 100 is AD595 00173 // 101 is MAX6675 00174 #define EXT0_TEMPSENSOR_TYPE 1 00175 // Analog input pin for reading temperatures or pin enabling SS for MAX6675 00176 #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN 00177 // WHich pin enables the heater 00178 #define EXT0_HEATER_PIN HEATER_0_PIN 00179 #define EXT0_STEP_PIN E0_STEP_PIN 00180 #define EXT0_DIR_PIN E0_DIR_PIN 00181 // set to false/true for normal / inverse direction 00182 #define EXT0_INVERSE false 00183 #define EXT0_ENABLE_PIN E0_ENABLE_PIN 00184 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00185 #define EXT0_ENABLE_ON false 00186 // The following speed settings are for skeinforge 40+ where e is the 00187 // length of filament pulled inside the heater. For repsnap or older 00188 // skeinforge use hiher values. 00189 // Overridden if EEPROM activated. 00190 #define EXT0_MAX_FEEDRATE 30 00191 // Feedrate from halted extruder in mm/s 00192 // Overridden if EEPROM activated. 00193 #define EXT0_MAX_START_FEEDRATE 10 00194 // Acceleration in mm/s^2 00195 // Overridden if EEPROM activated. 00196 #define EXT0_MAX_ACCELERATION 4000 00197 00202 #define EXT0_HEAT_MANAGER 1 00203 00204 #define EXT0_WATCHPERIOD 1 00205 00216 #define EXT0_PID_INTEGRAL_DRIVE_MAX 140 00217 00224 #define EXT0_PID_INTEGRAL_DRIVE_MIN 60 00225 00226 #define EXT0_PID_P 24 00227 00229 #define EXT0_PID_I 0.88 00230 00231 #define EXT0_PID_D 80 00232 // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated. 00233 #define EXT0_PID_MAX 255 00234 00239 #define EXT0_ADVANCE_K 0.0f 00240 #define EXT0_ADVANCE_L 0.0f 00241 00244 #define EXT0_WAIT_RETRACT_TEMP 150 00245 00248 #define EXT0_WAIT_RETRACT_UNITS 0 00249 00253 #define EXT0_SELECT_COMMANDS "M120 S5 P5\nM117 Extruder 1" 00254 #define EXT0_DESELECT_COMMANDS "" 00255 00256 // =========================== Configuration for second extruder ======================== 00257 #define EXT1_X_OFFSET 10 00258 #define EXT1_Y_OFFSET 0 00259 // for skeinforge 40 and later, steps to pull the plasic 1 mm inside the extruder, not out. Overridden if EEPROM activated. 00260 #define EXT1_STEPS_PER_MM 373 00261 // What type of sensor is used? 00262 // 1 is 100k thermistor (Epcos B57560G0107F000 - RepRap-Fab.org and many other) 00263 // 2 is 200k thermistor 00264 // 3 is mendel-parts thermistor (EPCOS G550) 00265 // 4 is 10k thermistor 00266 // 5 is userdefined thermistor table 0 00267 // 6 is userdefined thermistor table 1 00268 // 7 is userdefined thermistor table 2 00269 // 50 is userdefined thermistor table 0 for PTC thermistors 00270 // 51 is userdefined thermistor table 0 for PTC thermistors 00271 // 52 is userdefined thermistor table 0 for PTC thermistors 00272 // 97 Generic thermistor table 1 00273 // 98 Generic thermistor table 2 00274 // 99 Generic thermistor table 3 00275 // 100 is AD595 00276 // 101 is MAX6675 00277 #define EXT1_TEMPSENSOR_TYPE 3 00278 // Analog input pin for reading temperatures or pin enabling SS for MAX6675 00279 #define EXT1_TEMPSENSOR_PIN TEMP_1_PIN 00280 // WHich pin enables the heater 00281 #define EXT1_HEATER_PIN HEATER_1_PIN 00282 #define EXT1_STEP_PIN E1_STEP_PIN 00283 #define EXT1_DIR_PIN E1_DIR_PIN 00284 // set to 0/1 for normal / inverse direction 00285 #define EXT1_INVERSE false 00286 #define EXT1_ENABLE_PIN E1_ENABLE_PIN 00287 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00288 #define EXT1_ENABLE_ON false 00289 // The following speed settings are for skeinforge 40+ where e is the 00290 // length of filament pulled inside the heater. For repsnap or older 00291 // skeinforge use eiher values. 00292 // Overridden if EEPROM activated. 00293 #define EXT1_MAX_FEEDRATE 25 00294 // Feedrate from halted extruder in mm/s 00295 // Overridden if EEPROM activated. 00296 #define EXT1_MAX_START_FEEDRATE 12 00297 // Acceleration in mm/s^2 00298 // Overridden if EEPROM activated. 00299 #define EXT1_MAX_ACCELERATION 10000 00300 00305 #define EXT1_HEAT_MANAGER 1 00306 00307 #define EXT1_WATCHPERIOD 1 00308 00319 #define EXT1_PID_INTEGRAL_DRIVE_MAX 130 00320 00327 #define EXT1_PID_INTEGRAL_DRIVE_MIN 60 00328 00329 #define EXT1_PID_P 24 00330 00332 #define EXT1_PID_I 0.88 00333 00334 #define EXT1_PID_D 200 00335 // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated. 00336 #define EXT1_PID_MAX 255 00337 00342 #define EXT1_ADVANCE_K 0.0f 00343 #define EXT1_ADVANCE_L 0.0f 00344 00345 #define EXT1_WAIT_RETRACT_TEMP 150 00346 #define EXT1_WAIT_RETRACT_UNITS 40 00347 #define EXT1_SELECT_COMMANDS "M120 S5 P15\nM117 Extruder 2" 00348 #define EXT1_DESELECT_COMMANDS "" 00349 00352 #define RETRACT_DURING_HEATUP true 00353 00358 #define PID_CONTROL_RANGE 15 00359 00361 #define SKIP_M109_IF_WITHIN 2 00362 00370 #define SCALE_PID_TO_MAX 0 00371 00376 //#define TEMP_HYSTERESIS 5 00377 00395 #define NUM_TEMPS_USERTHERMISTOR0 28 00396 #define USER_THERMISTORTABLE0 {\ 00397 {1*4,864*8},{21*4,300*8},{25*4,290*8},{29*4,280*8},{33*4,270*8},{39*4,260*8},{46*4,250*8},{54*4,240*8},{64*4,230*8},{75*4,220*8},\ 00398 {90*4,210*8},{107*4,200*8},{128*4,190*8},{154*4,180*8},{184*4,170*8},{221*4,160*8},{265*4,150*8},{316*4,140*8},{375*4,130*8},\ 00399 {441*4,120*8},{513*4,110*8},{588*4,100*8},{734*4,80*8},{856*4,60*8},{938*4,40*8},{986*4,20*8},{1008*4,0*8},{1018*4,-20*8} } 00400 00402 #define NUM_TEMPS_USERTHERMISTOR1 0 00403 #define USER_THERMISTORTABLE1 {} 00404 00405 #define NUM_TEMPS_USERTHERMISTOR2 0 00406 #define USER_THERMISTORTABLE2 {} 00407 00430 //#define USE_GENERIC_THERMISTORTABLE_1 00431 00432 /* Some examples for different thermistors: 00433 00434 EPCOS B57560G104+ : R0 = 100000 T0 = 25 Beta = 4036 00435 EPCOS 100K Thermistor (B57560G1104F) : R0 = 100000 T0 = 25 Beta = 4092 00436 ATC Semitec 104GT-2 : R0 = 100000 T0 = 25 Beta = 4267 00437 Honeywell 100K Thermistor (135-104LAG-J01) : R0 = 100000 T0 = 25 Beta = 3974 00438 00439 */ 00440 00442 #define GENERIC_THERM1_R0 100000 00443 00444 #define GENERIC_THERM1_T0 25 00445 00451 #define GENERIC_THERM1_BETA 4036 00452 00453 #define GENERIC_THERM1_MIN_TEMP -20 00454 00455 #define GENERIC_THERM1_MAX_TEMP 300 00456 #define GENERIC_THERM1_R1 0 00457 #define GENERIC_THERM1_R2 4700 00458 00459 // The same for table 2 and 3 if needed 00460 00461 //#define USE_GENERIC_THERMISTORTABLE_2 00462 #define GENERIC_THERM2_R0 1042.7 00463 #define GENERIC_THERM2_T0 170 00464 #define GENERIC_THERM2_BETA 4036 00465 #define GENERIC_THERM2_MIN_TEMP -20 00466 #define GENERIC_THERM2_MAX_TEMP 300 00467 #define GENERIC_THERM2_R1 0 00468 #define GENERIC_THERM2_R2 4700 00469 00470 //#define USE_GENERIC_THERMISTORTABLE_3 00471 #define GENERIC_THERM3_R0 1042.7 00472 #define GENERIC_THERM3_T0 170 00473 #define GENERIC_THERM3_BETA 4036 00474 #define GENERIC_THERM3_MIN_TEMP -20 00475 #define GENERIC_THERM3_MAX_TEMP 300 00476 #define GENERIC_THERM3_R1 0 00477 #define GENERIC_THERM3_R2 4700 00478 00480 #define GENERIC_THERM_VREF 5 00481 00483 #define GENERIC_THERM_NUM_ENTRIES 33 00484 00485 // uncomment the following line for MAX6675 support. 00486 //#define SUPPORT_MAX6675 00487 00488 // ############# Heated bed configuration ######################## 00489 00491 #define HAVE_HEATED_BED false 00492 00493 #define HEATED_BED_MAX_TEMP 90 00494 00495 #define SKIP_M190_IF_WITHIN 3 00496 00497 // Select type of your heated bed. It's the same as for EXT0_TEMPSENSOR_TYPE 00498 // set to 0 if you don't have a heated bed 00499 #define HEATED_BED_SENSOR_TYPE 1 00500 00501 #define HEATED_BED_SENSOR_PIN TEMP_1_PIN 00502 00503 #define HEATED_BED_HEATER_PIN HEATER_1_PIN 00504 // How often the temperature of the heated bed is set (msec) 00505 #define HEATED_BED_SET_INTERVAL 5000 00506 00513 #define HEATED_BED_HEAT_MANAGER 1 00514 00524 #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255 00525 00532 #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80 00533 00534 #define HEATED_BED_PID_PGAIN 15 00535 00536 #define HEATED_BED_PID_IGAIN 0.9 00537 00538 #define HEATED_BED_PID_DGAIN 40 00539 // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated. 00540 #define HEATED_BED_PID_MAX 255 00541 00543 #define TEMP_PID true 00544 00546 // The watchdog waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature 00547 // 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 00548 //#define WATCHPERIOD 5000 //5 seconds 00549 00551 #define MINTEMP 5 00552 00554 // When temperature exceeds max temp, your heater will be switched off. 00555 // This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! 00556 // You should use MINTEMP for thermistor short/failure protection. 00557 #define MAXTEMP 260 00558 00560 #define ANALOG_REF ANALOG_REF_AVCC 00561 00562 00563 // ########################################################################################## 00564 // ## Endstop configuration ## 00565 // ########################################################################################## 00566 00567 /* By default all endstops are pulled up to high. You need a pullup if you 00568 use a mechanical endstop connected with gnd. Set value to false for no pullup 00569 on this endstop. 00570 */ 00571 #define ENDSTOP_PULLUP_X_MIN true 00572 #define ENDSTOP_PULLUP_Y_MIN true 00573 #define ENDSTOP_PULLUP_Z_MIN true 00574 #define ENDSTOP_PULLUP_X_MAX true 00575 #define ENDSTOP_PULLUP_Y_MAX true 00576 #define ENDSTOP_PULLUP_Z_MAX true 00577 00578 //set to true to invert the logic of the endstops 00579 #define ENDSTOP_X_MIN_INVERTING false 00580 #define ENDSTOP_Y_MIN_INVERTING false 00581 #define ENDSTOP_Z_MIN_INVERTING false 00582 #define ENDSTOP_X_MAX_INVERTING false 00583 #define ENDSTOP_Y_MAX_INVERTING false 00584 #define ENDSTOP_Z_MAX_INVERTING false 00585 00586 // Set the values true where you have a hardware endstop. The Pin numbe ris taken from pins.h. 00587 00588 #define MIN_HARDWARE_ENDSTOP_X true 00589 #define MIN_HARDWARE_ENDSTOP_Y true 00590 #define MIN_HARDWARE_ENDSTOP_Z true 00591 #define MAX_HARDWARE_ENDSTOP_X false 00592 #define MAX_HARDWARE_ENDSTOP_Y false 00593 #define MAX_HARDWARE_ENDSTOP_Z false 00594 00595 //If your axes are only moving in one direction, make sure the endstops are connected properly. 00596 //If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here 00597 00598 00599 00601 00602 // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 00603 #define X_ENABLE_ON 0 00604 #define Y_ENABLE_ON 0 00605 #define Z_ENABLE_ON 0 00606 00607 // Disables axis when it's not being used. 00608 #define DISABLE_X false 00609 #define DISABLE_Y false 00610 #define DISABLE_Z true 00611 #define DISABLE_E false 00612 00613 // Inverting axis direction 00614 #define INVERT_X_DIR false 00615 #define INVERT_Y_DIR true 00616 #define INVERT_Z_DIR false 00617 00619 // Sets direction of endstops when homing; 1=MAX, -1=MIN 00620 #define X_HOME_DIR -1 00621 #define Y_HOME_DIR -1 00622 #define Z_HOME_DIR -1 00623 00624 // Delta robot radius endstop 00625 #define max_software_endstop_r true 00626 00627 //If true, axis won't move to coordinates less than zero. 00628 #define min_software_endstop_x false 00629 #define min_software_endstop_y false 00630 #define min_software_endstop_z false 00631 00632 //If true, axis won't move to coordinates greater than the defined lengths below. 00633 #define max_software_endstop_x true 00634 #define max_software_endstop_y true 00635 #define max_software_endstop_z true 00636 00637 // If during homing the endstop is reached, ho many mm should the printer move back for the second try 00638 #define ENDSTOP_X_BACK_MOVE 5 00639 #define ENDSTOP_Y_BACK_MOVE 5 00640 #define ENDSTOP_Z_BACK_MOVE 2 00641 00642 // For higher precision you can reduce the speed for the second test on the endstop 00643 // during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed 00644 #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2 00645 #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2 00646 #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2 00647 00648 // When you have several endstops in one circuit you need to disable it after homing by moving a 00649 // small amount back. This is also the case with H-belt systems. 00650 #define ENDSTOP_X_BACK_ON_HOME 1 00651 #define ENDSTOP_Y_BACK_ON_HOME 1 00652 #define ENDSTOP_Z_BACK_ON_HOME 0 00653 00654 // You can disable endstop checking for print moves. This is needed, if you get sometimes 00655 // false signals from your endstops. If your endstops don't give false signals, you 00656 // can set it on for safety. 00657 #define ALWAYS_CHECK_ENDSTOPS false 00658 00659 // maximum positions in mm - only fixed numbers! 00660 // For delta robot Z_MAX_LENGTH is maximum travel of the towers and should be set to the distance between the hotend 00661 // and the platform when the printer is at its home position. 00662 // If EEPROM is enabled these values will be overidden with the values in the EEPROM 00663 #define X_MAX_LENGTH 195 00664 #define Y_MAX_LENGTH 195 00665 #define Z_MAX_LENGTH 80 00666 00667 // Coordinates for the minimum axis. Can also be negative if you want to have the bed start at 0 and the printer can go to the left side 00668 // of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values. 00669 #define X_MIN_POS 0 00670 #define Y_MIN_POS 0 00671 #define Z_MIN_POS 0 00672 00673 // ########################################################################################## 00674 // ## Movement settings ## 00675 // ########################################################################################## 00676 00677 // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. Currently only works for RAMBO boards 00678 #define MICROSTEP_MODES {8,8,8,8,8} // [1,2,4,8,16] 00679 00680 // Motor Current setting (Only functional when motor driver current ref pins are connected to a digital trimpot on supported boards) 00681 //#define MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) 00682 //#define MOTOR_CURRENT {35713,35713,35713,35713,35713} // Values 0-65535 (3D Master 35713 = ~1A) 00683 #define MOTOR_CURRENT {48713,48713,42713,48713,42713} // Values 0-65535 (3D Master 35713 = ~1A) 00684 00685 // Delta settings 00686 #if DRIVE_SYSTEM==3 00687 00689 #define DELTA_DIAGONAL_ROD 250.0 // mm 00690 00693 #define DELTA_SEGMENTS_PER_SECOND_PRINT 200 // Move accurate setting for print moves 00694 #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves 00695 00698 #define END_EFFECTOR_HORIZONTAL_OFFSET 33 00699 00702 #define CARRIAGE_HORIZONTAL_OFFSET 18 00703 00706 #define PRINTER_RADIUS 175 00707 00710 #define DELTA_RADIUS (PRINTER_RADIUS-END_EFFECTOR_HORIZONTAL_OFFSET-CARRIAGE_HORIZONTAL_OFFSET) 00711 00714 #define STEP_COUNTER 00715 00718 #define SOFTWARE_LEVELING 00719 00720 #endif 00721 00727 #define STEPPER_INACTIVE_TIME 120L 00728 00734 #define MAX_INACTIVE_TIME 0L 00735 00739 #define MAX_FEEDRATE_X 200 00740 #define MAX_FEEDRATE_Y 200 00741 #define MAX_FEEDRATE_Z 40 00742 00744 #define HOMING_FEEDRATE_X 80 00745 #define HOMING_FEEDRATE_Y 80 00746 #define HOMING_FEEDRATE_Z 30 00747 00748 /* If you have a backlash in both z-directions, you can use this. For most printer, the bed will be pushed down by it's 00749 own weight, so this is nearly never needed. */ 00750 #define ENABLE_BACKLASH_COMPENSATION true 00751 #define Z_BACKLASH 0 00752 #define X_BACKLASH 0 00753 #define Y_BACKLASH 0 00754 00756 #define RAMP_ACCELERATION 1 00757 00763 #define STEPPER_HIGH_DELAY 0 00764 00771 #define STEP_DOUBLER_FREQUENCY 12000 00772 00775 #define ALLOW_QUADSTEPPING true 00776 00780 #define DOUBLE_STEP_DELAY 1 // time in us 00781 00786 #define MAX_HALFSTEP_INTERVAL 1999 00787 00789 00793 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1500 00794 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1500 00795 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100 00796 00798 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 3000 00799 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 3000 00800 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100 00801 00825 #define MAX_JERK 20.0 00826 #define MAX_ZJERK 0.3 00827 00833 #define MOVE_CACHE_SIZE 16 00834 00841 #define MOVE_CACHE_LOW 10 00842 00847 #define LOW_TICKS_PER_MOVE 250000 00848 00849 // ########################################################################################## 00850 // ## Extruder control ## 00851 // ########################################################################################## 00852 00856 #define TIMER0_PRESCALE 64 00857 00858 /* \brief Minimum temperature for extruder operation 00859 00860 This is a saftey value. If your extruder temperature is below this temperature, no 00861 extruder steps are executed. This is to prevent your extruder to move unless the fiament 00862 is at least molten. After havong some complains that the extruder does not work, I leave 00863 it 0 as default. 00864 */ 00865 00866 #define MIN_EXTRUDER_TEMP 0 00867 00881 #define USE_OPS 1 00882 00893 #define OPS_MODE 0 00894 00901 #define OPS_MIN_DISTANCE 0.8 00902 00906 #define OPS_MOVE_AFTER 50.0 00907 00910 #define OPS_RETRACT_DISTANCE 1.5 00911 00918 #define OPS_RETRACT_BACKLASH 0.0 00919 00926 #define USE_ADVANCE 00927 00932 //#define ENABLE_QUADRATIC_ADVANCE 00933 00934 00935 // ########################################################################################## 00936 // ## Communication configuration ## 00937 // ########################################################################################## 00938 00940 00951 //#define BAUDRATE 76800 00952 //#define BAUDRATE 57600 00953 #define BAUDRATE 250000 00954 00959 #define ENABLE_POWER_ON_STARTUP 00960 00965 #define KILL_METHOD 1 00966 00972 #define GCODE_BUFFER_SIZE 2 00973 00974 #define ACK_WITH_LINENUMBER 00975 00978 #define WAITING_IDENTIFIER "wait" 00979 00989 #define ECHO_ON_EXECUTE 00990 01002 #define EEPROM_MODE 1 01003 01004 #ifndef SDSUPPORT // Some boards have sd support on board. These define the values already in pins.h 01005 #define SDSUPPORT false 01006 01007 #define SD_ALLOW_LONG_NAMES false 01008 // Uncomment to enable or changed card detection pin. With card detection the card is mounted on insertion. 01009 #define SDCARDDETECT -1 //49 01010 // Change to true if you get a inserted message on removal. 01011 #define SDCARDDETECTINVERTED false 01012 #endif 01013 01014 #define SD_EXTENDED_DIR 01015 // If you want support for G2/G3 arc commands set to true, otherwise false. 01016 #define ARC_SUPPORT true 01017 01020 #define FEATURE_MEMORY_POSITION true 01021 01025 #define FEATURE_FAN_CONTROL true 01026 01040 #define FEATURE_CONTROLLER 0 01041 01048 #define UI_LANGUAGE 1 01049 01050 // This is line 2 of the status display at startup 01051 #define UI_VERSION_STRING2 "Mendel" 01052 01054 #define UI_PAGES_DURATION 4000 01055 01058 #define UI_DISABLE_AUTO_PAGESWITCH true 01059 01061 #define UI_AUTORETURN_TO_MENU_AFTER 30000 01062 01063 #define FEATURE_UI_KEYS 0 01064 01065 /* Normally cou want a next/previous actions with every click of your encoder. 01066 Unfotunately, the encoder have a different count of phase changes between clicks. 01067 Select an encoder speed from 0 = fastest to 2 = slowest that results in one menu move per click. 01068 */ 01069 #define UI_ENCODER_SPEED 1 01070 01071 #define UI_KEY_BOUNCETIME 10 01072 01074 #define UI_KEY_FIRST_REPEAT 500 01075 01076 #define UI_KEY_REDUCE_REPEAT 50 01077 01078 #define UI_KEY_MIN_REPEAT 50 01079 01080 #define FEATURE_BEEPER true 01081 01087 #define BEEPER_SHORT_SEQUENCE 2,2 01088 #define BEEPER_LONG_SEQUENCE 8,8 01089 01090 // ############################################################################### 01091 // ## Values for menu settings ## 01092 // ############################################################################### 01093 01094 // Values used for preheat 01095 #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60 01096 #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 170 01097 #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110 01098 #define UI_SET_PRESET_EXTRUDER_TEMP_ABS 240 01099 // Extreme values 01100 #define UI_SET_MIN_HEATED_BED_TEMP 55 01101 #define UI_SET_MAX_HEATED_BED_TEMP 120 01102 #define UI_SET_MIN_EXTRUDER_TEMP 160 01103 #define UI_SET_MAX_EXTRUDER_TEMP 270 01104 #define UI_SET_EXTRUDER_FEEDRATE 2 // mm/sec 01105 #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3 // mm 01106 01107 #endif 01108