New Firmware uploaded -- Sanity check

Ok, I went from 0.92 to 1.0.x. Finally got everything to compile without issue and uploaded to my printer. Now when I try to home, i get an error on the Z probe that it would cause the printer to move to an illegal position.
Reading though other threads here, it would seem that i have one of my settings out of position.
X and Y are at 0,0 (also machine 0), the z probe has an x offset of -59.43 (should mean that the probe is 59.43 to the right of X0 i believe).
This is how i had it in version .92. 
If i read and understand correct, while the offset may be correct, i need to change where the z probe bedmap starts???

If i home x then y, then move the head to X100 Y100, i can home Z without issue.
so now the issue is, how should i set these in the firmware so that when i hit the home all menu on the printer itself, the machine will home as it should (i think i may have missed a step here somewhere).
If i home x and then y, leave the head in place, the probe is at the edge of the build plate and should be able to home in that position (that is how it functioned in .92).

What am i missing here?

Thank you.

Comments

  • Use one of the homing orders that has pre heat, this lets you assign the X Y coords to home Z and also raises Z befor homing so it wont drag on the bed.

  • Negative x offset means probe is left from extruder. You see it when homing that it will move to the right to activate it on same position.
  • ok.. i "think" i understand more now than before. 
    With my current settings, the z probe offset for x is 59.690 and the y is 13.270 (i believe this puts the z probe to the right and forward of the print head.
    When I home the printer (from Repetier Host), z goes up 5 (i believe this the pre raise z entry, x then y homes as expected, then the head moves to x100 y100, the z axis lowers to what I think would be 5, then the offset comes in and the z probe gets centered over x100, y100, the probe continues down to where it triggers, moves away then back down again to the trigger. the head them moves back into position (without raising the probe), raises to i think 5, then travels to x0 y0 and brings the head down closer to the bed.
    If i can find a way to upload a video to show you what it is doing i will..

    When i send a G32 S2 the head raises, moves to the right, then back to the left to start the procedure.

    I am not sure this is correct for these actions, i have never seen a printer home like this or start the g32 process (this is all from videos that I have watched online).

    A typical home process would home x then y, then move to a spot in the middle of the bed and home z.
    Any idea why this one would shift to the offset in the middle of the z home process?


  • That is because you told firmware to home there so itcan apply the probe offset.

    please also check offset in eeprom. There it is in steps not mm like in configuration.
  • Not sure I was clear (I wish I could upload a video)
    When I home z, the head moves the nozzle to x100, y100 as expected, when the z starts to approach the bed, it starts at z+10, as it lowers, it gets to z+5, then moves the head to the left so that now the probe is over x100,y100. It homes the axis, then moves the nozzle back to x100,y100, raises to z+10, then goes back to x0,y0,z0.

    I tried to send a g32 s2 and let it run to see what it would do, it gave an error that it could not set the z stop, it seemed to continue running, but the z position on the display was all ????.
  • So homing seems to work correctly.

    For the G32 command please attach the log so i can see what you mean,
  • I have uploaded 2 short videos of this.. one is the home command and the other is the beginning of the G32 command
    https://www.dropbox.com/s/e0igpch2kojngah/Home.mp4?dl=0
    https://www.dropbox.com/s/xzifx9543e9st84/G32Command.mp4?dl=0

    I will need to re-run the G32 command to get the logs (will need to do this tonight)



  • here is the log.. i think i understand now.. there is a difference in the way the probe position is measured between the 2 versions. i changed the z probe x1 position to be 60 and was able to get a g32 s2 to run.. when it finished i ran a g33, the seemed to rotate the bed by 90 deg and restart the calibration, which would have put the probe off the edge of the board, so i stopped it.

    20:48:48.783 : N23 G28*34
    20:49:00.707 : X:0.00 Y:0.00 Z:0.000 E:0.0000
    20:49:08.662 : N24 G32 S2*111
    20:49:11.412 : Z correction disabled
    20:49:11.428 : Info:Autoleveling disabled
    20:49:17.883 : Z-probe:6.247 X:60.00 Y:30.00
    20:49:22.821 : Z-probe:6.457 X:60.00 Y:92.49
    20:49:27.806 : Z-probe:6.506 X:60.00 Y:155.00
    20:49:32.714 : Z-probe:6.407 X:60.00 Y:217.50
    20:49:37.480 : Z-probe:6.204 X:60.00 Y:280.00
    20:49:44.278 : Z-probe:6.109 X:87.50 Y:30.00
    20:49:49.092 : Z-probe:6.264 X:87.50 Y:92.49
    20:49:53.921 : Z-probe:6.289 X:87.50 Y:155.00
    20:49:58.687 : Z-probe:6.204 X:87.50 Y:217.50
    20:50:03.360 : Z-probe:6.061 X:87.50 Y:280.00
    20:50:10.127 : Z-probe:6.075 X:115.00 Y:30.00
    20:50:14.878 : Z-probe:6.192 X:115.00 Y:92.49
    20:50:19.661 : Z-probe:6.202 X:115.00 Y:155.00
    20:50:24.365 : Z-probe:6.123 X:115.00 Y:217.50
    20:50:29.006 : Z-probe:6.014 X:115.00 Y:280.00
    20:50:35.710 : Z-probe:5.987 X:142.50 Y:30.00
    20:50:40.383 : Z-probe:6.059 X:142.50 Y:92.49
    20:50:45.056 : Z-probe:6.060 X:142.50 Y:155.00
    20:50:49.682 : Z-probe:6.004 X:142.50 Y:217.50
    20:50:54.245 : Z-probe:5.920 X:142.50 Y:280.00
    20:51:00.871 : Z-probe:5.857 X:170.00 Y:30.00
    20:51:05.419 : Z-probe:5.896 X:170.00 Y:92.49
    20:51:09.966 : Z-probe:5.882 X:170.00 Y:155.00
    20:51:14.483 : Z-probe:5.841 X:170.00 Y:217.50
    20:51:18.968 : Z-probe:5.789 X:170.00 Y:280.00
    20:51:18.968 : plane: a = -0.0044 b = -0.0003 c = 6.6518
    20:51:18.984 : Transformation matrix: 0.999990 0.000000 0.004372 -0.000001 1.000000 0.000278 -0.004372 -0.000278 0.999990
    20:51:18.984 : CurrentZ:6.65 atZ:6.57
    20:51:18.984 : Info:Autoleveling enabled
    20:51:20.187 : X:170.03 Y:280.00 Z:5.821 E:0.0000
    20:51:24.391 : N25 G33*46
    20:51:25.938 : Z correction disabled
    20:51:25.954 : Reference Z for measurement:20.000
    20:51:45.005 : Z-probe:19.831 X:10.00 Y:250.00
    20:51:59.070 : Z-probe:19.777 X:55.00 Y:250.00
    20:52:13.182 : Z-probe:19.847 X:100.00 Y:250.00
    20:52:27.356 : Z-probe:19.934 X:145.00 Y:250.00
    20:52:30.325 : Printer reset detected - initalizing
    20:52:30.325 : start
    20:52:30.325 : Info:External Reset
    20:52:30.325 : Detected EEPROM version:19
    20:52:30.325 : Info:Autoleveling enabled
    20:52:30.341 : Transformation matrix: 0.999990 0.000000 0.004372 -0.000001 1.000000 0.000278 -0.004372 -0.000278 0.999990
    20:52:30.528 : N1 M110*34
    20:52:30.528 : N2 M115*36
    20:52:30.528 : N3 M105*36
    20:52:30.528 : N4 M114*35
    20:52:30.528 : N5 M111 S6*98
    20:52:30.528 : N6 T0*60
    20:52:30.528 : N7 M20*22
    20:52:30.528 : N8 M80*19
    20:52:31.591 : zDistortionCorrection:0
    20:52:31.607 : Free RAM:3560
    20:52:31.716 : Card successfully initialized.
    20:52:31.747 : SelectExtruder:0
    20:52:31.763 : FIRMWARE_NAME:Repetier_1.0.2 COMPILED:Jul 24 2018 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:3 REPETIER_PROTOCOL:3
    20:52:31.763 : Cap:PROGRESS:1
    20:52:31.763 : N9 M220 S100*104
    20:52:31.763 : N10 M221 S100*81
    20:52:31.763 : N11 M111 S6*87
    20:52:31.763 : Cap:AUTOREPORT_TEMP:1
    20:52:31.763 : N12 T0*9
    20:52:31.763 : Cap:EEPROM:1
    20:52:31.763 : N13 M155 S1*82
    20:52:31.763 : Cap:AUTOLEVEL:1
    20:52:31.763 : Cap:Z_PROBE:1
    20:52:31.763 : Cap:SOFTWARE_POWER:0
    20:52:31.763 : Cap:TOGGLE_LIGHTS:0
    20:52:31.763 : Cap:PAUSESTOP:1
    20:52:31.778 : Cap:PREHEAT:1
    20:52:31.778 : Printed filament:873.63m Printing time:10 days 18 hours 11 min
    20:52:31.778 : PrinterMode:FFF
    20:52:31.778 : X:-1.25 Y:-13.75 Z:0.000 E:0.0000
    20:52:31.778 : DebugLevel:6
    20:52:31.778 : SelectExtruder:0
    20:52:31.778 : Begin file list
    20:52:31.778 : s 2885537
    20:52:31.778 : 123/
    20:52:31.794 : tinker~1.gco 1388464
    20:52:31.794 : reset.gco 155595
    20:52:31.825 : resetbedmap.gcode 1271
    20:52:31.825 : 3layerSlic3r_Offset_Mount. 6082450
    20:52:31.825 : xyzCalibration_cube.gcode 303129
    20:52:31.825 : Tarantula_MKS_Base_Offset_ 3444780
    20:52:31.825 : R_Z_Top.gcode 5038403
    20:52:31.825 : New folder/
    20:52:31.841 : End file list
    20:52:31.842 : DebugLevel:6
    20:52:31.842 : SelectExtruder:0

  • G33 has it‘s own coordinates that you defined in config tool and also own resolution. So make sure here the area is also reachable with offset. Did you make the reset i see in the log?
  • I hit the rest button the controller to keep the head from crashing into the bed. I will look in the config tool now to find the other coordinates for g33
  • Where do i find a different set of coordinates for the g33 command? the only ones i find listed are the same z probe positions that i see in the eeprom..??
  • Bottom of the 'general tab' Z correction  part

  • ok.. i screwed something up here .. :(
    i am again getting the constraint error and not sure what i messed up...
    this is what the log gives
    06:59:01.552 : N5 G28*22
    06:59:01.552 : Error:Activating z-probe would lead to forbidden xy position: -59.959968, -13.27
    06:59:01.552 : RequestStop:
    06:59:02.729 : fatal:Could not activate z-probe offset due to coordinate constraints - result is inaccurate! - Printer stopped and heaters disabled due to this error. Fix error and restart with M999.



    and the config.h file just in case..
    /*
        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 1.0.2

       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 3
    #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 BOARD_FAN_MIN_SPEED 0
    #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
    #undef X_MAX_PIN
    #define X_MAX_PIN -1
    #undef Y_MAX_PIN
    #define Y_MAX_PIN -1
    #undef Z_MAX_PIN
    #define Z_MAX_PIN -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 0
    #define XAXIS_STEPS_PER_MM 80
    #define YAXIS_STEPS_PER_MM 80
    #define ZAXIS_STEPS_PER_MM 1600
    #define EXTRUDER_FAN_COOL_TEMP 50
    #define PDM_FOR_EXTRUDER 0
    #define PDM_FOR_COOLER 0
    #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
    #define DECOUPLING_TEST_MIN_TEMP_RISE 1
    #define KILL_IF_SENSOR_DEFECT 1
    #define RETRACT_ON_PAUSE 2
    #define PAUSE_START_COMMANDS ""
    #define PAUSE_END_COMMANDS ""
    #define SHARED_EXTRUDER_HEATER 0
    #define EXT0_X_OFFSET 0
    #define EXT0_Y_OFFSET 0
    #define EXT0_Z_OFFSET 0
    #define EXT0_STEPS_PER_MM 95.2
    #define EXT0_TEMPSENSOR_TYPE 1
    #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
    #define EXT0_HEATER_PIN HEATER_0_PIN
    #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE 0
    #define EXT0_ENABLE_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_ENABLE_ON 0
    #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
    #define EXT0_MAX_FEEDRATE 50
    #define EXT0_MAX_START_FEEDRATE 20
    #define EXT0_MAX_ACCELERATION 5000
    #define EXT0_HEAT_MANAGER 1
    #define EXT0_PREHEAT_TEMP 190
    #define EXT0_WATCHPERIOD 1
    #define EXT0_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT0_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT0_PID_PGAIN_OR_DEAD_TIME 4
    #define EXT0_PID_I 2
    #define EXT0_PID_D 40
    #define EXT0_PID_MAX 255
    #define EXT0_ADVANCE_K 0
    #define EXT0_ADVANCE_L 0
    #define EXT0_ADVANCE_BACKLASH_STEPS 0
    #define EXT0_WAIT_RETRACT_TEMP 150
    #define EXT0_WAIT_RETRACT_UNITS 0
    #define EXT0_SELECT_COMMANDS ""
    #define EXT0_DESELECT_COMMANDS ""
    #define EXT0_EXTRUDER_COOLER_PIN -1
    #define EXT0_EXTRUDER_COOLER_SPEED 255
    #define EXT0_DECOUPLE_TEST_PERIOD 12000
    #define EXT0_JAM_PIN -1
    #define EXT0_JAM_PULLUP 0
    #define EXT1_X_OFFSET 1440
    #define EXT1_Y_OFFSET 0
    #define EXT1_Z_OFFSET 0
    #define EXT1_STEPS_PER_MM 95.2
    #define EXT1_TEMPSENSOR_TYPE 1
    #define EXT1_TEMPSENSOR_PIN TEMP_2_PIN
    #define EXT1_HEATER_PIN 7
    #define EXT1_STEP_PIN ORIG_E1_STEP_PIN
    #define EXT1_DIR_PIN ORIG_E1_DIR_PIN
    #define EXT1_INVERSE 0
    #define EXT1_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define EXT1_ENABLE_ON 0
    #define EXT1_MIRROR_STEPPER 0
    #define EXT1_STEP2_PIN ORIG_E1_STEP_PIN
    #define EXT1_DIR2_PIN ORIG_E1_DIR_PIN
    #define EXT1_INVERSE2 0
    #define EXT1_ENABLE2_PIN ORIG_E1_ENABLE_PIN
    #define EXT1_MAX_FEEDRATE 50
    #define EXT1_MAX_START_FEEDRATE 20
    #define EXT1_MAX_ACCELERATION 5000
    #define EXT1_HEAT_MANAGER 1
    #define EXT1_PREHEAT_TEMP 190
    #define EXT1_WATCHPERIOD 1
    #define EXT1_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT1_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT1_PID_PGAIN_OR_DEAD_TIME 4
    #define EXT1_PID_I 2
    #define EXT1_PID_D 40
    #define EXT1_PID_MAX 255
    #define EXT1_ADVANCE_K 0
    #define EXT1_ADVANCE_L 0
    #define EXT1_ADVANCE_BACKLASH_STEPS 0
    #define EXT1_WAIT_RETRACT_TEMP 150
    #define EXT1_WAIT_RETRACT_UNITS 0
    #define EXT1_SELECT_COMMANDS ""
    #define EXT1_DESELECT_COMMANDS ""
    #define EXT1_EXTRUDER_COOLER_PIN -1
    #define EXT1_EXTRUDER_COOLER_SPEED 255
    #define EXT1_DECOUPLE_TEST_PERIOD 12000
    #define EXT1_JAM_PIN -1
    #define EXT1_JAM_PULLUP 0
    #define EXT2_X_OFFSET 0
    #define EXT2_Y_OFFSET 0
    #define EXT2_Z_OFFSET 0
    #define EXT2_STEPS_PER_MM 370
    #define EXT2_TEMPSENSOR_TYPE 1
    #define EXT2_TEMPSENSOR_PIN TEMP_3_PIN
    #define EXT2_HEATER_PIN HEATER_3_PIN
    #define EXT2_STEP_PIN ORIG_E2_STEP_PIN
    #define EXT2_DIR_PIN ORIG_E2_DIR_PIN
    #define EXT2_INVERSE 0
    #define EXT2_ENABLE_PIN ORIG_E2_ENABLE_PIN
    #define EXT2_ENABLE_ON 0
    #define EXT2_MIRROR_STEPPER 0
    #define EXT2_STEP2_PIN ORIG_E2_STEP_PIN
    #define EXT2_DIR2_PIN ORIG_E2_DIR_PIN
    #define EXT2_INVERSE2 0
    #define EXT2_ENABLE2_PIN ORIG_E2_ENABLE_PIN
    #define EXT2_MAX_FEEDRATE 50
    #define EXT2_MAX_START_FEEDRATE 20
    #define EXT2_MAX_ACCELERATION 5000
    #define EXT2_HEAT_MANAGER 1
    #define EXT2_PREHEAT_TEMP 190
    #define EXT2_WATCHPERIOD 1
    #define EXT2_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT2_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT2_PID_PGAIN_OR_DEAD_TIME 7
    #define EXT2_PID_I 2
    #define EXT2_PID_D 40
    #define EXT2_PID_MAX 255
    #define EXT2_ADVANCE_K 0
    #define EXT2_ADVANCE_L 0
    #define EXT2_ADVANCE_BACKLASH_STEPS 0
    #define EXT2_WAIT_RETRACT_TEMP 150
    #define EXT2_WAIT_RETRACT_UNITS 0
    #define EXT2_SELECT_COMMANDS ""
    #define EXT2_DESELECT_COMMANDS ""
    #define EXT2_EXTRUDER_COOLER_PIN -1
    #define EXT2_EXTRUDER_COOLER_SPEED 255
    #define EXT2_DECOUPLE_TEST_PERIOD 12000
    #define EXT2_JAM_PIN -1
    #define EXT2_JAM_PULLUP 0

    #define FEATURE_RETRACTION 1
    #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
    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    #define FILAMENTCHANGE_REHOME 1
    #define FILAMENTCHANGE_SHORTRETRACT 5
    #define FILAMENTCHANGE_LONGRETRACT 50
    #define JAM_METHOD 1
    #define JAM_STEPS 220
    #define JAM_SLOWDOWN_STEPS 320
    #define JAM_SLOWDOWN_TO 70
    #define JAM_ERROR_STEPS 500
    #define JAM_MIN_STEPS 10
    #define JAM_ACTION 1

    #define RETRACT_DURING_HEATUP true
    #define PID_CONTROL_RANGE 20
    #define SKIP_M109_IF_WITHIN 2
    #define SCALE_PID_TO_MAX 0
    #define TEMP_HYSTERESIS 0
    #define EXTRUDE_MAXLENGTH 160
    #define NUM_TEMPS_USERTHERMISTOR0 0
    #define USER_THERMISTORTABLE0 {}
    #define NUM_TEMPS_USERTHERMISTOR1 0
    #define USER_THERMISTORTABLE1 {}
    #define NUM_TEMPS_USERTHERMISTOR2 0
    #define USER_THERMISTORTABLE2 {}
    #define GENERIC_THERM_VREF 5
    #define GENERIC_THERM_NUM_ENTRIES 33
    #define HEATER_PWM_SPEED 0
    #define COOLER_PWM_SPEED 0

    // ############# Heated bed configuration ########################

    #define HAVE_HEATED_BED 1
    #define HEATED_BED_PREHEAT_TEMP 55
    #define HEATED_BED_MAX_TEMP 120
    #define SKIP_M190_IF_WITHIN 3
    #define HEATED_BED_SENSOR_TYPE 1
    #define HEATED_BED_SENSOR_PIN TEMP_1_PIN
    #define HEATED_BED_HEATER_PIN HEATER_1_PIN
    #define HEATED_BED_SET_INTERVAL 5000
    #define HEATED_BED_HEAT_MANAGER 3
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
    #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME   5
    #define HEATED_BED_PID_IGAIN   33
    #define HEATED_BED_PID_DGAIN 290
    #define HEATED_BED_PID_MAX 255
    #define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
    #define MIN_EXTRUDER_TEMP 160
    #define MAXTEMP 275
    #define MIN_DEFECT_TEMPERATURE -10
    #define MAX_DEFECT_TEMPERATURE 290
    #define MILLISECONDS_PREHEAT_TIME 30000

    // ##########################################################################################
    // ##                             Laser configuration                                      ##
    // ##########################################################################################

    /*
    If the firmware is in laser mode, it can control a laser output to cut or engrave materials.
    Please use this feature only if you know about safety and required protection. Lasers are
    dangerous and can hurt or make you blind!!!

    The default laser driver only supports laser on and off. Here you control the intensity with
    your feedrate. For exchangeable diode lasers this is normally enough. If you need more control
    you can set the intensity in a range 0-255 with a custom extension to the driver. See driver.h
    and comments on how to extend the functions non invasive with our event system.

    If you have a laser - powder system you will like your E override. If moves contain a
    increasing extruder position it will laser that move. With this trick you can
    use existing fdm slicers to laser the output. Laser width is extrusion width.

    Other tools may use M3 and M5 to enable/disable laser. Here G1/G2/G3 moves have laser enabled
    and G0 moves have it disables.

    In any case, laser only enables while moving. At the end of a move it gets
    automatically disabled.
    */

    #define SUPPORT_LASER 0
    #define LASER_PIN 9
    #define LASER_ON_HIGH 1
    #define LASER_WARMUP_TIME 0
    #define LASER_PWM_MAX 255
    #define LASER_WATT 2

    // ##                              CNC configuration                                       ##

    /*
    If the firmware is in CNC mode, it can control a mill with M3/M4/M5. It works
    similar to laser mode, but mill keeps enabled during G0 moves and it allows
    setting rpm (only with event extension that supports this) and milling direction.
    It also can add a delay to wait for spindle to run on full speed.
    */

    #define SUPPORT_CNC 0
    #define CNC_WAIT_ON_ENABLE 300
    #define CNC_WAIT_ON_DISABLE 0
    #define CNC_ENABLE_PIN -1
    #define CNC_ENABLE_WITH 1
    #define CNC_DIRECTION_PIN -1
    #define CNC_DIRECTION_CW 1
    #define CNC_PWM_MAX 255
    #define CNC_RPM_MAX 8000
    #define CNC_SAFE_Z 150

    #define DEFAULT_PRINTER_MODE 0

    // ################ Endstop configuration #####################

    #define MULTI_ZENDSTOP_HOMING 0
    #define ENDSTOP_PULLUP_X_MIN true
    #define ENDSTOP_X_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MIN true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MIN true
    #define ENDSTOP_Z_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Z true
    #define ENDSTOP_PULLUP_Z2_MINMAX true
    #define ENDSTOP_Z2_MINMAX_INVERTING false
    #define MINMAX_HARDWARE_ENDSTOP_Z2 false
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Z false
    #define ENDSTOP_PULLUP_X2_MIN true
    #define ENDSTOP_PULLUP_Y2_MIN true
    #define ENDSTOP_PULLUP_Z2_MINMAX true
    #define ENDSTOP_PULLUP_X2_MAX true
    #define ENDSTOP_PULLUP_Y2_MAX true
    #define ENDSTOP_X2_MIN_INVERTING false
    #define ENDSTOP_Y2_MIN_INVERTING false
    #define ENDSTOP_X2_MAX_INVERTING false
    #define ENDSTOP_Y2_MAX_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_X2 false
    #define MIN_HARDWARE_ENDSTOP_Y2 false
    #define MAX_HARDWARE_ENDSTOP_X2 false
    #define MAX_HARDWARE_ENDSTOP_Y2 false
    #define X2_MIN_PIN -1
    #define X2_MAX_PIN -1
    #define Y2_MIN_PIN -1
    #define Y2_MAX_PIN -1
    #define Z2_MINMAX_PIN -1



    #define max_software_endstop_r true

    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z false
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z true
    #define DOOR_PIN -1
    #define DOOR_PULLUP 1
    #define DOOR_INVERTING 1
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 5
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 0
    #define ALWAYS_CHECK_ENDSTOPS 1
    #define MOVE_X_WHEN_HOMED 0
    #define MOVE_Y_WHEN_HOMED 0
    #define MOVE_Z_WHEN_HOMED 0

    // ################# XYZ movements ###################

    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 1
    #define INVERT_X2_DIR 0
    #define INVERT_Y_DIR 0
    #define INVERT_Y2_DIR 0
    #define INVERT_Z_DIR 1
    #define INVERT_Z2_DIR 0
    #define INVERT_Z3_DIR 0
    #define INVERT_Z4_DIR 0
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    #define X_MAX_LENGTH 200
    #define Y_MAX_LENGTH 280
    #define Z_MAX_LENGTH 205
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define PARK_POSITION_X 0
    #define PARK_POSITION_Y 10
    #define PARK_POSITION_Z_RAISE 10


    #define DISTORTION_CORRECTION 1
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_LIMIT_TO 2
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 0
    #define DISTORTION_XMIN 10
    #define DISTORTION_YMIN 10
    #define DISTORTION_XMAX 145
    #define DISTORTION_YMAX 250

    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################

    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 1

    #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
    #define EXACT_DELTA_MOVES 1

    // Delta settings
    #define DELTA_HOME_ON_POWER 0

    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 360L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 250
    #define MAX_FEEDRATE_Y 300
    #define MAX_FEEDRATE_Z 2
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 2
    #define HOMING_ORDER HOME_ORDER_ZXYTZ
    #define ZHOME_PRE_RAISE 0
    #define ZHOME_PRE_RAISE_DISTANCE 10
    #define RAISE_Z_ON_TOOLCHANGE 0
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 1
    #define ZHOME_HEAT_HEIGHT 20
    #define ZHOME_X_POS 100
    #define ZHOME_Y_POS 100
    #define ENABLE_BACKLASH_COMPENSATION 1
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 0 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #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
    #define INTERPOLATE_ACCELERATION_WITH_Z 0
    #define ACCELERATION_FACTOR_TOP 100
    #define MAX_JERK 15
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define EXTRUDER_SWITCH_XY_SPEED 100
    #define DUAL_X_AXIS 0
    #define DUAL_X_RESOLUTION 0
    #define X2AXIS_STEPS_PER_MM 100
    #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_FOUR_ZSTEPPER 0
    #define Z4_STEP_PIN   ORIG_E3_STEP_PIN
    #define Z4_DIR_PIN    ORIG_E3_DIR_PIN
    #define Z4_ENABLE_PIN ORIG_E3_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 0
    #define POWER_INVERTING 0
    #define AUTOMATIC_POWERUP 0
    #define KILL_METHOD 1
    #define ACK_WITH_LINENUMBER 1
    #define KEEP_ALIVE_INTERVAL 2000
    #define WAITING_IDENTIFIER "wait"
    #define ECHO_ON_EXECUTE 1
    #define EEPROM_MODE 1
    #undef PS_ON_PIN
    #define PS_ON_PIN -1
    #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 MAX_FAN_PWM 255

            #define FEATURE_WATCHDOG 1

    // #################### Z-Probing #####################

    #define Z_PROBE_Z_OFFSET 0
    #define Z_PROBE_Z_OFFSET_MODE 0
    #define UI_BED_COATING 1
    #define FEATURE_Z_PROBE 1
    #define EXTRUDER_IS_Z_PROBE 0
    #define Z_PROBE_DISABLE_HEATERS 0
    #define Z_PROBE_BED_DISTANCE 10
    #define Z_PROBE_PIN ORIG_Z_MIN_PIN
    #define Z_PROBE_PULLUP 0
    #define Z_PROBE_ON_HIGH 0
    #define Z_PROBE_X_OFFSET 59.96
    #define Z_PROBE_Y_OFFSET 13.27
    #define Z_PROBE_WAIT_BEFORE_TEST 0
    #define Z_PROBE_SPEED 3
    #define Z_PROBE_XY_SPEED 100
    #define Z_PROBE_SWITCHING_DISTANCE 1
    #define Z_PROBE_REPETITIONS 1
    #define Z_PROBE_HEIGHT 0.7
    #define Z_PROBE_DELAY 0
    #define Z_PROBE_START_SCRIPT ""
    #define Z_PROBE_FINISHED_SCRIPT ""
    #define Z_PROBE_RUN_AFTER_EVERY_PROBE ""
    #define Z_PROBE_REQUIRES_HEATING 0
    #define Z_PROBE_MIN_TEMPERATURE 150
    #define FEATURE_AUTOLEVEL 1
    #define FEATURE_SOFTWARE_LEVELING 0
    #define Z_PROBE_X1 15
    #define Z_PROBE_Y1 30
    #define Z_PROBE_X2 145
    #define Z_PROBE_Y2 30
    #define Z_PROBE_X3 15
    #define Z_PROBE_Y3 270
    #define BED_LEVELING_METHOD 1
    #define BED_CORRECTION_METHOD 0
    #define BED_LEVELING_GRID_SIZE 5
    #define BED_LEVELING_REPETITIONS 5
    #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
    #define BENDING_CORRECTION_A 0
    #define BENDING_CORRECTION_B 0
    #define BENDING_CORRECTION_C 0
    #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 SDSS
    #define SDCARDDETECTINVERTED 0
    #define SD_EXTENDED_DIR 1 /** 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 0
    #define LANGUAGE_NL_ACTIVE 0
    #define LANGUAGE_PT_ACTIVE 0
    #define LANGUAGE_IT_ACTIVE 0
    #define LANGUAGE_ES_ACTIVE 0
    #define LANGUAGE_FI_ACTIVE 0
    #define LANGUAGE_SE_ACTIVE 0
    #define LANGUAGE_FR_ACTIVE 0
    #define LANGUAGE_CZ_ACTIVE 0
    #define LANGUAGE_PL_ACTIVE 0
    #define LANGUAGE_TR_ACTIVE 0
    #define UI_PRINTER_NAME "EI3"
    #define UI_PRINTER_COMPANY "HE3D"
    #define UI_PAGES_DURATION 4000
    #define UI_SPEEDDEPENDENT_POSITIONING 0
    #define UI_DISABLE_AUTO_PAGESWITCH 1
    #define UI_AUTORETURN_TO_MENU_AFTER 30000
    #define FEATURE_UI_KEYS 0
    #define UI_ENCODER_SPEED 1
    #define UI_REVERSE_ENCODER 0
    #define UI_KEY_BOUNCETIME 20
    #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
    #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_MIN_HEATED_BED_TEMP  30
    #define UI_SET_MAX_HEATED_BED_TEMP 120
    #define UI_SET_MIN_EXTRUDER_TEMP   170
    #define UI_SET_MAX_EXTRUDER_TEMP   260
    #define UI_SET_EXTRUDER_FEEDRATE 2
    #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3


    #define NUM_MOTOR_DRIVERS 0




    /* Below you will find the configuration string, that created this Configuration.h

    ========== Start configuration string ==========
    {
        "editMode": 2,
        "processor": 0,
        "baudrate": 250000,
        "bluetoothSerial": -1,
        "bluetoothBaudrate": 115200,
        "xStepsPerMM": 80,
        "yStepsPerMM": 80,
        "zStepsPerMM": 1600,
        "xInvert": "1",
        "x2Invert": 0,
        "xInvertEnable": 0,
        "eepromMode": 1,
        "yInvert": "0",
        "y2Invert": 0,
        "yInvertEnable": 0,
        "zInvert": "1",
        "z2Invert": 0,
        "z3Invert": 0,
        "z4Invert": 0,
        "zInvertEnable": 0,
        "extruder": [
            {
                "id": 0,
                "heatManager": 1,
                "pidDriveMin": 40,
                "pidDriveMax": 230,
                "pidMax": 255,
                "sensorType": 1,
                "sensorPin": "TEMP_0_PIN",
                "heaterPin": "HEATER_0_PIN",
                "maxFeedrate": 50,
                "startFeedrate": 20,
                "invert": "0",
                "invertEnable": "0",
                "acceleration": 5000,
                "watchPeriod": 1,
                "pidP": 4,
                "pidI": 2,
                "pidD": 40,
                "advanceK": 0,
                "advanceL": 0,
                "waitRetractTemp": 150,
                "waitRetractUnits": 0,
                "waitRetract": 0,
                "stepsPerMM": 95.2,
                "coolerPin": -1,
                "coolerSpeed": 255,
                "selectCommands": "",
                "deselectCommands": "",
                "xOffset": 0,
                "yOffset": 0,
                "zOffset": 0,
                "xOffsetSteps": 0,
                "yOffsetSteps": 0,
                "zOffsetSteps": 0,
                "stepper": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                },
                "advanceBacklashSteps": 0,
                "decoupleTestPeriod": 12,
                "jamPin": -1,
                "jamPullup": "0",
                "mirror": "0",
                "invert2": "0",
                "stepper2": {
                    "name": "Extruder 0",
                    "step": "ORIG_E0_STEP_PIN",
                    "dir": "ORIG_E0_DIR_PIN",
                    "enable": "ORIG_E0_ENABLE_PIN"
                },
                "preheat": 190
            },
            {
                "id": 1,
                "heatManager": 1,
                "pidDriveMin": 40,
                "pidDriveMax": 230,
                "pidMax": 255,
                "sensorType": 1,
                "sensorPin": "TEMP_2_PIN",
                "heaterPin": 7,
                "maxFeedrate": 50,
                "startFeedrate": 20,
                "invert": "0",
                "invertEnable": "0",
                "acceleration": 5000,
                "watchPeriod": 1,
                "pidP": 4,
                "pidI": 2,
                "pidD": 40,
                "advanceK": 0,
                "advanceL": 0,
                "waitRetractTemp": 150,
                "waitRetractUnits": 0,
                "waitRetract": 0,
                "stepsPerMM": 95.2,
                "coolerPin": -1,
                "coolerSpeed": 255,
                "selectCommands": "",
                "deselectCommands": "",
                "xOffset": 18,
                "yOffset": 0,
                "zOffset": 0,
                "xOffsetSteps": 1440,
                "yOffsetSteps": 0,
                "zOffsetSteps": 0,
                "stepper": {
                    "name": "Extruder 1",
                    "step": "ORIG_E1_STEP_PIN",
                    "dir": "ORIG_E1_DIR_PIN",
                    "enable": "ORIG_E1_ENABLE_PIN"
                },
                "advanceBacklashSteps": 0,
                "decoupleTestPeriod": 12,
                "jamPin": -1,
                "jamPullup": "0",
                "mirror": "0",
                "invert2": "0",
                "stepper2": {
                    "name": "Extruder 1",
                    "step": "ORIG_E1_STEP_PIN",
                    "dir": "ORIG_E1_DIR_PIN",
                    "enable": "ORIG_E1_ENABLE_PIN"
                },
                "preheat": 190
            },
            {
                "id": 2,
                "heatManager": 1,
                "pidDriveMin": 40,
                "pidDriveMax": 230,
                "pidMax": 255,
                "sensorType": 1,
                "sensorPin": "TEMP_3_PIN",
                "heaterPin": "HEATER_3_PIN",
                "maxFeedrate": 50,
                "startFeedrate": 20,
                "invert": "0",
                "invertEnable": "0",
                "acceleration": 5000,
                "watchPeriod": 1,
                "pidP": 7,
                "pidI": 2,
                "pidD": 40,
                "advanceK": 0,
                "advanceL": 0,
                "waitRetractTemp": 150,
                "waitRetractUnits": 0,
                "waitRetract": 0,
                "stepsPerMM": 370,
                "coolerPin": -1,
                "coolerSpeed": 255,
                "selectCommands": "",
                "deselectCommands": "",
                "xOffset": 0,
                "yOffset": 0,
                "zOffset": 0,
                "xOffsetSteps": 0,
                "yOffsetSteps": 0,
                "zOffsetSteps": 0,
                "stepper": {
                    "name": "Extruder 2",
                    "step": "ORIG_E2_STEP_PIN",
                    "dir": "ORIG_E2_DIR_PIN",
                    "enable": "ORIG_E2_ENABLE_PIN"
                },
                "advanceBacklashSteps": 0,
                "decoupleTestPeriod": 12,
                "jamPin": -1,
                "jamPullup": "0",
                "mirror": "0",
                "invert2": "0",
                "stepper2": {
                    "name": "Extruder 2",
                    "step": "ORIG_E2_STEP_PIN",
                    "dir": "ORIG_E2_DIR_PIN",
                    "enable": "ORIG_E2_ENABLE_PIN"
                },
                "preheat": 190
            }
        ],
        "uiLanguage": 0,
        "uiController": 0,
        "xMinEndstop": 1,
        "yMinEndstop": 1,
        "zMinEndstop": 1,
        "xMaxEndstop": 0,
        "yMaxEndstop": 0,
        "zMaxEndstop": 0,
        "x2MinEndstop": 0,
        "y2MinEndstop": 0,
        "x2MaxEndstop": 0,
        "y2MaxEndstop": 0,
        "motherboard": 33,
        "driveSystem": 0,
        "xMaxSpeed": 250,
        "xHomingSpeed": 40,
        "xTravelAcceleration": 3000,
        "xPrintAcceleration": 1000,
        "yMaxSpeed": 300,
        "yHomingSpeed": 40,
        "yTravelAcceleration": 3000,
        "yPrintAcceleration": 1000,
        "zMaxSpeed": 2,
        "zHomingSpeed": 2,
        "zTravelAcceleration": 100,
        "zPrintAcceleration": 100,
        "xMotor": {
            "name": "X motor",
            "step": "ORIG_X_STEP_PIN",
            "dir": "ORIG_X_DIR_PIN",
            "enable": "ORIG_X_ENABLE_PIN"
        },
        "yMotor": {
            "name": "Y motor",
            "step": "ORIG_Y_STEP_PIN",
            "dir": "ORIG_Y_DIR_PIN",
            "enable": "ORIG_Y_ENABLE_PIN"
        },
        "zMotor": {
            "name": "Z motor",
            "step": "ORIG_Z_STEP_PIN",
            "dir": "ORIG_Z_DIR_PIN",
            "enable": "ORIG_Z_ENABLE_PIN"
        },
        "enableBacklash": "1",
        "backlashX": 0,
        "backlashY": 0,
        "backlashZ": 0,
        "stepperInactiveTime": 360,
        "maxInactiveTime": 0,
        "xMinPos": 0,
        "yMinPos": 0,
        "zMinPos": 0,
        "xLength": 200,
        "yLength": 280,
        "zLength": 205,
        "alwaysCheckEndstops": "1",
        "disableX": "0",
        "disableY": "0",
        "disableZ": "0",
        "disableE": "0",
        "xHomeDir": "-1",
        "yHomeDir": "-1",
        "zHomeDir": "-1",
        "xEndstopBack": 1,
        "yEndstopBack": 1,
        "zEndstopBack": 0,
        "deltaSegmentsPerSecondPrint": 180,
        "deltaSegmentsPerSecondTravel": 70,
        "deltaDiagonalRod": 445,
        "deltaHorizontalRadius": 209.25,
        "deltaAlphaA": 210,
        "deltaAlphaB": 330,
        "deltaAlphaC": 90,
        "deltaDiagonalCorrA": 0,
        "deltaDiagonalCorrB": 0,
        "deltaDiagonalCorrC": 0,
        "deltaMaxRadius": 150,
        "deltaFloorSafetyMarginMM": 15,
        "deltaRadiusCorrA": 0,
        "deltaRadiusCorrB": 0,
        "deltaRadiusCorrC": 0,
        "deltaXOffsetSteps": 0,
        "deltaYOffsetSteps": 0,
        "deltaZOffsetSteps": 0,
        "deltaSegmentsPerLine": 24,
        "stepperHighDelay": 0,
        "directionDelay": 0,
        "stepDoublerFrequency": 12000,
        "allowQuadstepping": "1",
        "doubleStepDelay": 0,
        "maxJerk": 15,
        "maxZJerk": 0.3,
        "moveCacheSize": 16,
        "moveCacheLow": 10,
        "lowTicksPerMove": 250000,
        "enablePowerOnStartup": "0",
        "echoOnExecute": "1",
        "sendWaits": "1",
        "ackWithLineNumber": "1",
        "killMethod": 1,
        "useAdvance": "0",
        "useQuadraticAdvance": "0",
        "powerInverting": 0,
        "mirrorX": 0,
        "mirrorXMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorY": 0,
        "mirrorYMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ": "0",
        "mirrorZMotor": {
            "name": "Extruder 1",
            "step": "ORIG_E1_STEP_PIN",
            "dir": "ORIG_E1_DIR_PIN",
            "enable": "ORIG_E1_ENABLE_PIN"
        },
        "mirrorZ3": "0",
        "mirrorZ3Motor": {
            "name": "Extruder 2",
            "step": "ORIG_E2_STEP_PIN",
            "dir": "ORIG_E2_DIR_PIN",
            "enable": "ORIG_E2_ENABLE_PIN"
        },
        "mirrorZ4": "0",
        "mirrorZ4Motor": {
            "name": "Extruder 3",
            "step": "ORIG_E3_STEP_PIN",
            "dir": "ORIG_E3_DIR_PIN",
            "enable": "ORIG_E3_ENABLE_PIN"
        },
        "dittoPrinting": "0",
        "featureServos": "0",
        "servo0Pin": 11,
        "servo1Pin": -1,
        "servo2Pin": -1,
        "servo3Pin": -1,
        "featureWatchdog": "1",
        "hasHeatedBed": "1",
        "enableZProbing": "1",
        "extrudeMaxLength": 160,
        "homeOrder": "HOME_ORDER_ZXYTZ",
        "featureController": 2,
        "uiPrinterName": "EI3",
        "uiPrinterCompany": "HE3D",
        "uiPagesDuration": 4000,
        "uiHeadline": "",
        "uiDisablePageswitch": "1",
        "uiAutoReturnAfter": 30000,
        "featureKeys": "0",
        "uiEncoderSpeed": 1,
        "uiReverseEncoder": "0",
        "uiKeyBouncetime": 20,
        "uiKeyFirstRepeat": 500,
        "uiKeyReduceRepeat": 50,
        "uiKeyMinRepeat": 50,
        "featureBeeper": "0",
        "uiMinHeatedBed": 30,
        "uiMaxHeatedBed": 120,
        "uiMinEtxruderTemp": 170,
        "uiMaxExtruderTemp": 260,
        "uiExtruderFeedrate": 2,
        "uiExtruderRetractDistance": 3,
        "uiSpeeddependentPositioning": "0",
        "maxBedTemperature": 120,
        "bedSensorType": 1,
        "bedSensorPin": "TEMP_1_PIN",
        "bedHeaterPin": "HEATER_1_PIN",
        "bedHeatManager": 3,
        "bedPreheat": 55,
        "bedUpdateInterval": 5000,
        "bedPidDriveMin": 80,
        "bedPidDriveMax": 255,
        "bedPidP": 5,
        "bedPidI": 33,
        "bedPidD": 290,
        "bedPidMax": 255,
        "bedDecoupleTestPeriod": 300,
        "caseLightPin": -1,
        "caseLightDefaultOn": "1",
        "bedSkipIfWithin": 3,
        "gen1T0": 25,
        "gen1R0": 100000,
        "gen1Beta": 4036,
        "gen1MinTemp": -20,
        "gen1MaxTemp": 300,
        "gen1R1": 0,
        "gen1R2": 4700,
        "gen2T0": 25,
        "gen2R0": 100000,
        "gen2Beta": 4036,
        "gen2MinTemp": -20,
        "gen2MaxTemp": 300,
        "gen2R1": 0,
        "gen2R2": 4700,
        "gen3T0": 25,
        "gen3R0": 100000,
        "gen3Beta": 4036,
        "gen3MinTemp": -20,
        "gen3MaxTemp": 300,
        "gen3R1": 0,
        "gen3R2": 4700,
        "userTable0": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable1": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "userTable2": {
            "r1": 0,
            "r2": 4700,
            "temps": [],
            "numEntries": 0
        },
        "tempHysteresis": 0,
        "pidControlRange": 20,
        "skipM109Within": 2,
        "extruderFanCoolTemp": 50,
        "minTemp": 160,
        "maxTemp": 275,
        "minDefectTemp": -10,
        "maxDefectTemp": 290,
        "arcSupport": "1",
        "featureMemoryPositionWatchdog": "1",
        "forceChecksum": "0",
        "sdExtendedDir": "1",
        "featureFanControl": "1",
        "fanPin": "ORIG_FAN_PIN",
        "featureFan2Control": "0",
        "fan2Pin": "ORIG_FAN2_PIN",
        "fanThermoPin": -1,
        "fanThermoMinPWM": 128,
        "fanThermoMaxPWM": 255,
        "fanThermoMinTemp": 45,
        "fanThermoMaxTemp": 60,
        "fanThermoThermistorPin": -1,
        "fanThermoThermistorType": 1,
        "scalePidToMax": 0,
        "zProbePin": "ORIG_Z_MIN_PIN",
        "zProbeBedDistance": 10,
        "zProbeDisableHeaters": "0",
        "zProbePullup": "0",
        "zProbeOnHigh": "0",
        "zProbeXOffset": 59.96,
        "zProbeYOffset": 13.27,
        "zProbeWaitBeforeTest": "0",
        "zProbeSpeed": 3,
        "zProbeXYSpeed": 100,
        "zProbeHeight": 0.7,
        "zProbeStartScript": "",
        "zProbeFinishedScript": "",
        "featureAutolevel": "1",
        "zProbeX1": 15,
        "zProbeY1": 30,
        "zProbeX2": 145,
        "zProbeY2": 30,
        "zProbeX3": 15,
        "zProbeY3": 270,
        "zProbeSwitchingDistance": 1,
        "zProbeRepetitions": 1,
        "zProbeEveryPoint": "",
        "sdSupport": "1",
        "sdCardDetectPin": "SDSS",
        "sdCardDetectInverted": "0",
        "uiStartScreenDelay": 1000,
        "xEndstopBackMove": 5,
        "yEndstopBackMove": 5,
        "zEndstopBackMove": 5,
        "xEndstopRetestFactor": 3,
        "yEndstopRetestFactor": 3,
        "zEndstopRetestFactor": 3,
        "xMinPin": "ORIG_X_MIN_PIN",
        "yMinPin": "ORIG_Y_MIN_PIN",
        "zMinPin": "ORIG_Z_MIN_PIN",
        "xMaxPin": -1,
        "yMaxPin": -1,
        "zMaxPin": -1,
        "x2MinPin": -1,
        "y2MinPin": -1,
        "x2MaxPin": -1,
        "y2MaxPin": -1,
        "deltaHomeOnPower": "0",
        "fanBoardPin": -1,
        "heaterPWMSpeed": 0,
        "featureBabystepping": "1",
        "babystepMultiplicator": 1,
        "pdmForHeater": "0",
        "pdmForCooler": "0",
        "psOn": -1,
        "mixingExtruder": "0",
        "decouplingTestMaxHoldVariance": 20,
        "decouplingTestMinTempRise": 1,
        "featureAxisComp": "0",
        "axisCompTanXY": 0,
        "axisCompTanXZ": 0,
        "axisCompTanYZ": 0,
        "retractOnPause": 2,
        "pauseStartCommands": "",
        "pauseEndCommands": "",
        "distortionCorrection": "1",
        "distortionCorrectionPoints": 5,
        "distortionCorrectionR": 100,
        "distortionPermanent": "1",
        "distortionUpdateFrequency": 15,
        "distortionStartDegrade": 0.5,
        "distortionEndDegrade": 1,
        "distortionExtrapolateCorners": "0",
        "distortionXMin": 10,
        "distortionXMax": 145,
        "distortionYMin": 10,
        "distortionYMax": 250,
        "sdRunOnStop": "",
        "sdStopHeaterMotorsOnStop": "1",
        "featureRetraction": "1",
        "autoretractEnabled": "0",
        "retractionLength": 3,
        "retractionLongLength": 13,
        "retractionSpeed": 40,
        "retractionZLift": 0,
        "retractionUndoExtraLength": 0,
        "retractionUndoExtraLongLength": 0,
        "retractionUndoSpeed": 20,
        "filamentChangeXPos": 0,
        "filamentChangeYPos": 0,
        "filamentChangeZAdd": 2,
        "filamentChangeRehome": 1,
        "filamentChangeShortRetract": 5,
        "filamentChangeLongRetract": 50,
        "fanKickstart": 200,
        "servo0StartPos": -1,
        "servo1StartPos": -1,
        "servo2StartPos": -1,
        "servo3StartPos": -1,
        "uiDynamicEncoderSpeed": "1",
        "uiServoControl": 0,
        "killIfSensorDefect": "1",
        "jamSteps": 220,
        "jamSlowdownSteps": 320,
        "jamSlowdownTo": 70,
        "jamErrorSteps": 500,
        "jamMinSteps": 10,
        "jamAction": 1,
        "jamMethod": 1,
        "primaryPort": 0,
        "numMotorDrivers": 0,
        "motorDrivers": [
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1,
                "endstopPin": -1,
                "invertEndstop": "0",
                "minEndstop": "1",
                "endstopPullup": "1",
                "maxDistance": 20
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1,
                "endstopPin": -1,
                "invertEndstop": "0",
                "minEndstop": "1",
                "endstopPullup": "1",
                "maxDistance": 20
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1,
                "endstopPin": -1,
                "invertEndstop": "0",
                "minEndstop": "1",
                "endstopPullup": "1",
                "maxDistance": 20
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
                "enablePin": -1,
                "endstopPin": -1,
                "invertEndstop": "0",
                "minEndstop": "1",
                "endstopPullup": "1",
                "maxDistance": 20
            },
            {
                "t": "None",
                "s": "",
                "invertEnable": "0",
                "invertDirection": "0",
                "stepsPerMM": 100,
                "speed": 10,
                "dirPin": -1,
                "stepPin": -1,
      &nbs
  • Should I be thinking of the bed map coordinates from the probe perspective or the extruded perspective?
  • Try thinking of it this way. 

    According to your config your probe is at coordinates X59.96,Y13.27 when your nozzle is home 0,0.
    so any coordinates you want to probe have to be where the nozzle can safely/physically go.
    On a delta things are easier to understand because home is at the center of the bed 0,0.
    On a Cartesian it's usually in the front left corner. (If homing to min)
    So if you try a G30 when homed your probe cannot move by the offset amount to the 0,0 position because your carriage can't physically move over any more. Your probe points have to start at x = 60, y = 13.5 (I rounded up - it might have to be more depending on how accurate you are on the offsets). 
    Also the coordinates used are different for bed-level and distortion correction. See config file.

    So your probe limit physically is probably X 60 to X 200 and Y 13.25 to Y 280.

    You can  try this to measure your offset for the probe. Move you nozzle to X100,Y100. Put a piece of tape down to mark with. Go to Z1 or whatever allows you to see/reach the bed.. mark the nozzle point and the probe point. Move the nozzle out of the way. Measure you offsets on the marks. You can test it by moving to X100, Y100 and doing a G30. The probe should move to the marked X100,Y100 point exactly offset is correct.

    That is how I understand it. There are other ways to correct for offset I am sure
  • I must be missing something obvious.. I see the coordinate settIngs for the z probing but nothing else. I tried to set the probe start at x60, y20 and the other 2 points are well within the limits and I still get the error.
    I know I have missed something because I did make it work once (was able to send a g32 s2), but when I sent a g33 the probe started in the back at x60, y250 and started to probe across the back side.
  • G32 and G33 use different probe settings.

    The G32 settings are
    #define Z_PROBE_X1 15   ;<< change this to 70 to allow for probe X offset, so probe is not right at the edge ob the bed
    #define Z_PROBE_Y1 30
    #define Z_PROBE_X2 145  ;<<change this to 190 to allow for probe Y offset
    #define Z_PROBE_Y2 30
    #define Z_PROBE_X3 15  ;<< change this to 70 to allow for probe X offset
    #define Z_PROBE_Y3 270
    The settings above, for G32, can be edited in the eeprom using repetier host eeprom editor.

    and the G33 settings are
    #define DISTORTION_XMIN 10    ;<< change this to 70 to allow for probe X offset
    #define DISTORTION_YMIN 10    ;<< change this to 30 to allow for probe X offset
    #define DISTORTION_XMAX 145  ;<<change this to 190 to allow for probe Y offset
    #define DISTORTION_YMAX 250

    The G33 coords have to be changed in the config.h and re uploaded to the controller firmware.
    After doing the above, send a M502  and M500 to the printer to update the values.
  • ok.. actual measured offset is x59.96 y13.27
    i used for the distortion map on the general tab
    xmin 60
    ymin 14
    xmax 190
    ymax 250
    and on the features tab
    pos 1 x61 y 15
    pos 2 x190 y 15
    pos 3 x 61 y 270

    uploaded the firmware 
    opened repetier host
    sent m502 then m500
    then i hit the home all button
    z probe goes up then i get a z probe coordinate error forbidden position -0.35, 0.67 (had to hit the reset button because the z tried to home with the probe off the front end of the bed..) 

    and here is the log 

    15:23:43.096 : OpenGL version:4.0.0 - Build 10.18.10.4425
    15:23:43.096 : OpenGL extensions:GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_blend_color GL_EXT_abgr GL_EXT_texture3D GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_SGIS_texture_edge_clamp GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_SGIS_texture_lod GL_EXT_rescale_normal GL_EXT_packed_pixels GL_EXT_texture_edge_clamp GL_EXT_separate_specular_color GL_ARB_multitexture GL_ARB_map_buffer_alignment GL_ARB_conservative_depth GL_EXT_texture_env_combine GL_EXT_bgra GL_EXT_blend_func_separate GL_EXT_secondary_color GL_EXT_fog_coord GL_EXT_texture_env_add GL_ARB_texture_cube_map GL_ARB_transpose_matrix GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_texture_env_add GL_IBM_texture_mirrored_repeat GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_NV_blend_square GL_ARB_texture_compression GL_3DFX_texture_compression_FXT1 GL_EXT_texture_filter_anisotropic GL_ARB_texture_border_clamp GL_ARB_point_parameters GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_EXT_texture_compression_s3tc GL_ARB_shadow GL_ARB_window_pos GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_ARB_vertex_program GL_EXT_texture_rectangle GL_ARB_fragment_program GL_EXT_stencil_two_side GL_ATI_separate_stencil GL_ARB_vertex_buffer_object GL_EXT_texture_lod_bias GL_ARB_occlusion_query GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_non_power_of_two GL_ARB_vertex_shader GL_NV_texgen_reflection GL_ARB_point_sprite GL_ARB_fragment_program_shadow GL_EXT_blend_equation_separate GL_ARB_depth_texture GL_ARB_texture_rectangle GL_ARB_draw_buffers GL_ARB_color_buffer_float GL_ARB_half_float_pixel GL_ARB_texture_float GL_ARB_pixel_buffer_object GL_EXT_framebuffer_object GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_occlusion_query2 GL_EXT_draw_buffers2 GL_WIN_swap_hint GL_EXT_texture_sRGB GL_ARB_multisample GL_EXT_packed_float GL_EXT_texture_shared_exponent GL_ARB_texture_rg GL_ARB_texture_compression_rgtc GL_NV_conditional_render GL_ARB_texture_swizzle GL_EXT_texture_swizzle GL_ARB_texture_gather GL_ARB_sync GL_ARB_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_ARB_depth_buffer_float GL_EXT_transform_feedback GL_ARB_transform_feedback2 GL_ARB_draw_indirect GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_ARB_framebuffer_object GL_ARB_framebuffer_no_attachments GL_EXT_texture_array GL_EXT_texture_integer GL_ARB_map_buffer_range GL_ARB_texture_buffer_range GL_EXT_texture_buffer GL_EXT_texture_snorm GL_ARB_blend_func_extended GL_INTEL_performance_queries GL_INTEL_performance_query GL_ARB_copy_buffer GL_ARB_sampler_objects GL_NV_primitive_restart GL_ARB_seamless_cube_map GL_ARB_uniform_buffer_object GL_ARB_depth_clamp GL_ARB_vertex_array_bgra GL_ARB_shader_bit_encoding GL_ARB_draw_buffers_blend GL_ARB_geometry_shader4 GL_EXT_geometry_shader4 GL_ARB_texture_query_lod GL_ARB_explicit_attrib_location GL_ARB_draw_elements_base_vertex GL_ARB_instanced_arrays GL_ARB_base_instance GL_ARB_fragment_coord_conventions GL_EXT_gpu_program_parameters GL_ARB_texture_buffer_object_rgb32 GL_ARB_compatibility GL_ARB_texture_rgb10_a2ui GL_ARB_texture_multisample GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_timer_query GL_ARB_tessellation_shader GL_ARB_vertex_array_object GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_texture_cube_map_array GL_EXT_gpu_shader4 GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_shader_subroutine GL_ARB_transform_feedback3 GL_ARB_get_program_binary GL_ARB_separate_shader_objects GL_ARB_shader_precision GL_ARB_vertex_attrib_64bit GL_ARB_viewport_array GL_ARB_transform_feedback_instanced GL_ARB_compressed_texture_pixel_storage GL_ARB_shader_atomic_counters GL_ARB_shading_language_packing GL_ARB_shading_language_420pack GL_ARB_texture_storage GL_EXT_texture_storage GL_ARB_vertex_attrib_binding GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_texture_storage_multisample GL_ARB_buffer_storage GL_ARB_debug_output GL_KHR_debug GL_ARB_arrays_of_arrays GL_INTEL_map_texture GL_ARB_texture_compression_bptc GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_robustness GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_EXT_shader_integer_mix GL_ARB_stencil_texturing 
    15:23:43.096 : OpenGL renderer:Intel(R) HD Graphics 4000
    15:23:43.096 : Using fast VBOs for rendering is possible
    15:24:26.919 : Printer reset detected - initalizing
    15:24:26.966 : start
    15:24:26.966 : Info:External Reset
    15:24:26.966 : Detected EEPROM version:19
    15:24:26.966 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
    15:24:27.138 : N1 M110*34
    15:24:27.138 : N2 M115*36
    15:24:27.138 : N3 M105*36
    15:24:27.138 : N4 M114*35
    15:24:27.138 : N5 M111 S6*98
    15:24:27.138 : N6 T0*60
    15:24:27.138 : N7 M20*22
    15:24:27.138 : N8 M80*19
    15:24:27.138 : N9 M105*46
    15:24:28.192 : zDistortionCorrection:0
    15:24:28.192 : Free RAM:3560
    15:24:28.207 : Printer reset detected - initalizing
    15:24:28.207 : start
    15:24:28.223 : Detected EEPROM version:19
    15:24:28.223 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
    15:24:28.395 : N1 M110*34
    15:24:28.395 : N2 M115*36
    15:24:28.395 : N3 M105*36
    15:24:28.395 : N4 M114*35
    15:24:28.395 : N5 M111 S6*98
    15:24:28.395 : N6 T0*60
    15:24:28.395 : N7 M20*22
    15:24:28.410 : N8 M80*19
    15:24:29.486 : zDistortionCorrection:0
    15:24:29.486 : Free RAM:3560
    15:24:29.595 : Card successfully initialized.
    15:24:29.626 : SelectExtruder:0
    15:24:29.673 : N9 M220 S100*104
    15:24:29.673 : N10 M221 S100*81
    15:24:29.673 : N11 M111 S6*87
    15:24:29.673 : FIRMWARE_NAME:Repetier_1.0.2 COMPILED:Jul 30 2018 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:3 REPETIER_PROTOCOL:3
    15:24:29.673 : N12 T0*9
    15:24:29.673 : Cap:PROGRESS:1
    15:24:29.673 : Cap:AUTOREPORT_TEMP:1
    15:24:29.673 : N13 M155 S1*82
    15:24:29.673 : Cap:EEPROM:1
    15:24:29.673 : Cap:AUTOLEVEL:1
    15:24:29.673 : Cap:Z_PROBE:1
    15:24:29.673 : Cap:SOFTWARE_POWER:0
    15:24:29.673 : Cap:TOGGLE_LIGHTS:0
    15:24:29.673 : Cap:PAUSESTOP:1
    15:24:29.673 : Cap:PREHEAT:1
    15:24:29.673 : Printed filament:873.63m Printing time:10 days 18 hours 11 min
    15:24:29.673 : PrinterMode:FFF
    15:24:29.704 : X:59.60 Y:13.94 Z:0.000 E:0.0000
    15:24:29.704 : DebugLevel:6
    15:24:29.704 : SelectExtruder:0
    15:24:29.704 : Begin file list
    15:24:29.720 : s 2885537
    15:24:29.720 : 123/
    15:24:29.720 : tinker~1.gco 1388464
    15:24:29.720 : reset.gco 155595
    15:24:29.720 : resetbedmap.gcode 1271
    15:24:29.720 : 3layerSlic3r_Offset_Mount. 6082450
    15:24:29.720 : xyzCalibration_cube.gcode 303129
    15:24:29.720 : Tarantula_MKS_Base_Offset_ 3444780
    15:24:29.720 : R_Z_Top.gcode 5038403
    15:24:29.720 : New folder/
    15:24:29.720 : End file list
    15:24:29.720 : DebugLevel:6
    15:24:29.720 : SelectExtruder:0
    15:24:31.705 : N14 M502*17
    15:24:32.612 : XY jerk was too low, setting to 24.42
    15:24:32.612 : Z jerk was too low, setting to 0.35
    15:24:32.612 : SelectExtruder:0
    15:24:32.612 : Info:Configuration reset to defaults.
    15:24:36.298 : N15 M500*18
    15:24:37.502 : Info:Configuration stored to EEPROM.
    15:24:54.939 : N16 G28*36
    15:24:59.974 : Error:Activating z-probe would lead to forbidden xy position: -0.359997, 0.67
    15:24:59.978 : RequestStop:
    15:25:05.035 : fatal:Could not activate z-probe offset due to coordinate constraints - result is inaccurate! - Printer stopped and heaters disabled due to this error. Fix error and restart with M999.
    15:25:28.129 : Printer reset detected - initalizing
    15:25:28.129 : start
    15:25:28.129 : Info:External Reset
    15:25:28.133 : Detected EEPROM version:19
    15:25:28.142 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
    15:25:28.350 : N1 M110*34
    15:25:28.350 : N2 M115*36
    15:25:28.350 : N3 M105*36
    15:25:28.350 : N4 M114*35
    15:25:28.350 : N5 M111 S6*98
    15:25:28.350 : N6 T0*60
    15:25:28.350 : N7 M20*22
    15:25:28.350 : N8 M80*19
    15:25:29.399 : zDistortionCorrection:0
    15:25:29.399 : Free RAM:3560
    15:25:29.415 : Printer reset detected - initalizing
    15:25:29.415 : start
    15:25:29.430 : Detected EEPROM version:19
    15:25:29.430 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
    15:25:29.571 : N1 M110*34
    15:25:29.571 : N2 M115*36
    15:25:29.571 : N3 M105*36
    15:25:29.571 : N4 M114*35
    15:25:29.571 : N5 M111 S6*98
    15:25:29.571 : N6 T0*60
    15:25:29.571 : N7 M20*22
    15:25:29.571 : N8 M80*19
    15:25:30.700 : zDistortionCorrection:0
    15:25:30.700 : Free RAM:3560
    15:25:30.816 : Card successfully initialized.
    15:25:30.847 : SelectExtruder:0
    15:25:30.862 : FIRMWARE_NAME:Repetier_1.0.2 COMPILED:Jul 30 2018 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:3 REPETIER_PROTOCOL:3
    15:25:30.862 : N9 M220 S100*104
    15:25:30.862 : N10 M221 S100*81
    15:25:30.862 : Cap:PROGRESS:1
    15:25:30.862 : N11 M111 S6*87
    15:25:30.862 : Cap:AUTOREPORT_TEMP:1
    15:25:30.862 : N12 T0*9
    15:25:30.862 : N13 M155 S1*82
    15:25:30.862 : Cap:EEPROM:1
    15:25:30.862 : Cap:AUTOLEVEL:1
    15:25:30.862 : Cap:Z_PROBE:1
    15:25:30.862 : Cap:SOFTWARE_POWER:0
    15:25:30.862 : Cap:TOGGLE_LIGHTS:0
    15:25:30.862 : Cap:PAUSESTOP:1
    15:25:30.862 : Cap:PREHEAT:1
    15:25:30.878 : Printed filament:873.63m Printing time:10 days 18 hours 11 min
    15:25:30.878 : PrinterMode:FFF
    15:25:30.878 : X:59.60 Y:13.94 Z:0.000 E:0.0000
    15:25:30.878 : DebugLevel:6
    15:25:30.878 : SelectExtruder:0
    15:25:30.878 : Begin file list
    15:25:30.878 : s 2885537
    15:25:30.878 : 123/
    15:25:30.878 : tinker~1.gco 1388464
    15:25:30.894 : reset.gco 155595
    15:25:30.909 : resetbedmap.gcode 1271
    15:25:30.925 : 3layerSlic3r_Offset_Mount. 6082450
    15:25:30.925 : xyzCalibration_cube.gcode 303129
    15:25:30.925 : Tarantula_MKS_Base_Offset_ 3444780
    15:25:30.925 : R_Z_Top.gcode 5038403
    15:25:30.925 : New folder/
    15:25:30.925 : End file list
    15:25:30.925 : DebugLevel:6
    15:25:30.941 : SelectExtruder:0
    15:25:55.015 : N14 M999*31
    15:25:55.015 : N1 M110*34
    15:25:55.015 : DebugLevel:6
    15:25:55.018 : info:Continue from fatal state
    15:25:56.036 : N1 M110*34



  • Here is a drawing of what i have physically and the settings i have in place.



  • referring your drwaing Probe offset is (x)+53.87 (y) -13.54.
    I´m not experienced in multi extruder settings but as your offsets refer to extruder 0 i think you have to send a "T0" before "G32"
  • sorry.. forgot to add a few details to the pic..
    When i home the printer 0,0 puts extruder #0 over the lower left corner of the bed (which is ok).. So extruder #0 (in the middle is right now the only active extruder (until i get longer frame rails).
    The extruders have offsets of 0,0.
    The probe offset is set as
    X offset = 53.87
    Y Offset = -13.54
    This should set the probe as being forward and to the right side of where the home 0,0 position is and the probe points on the bed should start with the probe at x60,y15, which would be over the edge of the bed right??


  • ok.. i am so far beyond screwed up with this flippin thing....!!!

    I disabled distortion map (thinking that is where i was having the issue).
    recompiled and uploaded the code
    sent an m502 then and m500
    as soon as i hit the home button i get the error "17:11:27.135 : Error:Activating z-probe would lead to forbidden xy position: -53.869998, 13.54"

    for the life of me i cannot get this back into a functioning state and i am just lost..
    here is my current config.h file (using firmware 1.0.x)

    any help here would be greatly appreciated... i have no clue what the heck i've done to this thing
    /*
        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 1.0.2
       generator: http://www.repetier.com/firmware/dev/
    
       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 3
    #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 BOARD_FAN_MIN_SPEED 0
    #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
    #undef X_MAX_PIN
    #define X_MAX_PIN -1
    #undef Y_MAX_PIN
    #define Y_MAX_PIN -1
    #undef Z_MAX_PIN
    #define Z_MAX_PIN -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 0
    #define XAXIS_STEPS_PER_MM 80
    #define YAXIS_STEPS_PER_MM 80
    #define ZAXIS_STEPS_PER_MM 1600
    #define EXTRUDER_FAN_COOL_TEMP 50
    #define PDM_FOR_EXTRUDER 0
    #define PDM_FOR_COOLER 0
    #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20
    #define DECOUPLING_TEST_MIN_TEMP_RISE 1
    #define KILL_IF_SENSOR_DEFECT 1
    #define RETRACT_ON_PAUSE 2
    #define PAUSE_START_COMMANDS ""
    #define PAUSE_END_COMMANDS ""
    #define SHARED_EXTRUDER_HEATER 0
    #define EXT0_X_OFFSET 0
    #define EXT0_Y_OFFSET 0
    #define EXT0_Z_OFFSET 0
    #define EXT0_STEPS_PER_MM 95.2
    #define EXT0_TEMPSENSOR_TYPE 1
    #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
    #define EXT0_HEATER_PIN HEATER_0_PIN
    #define EXT0_STEP_PIN ORIG_E0_STEP_PIN
    #define EXT0_DIR_PIN ORIG_E0_DIR_PIN
    #define EXT0_INVERSE 1
    #define EXT0_ENABLE_PIN ORIG_E0_ENABLE_PIN
    #define EXT0_ENABLE_ON 0
    #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
    #define EXT0_MAX_FEEDRATE 50
    #define EXT0_MAX_START_FEEDRATE 20
    #define EXT0_MAX_ACCELERATION 5000
    #define EXT0_HEAT_MANAGER 1
    #define EXT0_PREHEAT_TEMP 190
    #define EXT0_WATCHPERIOD 1
    #define EXT0_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT0_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT0_PID_PGAIN_OR_DEAD_TIME 4
    #define EXT0_PID_I 2
    #define EXT0_PID_D 40
    #define EXT0_PID_MAX 255
    #define EXT0_ADVANCE_K 0
    #define EXT0_ADVANCE_L 0
    #define EXT0_ADVANCE_BACKLASH_STEPS 0
    #define EXT0_WAIT_RETRACT_TEMP 150
    #define EXT0_WAIT_RETRACT_UNITS 0
    #define EXT0_SELECT_COMMANDS ""
    #define EXT0_DESELECT_COMMANDS ""
    #define EXT0_EXTRUDER_COOLER_PIN -1
    #define EXT0_EXTRUDER_COOLER_SPEED 255
    #define EXT0_DECOUPLE_TEST_PERIOD 12000
    #define EXT0_JAM_PIN -1
    #define EXT0_JAM_PULLUP 0
    #define EXT1_X_OFFSET 0
    #define EXT1_Y_OFFSET 0
    #define EXT1_Z_OFFSET 0
    #define EXT1_STEPS_PER_MM 95.2
    #define EXT1_TEMPSENSOR_TYPE 1
    #define EXT1_TEMPSENSOR_PIN TEMP_2_PIN
    #define EXT1_HEATER_PIN 7
    #define EXT1_STEP_PIN ORIG_E1_STEP_PIN
    #define EXT1_DIR_PIN ORIG_E1_DIR_PIN
    #define EXT1_INVERSE 1
    #define EXT1_ENABLE_PIN ORIG_E1_ENABLE_PIN
    #define EXT1_ENABLE_ON 0
    #define EXT1_MIRROR_STEPPER 0
    #define EXT1_STEP2_PIN ORIG_E1_STEP_PIN
    #define EXT1_DIR2_PIN ORIG_E1_DIR_PIN
    #define EXT1_INVERSE2 0
    #define EXT1_ENABLE2_PIN ORIG_E1_ENABLE_PIN
    #define EXT1_MAX_FEEDRATE 50
    #define EXT1_MAX_START_FEEDRATE 20
    #define EXT1_MAX_ACCELERATION 5000
    #define EXT1_HEAT_MANAGER 1
    #define EXT1_PREHEAT_TEMP 190
    #define EXT1_WATCHPERIOD 1
    #define EXT1_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT1_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT1_PID_PGAIN_OR_DEAD_TIME 4
    #define EXT1_PID_I 2
    #define EXT1_PID_D 40
    #define EXT1_PID_MAX 255
    #define EXT1_ADVANCE_K 0
    #define EXT1_ADVANCE_L 0
    #define EXT1_ADVANCE_BACKLASH_STEPS 0
    #define EXT1_WAIT_RETRACT_TEMP 150
    #define EXT1_WAIT_RETRACT_UNITS 0
    #define EXT1_SELECT_COMMANDS ""
    #define EXT1_DESELECT_COMMANDS ""
    #define EXT1_EXTRUDER_COOLER_PIN -1
    #define EXT1_EXTRUDER_COOLER_SPEED 255
    #define EXT1_DECOUPLE_TEST_PERIOD 12000
    #define EXT1_JAM_PIN -1
    #define EXT1_JAM_PULLUP 0
    #define EXT2_X_OFFSET 0
    #define EXT2_Y_OFFSET 0
    #define EXT2_Z_OFFSET 0
    #define EXT2_STEPS_PER_MM 370
    #define EXT2_TEMPSENSOR_TYPE 1
    #define EXT2_TEMPSENSOR_PIN TEMP_3_PIN
    #define EXT2_HEATER_PIN HEATER_3_PIN
    #define EXT2_STEP_PIN ORIG_E2_STEP_PIN
    #define EXT2_DIR_PIN ORIG_E2_DIR_PIN
    #define EXT2_INVERSE 1
    #define EXT2_ENABLE_PIN ORIG_E2_ENABLE_PIN
    #define EXT2_ENABLE_ON 0
    #define EXT2_MIRROR_STEPPER 0
    #define EXT2_STEP2_PIN ORIG_E2_STEP_PIN
    #define EXT2_DIR2_PIN ORIG_E2_DIR_PIN
    #define EXT2_INVERSE2 0
    #define EXT2_ENABLE2_PIN ORIG_E2_ENABLE_PIN
    #define EXT2_MAX_FEEDRATE 50
    #define EXT2_MAX_START_FEEDRATE 20
    #define EXT2_MAX_ACCELERATION 5000
    #define EXT2_HEAT_MANAGER 1
    #define EXT2_PREHEAT_TEMP 190
    #define EXT2_WATCHPERIOD 1
    #define EXT2_PID_INTEGRAL_DRIVE_MAX 230
    #define EXT2_PID_INTEGRAL_DRIVE_MIN 40
    #define EXT2_PID_PGAIN_OR_DEAD_TIME 7
    #define EXT2_PID_I 2
    #define EXT2_PID_D 40
    #define EXT2_PID_MAX 255
    #define EXT2_ADVANCE_K 0
    #define EXT2_ADVANCE_L 0
    #define EXT2_ADVANCE_BACKLASH_STEPS 0
    #define EXT2_WAIT_RETRACT_TEMP 150
    #define EXT2_WAIT_RETRACT_UNITS 0
    #define EXT2_SELECT_COMMANDS ""
    #define EXT2_DESELECT_COMMANDS ""
    #define EXT2_EXTRUDER_COOLER_PIN -1
    #define EXT2_EXTRUDER_COOLER_SPEED 255
    #define EXT2_DECOUPLE_TEST_PERIOD 12000
    #define EXT2_JAM_PIN -1
    #define EXT2_JAM_PULLUP 0
    
    #define FEATURE_RETRACTION 1
    #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
    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    #define FILAMENTCHANGE_REHOME 1
    #define FILAMENTCHANGE_SHORTRETRACT 5
    #define FILAMENTCHANGE_LONGRETRACT 50
    #define JAM_METHOD 1
    #define JAM_STEPS 220
    #define JAM_SLOWDOWN_STEPS 320
    #define JAM_SLOWDOWN_TO 70
    #define JAM_ERROR_STEPS 500
    #define JAM_MIN_STEPS 10
    #define JAM_ACTION 1
    
    #define RETRACT_DURING_HEATUP true
    #define PID_CONTROL_RANGE 20
    #define SKIP_M109_IF_WITHIN 2
    #define SCALE_PID_TO_MAX 0
    #define TEMP_HYSTERESIS 0
    #define EXTRUDE_MAXLENGTH 160
    #define NUM_TEMPS_USERTHERMISTOR0 0
    #define USER_THERMISTORTABLE0 {}
    #define NUM_TEMPS_USERTHERMISTOR1 0
    #define USER_THERMISTORTABLE1 {}
    #define NUM_TEMPS_USERTHERMISTOR2 0
    #define USER_THERMISTORTABLE2 {}
    #define GENERIC_THERM_VREF 5
    #define GENERIC_THERM_NUM_ENTRIES 33
    #define HEATER_PWM_SPEED 0
    #define COOLER_PWM_SPEED 0
    
    // ############# Heated bed configuration ########################
    
    #define HAVE_HEATED_BED 1
    #define HEATED_BED_PREHEAT_TEMP 55
    #define HEATED_BED_MAX_TEMP 120
    #define SKIP_M190_IF_WITHIN 3
    #define HEATED_BED_SENSOR_TYPE 1
    #define HEATED_BED_SENSOR_PIN TEMP_1_PIN
    #define HEATED_BED_HEATER_PIN HEATER_1_PIN
    #define HEATED_BED_SET_INTERVAL 5000
    #define HEATED_BED_HEAT_MANAGER 3
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255
    #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80
    #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME   5
    #define HEATED_BED_PID_IGAIN   33
    #define HEATED_BED_PID_DGAIN 290
    #define HEATED_BED_PID_MAX 255
    #define HEATED_BED_DECOUPLE_TEST_PERIOD 300000
    #define MIN_EXTRUDER_TEMP 160
    #define MAXTEMP 275
    #define MIN_DEFECT_TEMPERATURE -10
    #define MAX_DEFECT_TEMPERATURE 290
    #define MILLISECONDS_PREHEAT_TIME 30000
    
    // ##########################################################################################
    // ##                             Laser configuration                                      ##
    // ##########################################################################################
    
    /*
    If the firmware is in laser mode, it can control a laser output to cut or engrave materials.
    Please use this feature only if you know about safety and required protection. Lasers are
    dangerous and can hurt or make you blind!!!
    
    The default laser driver only supports laser on and off. Here you control the intensity with
    your feedrate. For exchangeable diode lasers this is normally enough. If you need more control
    you can set the intensity in a range 0-255 with a custom extension to the driver. See driver.h
    and comments on how to extend the functions non invasive with our event system.
    
    If you have a laser - powder system you will like your E override. If moves contain a
    increasing extruder position it will laser that move. With this trick you can
    use existing fdm slicers to laser the output. Laser width is extrusion width.
    
    Other tools may use M3 and M5 to enable/disable laser. Here G1/G2/G3 moves have laser enabled
    and G0 moves have it disables.
    
    In any case, laser only enables while moving. At the end of a move it gets
    automatically disabled.
    */
    
    #define SUPPORT_LASER 0
    #define LASER_PIN 9
    #define LASER_ON_HIGH 1
    #define LASER_WARMUP_TIME 0
    #define LASER_PWM_MAX 255
    #define LASER_WATT 2
    
    // ##                              CNC configuration                                       ##
    
    /*
    If the firmware is in CNC mode, it can control a mill with M3/M4/M5. It works
    similar to laser mode, but mill keeps enabled during G0 moves and it allows
    setting rpm (only with event extension that supports this) and milling direction.
    It also can add a delay to wait for spindle to run on full speed.
    */
    
    #define SUPPORT_CNC 0
    #define CNC_WAIT_ON_ENABLE 300
    #define CNC_WAIT_ON_DISABLE 0
    #define CNC_ENABLE_PIN -1
    #define CNC_ENABLE_WITH 1
    #define CNC_DIRECTION_PIN -1
    #define CNC_DIRECTION_CW 1
    #define CNC_PWM_MAX 255
    #define CNC_RPM_MAX 8000
    #define CNC_SAFE_Z 150
    
    #define DEFAULT_PRINTER_MODE 0
    
    // ################ Endstop configuration #####################
    
    #define MULTI_ZENDSTOP_HOMING 0
    #define ENDSTOP_PULLUP_X_MIN true
    #define ENDSTOP_X_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_X true
    #define ENDSTOP_PULLUP_Y_MIN true
    #define ENDSTOP_Y_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Y true
    #define ENDSTOP_PULLUP_Z_MIN true
    #define ENDSTOP_Z_MIN_INVERTING true
    #define MIN_HARDWARE_ENDSTOP_Z true
    #define ENDSTOP_PULLUP_Z2_MINMAX true
    #define ENDSTOP_Z2_MINMAX_INVERTING false
    #define MINMAX_HARDWARE_ENDSTOP_Z2 false
    #define ENDSTOP_PULLUP_X_MAX true
    #define ENDSTOP_X_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_X false
    #define ENDSTOP_PULLUP_Y_MAX true
    #define ENDSTOP_Y_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Y false
    #define ENDSTOP_PULLUP_Z_MAX true
    #define ENDSTOP_Z_MAX_INVERTING false
    #define MAX_HARDWARE_ENDSTOP_Z false
    #define ENDSTOP_PULLUP_X2_MIN true
    #define ENDSTOP_PULLUP_Y2_MIN true
    #define ENDSTOP_PULLUP_Z2_MINMAX true
    #define ENDSTOP_PULLUP_X2_MAX true
    #define ENDSTOP_PULLUP_Y2_MAX true
    #define ENDSTOP_X2_MIN_INVERTING false
    #define ENDSTOP_Y2_MIN_INVERTING false
    #define ENDSTOP_X2_MAX_INVERTING false
    #define ENDSTOP_Y2_MAX_INVERTING false
    #define MIN_HARDWARE_ENDSTOP_X2 false
    #define MIN_HARDWARE_ENDSTOP_Y2 false
    #define MAX_HARDWARE_ENDSTOP_X2 false
    #define MAX_HARDWARE_ENDSTOP_Y2 false
    #define X2_MIN_PIN -1
    #define X2_MAX_PIN -1
    #define Y2_MIN_PIN -1
    #define Y2_MAX_PIN -1
    #define Z2_MINMAX_PIN -1
    
    
    
    #define max_software_endstop_r true
    
    #define min_software_endstop_x false
    #define min_software_endstop_y false
    #define min_software_endstop_z false
    #define max_software_endstop_x true
    #define max_software_endstop_y true
    #define max_software_endstop_z true
    #define DOOR_PIN -1
    #define DOOR_PULLUP 1
    #define DOOR_INVERTING 1
    #define ENDSTOP_X_BACK_MOVE 5
    #define ENDSTOP_Y_BACK_MOVE 5
    #define ENDSTOP_Z_BACK_MOVE 5
    #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
    #define ENDSTOP_X_BACK_ON_HOME 1
    #define ENDSTOP_Y_BACK_ON_HOME 1
    #define ENDSTOP_Z_BACK_ON_HOME 0
    #define ALWAYS_CHECK_ENDSTOPS 0
    #define MOVE_X_WHEN_HOMED 0
    #define MOVE_Y_WHEN_HOMED 0
    #define MOVE_Z_WHEN_HOMED 0
    
    // ################# XYZ movements ###################
    
    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define DISABLE_X 0
    #define DISABLE_Y 0
    #define DISABLE_Z 0
    #define DISABLE_E 0
    #define INVERT_X_DIR 1
    #define INVERT_X2_DIR 0
    #define INVERT_Y_DIR 0
    #define INVERT_Y2_DIR 0
    #define INVERT_Z_DIR 1
    #define INVERT_Z2_DIR 0
    #define INVERT_Z3_DIR 0
    #define INVERT_Z4_DIR 0
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    #define X_MAX_LENGTH 200
    #define Y_MAX_LENGTH 280
    #define Z_MAX_LENGTH 205
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define PARK_POSITION_X 0
    #define PARK_POSITION_Y 10
    #define PARK_POSITION_Z_RAISE 10
    
    
    #define DISTORTION_CORRECTION 0
    #define DISTORTION_CORRECTION_POINTS 5
    #define DISTORTION_LIMIT_TO 2
    #define DISTORTION_CORRECTION_R 100
    #define DISTORTION_PERMANENT 1
    #define DISTORTION_UPDATE_FREQUENCY 15
    #define DISTORTION_START_DEGRADE 0.5
    #define DISTORTION_END_HEIGHT 1
    #define DISTORTION_EXTRAPOLATE_CORNERS 0
    #define DISTORTION_XMIN 60
    #define DISTORTION_YMIN 15
    #define DISTORTION_XMAX 190
    #define DISTORTION_YMAX 250
    
    // ##########################################################################################
    // ##                           Movement settings                                          ##
    // ##########################################################################################
    
    #define FEATURE_BABYSTEPPING 1
    #define BABYSTEP_MULTIPLICATOR 1
    
    #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
    #define EXACT_DELTA_MOVES 1
    
    // Delta settings
    #define DELTA_HOME_ON_POWER 0
    
    #define DELTASEGMENTS_PER_PRINTLINE 24
    #define STEPPER_INACTIVE_TIME 360L
    #define MAX_INACTIVE_TIME 0L
    #define MAX_FEEDRATE_X 250
    #define MAX_FEEDRATE_Y 300
    #define MAX_FEEDRATE_Z 2
    #define HOMING_FEEDRATE_X 40
    #define HOMING_FEEDRATE_Y 40
    #define HOMING_FEEDRATE_Z 2
    #define HOMING_ORDER HOME_ORDER_ZXYTZ
    #define ZHOME_PRE_RAISE 2
    #define ZHOME_PRE_RAISE_DISTANCE 5
    #define RAISE_Z_ON_TOOLCHANGE 0
    #define ZHOME_MIN_TEMPERATURE 0
    #define ZHOME_HEAT_ALL 1
    #define ZHOME_HEAT_HEIGHT 10
    #define ZHOME_X_POS 100
    #define ZHOME_Y_POS 100
    #define ENABLE_BACKLASH_COMPENSATION 1
    #define X_BACKLASH 0
    #define Y_BACKLASH 0
    #define Z_BACKLASH 0
    #define RAMP_ACCELERATION 1
    #define STEPPER_HIGH_DELAY 0
    #define DIRECTION_DELAY 0
    #define STEP_DOUBLER_FREQUENCY 12000
    #define ALLOW_QUADSTEPPING 1
    #define DOUBLE_STEP_DELAY 0 // time in microseconds
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
    #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
    #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
    #define INTERPOLATE_ACCELERATION_WITH_Z 0
    #define ACCELERATION_FACTOR_TOP 100
    #define MAX_JERK 15
    #define MAX_ZJERK 0.3
    #define PRINTLINE_CACHE_SIZE 16
    #define MOVE_CACHE_LOW 10
    #define LOW_TICKS_PER_MOVE 250000
    #define EXTRUDER_SWITCH_XY_SPEED 100
    #define DUAL_X_AXIS 0
    #define DUAL_X_RESOLUTION 0
    #define X2AXIS_STEPS_PER_MM 100
    #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_FOUR_ZSTEPPER 0
    #define Z4_STEP_PIN   ORIG_E3_STEP_PIN
    #define Z4_DIR_PIN    ORIG_E3_DIR_PIN
    #define Z4_ENABLE_PIN ORIG_E3_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 0
    #define POWER_INVERTING 0
    #define AUTOMATIC_POWERUP 0
    #define KILL_METHOD 1
    #define ACK_WITH_LINENUMBER 1
    #define KEEP_ALIVE_INTERVAL 2000
    #define WAITING_IDENTIFIER "wait"
    #define ECHO_ON_EXECUTE 1
    #define EEPROM_MODE 1
    #undef PS_ON_PIN
    #define PS_ON_PIN -1
    #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 MAX_FAN_PWM 255
    
            #define FEATURE_WATCHDOG 1
    
    // #################### Z-Probing #####################
    
    #define Z_PROBE_Z_OFFSET 0
    #define Z_PROBE_Z_OFFSET_MODE 0
    #define UI_BED_COATING 1
    #define FEATURE_Z_PROBE 1
    #define EXTRUDER_IS_Z_PROBE 0
    #define Z_PROBE_DISABLE_HEATERS 0
    #define Z_PROBE_BED_DISTANCE 10
    #define Z_PROBE_PIN ORIG_Z_MIN_PIN
    #define Z_PROBE_PULLUP 0
    #define Z_PROBE_ON_HIGH 0
    #define Z_PROBE_X_OFFSET 53.87
    #define Z_PROBE_Y_OFFSET -13.54
    #define Z_PROBE_WAIT_BEFORE_TEST 0
    #define Z_PROBE_SPEED 3
    #define Z_PROBE_XY_SPEED 100
    #define Z_PROBE_SWITCHING_DISTANCE 1
    #define Z_PROBE_REPETITIONS 2
    #define Z_PROBE_HEIGHT 0.47
    #define Z_PROBE_DELAY 0
    #define Z_PROBE_START_SCRIPT ""
    #define Z_PROBE_FINISHED_SCRIPT ""
    #define Z_PROBE_RUN_AFTER_EVERY_PROBE ""
    #define Z_PROBE_REQUIRES_HEATING 0
    #define Z_PROBE_MIN_TEMPERATURE 150
    #define FEATURE_AUTOLEVEL 1
    #define FEATURE_SOFTWARE_LEVELING 0
    #define Z_PROBE_X1 60
    #define Z_PROBE_Y1 15
    #define Z_PROBE_X2 175
    #define Z_PROBE_Y2 15
    #define Z_PROBE_X3 60
    #define Z_PROBE_Y3 250
    #define BED_LEVELING_METHOD 1
    #define BED_CORRECTION_METHOD 0
    #define BED_LEVELING_GRID_SIZE 5
    #define BED_LEVELING_REPETITIONS 5
    #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
    #define BENDING_CORRECTION_A 0
    #define BENDING_CORRECTION_B 0
    #define BENDING_CORRECTION_C 0
    #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 SDSS
    #define SDCARDDETECTINVERTED 0
    #endif
    #define SD_EXTENDED_DIR 1 /** 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 0
    #define LANGUAGE_NL_ACTIVE 0
    #define LANGUAGE_PT_ACTIVE 0
    #define LANGUAGE_IT_ACTIVE 0
    #define LANGUAGE_ES_ACTIVE 0
    #define LANGUAGE_FI_ACTIVE 0
    #define LANGUAGE_SE_ACTIVE 0
    #define LANGUAGE_FR_ACTIVE 0
    #define LANGUAGE_CZ_ACTIVE 0
    #define LANGUAGE_PL_ACTIVE 0
    #define LANGUAGE_TR_ACTIVE 0
    #define UI_PRINTER_NAME "EI3"
    #define UI_PRINTER_COMPANY "HE3D"
    #define UI_PAGES_DURATION 4000
    #define UI_SPEEDDEPENDENT_POSITIONING 0
    #define UI_DISABLE_AUTO_PAGESWITCH 1
    #define UI_AUTORETURN_TO_MENU_AFTER 30000
    #define FEATURE_UI_KEYS 0
    #define UI_ENCODER_SPEED 1
    #define UI_REVERSE_ENCODER 0
    #define UI_KEY_BOUNCETIME 20
    #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
    #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_MIN_HEATED_BED_TEMP  30
    #define UI_SET_MAX_HEATED_BED_TEMP 120
    #define UI_SET_MIN_EXTRUDER_TEMP   170
    #define UI_SET_MAX_EXTRUDER_TEMP   260
    #define UI_SET_EXTRUDER_FEEDRATE 2
    #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3
    
    
    #define NUM_MOTOR_DRIVERS 0
    
    
    
    #endif

Sign In or Register to comment.