Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- This file is part of Repetier-Firmware.
- Repetier-Firmware is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- Repetier-Firmware is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with Repetier-Firmware. If not, see <http://www.gnu.org/licenses/>.
- */
- #ifndef CONFIGURATION_H
- #define CONFIGURATION_H
- /**************** READ FIRST ************************
- This configuration file was created with the configuration tool. For that
- reason, it does not contain the same informations as the original Configuration.h file.
- It misses the comments and unused parts. Open this file file in the config tool
- to see and change the data. You can also upload it to newer/older versions. The system
- will silently add new options, so compilation continues to work.
- This file is optimized for version 0.92
- generator: http://www.repetier.com/firmware/v092/
- If you are in doubt which named functions use which pins on your board, please check the
- pins.h for the used name->pin assignments and your board documentation to verify it is
- as you expect.
- */
- #define NUM_EXTRUDER 1
- #define MOTHERBOARD 33
- #include "pins.h"
- // ################## EDIT THESE SETTINGS MANUALLY ################
- // ################ END MANUAL SETTINGS ##########################
- #undef FAN_BOARD_PIN
- #define FAN_BOARD_PIN -1
- #define BOARD_FAN_SPEED 255
- #define FAN_THERMO_PIN -1
- #define FAN_THERMO_MIN_PWM 128
- #define FAN_THERMO_MAX_PWM 255
- #define FAN_THERMO_MIN_TEMP 45
- #define FAN_THERMO_MAX_TEMP 60
- #define FAN_THERMO_THERMISTOR_PIN -1
- #define FAN_THERMO_THERMISTOR_TYPE 1
- //#define EXTERNALSERIAL use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer.
- // Uncomment the following line if you are using Arduino compatible firmware made for Arduino version earlier then 1.0
- // If it is incompatible you will get compiler errors about write functions not being compatible!
- //#define COMPAT_PRE1
- #define BLUETOOTH_SERIAL -1
- #define BLUETOOTH_BAUD 115200
- #define MIXING_EXTRUDER 0
- #define DRIVE_SYSTEM 3
- /** 0 - belts and pulleys, 1 - filament drive */
- #define DELTA_DRIVE_TYPE 0
- #if DELTA_DRIVE_TYPE == 0
- #define BELT_PITCH 2 //mm
- #define PULLEY_TEETH 20
- #define PULLEY_CIRCUMFERENCE (BELT_PITCH * PULLEY_TEETH)
- #elif DELTA_DRIVE_TYPE == 1
- #define PULLEY_DIAMETER 12 // 12.732395447
- #define PULLEY_CIRCUMFERENCE (PULLEY_DIAMETER * 3.1415927)
- #endif
- #define STEPS_PER_ROTATION 200
- #define MICRO_STEPS 16
- // Calculations
- #define AXIS_STEPS_PER_MM ((float)(MICRO_STEPS * STEPS_PER_ROTATION) / PULLEY_CIRCUMFERENCE)
- #define XAXIS_STEPS_PER_MM 80 // AXIS_STEPS_PER_MM //(84.88263)
- #define YAXIS_STEPS_PER_MM 80 // AXIS_STEPS_PER_MM //(84.88263)
- #define ZAXIS_STEPS_PER_MM 80 // AXIS_STEPS_PER_MM //(84.88263)
- // for each extruder, fan will stay on until extruder temperature is below this value
- #define EXTRUDER_FAN_COOL_TEMP 50
- // You can use either PWM (pulse width modulation) or PDM (pulse density modulation) for
- // extruders or coolers. PDM will give more signal changes per second, so on average it gives
- // the cleaner signal. The only advantage of PWM is giving signals at a fixed rate and never more
- // then PWM.
- #define PDM_FOR_EXTRUDER 0
- #define PDM_FOR_COOLER 0
- // The firmware checks if the heater and sensor got decoupled, which is dangerous. Since it will never reach target
- // temperature, the heater will stay on for every which can burn your printer or house.
- // As an additional barrier to your smoke detectors (I hope you have one above your printer) we now
- // do some more checks to detect if something got wrong.
- // If the temp. is on hold target, it may not sway more then this degrees celsius, or we mark
- // sensor as defect.
- #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
- // Minimum temp. rise we expect after the set duration of full heating is over.
- // Always keep a good safety margin to get no false positives. If your period is e.g. 10 seconds
- // because at startup you already need 7 seconds until heater starts to rise temp. for sensor
- // then you have 3 seconds of increased heating to reach 1°C.
- #define DECOUPLING_TEST_MIN_TEMP_RISE 1
- // Set to 1 if you want firmware to kill print on decouple
- #define KILL_IF_SENSOR_DEFECT 0
- // Retraction for sd pause over lcd
- #define RETRACT_ON_PAUSE 2
- // These commands get executed after storing position and going to park position.
- #define PAUSE_START_COMMANDS ""
- // These commands get executed before we go to stored position.
- #define PAUSE_END_COMMANDS ""
- /* Set to 1 if all extruders use the same heater block. Temp. control is then always
- controlled by settings in extruder 0 definition. */
- #define SHARED_EXTRUDER_HEATER 0
- // Extruder offsets in steps not mm!
- #define EXT0_X_OFFSET 0
- #define EXT0_Y_OFFSET 0
- #define EXT0_Z_OFFSET 0
- #define EXT0_STEPS_PER_MM 97 //200
- #define EXT0_TEMPSENSOR_TYPE 1
- // Analog input pin for reading temperatures or pin enabling SS for MAX6675
- #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
- // Which pin enables the heater
- #define EXT0_HEATER_PIN HEATER_0_PIN
- #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
- #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
- // set to false/true for normal / inverse direction
- #define EXT0_INVERSE 0
- #define EXT0_ENABLE_PIN ORIG_E0_ENABLE_PIN
- // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
- #define EXT0_ENABLE_ON 0
- /* Set to 1 to mirror motor. Pins for mirrored motor are below */
- #define EXT0_MIRROR_STEPPER 0
- #define EXT0_STEP2_PIN ORIG_E0_STEP_PIN
- #define EXT0_DIR2_PIN ORIG_E0_DIR_PIN
- #define EXT0_INVERSE2 0
- #define EXT0_ENABLE2_PIN ORIG_E0_ENABLE_PIN
- // The following speed settings are for skeinforge 40+ where e is the
- // length of filament pulled inside the heater. For repsnap or older
- // skeinforge use higher values.
- // Overridden if EEPROM activated.
- #define EXT0_MAX_FEEDRATE 50
- #define EXT0_MAX_START_FEEDRATE 20
- // Acceleration in mm/s^2
- // Overridden if EEPROM activated.
- #define EXT0_MAX_ACCELERATION 10000
- /** Type of heat manager for this extruder.
- - 0 = Simply switch on/off if temperature is reached. Works always.
- - 1 = PID Temperature control. Is better but needs good PID values. Defaults are a good start for most extruder.
- - 3 = Dead-time control. PID_P becomes dead-time in seconds.
- Overridden if EEPROM activated.
- */
- #define EXT0_HEAT_MANAGER 1
- /** Wait x seconds, after reaching target temperature. Only used for M109. Overridden if EEPROM activated. */
- #define EXT0_WATCHPERIOD 1
- /** \brief The maximum value, I-gain can contribute to the output.
- A good value is slightly higher then the output needed for your temperature.
- Values for starts:
- 130 => PLA for temperatures from 170-180 deg C
- 180 => ABS for temperatures around 240 deg C
- The precise values may differ for different nozzle/resistor combination.
- Overridden if EEPROM activated.
- */
- #define EXT0_PID_INTEGRAL_DRIVE_MAX 180
- /** \brief lower value for integral part
- The I state should converge to the exact heater output needed for the target temperature.
- To prevent a long deviation from the target zone, this value limits the lower value.
- A good start is 30 lower then the optimal value. You need to leave room for cooling.
- Overridden if EEPROM activated.
- */
- #define EXT0_PID_INTEGRAL_DRIVE_MIN 40
- #define EXT0_PID_PGAIN_OR_DEAD_TIME 7
- #define EXT0_PID_I 2
- #define EXT0_PID_D 40
- // maximum time the heater is can be switched on. Max = 255. Overridden if EEPROM activated.
- #define EXT0_PID_MAX 255
- /** \brief Faktor for the advance algorithm. 0 disables the algorithm. Overridden if EEPROM activated.
- K is the factor for the quadratic term, which is normally disabled in newer versions. If you want to use
- the quadratic factor make sure ENABLE_QUADRATIC_ADVANCE is defined.
- L is the linear factor and seems to be working better then the quadratic dependency.
- */
- #define EXT0_ADVANCE_K 0
- #define EXT0_ADVANCE_L 0
- /* Motor steps to remove backlash for advance algorithm. These are the steps
- needed to move the motor cog in reverse direction until it hits the driving
- cog. Direct drive extruder need 0. */
- #define EXT0_ADVANCE_BACKLASH_STEPS 0
- /** \brief Temperature to retract filament when extruder is heating up. Overridden if EEPROM activated.
- */
- #define EXT0_WAIT_RETRACT_TEMP 150
- /** \brief Units (mm/inches) to retract filament when extruder is heating up. Overridden if EEPROM activated. Set
- to 0 to disable.
- */
- #define EXT0_WAIT_RETRACT_UNITS 0
- /** You can run any GCODE command on extruder deselect/select. Separate multiple commands with a new line \n.
- That way you can execute some mechanical components needed for extruder selection or retract filament or whatever you need.
- The codes are only executed for multiple extruder when changing the extruder. */
- #define EXT0_SELECT_COMMANDS ""
- #define EXT0_DESELECT_COMMANDS ""
- #define EXT0_EXTRUDER_COOLER_PIN -1
- /** PWM speed for the cooler fan. 0=off 255=full speed */
- #define EXT0_EXTRUDER_COOLER_SPEED 255
- /** Time in ms between a heater action and test of success. Must be more then time between turning heater on and first temp. rise!
- * 0 will disable decoupling test */
- #define EXT0_DECOUPLE_TEST_PERIOD 12000
- /** Pin which toggles regularly during extrusion allowing jam control. -1 = disabled */
- #define EXT0_JAM_PIN -1
- /** Pull-up resistor for jam pin? */
- #define EXT0_JAM_PULLUP 0
- /** If enabled you can select the distance your filament gets retracted during a
- M140 command, after a given temperature is reached. */
- #define RETRACT_DURING_HEATUP true
- /** Allow retraction with G10/G11 removing requirement for retraction setting in slicer. Also allows filament change if lcd is configured. */
- #define FEATURE_RETRACTION 1
- /** auto-retract converts pure extrusion moves into retractions. Beware that
- simple extrusion e.g. over Repetier-Host will then not work! */
- #define AUTORETRACT_ENABLED 0
- #define RETRACTION_LENGTH 3
- #define RETRACTION_LONG_LENGTH 13
- #define RETRACTION_SPEED 40
- #define RETRACTION_Z_LIFT 0
- #define RETRACTION_UNDO_EXTRA_LENGTH 0
- #define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0
- #define RETRACTION_UNDO_SPEED 20
- /**
- If you have a lcd display, you can do a filament switch with M600.
- It will change the current extruders filament and temperature must already be high enough.
- */
- #define FILAMENTCHANGE_X_POS 0
- #define FILAMENTCHANGE_Y_POS 0
- #define FILAMENTCHANGE_Z_ADD 1
- /** Does a homing procedure after a filament change. This is good in case
- you moved the extruder while changing filament during print.
- 0 = no homing, 1 = xy homing, 2 = xyz homing
- */
- #define FILAMENTCHANGE_REHOME 1
- /** Will first retract short distance, go to change position and then retract longretract.
- Retractions speeds are taken from RETRACTION_SPEED and RETRACTION_UNDO_SPEED
- */
- #define FILAMENTCHANGE_SHORTRETRACT 5
- #define FILAMENTCHANGE_LONGRETRACT 50
- /* Define how we detect jam/out of filament
- 1 = Distance between signal changes increase
- 2 = signal gets high
- 3 = signal gets low
- 2 and 3 are not jam detections, but only out of filament detection by a switch
- that changes the signal!
- */
- //#define JAM_METHOD 1
- // Steps normally needed for a full signal cycle.
- #define JAM_STEPS 220
- // Steps for reducing speed. Must be higher then JAM_STEPS
- #define JAM_SLOWDOWN_STEPS 380
- // New speed multiplier which gets set when slowdown is reached.
- #define JAM_SLOWDOWN_TO 70
- // Last fallback. If we slip this much, we want to pause.
- #define JAM_ERROR_STEPS 430
- /** To prevent signal bouncing, only consider changes if we are this much steps
- away from last signal change. */
- #define JAM_MIN_STEPS 10
- /** PID control only works target temperature +/- PID_CONTROL_RANGE.
- If you get much overshoot at the first temperature set, because the heater is going full power too long, you
- need to increase this value. For one 6.8 Ohm heater 10 is ok. With two 6.8 Ohm heater use 15.
- */
- #define PID_CONTROL_RANGE 20
- /** Prevent extrusions longer then x mm for one command. This is especially important if you abort a print. Then the
- extrusion position might be at any value like 23344. If you then have an G1 E-2 it will roll back 23 meter! */
- #define EXTRUDE_MAXLENGTH 100
- /** Skip wait, if the extruder temperature is already within x degrees. Only fixed numbers, 0 = off */
- #define SKIP_M109_IF_WITHIN 2
- /** \brief Set PID scaling
- PID values assume a usable range from 0-255. This can be further limited to EXT0_PID_MAX by to methods.
- Set the value to 0: Normal computation, just clip output to EXT0_PID_MAX if computed value is too high.
- Set value to 1: Scale PID by EXT0_PID_MAX/256 and then clip to EXT0_PID_MAX.
- If your EXT0_PID_MAX is low, you should prefer the second method.
- */
- #define SCALE_PID_TO_MAX 0
- /** Temperature range for target temperature to hold in M109 command. 5 means +/-5 degC
- Uncomment define to force the temperature into the range for given watch period.
- */
- //#define TEMP_HYSTERESIS 5
- /** Userdefined thermistor table
- There are many different thermistors, which can be combined with different resistors. This result
- in unpredictable number of tables. As a resolution, the user can define one table here, that can
- be used as type 5 for thermistor type in extruder/heated bed definition. Make sure, the number of entries
- matches the value in NUM_TEMPS_USERTHERMISTOR0. If you span definition over multiple lines, make sure to end
- each line, except the last, with a backslash. The table format is {{adc1,temp1},{adc2,temp2}...} with
- increasing adc values. For more informations, read
- http://hydraraptor.blogspot.com/2007/10/measuring-temperature-easy-way.html
- If you have a sprinter temperature table, you have to multiply the first value with 4 and the second with 8.
- This firmware works with increased precision, so the value reads go from 0 to 4095 and the temperature is
- temperature*8.
- If you have a PTC thermistor instead of a NTC thermistor, keep the adc values increasing and use thermistor types 50-52 instead of 5-7!
- */
- /** Number of entries in the user thermistor table 0. Set to 0 to disable it. */
- #define NUM_TEMPS_USERTHERMISTOR0 0
- #define USER_THERMISTORTABLE0 {\
- {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},\
- {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},\
- {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} }
- /** Number of entries in the user thermistor table 1. Set to 0 to disable it. */
- #define NUM_TEMPS_USERTHERMISTOR1 0
- #define USER_THERMISTORTABLE1 {}
- /** Number of entries in the user thermistor table 2. Set to 0 to disable it. */
- #define NUM_TEMPS_USERTHERMISTOR2 0
- #define USER_THERMISTORTABLE2 {}
- /** Supply voltage to ADC, can be changed by setting ANALOG_REF below to different value. */
- #define GENERIC_THERM_VREF 5
- /** Number of entries in generated table. One entry takes 4 bytes. Higher number of entries increase computation time too.
- Value is used for all generic tables created. */
- #define GENERIC_THERM_NUM_ENTRIES 33
- #define HEATER_PWM_SPEED 0 // How fast ist pwm signal 0 = 15.25Hz, 1 = 30.51Hz, 2 = 61.03Hz, 3 = 122.06Hz
- // ############# Heated bed configuration ########################
- #define HAVE_HEATED_BED 1
- #define HEATED_BED_MAX_TEMP 120
- /** Skip M190 wait, if heated bed is already within x degrees. Fixed numbers only, 0 = off. */
- #define SKIP_M190_IF_WITHIN 3
- // Select type of your heated bed. It's the same as for EXT0_TEMPSENSOR_TYPE
- // set to 0 if you don't have a heated bed
- #define HEATED_BED_SENSOR_TYPE 1
- /** Analog pin of analog sensor to read temperature of heated bed. */
- #define HEATED_BED_SENSOR_PIN TEMP_1_PIN
- /** \brief Pin to enable heater for bed. */
- #define HEATED_BED_HEATER_PIN HEATER_1_PIN
- // How often the temperature of the heated bed is set (msec)
- #define HEATED_BED_SET_INTERVAL 5000
- /**
- Heat manager for heated bed:
- 0 = Bang Bang, fast update
- 1 = PID controlled
- 2 = Bang Bang, limited check every HEATED_BED_SET_INTERVAL. Use this with relay-driven beds to save life time
- 3 = dead time control
- */
- #define HEATED_BED_HEAT_MANAGER 1
- /** \brief The maximum value, I-gain can contribute to the output.
- The precise values may differ for different nozzle/resistor combination.
- Overridden if EEPROM activated.
- */
- #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
- /** \brief lower value for integral part
- The I state should converge to the exact heater output needed for the target temperature.
- To prevent a long deviation from the target zone, this value limits the lower value.
- A good start is 30 lower then the optimal value. You need to leave room for cooling.
- Overridden if EEPROM activated.
- */
- #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
- /** P-gain. Overridden if EEPROM activated. */
- #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME 196
- /** I-gain Overridden if EEPROM activated.*/
- #define HEATED_BED_PID_IGAIN 33.02
- /** Dgain. Overridden if EEPROM activated.*/
- #define HEATED_BED_PID_DGAIN 290
- // maximum time the heater can be switched on. Max = 255. Overridden if EEPROM activated.
- #define HEATED_BED_PID_MAX 255
- // Time to see a temp. change when fully heating. Consider that beds at higher temp. need longer to rise and cold
- // beds need some time to get the temp. to the sensor. Time is in milliseconds! Set 0 to disable
- #define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
- #define MIN_EXTRUDER_TEMP 150
- // 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!
- #define MAXTEMP 275
- #define MIN_DEFECT_TEMPERATURE -10
- #define MAX_DEFECT_TEMPERATURE 300
- /* Select the default mode when the printer gets enables. Possible values are
- PRINTER_MODE_FFF 0
- PRINTER_MODE_LASER 1
- PRINTER_MODE_CNC 2
- */
- #define DEFAULT_PRINTER_MODE 0
- // ################ Endstop configuration #####################
- /* By default all endstops are pulled up to HIGH. You need a pull-up if you
- use a mechanical endstop connected with GND. Set value to false for no pull-up
- on this endstop.
- */
- #define ENDSTOP_PULLUP_X_MIN true
- #define ENDSTOP_PULLUP_Y_MIN true
- #define ENDSTOP_PULLUP_Z_MIN true
- #define ENDSTOP_PULLUP_X_MAX true
- #define ENDSTOP_PULLUP_Y_MAX true
- #define ENDSTOP_PULLUP_Z_MAX true
- //set to true to invert the logic of the endstops
- #define ENDSTOP_X_MIN_INVERTING true
- #define ENDSTOP_Y_MIN_INVERTING true
- #define ENDSTOP_Z_MIN_INVERTING true
- #define ENDSTOP_X_MAX_INVERTING true
- #define ENDSTOP_Y_MAX_INVERTING true
- #define ENDSTOP_Z_MAX_INVERTING true
- // Set the values true where you have a hardware endstop. The Pin number is taken from pins.h.
- #define MIN_HARDWARE_ENDSTOP_X false
- #define MIN_HARDWARE_ENDSTOP_Y false
- #define MIN_HARDWARE_ENDSTOP_Z true
- #define MAX_HARDWARE_ENDSTOP_X true
- #define MAX_HARDWARE_ENDSTOP_Y true
- #define MAX_HARDWARE_ENDSTOP_Z true
- //If your axes are only moving in one direction, make sure the endstops are connected properly.
- //If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here
- // Delta robot radius endstop
- #define max_software_endstop_r true
- //If true, axis won't move to coordinates less than zero.
- #define min_software_endstop_x false
- #define min_software_endstop_y false
- #define min_software_endstop_z false
- //If true, axis won't move to coordinates greater than the defined lengths below.
- #define max_software_endstop_x false
- #define max_software_endstop_y false
- #define max_software_endstop_z false
- // If during homing the endstop is reached, ho many mm should the printer move back for the second try
- #define ENDSTOP_X_BACK_MOVE 10
- #define ENDSTOP_Y_BACK_MOVE 10
- #define ENDSTOP_Z_BACK_MOVE 10
- // For higher precision you can reduce the speed for the second test on the endstop
- // during homing operation. The homing speed is divided by the value. 1 = same speed, 2 = half speed
- #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 2
- #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 2
- #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 2
- // When you have several endstops in one circuit you need to disable it after homing by moving a
- // small amount back. This is also the case with H-belt systems.
- #define ENDSTOP_X_BACK_ON_HOME 1
- #define ENDSTOP_Y_BACK_ON_HOME 1
- #define ENDSTOP_Z_BACK_ON_HOME 1
- // You can disable endstop checking for print moves. This is needed, if you get sometimes
- // false signals from your endstops. If your endstops don't give false signals, you
- // can set it on for safety.
- #define ALWAYS_CHECK_ENDSTOPS 0
- // ################# XYZ movements ###################
- // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
- #define X_ENABLE_ON 0
- #define Y_ENABLE_ON 0
- #define Z_ENABLE_ON 0
- // Disables axis when it's not being used.
- #define DISABLE_X 0
- #define DISABLE_Y 0
- #define DISABLE_Z 0
- #define DISABLE_E 0
- // Inverting motor direction. Only in case of pure cartesian printers, this
- // is also the axis you invert!
- #define INVERT_X_DIR false
- #define INVERT_Y_DIR true
- #define INVERT_Z_DIR false
- //// ENDSTOP SETTINGS:
- // Sets direction of endstops when homing; 1=MAX, -1=MIN
- #define X_HOME_DIR 1
- #define Y_HOME_DIR 1
- #define Z_HOME_DIR 1
- // maximum positions in mm - only fixed numbers!
- // For delta robot Z_MAX_LENGTH is the maximum travel of the towers and should be set to the distance between the hotend
- // and the platform when the printer is at its home position.
- // If EEPROM is enabled these values will be overridden with the values in the EEPROM
- #define X_MAX_LENGTH 95
- #define Y_MAX_LENGTH 95
- #define Z_MAX_LENGTH 577.212//574.600//580.000//564.581
- // 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
- // of the bed. Maximum coordinate is given by adding the above X_MAX_LENGTH values.
- #define X_MIN_POS -95
- #define Y_MIN_POS -95
- #define Z_MIN_POS 0
- // ##########################################################################################
- // ## Movement settings ##
- // ##########################################################################################
- // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. Currently only works for RAMBO boards
- #define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
- #define FEATURE_BABYSTEPPING 1
- #define BABYSTEP_MULTIPLICATOR 1
- /** \brief Number of segments to generate for delta conversions per second of move
- */
- #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
- #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves
- /** 1 for more precise delta moves. 0 for faster computation.
- Needs a bit more computation time. */
- #define EXACT_DELTA_MOVES 1
- /** \brief Delta rod length (mm)
- */
- #define DELTA_DIAGONAL_ROD 304 // mm
- /* =========== Parameter essential for delta calibration ===================
- C, Y-Axis
- | |___| CARRIAGE_HORIZONTAL_OFFSET (recommend set it to 0)
- | | \------------------------------------------
- |_________ X-axis | \ |
- / \ | \ DELTA_DIAGONAL_ROD (length) Each move this Rod Height
- / \ \ is calculated
- / \ \ Carriage is at printer center! |
- A B \_____/--------------------------------
- |--| END_EFFECTOR_HORIZONTAL_OFFSET (recommend set it to 0)
- |----| ROD_RADIUS (Horizontal rod pivot to pivot measure)
- |-----------| PRINTER_RADIUS (recommend set it to ROD_RADIUS)
- Column angles are measured from X-axis counterclockwise
- "Standard" positions: alpha_A = 210, alpha_B = 330, alpha_C = 90
- */
- /** \brief column positions - change only to correct build imperfections! */
- #define DELTA_ALPHA_A 210
- #define DELTA_ALPHA_B 330
- #define DELTA_ALPHA_C 90
- /** Correct radius by this value for each column. Perfect builds have 0 everywhere. */
- #define DELTA_RADIUS_CORRECTION_A 0
- #define DELTA_RADIUS_CORRECTION_B 0
- #define DELTA_RADIUS_CORRECTION_C 0
- /** Correction of the default diagonal size. Value gets added.*/
- #define DELTA_DIAGONAL_CORRECTION_A 0
- #define DELTA_DIAGONAL_CORRECTION_B 0
- #define DELTA_DIAGONAL_CORRECTION_C 0
- /** \brief Horizontal offset of the universal joints on the end effector (moving platform).
- */
- #define END_EFFECTOR_HORIZONTAL_OFFSET 35
- /** \brief Horizontal offset of the universal joints on the vertical carriages.
- */
- #define CARRIAGE_HORIZONTAL_OFFSET 32
- /** Max. radius (mm) the printer should be able to reach. */
- #define DELTA_MAX_RADIUS 95
- //Horizontal rod pivot to pivot measure
- #define ROD_RADIUS 180
- /** \brief Printer radius in mm,
- measured from the center of the print area to the vertical smooth tower.
- Alternately set this to the pivot to pivot horizontal rod distance, when head is at (0,0)
- */
- #define PRINTER_RADIUS 180
- /** When true the delta will home to z max when reset/powered over cord. That way you start with well defined coordinates.
- If you don't do it, make sure to home first before your first move.
- */
- #define DELTA_HOME_ON_POWER 0
- #define STEP_COUNTER
- /** To allow software correction of misaligned endstops, you can set the correction in steps here. If you have EEPROM enabled
- you can also change the values online and autoleveling will store the results here. */
- #define DELTA_X_ENDSTOP_OFFSET_STEPS 0
- #define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
- #define DELTA_Z_ENDSTOP_OFFSET_STEPS 0
- // Margin (mm) to avoid above tower minimum (xMin xMinsteps)
- // If your printer can put its carriage low enough the rod is horizontal without hitting the floor
- // set this to zero. Otherwise, measure how high the carriage is from horizontal rod
- // Also, movement speeds are 10x to 20x cartesian speeds at tower bottom.
- // You may need to leave a few mm for safety.
- // Hitting floor at high speed can damage your printer (motors, drives, etc)
- // THIS MAY NEED UPDATING IF THE HOT END HEIGHT CHANGES!
- #define DELTA_FLOOR_SAFETY_MARGIN_MM 15
- //#define SOFTWARE_LEVELING
- /** \brief Number of delta moves in each line. Moves that exceed this figure will be split into multiple lines.
- Increasing this figure can use a lot of memory since 7 bytes * size of line buffer * MAX_SELTA_SEGMENTS_PER_LINE
- will be allocated for the delta buffer.
- PrintLine PrintLine::lines[PRINTLINE_CACHE_SIZE (default 16?)];
- Printline is about 200 bytes + 7 * DELTASEGMENTS_PER_PRINTLINE
- or 16 * (200 + (7*22=154) = 354) = 5664 bytes! !1
- min is 5 * (200 + (7*10=70) =270) = 1350
- This leaves ~1K free RAM on an Arduino which has only 8k
- Mega. Used only for nonlinear systems like delta or tuga. */
- #define DELTASEGMENTS_PER_PRINTLINE 22
- /** After x seconds of inactivity, the stepper motors are disabled.
- Set to 0 to leave them enabled.
- This helps cooling the Stepper motors between two print jobs.
- Overridden if EEPROM activated.
- */
- #define STEPPER_INACTIVE_TIME 360
- /** After x seconds of inactivity, the system will go down as far it can.
- It will at least disable all stepper motors and heaters. If the board has
- a power pin, it will be disabled, too.
- Set value to 0 for disabled.
- Overridden if EEPROM activated.
- */
- #define MAX_INACTIVE_TIME 0L
- /** Maximum feedrate, the system allows. Higher feedrates are reduced to these values.
- The axis order in all axis related arrays is X, Y, Z
- Overridden if EEPROM activated.
- */
- #define MAX_FEEDRATE_X 200//500
- #define MAX_FEEDRATE_Y 200//500
- #define MAX_FEEDRATE_Z 200//500
- /** Home position speed in mm/s. Overridden if EEPROM activated. */
- #define HOMING_FEEDRATE_X 50 //200
- #define HOMING_FEEDRATE_Y 50 //200
- #define HOMING_FEEDRATE_Z 50 //200
- /** Set order of axis homing. Use HOME_ORDER_XYZ and replace XYZ with your order.
- * If you measure Z with your extruder tip you need a hot extruder to get right measurement. In this
- * case set HOME_ORDER_ZXYTZ and also define ZHOME_HEAT_HEIGHT and ZHOME_MIN_TEMPERATURE. It will do
- * first a z home to get some reference, then raise to ZHOME_HEAT_HEIGHT do xy homing and then after
- * heating to minimum ZHOME_MIN_TEMPERATURE will z home again for correct height.
- * */
- #define HOMING_ORDER HOME_ORDER_ZXY
- // Used for homing order HOME_ORDER_ZXYTZ
- #define ZHOME_MIN_TEMPERATURE 0
- // needs to heat all extruders (1) or only current extruder (0)
- #define ZHOME_HEAT_ALL 1
- // Z-height for heating extruder during homing
- #define ZHOME_HEAT_HEIGHT 20
- #define ZHOME_X_POS 0
- #define ZHOME_Y_POS 0
- /* 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
- own weight, so this is nearly never needed. */
- #define ENABLE_BACKLASH_COMPENSATION 0
- #define X_BACKLASH 0
- #define Y_BACKLASH 0
- #define Z_BACKLASH 0
- /** Comment this to disable ramp acceleration */
- #define RAMP_ACCELERATION 1
- /** If your stepper needs a longer high signal then given, you can add a delay here.
- The delay is realized as a simple loop wasting time, which is not available for other
- computations. So make it as low as possible. For the most common drivers no delay is needed, as the
- included delay is already enough.
- */
- #define STEPPER_HIGH_DELAY 2
- /** If your driver needs some additional delay between setting direction and first step signal,
- you can set this here. There are some commands between direction and signal, but some drivers
- might be even slower or you are using a fast Arduino board with slow driver. Normally 0 works.
- If you get skewed print, you might try 1 microsecond here.
- */
- #define DIRECTION_DELAY 0
- /** The firmware can only handle 16000Hz interrupt frequency cleanly. If you need higher speeds
- a faster solution is needed, and this is to double/quadruple the steps in one interrupt call.
- This is like reducing your 1/16th microstepping to 1/8 or 1/4. It is much cheaper then 1 or 3
- additional stepper interrupts with all it's overhead. As a result you can go as high as
- 40000Hz.
- */
- #define STEP_DOUBLER_FREQUENCY 12000
- /** If you need frequencies off more then 30000 you definitely need to enable this. If you have only 1/8 stepping
- enabling this may cause to stall your moves when 20000Hz is reached.
- */
- #define ALLOW_QUADSTEPPING 0
- /** If you reach STEP_DOUBLER_FREQUENCY the firmware will do 2 or 4 steps with nearly no delay. That can be too fast
- for some printers causing an early stall.
- */
- #define DOUBLE_STEP_DELAY 1 // time in microseconds
- /** \brief X, Y, Z max acceleration in mm/s^2 for printing moves or retracts. Make sure your printer can go that high!
- Overridden if EEPROM activated.
- */
- #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 2000
- #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 2000
- #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
- /** \brief X, Y, Z max acceleration in mm/s^2 for travel moves. Overridden if EEPROM activated.*/
- #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 3000
- #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 3000
- #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
- /** If you print on a moving bed, it can become more shaky the higher and bigger
- your print gets. Therefore it might be helpfull to reduce acceleration with
- increasing print height. You can define here how acceleration should change.
- You set ACCELERATION_FACTOR_TOP to the factor in percent for the top position
- of your printer. Acceleration will then be modified linear over height.
- INTERPOLATE_ACCELERATION_WITH_Z sets, which accelerations get changed:
- 0 = do not interpolate at all
- 1 = interpolate x and y acceleration
- 2 = interpolate z acceleration
- 3 = interpolate x,y and z acceleration
- */
- #define INTERPOLATE_ACCELERATION_WITH_Z 0
- #define ACCELERATION_FACTOR_TOP 100
- /** \brief Maximum allowable jerk.
- Caution: This is no real jerk in a physical meaning.
- The jerk determines your start speed and the maximum speed at the join of two segments.
- Its unit is mm/s. If the printer is standing still, the start speed is jerk/2. At the
- join of two segments, the speed difference is limited to the jerk value.
- Examples:
- For all examples jerk is assumed as 40.
- Segment 1: vx = 50, vy = 0
- Segment 2: vx = 0, vy = 50
- v_diff = sqrt((50-0)^2+(0-50)^2) = 70.71
- v_diff > jerk => vx_1 = vy_2 = jerk/v_diff*vx_1 = 40/70.71*50 = 28.3 mm/s at the join
- Segment 1: vx = 50, vy = 0
- Segment 2: vx = 35.36, vy = 35.36
- v_diff = sqrt((50-35.36)^2+(0-35.36)^2) = 38.27 < jerk
- Corner can be printed with full speed of 50 mm/s
- Overridden if EEPROM activated.
- */
- #define MAX_JERK 20
- #define MAX_ZJERK 0.3
- /** \brief Number of moves we can cache in advance.
- This number of moves can be cached in advance. If you wan't to cache more, increase this. Especially on
- many very short moves the cache may go empty. The minimum value is 5.
- */
- #define PRINTLINE_CACHE_SIZE 12
- /** \brief Low filled cache size.
- If the cache contains less then MOVE_CACHE_LOW segments, the time per segment is limited to LOW_TICKS_PER_MOVE clock cycles.
- If a move would be shorter, the feedrate will be reduced. This should prevent buffer underflows. Set this to 0 if you
- don't care about empty buffers during print.
- */
- #define MOVE_CACHE_LOW 10
- /** \brief Cycles per move, if move cache is low.
- This value must be high enough, that the buffer has time to fill up. The problem only occurs at the beginning of a print or
- if you are printing many very short segments at high speed. Higher delays here allow higher values in PATH_PLANNER_CHECK_SEGMENTS.
- */
- #define LOW_TICKS_PER_MOVE 250000
- #define EXTRUDER_SWITCH_XY_SPEED 100
- #define DUAL_X_AXIS 0
- #define FEATURE_TWO_XSTEPPER 0
- #define X2_STEP_PIN ORIG_E1_STEP_PIN
- #define X2_DIR_PIN ORIG_E1_DIR_PIN
- #define X2_ENABLE_PIN ORIG_E1_ENABLE_PIN
- #define FEATURE_TWO_YSTEPPER 0
- #define Y2_STEP_PIN ORIG_E1_STEP_PIN
- #define Y2_DIR_PIN ORIG_E1_DIR_PIN
- #define Y2_ENABLE_PIN ORIG_E1_ENABLE_PIN
- #define FEATURE_TWO_ZSTEPPER 0
- #define Z2_STEP_PIN ORIG_E1_STEP_PIN
- #define Z2_DIR_PIN ORIG_E1_DIR_PIN
- #define Z2_ENABLE_PIN ORIG_E1_ENABLE_PIN
- #define FEATURE_THREE_ZSTEPPER 0
- #define Z3_STEP_PIN ORIG_E2_STEP_PIN
- #define Z3_DIR_PIN ORIG_E2_DIR_PIN
- #define Z3_ENABLE_PIN ORIG_E2_ENABLE_PIN
- #define FEATURE_DITTO_PRINTING 0
- #define USE_ADVANCE 0
- #define ENABLE_QUADRATIC_ADVANCE 0
- // ################# Misc. settings ##################
- #define BAUDRATE 250000
- #define ENABLE_POWER_ON_STARTUP 1
- /**
- If you use an ATX power supply you need the power pin to work non inverting. For some special
- boards you might need to make it inverting.
- */
- #define POWER_INVERTING 0
- #define KILL_METHOD 1
- #define ACK_WITH_LINENUMBER 1
- #define WAITING_IDENTIFIER "wait"
- #define ECHO_ON_EXECUTE 1
- /** \brief EEPROM storage mode
- Set the EEPROM_MODE to 0 if you always want to use the settings in this configuration file. If not,
- set it to a value not stored in the first EEPROM-byte used. If you later want to overwrite your current
- EEPROM settings with configuration defaults, just select an other value. On the first call to epr_init()
- it will detect a mismatch of the first byte and copy default values into EEPROM. If the first byte
- matches, the stored values are used to overwrite the settings.
- IMPORTANT: With mode <>0 some changes in Configuration.h are not set any more, as they are
- taken from the EEPROM.
- */
- #define EEPROM_MODE 1
- #undef PS_ON_PIN
- #define PS_ON_PIN ORIG_PS_ON_PIN
- #define JSON_OUTPUT 0
- /* ======== Servos =======
- Control the servos with
- M340 P<servoId> S<pulseInUS> / ServoID = 0..3 pulseInUs = 500..2500
- Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
- WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware!
- */
- #define FEATURE_SERVO 0
- #define SERVO0_PIN 11
- #define SERVO1_PIN -1
- #define SERVO2_PIN -1
- #define SERVO3_PIN -1
- #define SERVO0_NEUTRAL_POS -1
- #define SERVO1_NEUTRAL_POS -1
- #define SERVO2_NEUTRAL_POS -1
- #define SERVO3_NEUTRAL_POS -1
- #define UI_SERVO_CONTROL 0
- #define FAN_KICKSTART_TIME 200
- #define FEATURE_WATCHDOG 0
- // #################### Z-Probing #####################
- /* After homing the z position is corrected to compensate
- for a bed coating. Since you can change coatings the value is stored in
- EEPROM if enabled, so you can switch between different coatings without needing
- to recalibrate z.
- */
- #define Z_PROBE_Z_OFFSET 0 // offset to coating form real bed level
- /* How is z min measured
- 0 = trigger is height of real bed neglecting coating
- 1 = trigger is current coating
- For mode 1 the current coating thickness is added to measured z probe distances.
- That way the real bed is always the reference height. For inductive sensors
- or z min endstops the coating has no effect on the result, so you should use mode 0.
- */
- #define Z_PROBE_Z_OFFSET_MODE 0
- #define UI_BED_COATING 1
- #define FEATURE_Z_PROBE 1
- #define Z_PROBE_BED_DISTANCE 11.800//5 // Higher than max bed level distance error in mm
- #define Z_PROBE_PIN ORIG_Z_MIN_PIN
- #define Z_PROBE_PULLUP 1 // NC = 1, NO = 0
- #define Z_PROBE_ON_HIGH 1 // Untriggered H = 1, Untriggered L = 0
- #define Z_PROBE_X_OFFSET -24
- #define Z_PROBE_Y_OFFSET -16
- // Waits for a signal to start. Valid signals are probe hit and ok button.
- // This is needful if you have the probe trigger by hand.
- #define Z_PROBE_WAIT_BEFORE_TEST 0
- /** Speed of z-axis in mm/s when probing */
- #define Z_PROBE_SPEED 3
- #define Z_PROBE_XY_SPEED 40
- #define Z_PROBE_SWITCHING_DISTANCE 1.5 // Distance to safely switch off probe after it was activated
- #define Z_PROBE_REPETITIONS 3 // Repetitions for probing at one point.
- /** Distance between nozzle and bed when probe triggers. */
- #define Z_PROBE_HEIGHT 11.800//32.50
- /** These scripts are run before resp. after the z-probe is done. Add here code to activate/deactivate probe if needed. */
- #define Z_PROBE_START_SCRIPT ""
- #define Z_PROBE_FINISHED_SCRIPT ""
- /** Set 1 if you need a hot extruder for good probe results. Normally only required if nozzle is probe. */
- #define Z_PROBE_REQUIRES_HEATING 0
- /** Minimum extruder temperature for probing. If it is lower, it will be increased to that value. */
- #define Z_PROBE_MIN_TEMPERATURE 150
- /*
- Define how we measure the bed rotation.
- All methods need at least 3 points to define the bed rotation correctly. The quality we get comes
- from the selection of the right points and method.
- BED_LEVELING_METHOD 0
- This method measures at the 3 probe points and creates a plane through these points. If you have
- a really planar bed this gives the optimum result. The 3 points must not be in one line and have
- a long distance to increase numerical stability.
- BED_LEVELING_METHOD 1
- This measures a grid. Probe point 1 is the origin and points 2 and 3 span a grid. We measure
- BED_LEVELING_GRID_SIZE points in each direction and compute a regression plane through all
- points. This gives a good overall plane if you have small bumps measuring inaccuracies.
- BED_LEVELING_METHOD 2
- Bending correcting 4 point measurement. This is for cantilevered beds that have the rotation axis
- not at the side but inside the bed. Here we can assume no bending on the axis and a symmetric
- bending to both sides of the axis. So probe points 2 and 3 build the symmetric axis and
- point 1 is mirrored to 1m across the axis. Using the symmetry we then remove the bending
- from 1 and use that as plane.
- */
- #define BED_LEVELING_METHOD 0
- /* How to correct rotation.
- 0 = software side
- 1 = motorized modification of 2 from 3 fixture points.
- */
- #define BED_CORRECTION_METHOD 0
- // Grid size for grid based plane measurement
- #define BED_LEVELING_GRID_SIZE 5
- // Repetitions for motorized bed leveling
- #define BED_LEVELING_REPETITIONS 5
- /* These are the motor positions relative to bed origin. Only needed for
- motorized bed leveling */
- #define BED_MOTOR_1_X 0
- #define BED_MOTOR_1_Y 0
- #define BED_MOTOR_2_X 200
- #define BED_MOTOR_2_Y 0
- #define BED_MOTOR_3_X 100
- #define BED_MOTOR_3_Y 200
- /* Autoleveling allows it to z-probe 3 points to compute the inclination and compensates the error for the print.
- This feature requires a working z-probe and you should have z-endstop at the top not at the bottom.
- The same 3 points are used for the G29 command.
- */
- #define FEATURE_AUTOLEVEL 1
- #define Z_PROBE_X1 -15.81
- #define Z_PROBE_Y1 -45.00
- #define Z_PROBE_X2 -49.80
- #define Z_PROBE_Y2 22.00
- #define Z_PROBE_X3 11.45
- #define Z_PROBE_Y3 3.84
- /* Bending correction adds a value to a measured z-probe value. This may be
- required when the z probe needs some force to trigger and this bends the
- bed down. Currently the correction values A/B/C correspond to z probe
- positions 1/2/3. In later versions a bending correction algorithm might be
- introduced to give it other meanings.*/
- #define BENDING_CORRECTION_A 0
- #define BENDING_CORRECTION_B 0
- #define BENDING_CORRECTION_C 0
- /* DISTORTION_CORRECTION compensates the distortion caused by mechanical imprecisions of nonlinear (i.e. DELTA) printers
- * assumes that the floor is plain (i.e. glass plate)
- * and that it is perpendicular to the towers
- * and that the (0,0) is in center
- * requires z-probe
- * G29 measures the Z offset in matrix NxN points (due to nature of the delta printer, the corners are extrapolated instead of measured)
- * and compensate the distortion
- * more points means better compensation, but consumes more memory and takes more time
- * DISTORTION_CORRECTION_R is the distance of last row or column from center
- */
- #define DISTORTION_CORRECTION 1
- #define DISTORTION_CORRECTION_POINTS 3
- /* For delta printers you simply define the measured radius around origin */
- #define DISTORTION_CORRECTION_R 20
- /* For all others you define the correction rectangle by setting the min/max coordinates. Make sure the the probe can reach all points! */
- #define DISTORTION_XMIN 10
- #define DISTORTION_YMIN 10
- #define DISTORTION_XMAX 190
- #define DISTORTION_YMAX 190
- /** Uses EEPROM instead of ram. Allows bigger matrix (up to 22x22) without any ram cost.
- Especially on arm based systems with cached EEPROM it is good, on AVR it has a small
- performance penalty.
- */
- #define DISTORTION_PERMANENT 1
- /** Correction computation is not a cheap operation and changes are only small. So it
- is not necessary to update it for every sub-line computed. For example lets take DELTA_SEGMENTS_PER_SECOND_PRINT = 150
- and fastest print speed 100 mm/s. So we have a maximum segment length of 100/150 = 0.66 mm.
- Now lats say our point field is 200 x 200 mm with 9 x 9 points. So between 2 points we have
- 200 / (9-1) = 25 mm. So we need at least 25 / 0.66 = 37 lines to move to the next measuring
- point. So updating correction every 15 calls gives us at least 2 updates between the
- measured points.
- NOTE: Explicit z changes will always trigger an update!
- */
- #define DISTORTION_UPDATE_FREQUENCY 15
- /** z distortion degrades to 0 from this height on. You should start after the first layer to get
- best bonding with surface. */
- #define DISTORTION_START_DEGRADE 0.5
- /** z distortion correction gets down to 0 at this height. */
- #define DISTORTION_END_HEIGHT 1.5
- /** If your corners measurement points are not measurable with given radius, you can
- set this to 1. It then omits the outer measurement points allowing a larger correction area.*/
- #define DISTORTION_EXTRAPOLATE_CORNERS 0
- /* If your printer is not exactly square but is more like a parallelogram, you can
- use this to compensate the effect of printing squares like parallelograms. Set the
- parameter to then tangens of the deviation from 90° when you print a square object.
- E.g. if you angle is 91° enter tan(1) = 0.017. If error doubles you have the wrong sign.
- Always hard to say since the other angle is 89° in this case!
- */
- #define FEATURE_AXISCOMP 0
- #define AXISCOMP_TANXY 0
- #define AXISCOMP_TANYZ 0
- #define AXISCOMP_TANXZ 0
- #ifndef SDSUPPORT // Some boards have sd support on board. These define the values already in pins.h
- #define SDSUPPORT 1
- #undef SDCARDDETECT
- #define SDCARDDETECT -1
- #define SDCARDDETECTINVERTED 0
- #endif
- #define SD_EXTENDED_DIR 0 /** Show extended directory including file length. Don't use this with Pronterface! */
- #define SD_RUN_ON_STOP ""
- #define SD_STOP_HEATER_AND_MOTORS_ON_STOP 1
- #define ARC_SUPPORT 1
- #define FEATURE_MEMORY_POSITION 1
- #define FEATURE_CHECKSUM_FORCED 0
- #define FEATURE_FAN_CONTROL 1
- #define FEATURE_FAN2_CONTROL 0
- #define FEATURE_CONTROLLER 2
- #define ADC_KEYPAD_PIN -1
- #define LANGUAGE_EN_ACTIVE 1
- #define LANGUAGE_DE_ACTIVE 1
- #define LANGUAGE_NL_ACTIVE 0
- #define LANGUAGE_PT_ACTIVE 1
- #define LANGUAGE_IT_ACTIVE 1
- #define LANGUAGE_ES_ACTIVE 1
- #define LANGUAGE_FI_ACTIVE 0
- #define LANGUAGE_SE_ACTIVE 0
- #define LANGUAGE_FR_ACTIVE 1
- #define LANGUAGE_CZ_ACTIVE 0
- #define LANGUAGE_PL_ACTIVE 1
- #define LANGUAGE_TR_ACTIVE 1
- #define UI_PRINTER_NAME "RepRap"
- #define UI_PRINTER_COMPANY "Home made"
- #define UI_PAGES_DURATION 4000
- #define UI_ANIMATION 0
- /* There are 2 ways to change positions. You can move by increments of 1/0.1 mm resulting in more menu entries
- and requiring many turns on your encode. The alternative is to enable speed dependent positioning. It will change
- the move distance depending on the speed you turn the encoder. That way you can move very fast and very slow in the
- same setting.
- */
- #define UI_SPEEDDEPENDENT_POSITIONING 1
- #define UI_DISABLE_AUTO_PAGESWITCH 1
- #define UI_AUTORETURN_TO_MENU_AFTER 30000
- #define FEATURE_UI_KEYS 0
- /* Normally cou want a next/previous actions with every click of your encoder.
- Unfortunately, the encoder have a different count of phase changes between clicks.
- Select an encoder speed from 0 = fastest to 2 = slowest that results in one menu move per click.
- */
- #define UI_ENCODER_SPEED 2
- // Set to 1 to reverse encoder direction
- #define UI_REVERSE_ENCODER 1
- #define UI_KEY_BOUNCETIME 10
- #define UI_KEY_FIRST_REPEAT 500
- #define UI_KEY_REDUCE_REPEAT 50
- #define UI_KEY_MIN_REPEAT 50
- #define FEATURE_BEEPER 0
- #define CASE_LIGHTS_PIN -1
- #define CASE_LIGHT_DEFAULT_ON 1
- #define UI_START_SCREEN_DELAY 1000
- /** If set to 1 faster turning the wheel makes larger jumps. Helps for faster navigation. */
- #define UI_DYNAMIC_ENCODER_SPEED 1
- /**
- Beeper sound definitions for short beeps during key actions
- and longer beeps for important actions.
- Parameter is delay in microseconds and the secons is the number of repetitions.
- Values must be in range 1..255
- */
- #define BEEPER_SHORT_SEQUENCE 2,2
- #define BEEPER_LONG_SEQUENCE 8,8
- #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
- #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 190
- #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 120
- #define UI_SET_PRESET_EXTRUDER_TEMP_ABS 235
- #define UI_SET_MIN_HEATED_BED_TEMP 30
- #define UI_SET_MAX_HEATED_BED_TEMP 120
- #define UI_SET_MIN_EXTRUDER_TEMP 150
- #define UI_SET_MAX_EXTRUDER_TEMP 275
- #define UI_SET_EXTRUDER_FEEDRATE 2
- #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3
- #define NUM_MOTOR_DRIVERS 0
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement