V2 Compilation Error

Hi everyone,

I'm trying to compile the dev2-Version for a 6-axis machine (5-axis motion + Extruder). To my understanding, I managed to set up everything for 5-axis movement in the config and configIO (I still have to set up my motion system).

When trying to compile the firmware, I get the following Error:
src\motion\MotionLevel3.cpp: In static member function 'static void Motion3::timer()':
src\motion\MotionLevel3.cpp:167:37: error: 'PROBING' was not declared in this scope
         if (Motion1::endstopMode == PROBING) {
                                     ^~~~~~~
src\motion\MotionLevel3.cpp:167:37: note: suggested alternative: 'RISING'
         if (Motion1::endstopMode == PROBING) {
                                     ^~~~~~~
                                     RISING
*** [.pio\build\due\src\motion\MotionLevel3.cpp.o] Error 1
I tried some different settings for the probe (NONE, BLTOUCH, etc) and some other stuff  (like using different motion systems), but I can't find or solve the problem.

Thank you for your time and help,
happy printing!

Jagi

Here are my config and configIO settings:
/*
    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/>.
*/
/*
Early stage version for Stacker - use with care


*/
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
// Short version has z max 300, long version 610 mm
//#define STACKER_SHORT 1
/**************** 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.0dev
   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.
*/
// The follwing variables are required early to decide on the right modules.
//#define DEBUG_MOTION_ERRORS     // extra loads but shows message on motion errors detected from wrong math
#define SLOW_DIRECTION_CHANGE 1 // maybe reason for lost steps
#define HOST_RESCUE 1
// #define DEBUG_POS
#define NUM_SERVOS 0
#define NUM_TOOLS 1
#define MOTHERBOARD MOTHERBOARD_RADDS // RADDS
#define EEPROM_MODE 1
#define RFSERIAL SerialUSB
#define BLUETOOTH_SERIAL -1
#define JSON_OUTPUT 1
#define FEATURE_WATCHDOG 1
#define FEATURE_RETRACTION 1
#define USE_ADVANCE 1
#define NUM_AXES 6                   // X,Y,Z and E for extruder A,B,C would be 5,6,7
#define PRINTLINE_CACHE_SIZE 32      // Number of moves we can cache
#define STEPPER_FREQUENCY 192000     // Maximum stepper frequency.
#define PREPARE_FREQUENCY 2000       // Update frequency for new blocks. Must be higher then PREPARE_FREQUENCY.
#define BLOCK_FREQUENCY 1000         // Number of blocks with constant stepper rate per second.
#define VELOCITY_PROFILE 2           // 0 = linear, 1 = cubic, 2 = quintic velocity shape
#define SMALL_SEGMENT_SIZE 0.4       // Smaller segments reduce join speed to prevent vibrations causing lost steps
#define Z_SPEED 100                  // Z positioning speed
#define A_SPEED 100                  // A positioning speed
#define B_SPEED 100                  // B positioning speed
#define XY_SPEED 200                 // XY positioning speed for normal operations
#define G0_FEEDRATE 0                // Speed for G0 moves. Independent from set F value! Set 0 to use F value.
#define MAX_ROOM_TEMPERATURE 25      // No heating below this temperature!
#define TEMPERATURE_CONTROL_RANGE 20 // Start with controlling if temperature is +/- this value to target temperature
#define LEVELING_METHOD 1
#define ENABLE_BUMP_CORRECTION 1
#define GRID_SIZE 5
#define BUMP_CORRECTION_START_DEGRADE 0.5
#define BUMP_CORRECTION_END_HEIGHT 1.5
#define BUMP_LIMIT_TO 0
#define BUMP_DEFAULT_AUTOIMPORT_DIR "matrixes/" // Default auto import directory for M232 S2 matrix imports.
// 0 = Cartesian, 1 = CoreXYZ, 2 = delta, 3 = Dual X-Axis, 4 = IMP 5-Axis-Prusa 
#define PRINTER_TYPE 2//PRINTER_TYPE_5_AXIS
// steps to include as babysteps per 1/BLOCK_FREQUENCY seconds. Must be lower then STEPPER_FREQUENCY/BLOCK_FREQUENCY and be low enough to not loose steps.
#define BABYSTEPS_PER_BLOCK \
    { 1, 1, 1 }
// If all axis end stops are hardware based we can skip the time consuming tests each step
//#define NO_SOFTWARE_AXIS_ENDSTOPS
// Normally only a delta has motor end stops required. Normally you trigger using axis endstops.
// #define NO_MOTOR_ENDSTOPS
#define FEATURE_CONTROLLER CONTROLLER_SPARKLCD //NO_CONTROLLER
// Use more memory to speedup display updates
#define DISPLAY_FULL_BUFFER 1
// Direction 1 or -1
#define ENCODER_DIRECTION -1
// Uncomment to hide toogle light menu entry in controls
// #define NO_LIGHT_CONTROL
// Encoder speed 0 = fastest, 1 or 2 = slowest - set so 1 click is one menu move
// Default is 2 if not set by controller. Us eonly to fix wrong setting
// #define ENCODER_SPEED 2
// Set 1 if you want to replace the default themes and define them in configuration_io.h
#define CUSTOM_DEFAULT_THEMES 0
/* Ratios for core xyz. First index denotes motor and second axis.
For each motor you can set the ratio of x,y,z position that adds
to the position. 0 = no contribution. */
// X motor = x + y
#define COREXYZ_X_X 1
#define COREXYZ_X_Y 1
#define COREXYZ_X_Z 0
// Y motor = x - y
#define COREXYZ_Y_X 1
#define COREXYZ_Y_Y -1
#define COREXYZ_Y_Z 0
// Z motor = z
#define COREXYZ_Z_X 0
#define COREXYZ_Z_Y 0
#define COREXYZ_Z_Z 1
// Special geometry definition if printer type is delta
/*  =========== Parameter essential for delta calibration ===================
            C, Y-Axis
            |                        |___| Carriage horizontal offset
            |                        |   \------------------------------------------
            |_________ X-axis        |    \                                        |
           / \                       |     \  DELTA_DIAGONAL (length)    Each move this Rod Height
          /   \                             \                                 is calculated
         /     \                             \    Carriage is at printer center!   |
         A      B                             \_____/--------------------------------
                                              |--| End effector horizontal offset (recommend set it to 0)
                                         |----| DELTA_HORIZONTAL_RADIUS (Horizontal rod pivot to pivot measure)
    Column angles are measured from X-axis counterclockwise
    "Standard" positions: alpha_A = 210, alpha_B = 330, alpha_C = 90
*/
#define DELTA_DIAGONAL 444.800f
#define DELTA_HORIZONTAL_RADIUS 209.900f
#define DELTA_PRINT_RADIUS 209.0f
#define BED_RADIUS 150.0f
#define DELTA_ANGLE_A 210.0f
#define DELTA_ANGLE_B 330.0f
#define DELTA_ANGLE_C 90.123f
#define DELTA_CORRECTION_A 0.0f
#define DELTA_CORRECTION_B 0.0f
#define DELTA_CORRECTION_C 0.0f
#define DELTA_RADIUS_CORRECTION_A 0.0f
#define DELTA_RADIUS_CORRECTION_B 0.0f
#define DELTA_RADIUS_CORRECTION_C -0.05f
#define DELTA_HOME_OFFSET_A 2.9f
#define DELTA_HOME_OFFSET_B 0.0f
#define DELTA_HOME_OFFSET_C 0.85f
// Extra parameter in case you have a dual x axis
#define DUAL_X_LEFT_OFFSET -64
#define DUAL_X_RIGHT_OFFSET 450
// Minimum distance between both heads
#define DUAL_X_MIN_DISTANCE 64
#define LAZY_DUAL_X_AXIS 0
// Set all directions where no explicit test is required.
// This is for dummy endstops and for hardware endstops.
// Not disabling them is just a speed penalty
#define NO_XMIN_ENDSTOP_TEST
#define NO_XMAX_ENDSTOP_TEST
#define NO_YMIN_ENDSTOP_TEST
#define NO_YMAX_ENDSTOP_TEST
#define NO_ZMIN_ENDSTOP_TEST
#define NO_ZMAX_ENDSTOP_TEST
#define NO_AMIN_ENDSTOP_TEST
#define NO_AMAX_ENDSTOP_TEST
#define NO_BMIN_ENDSTOP_TEST
#define NO_BMAX_ENDSTOP_TEST

#define DISABLE_X 0
#define DISABLE_Y 0
#define DISABLE_Z 0
#define DISABLE_A 0
#define DISABLE_B 0

// Next 7 lines are required to make the following work, do not change!
#include "boards/pins.h"
#undef IO_TARGET
#define IO_TARGET IO_TARGET_CLASS_DEFINITION
#undef CONFIG_EXTERN
#define CONFIG_EXTERN extern
#include "drivers/drivers.h"
#include "io/redefine.h"
#define Z_PROBE_TYPE Z_PROBE_TYPE_NONE //FIXME
#define Z_PROBE_HEIGHT 3             // Distance bed-nozzle when trigger switches
#define Z_PROBE_BED_DISTANCE 10      // Optimal starting distance
#define Z_PROBE_SPEED 5              // Speed fo z testing
#define Z_PROBE_X_OFFSET 0           // x offset relative to extruder 0,0 offset
#define Z_PROBE_Y_OFFSET 0          // y offset relative to extruder 0,0 offset
#define Z_PROBE_A_OFFSET 0          // y offset relative to extruder 0,0 offset
#define Z_PROBE_B_OFFSET 0          // y offset relative to extruder 0,0 offset
#define Z_PROBE_COATING 0            // Coating thickness if not detected by probe
#define Z_PROBE_DELAY 0              // Extra delay before starting again. Only needed on electronic probes keeping state for a while
#define Z_PROBE_REPETITIONS 1        // How often should we probe, 1 is minimum
#define Z_PROBE_USE_MEDIAN 1         // 0 = use average, 1 = use middle value after ordering z
#define Z_PROBE_SWITCHING_DISTANCE 2 // Minimum distance required to safely untrigger probe - used for faster repeated measurement
#define Z_PROBE_BORDER 2             // Safety border to ensure position is allowed
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define Z_PROBE_RUN_AFTER_EVERY_PROBE ""
// Define ZProbe by referencing a endstop defined
CONFIG_VARIABLE_EQ(EndstopDriver, *ZProbe, ZPROBE_ADDRESS)
/** Axes are homed in order of priority (0..10) if homing direction is not 0. */
#define X_HOME_PRIORITY 1
#define Y_HOME_PRIORITY 2
#define Z_HOME_PRIORITY 0
#define A_HOME_PRIORITY 3
#define B_HOME_PRIORITY 4
// All fans in this list list become controllable with M106/M107
// by selecteing the fan number with P0..P<NUM_FANS-1>
#define NUM_FANS 1
#define FAN_LIST \
    { &Fan1PWM }
#define NUM_HEATED_BEDS 1
#define HEATED_BED_LIST \
    { &HeatedBed1 }
#define NUM_HEATED_CHAMBERS 0
#define HEATED_CHAMBER_LIST \
    { }
#define SERVO_LIST \
    { }
#define TOOLS \
    { &ToolExtruder1 }
// Define beeper list
#if BEEPER_PIN > -1
#define NUM_BEEPERS 1
#define BEEPER_LIST \
    { &MainBeeper }
#else
#define NUM_BEEPERS 0
#define BEEPER_LIST \
    { }
#endif
// Heaters enumerate all heaters, so we can loop over them
// or call commands on a specific heater number.
// Suggested order: extruder heaters, heated beds, heated chambers, additional heaters
#define NUM_HEATERS 2
#define HEATERS \
    { &HeaterExtruder1, &HeatedBed1 }
// Array to call motor related commands like microstepping/current if supported.
// Id's start at 0 and depend on position in this array.
#define NUM_MOTORS 6
#define MOTORS \
    { &XMotor, &YMotor, &ZMotor, &AMotor, &BMotor, &E1Motor }
#define MOTOR_NAMES \
    { PSTR("X"), PSTR("Y"), PSTR("Z"), PSTR("A"), PSTR("B"), PSTR("E1") }
// Some common settings for trinamic driver settings
/**
 Chopper timing is an array with
 {toff, hend, hstrt}
 See TMC datasheets for more details. There are some predefined values to get you started:
 CHOPPER_TIMING_DEFAULT_12V = { 3, -1, 1 }
 CHOPPER_TIMING_DEFAULT_19V = { 4, 1, 1 }
 CHOPPER_TIMING_DEFAULT_24V = { 4, 2, 1 }
 CHOPPER_TIMING_DEFAULT_36V = { 5, 2, 4 }
 CHOPPER_TIMING_PRUSAMK3_24V = { 3, -2, 6 }
*/
#define TMC_CHOPPER_TIMING CHOPPER_TIMING_DEFAULT_12V
// true = interpolate to 256 microsteps for smoother motion
#define TMC_INTERPOLATE true
// Current used when motor stands still
#define TMC_HOLD_MULTIPLIER 0.5
// Reduce current on over temperature warnings by x milli ampere, 0 = disable
#define TMC_CURRENT_STEP_DOWN 50
// Define which data should be stored to eeprom
#define STORE_MOTOR_MICROSTEPPING 1
#define STORE_MOTOR_CURRENT 1
#define STORE_MOTOR_HYBRID_TRESHOLD 1
#define STORE_MOTOR_STEALTH 1
#define STORE_MOTOR_STALL_SENSITIVITY 1
// x axis extruders are 62mm width, distance after homing 503mm
#define X_MAX_LENGTH 150
#define Y_MAX_LENGTH 150
#define Z_MAX_LENGTH 200
#define A_MAX_LENGTH 36000
#define B_MAX_LENGTH 110
#define X_MIN_POS -210
#define Y_MIN_POS -210
#define Z_MIN_POS 0
#define A_MIN_POS 0
#define B_MIN_POS -110
#define BED_X_MIN 0
#define BED_X_MAX (X_MIN_POS + X_MAX_LENGTH)
#define BED_Y_MIN Y_MIN_POS
#define BED_Y_MAX (Y_MIN_POS + Y_MAX_LENGTH)
// Park position used when pausing from firmware side
#if PRINTER_TYPE == PRINTER_TYPE_DELTA
#define PARK_POSITION_X (0)
#define PARK_POSITION_Y (-BED_RADIUS + 1)
#else
#define PARK_POSITION_X (X_MIN_POS)
#define PARK_POSITION_Y (Y_MIN_POS + Y_MAX_LENGTH)
#endif
#define PARK_POSITION_Z_RAISE 0
// 0 = move first xy and then z, 1 = first z up and then move xy
#define PARK_POSITION_Z_UP_FIRST 0
#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 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_A 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_B 1000
#define XAXIS_STEPS_PER_MM 320
#define YAXIS_STEPS_PER_MM 320
#define ZAXIS_STEPS_PER_MM 320
#define AAXIS_STEPS_PER_MM 320
#define BAXIS_STEPS_PER_MM 320
#define MAX_FEEDRATE_X 200
#define MAX_FEEDRATE_Y 200
#define MAX_FEEDRATE_Z 200
#define MAX_FEEDRATE_A 200
#define MAX_FEEDRATE_B 200

//#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 KILL_IF_SENSOR_DEFECT 0
#define RETRACT_ON_PAUSE 2
#define PAUSE_START_COMMANDS ""
#define PAUSE_END_COMMANDS ""
#define SHARED_EXTRUDER_HEATER 0
#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 25
#define FILAMENTCHANGE_X_POS 5
#define FILAMENTCHANGE_Y_POS 5
#define FILAMENTCHANGE_Z_ADD 2
#define FILAMENTCHANGE_REHOME 1
#define FILAMENTCHANGE_SHORTRETRACT 2.5
#define FILAMENTCHANGE_LONGRETRACT 50
#define JAM_METHOD 1
#define JAM_STEPS 220
#define JAM_SLOWDOWN_STEPS 1000
#define JAM_SLOWDOWN_TO 75
#define JAM_ERROR_STEPS 1500
#define JAM_MIN_STEPS 10
#define JAM_ACTION 1
#define RETRACT_DURING_HEATUP false
#define PID_CONTROL_RANGE 20
#define SKIP_M109_IF_WITHIN 5
#define SCALE_PID_TO_MAX 0
#define TEMP_HYSTERESIS 0
#define EXTRUDE_MAXLENGTH 1000
#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 SKIP_M190_IF_WITHIN 5
#define MIN_EXTRUDER_TEMP 150
#define MILLISECONDS_PREHEAT_TIME 30000
// ################ Endstop/homing configuration #####################
#define DOOR_PIN -1
#define DOOR_PULLUP 1
#define DOOR_INVERTING 1
#define ENDSTOP_X_BACK_MOVE 2
#define ENDSTOP_Y_BACK_MOVE 2
#define ENDSTOP_Z_BACK_MOVE 2
#define ENDSTOP_A_BACK_MOVE 0
#define ENDSTOP_B_BACK_MOVE 0
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_A_RETEST_REDUCTION_FACTOR 0
#define ENDSTOP_B_RETEST_REDUCTION_FACTOR 0
#define ENDSTOP_X_BACK_ON_HOME 0.5
#define ENDSTOP_Y_BACK_ON_HOME 0.5
#define ENDSTOP_Z_BACK_ON_HOME 20
#define ENDSTOP_A_BACK_ON_HOME 0
#define ENDSTOP_B_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS 0
#define X_HOME_DIR 0
#define Y_HOME_DIR 0
#define Z_HOME_DIR 1
#define A_HOME_DIR 0
#define B_HOME_DIR 0
#define MOVE_X_WHEN_HOMED 0
#define MOVE_Y_WHEN_HOMED 0
#define MOVE_Z_WHEN_HOMED 0
#define HOMING_FEEDRATE_X 50
#define HOMING_FEEDRATE_Y 50
#define HOMING_FEEDRATE_Z 50
#define HOMING_FEEDRATE_A 50
#define HOMING_FEEDRATE_B 50
#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 0
#define ZHOME_HEIGHT 590
#define FIXED_Z_HOME_POSITION 0
#define ZHOME_X_POS 0
#define ZHOME_Y_POS 0
// ################# XYZ movements ###################
#define PREVENT_Z_DISABLE_ON_STEPPER_TIMEOUT 1
#define PREVENT_A_DISABLE_ON_STEPPER_TIMEOUT 1 //TJ
#define PREVENT_B_DISABLE_ON_STEPPER_TIMEOUT 1 //TJ
// ##########################################################################################
// ##                           Movement settings                                          ##
// ##########################################################################################
// Delta settings
#define DELTA_HOME_ON_POWER 0
#define STEPPER_INACTIVE_TIME 0L
#define MAX_INACTIVE_TIME 0L
#define ENABLE_BACKLASH_COMPENSATION 0
#define X_BACKLASH 0
#define Y_BACKLASH 0
#define Z_BACKLASH 0
#define A_BACKLASH 0
#define B_BACKLASH 0
#define MAX_JERK 10
#define MAX_ZJERK 0
#define MAX_AJERK 0
#define MAX_BJERK 0
#define MOVE_CACHE_LOW 10
// ################# Misc. settings ##################
#define BAUDRATE 115200
#define ENABLE_POWER_ON_STARTUP 1
#define POWER_INVERTING 0
#define KILL_METHOD 1
#define ACK_WITH_LINENUMBER 1
#define KEEP_ALIVE_INTERVAL 2000
#define ECHO_ON_EXECUTE 1
#undef PS_ON_PIN
#define PS_ON_PIN -1
#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 ORIG_SDCARDDETECT
#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_CHECKSUM_FORCED 0
#define UI_PRINTER_NAME "5Axis Prusa"
#define UI_PRINTER_COMPANY "IMP"
#define UI_DISABLE_AUTO_PAGESWITCH 1
#define UI_AUTORETURN_TO_MENU_AFTER 30000
#define CASE_LIGHT_DEFAULT_ON 0
#define UI_START_SCREEN_DELAY 2000
//#define CUSTOM_EVENTS
//#define CUSTOM_MENU
//#define CUSTOM_TRANSLATIONS
#endif

ConfigIO
/*
This file defines io solutions used. This is the lowest level and is the base
for all higher level functions using io operations. At several places we need
subsets of these list of operations. To make configuration easy and easy to 
understand, we use a technique called "x macros". This requires that only
predefined macro names for IO are used here. Do NOT add anything else here
or compilation/functionality will break.
Rules:
1. Each definition will create a class that is named like the first parameter.
This class is later used as input to templates building higher functions. By
convention the names should start with IO followed by something that helps you
identify the function. 
2. Do not use a semicolon at the end. Macro definition gets different meanings
and will add the semicolon if required.
*/
/* Define motor pins here. Each motor needs a setp, dir and enable pin. */
ENDSTOP_NONE(endstopNone)
IO_OUTPUT_FAKE(fakeOut)
// X
IO_OUTPUT(IOX1Step, ORIG_X_STEP_PIN)
IO_OUTPUT(IOX1Dir, ORIG_X_DIR_PIN)
IO_OUTPUT_INVERTED(IOX1Enable, ORIG_X_ENABLE_PIN)
// Y Motor
IO_OUTPUT(IOY1Step, ORIG_Y_STEP_PIN)
IO_OUTPUT_INVERTED(IOY1Dir, ORIG_Y_DIR_PIN)
IO_OUTPUT_INVERTED(IOY1Enable, ORIG_Y_ENABLE_PIN)
// Z Motor
IO_OUTPUT(IOZ1Step, ORIG_Z_STEP_PIN)
IO_OUTPUT_INVERTED(IOZ1Dir, ORIG_Z_DIR_PIN)
IO_OUTPUT_INVERTED(IOZ1Enable, ORIG_Z_ENABLE_PIN)
// A Motor - drehen
IO_OUTPUT(IOAStep, ORIG_E1_STEP_PIN)
IO_OUTPUT_INVERTED(IOADir, ORIG_E1_DIR_PIN)
IO_OUTPUT_INVERTED(IOAEnable, ORIG_E1_ENABLE_PIN)
// B Motor - schwenken
IO_OUTPUT(IOBStep, ORIG_E2_STEP_PIN)
IO_OUTPUT_INVERTED(IOBDir, ORIG_E2_DIR_PIN)
IO_OUTPUT_INVERTED(IOBEnable, ORIG_E2_ENABLE_PIN)

// E0 Motor
IO_OUTPUT(IOE1Step, ORIG_E0_STEP_PIN)
IO_OUTPUT_INVERTED(IOE1Dir, ORIG_E0_DIR_PIN)
IO_OUTPUT_INVERTED(IOE1Enable, ORIG_E0_ENABLE_PIN)

// Controller input pins
#if UI_ENCODER_CLICK >= 0
IO_INPUT_INVERTED_PULLUP(ControllerClick, UI_ENCODER_CLICK)
#else
IO_INPUT_DUMMY(ControllerClick, false)
#endif
#if UI_ENCODER_A >= 0
IO_INPUT_INVERTED_PULLUP(ControllerEncA, UI_ENCODER_A)
#else
IO_INPUT_DUMMY(ControllerEncA, false)
#endif
#if UI_ENCODER_B >= 0
IO_INPUT_INVERTED_PULLUP(ControllerEncB, UI_ENCODER_B)
#else
IO_INPUT_DUMMY(ControllerEncB, false)
#endif
#if UI_BACK_PIN >= 0
IO_INPUT_PULLUP(ControllerBack, UI_BACK_PIN)
#else
IO_INPUT_DUMMY(ControllerBack, false)
#endif
#if UI_RESET_PIN >= 0
IO_INPUT_PULLUP(ControllerReset, UI_RESET_PIN)
#else
IO_INPUT_DUMMY(ControllerReset, false)
#endif
// Define your endstops inputs
//IO_INPUT_INVERTED(IOEndstopXMax, ORIG_X_MAX_PIN)
//IO_INPUT_INVERTED(IOEndstopYMax, ORIG_Y_MAX_PIN)
//IO_INPUT_INVERTED(IOEndstopZMax, ORIG_Z_MAX_PIN)
//IO_INPUT_INVERTED(IOEndstopAMax, ORIG_A_MAX_PIN)
//IO_INPUT_PULLUP(IOEndstopZProbe, ORIG_Z_MIN_PIN)
// Define our endstops solutions
// You need to define all min and max endstops for all
// axes except E even if you have none!
//ENDSTOP_SWITCH_HW(endstopXMax, IOEndstopXMax, -1, true)
//ENDSTOP_SWITCH_HW(endstopYMax, IOEndstopYMax, -1, true)
//ENDSTOP_SWITCH_HW(endstopZMax, IOEndstopZMax, -1, true)
ENDSTOP_NONE(endstopXMin)
ENDSTOP_NONE(endstopYMin)
ENDSTOP_NONE(endstopZMin)
ENDSTOP_NONE(endstopAMin)
ENDSTOP_NONE(endstopBMin)
ENDSTOP_NONE(endstopXMax)
ENDSTOP_NONE(endstopYMax)
ENDSTOP_NONE(endstopZMax)
ENDSTOP_NONE(endstopAMax)
ENDSTOP_NONE(endstopBMax)
//ENDSTOP_MERGE3(endstopZMax, endstopMotorXMax, endstopMotorYMax, endstopMotorZMax, Z_AXIS, true)
//ENDSTOP_SWITCH_HW(endstopZProbe, IOEndstopZProbe, ZPROBE_AXIS, false)
//ENDSTOP_NONE(endstopZProbe)
// Servo for z-probe
//IO_OUTPUT(Servo1Pin, 4)
//SERVO_ANALOG(ZProbeServo, 0, Servo1Pin, 500, 2500, 1473)
// Set to nullptr for no zprobe or &endstopName for a switch
#undef ZPROBE_ADDRESS
#define ZPROBE_ADDRESS nullptr //TJ
// Define fans
IO_PWM_HARDWARE(CoolerFan, ORIG_FAN2_PIN, 1000)
//IO_PWM_HARDWARE(Fan1PWMnoKS, ORIG_FAN_PIN, 5000)
//IO_PWM_KICKSTART(Fan1PWM, Fan1PWMnoKS, 10)
IO_PWM_HARDWARE(Fan1PWMNoMin, ORIG_FAN_PIN, 1000)
//IO_OUTPUT(IOFan1, ORIG_FAN_PIN)
//IO_PWM_SOFTWARE(Fan1PWMNoMin, IOFan1, 0)
IO_PWM_MIN_SPEED(Fan1PWM, Fan1PWMNoMin, 255, false)
// Define temperature sensors
// Typically they require an analog input (12 bit) so define
// them first.
IO_ANALOG_INPUT(IOAnalogExt1, TEMP_0_PIN, 5)
//IO_ANALOG_INPUT(IOAnalogExt2, TEMP_2_PIN, 5)
IO_ANALOG_INPUT(IOAnalogBed1, TEMP_1_PIN, 5)
// Need a conversion table for epcos NTC
IO_TEMP_TABLE_NTC(TempTableEpcos, Epcos_B57560G0107F000)
// Now create the temperature inputs
IO_TEMPERATURE_TABLE(TempBed1, IOAnalogBed1, TempTableEpcos)
IO_TEMPERATURE_TABLE(TempExt1, IOAnalogExt1, TempTableEpcos)
//IO_TEMPERATURE_TABLE(TempExt2, IOAnalogExt2, TempTableEpcos) //TJ
//IO_HOTTEST_OF_2(TempHottestExtruder, TempExt1, TempExt2)  //TJ
// Use PWM outputs to heat. If using hardware PWM make sure
// that the selected pin can be used as hardware pwm otherwise
// select a software pwm model whcih works on all pins 
IO_PWM_HARDWARE(PWMExtruder1_12V, HEATER_2_PIN, 1000)
//IO_PWM_HARDWARE(PWMExtruder2_12V, HEATER_0_PIN, 1000)
IO_PWM_SCALEDOWN(PWMExtruder1, PWMExtruder1_12V, 63)
//IO_PWM_SCALEDOWN(PWMExtruder2, PWMExtruder2_12V, 63)
IO_PWM_HARDWARE(PWMBed1, HEATER_1_PIN, 1000)
// Define all stepper motors used
// For deltas the top is the minumum position in motor coordinates
// therefore the max endstops of a delta need to be entered as
// minimum endstop here!
STEPPER_SIMPLE(XMotor, IOX1Step, IOX1Dir, IOX1Enable, endstopNone, endstopNone)
STEPPER_SIMPLE(YMotor, IOY1Step, IOY1Dir, IOY1Enable, endstopNone, endstopNone)
STEPPER_SIMPLE(ZMotor, IOZ1Step, IOZ1Dir, IOZ1Enable, endstopNone, endstopNone)
STEPPER_SIMPLE(AMotor, IOAStep, IOADir, IOAEnable, endstopNone, endstopNone)
STEPPER_SIMPLE(BMotor, IOBStep, IOBDir, IOBEnable, endstopNone, endstopNone)
STEPPER_SIMPLE(E1Motor, IOE1Step, IOE1Dir, IOE1Enable, endstopNone, endstopNone)
// Heat manages are used for every component that needs to
// control temperature. Higher level classes take these as input
// and simple heater like a heated bed use it directly.
HEAT_MANAGER_PID(HeatedBed1, 'B', 0, TempBed1, PWMBed1, 120, 255, 1000, 10, 300000, 131.1, 3.76, 1143, 80, 255, false)
HEAT_MANAGER_PID(HeaterExtruder1, 'E', 0, TempExt1, PWMExtruder1, 310, 255, 1000, 20, 20000, 18.3, 2.13, 39, 40, 235, false)
//HEAT_MANAGER_PID(HeaterExtruder2, 'E', 1, TempExt2, PWMExtruder2, 310, 255, 1000, 20, 20000, 18.3, 2.13, 39, 40, 235, false)
//COOLER_MANAGER_SENSOR(ExtruderCooler, TempHottestExtruder, CoolerFan, 70, 200, 150, 255) //TJ
// Coolers are stand alone functions that allow it to control
// a fan with external sensors. Many extruders require a cooling
// fan pointer to the extruder to prevent heat rising up.
// These can be controlled by the cooler. Since it is
// independent you just tell what part needs cooling.
// Other use cases are board cooling and heated chambers.
// Define tools. They get inserted into a tool array in configuration.h
// Typical tools are:
TOOL_EXTRUDER(ToolExtruder1, 0, -13, 0, HeaterExtruder1, E1Motor, 1.75, 500, 5, 30, 5000, 177, "M117 Extruder 1", "", &Fan1PWM)
//TOOL_EXTRUDER(ToolExtruder2, 0, 13, 0, HeaterExtruder2, E2Motor, 1.75, 500, 5, 30, 5000, 177, "M117 Extruder 2", "", &Fan1PWM)
// Default solution to support a beeper if present
#if BEEPER_PIN > -1
IO_OUTPUT(IOBeeperMain, BEEPER_PIN)
BEEPER_SOURCE_IO(MainBeeper, IOBeeperMain)
#endif


Comments

  • That is bug in firmware due to a recent change.
    i think you need to prepend EndstopMode:: then it should compile. Will check on monday if i get the time.
Sign In or Register to comment.