Repetier-Firmware  0.80
Repetier/Configuration.h
Go to the documentation of this file.
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 
 All Data Structures Namespaces Files Functions Variables Typedefs Friends Defines