Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
d429d5a
Add M420 C to center the mesh on a value (#10521)
thinkyhead Apr 25, 2018
11bbcfd
Update emergency_parser for 2.0.x parity (#10530)
thinkyhead Apr 26, 2018
d70a464
MKS OLED support for RUMBA
thinkyhead Apr 26, 2018
cb02b6e
Disable PIDTEMPBED with no bed…
thinkyhead Apr 26, 2018
b95a1b9
make Max7219 usable at ISR time
Roxy-3D Apr 26, 2018
e931bc7
Reorder some conditionals
thinkyhead Apr 26, 2018
f748b1a
Apply const in a few spots
thinkyhead Apr 26, 2018
8f5d99a
Wrap delay macros in do{}while(0)
thinkyhead Apr 26, 2018
083bfa3
Remove refs to non-existent CPU_32_BIT
thinkyhead Apr 26, 2018
e5e5c15
Fix ABL grid bounds test for Delta/SCARA
thinkyhead Apr 27, 2018
95d19cf
Fix disable of Z_SENSORLESS for HOMING_Z_WITH_PROBE
thinkyhead Apr 27, 2018
3550494
Correct AVR_ATmega328_FAMILY macro (#10540)
per1234 Apr 27, 2018
d86efae
[1.1.x] report error on unsupported commands (#10554)
GMagician Apr 27, 2018
81b9914
Further cleanup of inline delays
thinkyhead Apr 28, 2018
37927f9
Fix some endstop inverting settings
thinkyhead Apr 28, 2018
ba8d03d
Clean up some endstop inverting examples
thinkyhead Apr 28, 2018
f0494b4
Fix M420 C for UBL
thinkyhead Apr 28, 2018
b4ddee8
When homing with Z probe bump at Z_PROBE_SPEED_SLOW
thinkyhead Apr 28, 2018
94b8eac
Allow a home bump of 0 when homing Z with probe
thinkyhead Apr 28, 2018
2756a1d
Fix M421 comment in Marlin_main.cpp
thinkyhead Apr 28, 2018
522ea17
Clear up trailing whitespace
thinkyhead Apr 28, 2018
382aa96
1.1.x version of Auto-build PR 10503 (#10561)
Bob-the-Kuhn Apr 28, 2018
3ca3268
Fix the TMC26X initializer CS pin argument
thinkyhead Apr 28, 2018
b06fc3b
Modify FastIO error message
thinkyhead Apr 29, 2018
689ae46
Round all floats in string conversion functions (#10565)
thinkyhead Apr 29, 2018
751de31
Add sanity check for LED_CONTROL_MENU
thinkyhead Apr 29, 2018
99cbeb3
Do rounding in integer (instead of FIXFLOAT)
thinkyhead Apr 30, 2018
3e53754
Allow Z_AFTER_PROBING to be 0
thinkyhead Apr 30, 2018
f4a7531
Fix homing with probe feedrates
thinkyhead Apr 30, 2018
1025066
Add NO_LCD_MENUS to display only the Status Screen
thinkyhead Apr 30, 2018
f71e65a
Add NO_LCD_MENUS to custom configs
thinkyhead Apr 30, 2018
80c51ea
Merge pull request #10581 from thinkyhead/bf1_no_menus
thinkyhead May 1, 2018
96c1721
Fix sd_status comparison
thinkyhead May 1, 2018
33ddd4e
Fix XY homing move away rate
thinkyhead May 1, 2018
542baea
Add units to probe speed comments
thinkyhead May 1, 2018
0d7c559
Improve debug of homing move feedrate
thinkyhead May 1, 2018
3c5f0ce
Clean up autostart handling
thinkyhead May 1, 2018
94857b5
General lcd code cleanup
thinkyhead May 1, 2018
32b6a3a
Fewer includes of vector_3.h
thinkyhead May 1, 2018
5aff43e
Rename float32 => float52, etc.
thinkyhead May 1, 2018
0b9f99f
LCD_BED_LEVELING enables a sub-menu for ABL
thinkyhead May 1, 2018
04183da
Add Ender-3 configs (#10588)
thinkyhead May 1, 2018
da9f386
Merge pull request #10587 from thinkyhead/bf1_lcd_bed_leveling_abl
thinkyhead May 1, 2018
ee7b6a5
[1.1.x] Add Velleman RGB-LED Add-on support to K8400 configs (#10594)
TerraBAS May 2, 2018
a556a8c
Temp-related and conditional improvements
thinkyhead May 2, 2018
b50afa9
Add thermocouple with AD8495 support
thinkyhead May 2, 2018
12b9bba
Merge pull request #10602 from thinkyhead/bf1_AD8495_thermocouple
thinkyhead May 2, 2018
50ff4cf
Fix bed size and max z pos for Ender-2 (#10603)
TheMasterFX May 3, 2018
888da29
Enforce minimum TMC2130 / TMC2208 libs
thinkyhead Mar 23, 2018
65adea6
remove TMC version checks, move comment
Bob-the-Kuhn Mar 24, 2018
c6e4fbe
Additional patch for no heated bed
thinkyhead May 4, 2018
42180e2
change Max7219 coordinates are in traditional (X,Y) format
Roxy-3D May 5, 2018
1682036
Apply int32_t to stepper
thinkyhead May 4, 2018
08e20db
Improve sync of stepper positions
thinkyhead May 4, 2018
ac5ff1d
Adjust usage of stepper.synchronize
thinkyhead May 4, 2018
e8779e7
Fix up fwretract handling
thinkyhead May 4, 2018
fcb1982
Add Geeetech i3 Pro C / W examples
thinkyhead May 6, 2018
675be8d
Bring some example configs up to date
thinkyhead May 6, 2018
1f991f0
Merge pull request #10615 from thinkyhead/bf1_synced_planner_set_posi…
thinkyhead May 6, 2018
156bd28
Fully init planner sync_block
thinkyhead May 6, 2018
c97bf04
Geeetech follow-up
thinkyhead May 6, 2018
5735c8a
[1.1.x] Arrange LCD options by type (#10631)
thinkyhead May 7, 2018
59e8707
Remove some unused vars
thinkyhead May 3, 2018
20f1688
Try whole word over abbrev. for error
thinkyhead May 1, 2018
40ce9d0
Fix some sanity checks
thinkyhead May 7, 2018
9076a93
Fix abort of SD printing
thinkyhead May 7, 2018
124cff0
Junction deviation jerk limiting option
thinkyhead May 8, 2018
b3af5a1
Add JUNCTION_DEVIATION to example configs
thinkyhead May 8, 2018
5c12022
Show correct units in M503
thinkyhead May 8, 2018
bb352f9
Add a 3-frame fan animation to bitmaps (#10653)
thinkyhead May 8, 2018
7ee1ab4
Add Bézier Jerk Control option
thinkyhead May 8, 2018
f093ce3
Add BEZIER_JERK_CONTROL to example configs
thinkyhead May 8, 2018
ae24f4f
Merge pull request #10650 from thinkyhead/bf1_junction_deviation
thinkyhead May 8, 2018
de0b872
Merge pull request #10652 from thinkyhead/bf1_bezier_jerk_control_avr
thinkyhead May 8, 2018
78410b2
Add UBL support for G2/G3 and G5 (#10649)
thinkyhead May 8, 2018
b9e4ce3
Fix compilation with UBL and Arc/Bézier
thinkyhead May 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ script:
# Add a Sled Z Probe, use UBL Cartesian moves, use Japanese language
#
- opt_set LANGUAGE kana_utf8
- opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
- opt_enable Z_PROBE_SLED SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE BEZIER_JERK_CONTROL
- opt_disable SEGMENT_LEVELED_MOVES
- opt_enable_adv BABYSTEP_ZPROBE_OFFSET DOUBLECLICK_FOR_Z_BABYSTEPPING
- build_marlin
Expand All @@ -143,7 +143,7 @@ script:
# PROBE_MANUALLY feature, with LCD support,
# ULTIMAKERCONTROLLER, FILAMENT_LCD_DISPLAY, FILAMENT_WIDTH_SENSOR,
# PRINTCOUNTER, NOZZLE_PARK_FEATURE, NOZZLE_CLEAN_FEATURE, PCA9632,
# Z_DUAL_STEPPER_DRIVERS, Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS,
# Z_DUAL_ENDSTOPS, BEZIER_CURVE_SUPPORT, EXPERIMENTAL_I2CBUS,
# ADVANCED_PAUSE_FEATURE, ADVANCED_PAUSE_CONTINUOUS_PURGE, PARK_HEAD_ON_PAUSE, LCD_INFO_MENU, M114_DETAIL
# EEPROM_SETTINGS, EEPROM_CHITCHAT, M100_FREE_MEMORY_WATCHER,
# INCH_MODE_SUPPORT, TEMPERATURE_UNITS_SUPPORT
Expand All @@ -153,7 +153,7 @@ script:
- opt_enable PROBE_MANUALLY AUTO_BED_LEVELING_BILINEAR G26_MESH_EDITING LCD_BED_LEVELING ULTIMAKERCONTROLLER
- opt_enable EEPROM_SETTINGS EEPROM_CHITCHAT M100_FREE_MEMORY_WATCHER M100_FREE_MEMORY_DUMPER M100_FREE_MEMORY_CORRUPTOR INCH_MODE_SUPPORT TEMPERATURE_UNITS_SUPPORT
- opt_enable ULTIMAKERCONTROLLER SDSUPPORT
- opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632 USE_XMAX_PLUG
- opt_enable PRINTCOUNTER NOZZLE_PARK_FEATURE NOZZLE_CLEAN_FEATURE PCA9632
- opt_enable_adv BEZIER_CURVE_SUPPORT EXPERIMENTAL_I2CBUS
- opt_enable_adv ADVANCED_PAUSE_FEATURE ADVANCED_PAUSE_CONTINUOUS_PURGE FILAMENT_LOAD_UNLOAD_GCODES PARK_HEAD_ON_PAUSE LCD_INFO_MENU M114_DETAIL
- opt_set_adv PWM_MOTOR_CURRENT {1300,1300,1250}
Expand Down
23 changes: 16 additions & 7 deletions Marlin/Conditionals_LCD.h
Original file line number Diff line number Diff line change
Expand Up @@ -367,14 +367,19 @@
#endif
#endif

#if ENABLED(NO_LCD_MENUS)
#undef ULTIPANEL
#undef NEWPANEL
#endif

// Boot screens
#if DISABLED(ULTRA_LCD)
#undef SHOW_BOOTSCREEN
#elif !defined(BOOTSCREEN_TIMEOUT)
#define BOOTSCREEN_TIMEOUT 2500
#endif

#define HAS_DEBUG_MENU ENABLED(LCD_PROGRESS_BAR_TEST)
#define HAS_DEBUG_MENU (ENABLED(ULTIPANEL) && ENABLED(LCD_PROGRESS_BAR_TEST))

// MK2 Multiplexer forces SINGLENOZZLE and kills DISABLE_INACTIVE_EXTRUDER
#if ENABLED(MK2_MULTIPLEXER)
Expand Down Expand Up @@ -482,18 +487,22 @@
#define HAS_Z_SERVO_PROBE (defined(Z_PROBE_SERVO_NR) && Z_PROBE_SERVO_NR >= 0)

/**
* Set a flag for any enabled probe
* Set flags for enabled probes
*/
#define PROBE_SELECTED (ENABLED(PROBE_MANUALLY) || ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
#define HAS_BED_PROBE (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
#define PROBE_SELECTED (HAS_BED_PROBE || ENABLED(PROBE_MANUALLY))

/**
* Clear probe pin settings when no probe is selected
*/
#if !PROBE_SELECTED || ENABLED(PROBE_MANUALLY)
#if !HAS_BED_PROBE
// Clear probe pin settings when no probe is selected
#undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#undef Z_MIN_PROBE_ENDSTOP
#elif ENABLED(Z_PROBE_ALLEN_KEY)
// Extra test for Allen Key Probe
#define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
#endif

#define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN))

#define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS))
#define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER))
#define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED))
Expand Down
142 changes: 83 additions & 59 deletions Marlin/Conditionals_post.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,6 @@
#define DELTA_HEIGHT Z_HOME_POS
#endif

/**
* Auto Bed Leveling and Z Probe Repeatability Test
*/
#define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN))

/**
* Z Sled Probe requires Z_SAFE_HOMING
*/
Expand Down Expand Up @@ -270,7 +265,9 @@
/**
* Temp Sensor defines
*/
#if TEMP_SENSOR_0 == -3
#if TEMP_SENSOR_0 == -4
#define HEATER_0_USES_AD8495
#elif TEMP_SENSOR_0 == -3
#define HEATER_0_USES_MAX6675
#define MAX6675_IS_MAX31855
#define MAX6675_TMIN -270
Expand All @@ -289,8 +286,12 @@
#define HEATER_0_USES_THERMISTOR
#endif

#if TEMP_SENSOR_1 <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_1"
#if TEMP_SENSOR_1 == -4
#define HEATER_1_USES_AD8495
#elif TEMP_SENSOR_1 == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_1"
#elif TEMP_SENSOR_1 == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_1"
#elif TEMP_SENSOR_1 == -1
#define HEATER_1_USES_AD595
#elif TEMP_SENSOR_1 == 0
Expand All @@ -301,8 +302,12 @@
#define HEATER_1_USES_THERMISTOR
#endif

#if TEMP_SENSOR_2 <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_2"
#if TEMP_SENSOR_2 == -4
#define HEATER_2_USES_AD8495
#elif TEMP_SENSOR_2 == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_2"
#elif TEMP_SENSOR_2 == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_2"
#elif TEMP_SENSOR_2 == -1
#define HEATER_2_USES_AD595
#elif TEMP_SENSOR_2 == 0
Expand All @@ -313,8 +318,12 @@
#define HEATER_2_USES_THERMISTOR
#endif

#if TEMP_SENSOR_3 <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_3"
#if TEMP_SENSOR_3 == -4
#define HEATER_3_USES_AD8495
#elif TEMP_SENSOR_3 == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_3"
#elif TEMP_SENSOR_3 == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_3"
#elif TEMP_SENSOR_3 == -1
#define HEATER_3_USES_AD595
#elif TEMP_SENSOR_3 == 0
Expand All @@ -325,8 +334,12 @@
#define HEATER_3_USES_THERMISTOR
#endif

#if TEMP_SENSOR_4 <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_4"
#if TEMP_SENSOR_4 == -4
#define HEATER_4_USES_AD8495
#elif TEMP_SENSOR_4 == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_4"
#elif TEMP_SENSOR_4 == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_4"
#elif TEMP_SENSOR_4 == -1
#define HEATER_4_USES_AD595
#elif TEMP_SENSOR_4 == 0
Expand All @@ -337,8 +350,12 @@
#define HEATER_4_USES_THERMISTOR
#endif

#if TEMP_SENSOR_BED <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_BED"
#if TEMP_SENSOR_BED == -4
#define BED_USES_AD8495
#elif TEMP_SENSOR_BED == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_BED"
#elif TEMP_SENSOR_BED == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_BED"
#elif TEMP_SENSOR_BED == -1
#define BED_USES_AD595
#elif TEMP_SENSOR_BED == 0
Expand All @@ -349,20 +366,21 @@
#define BED_USES_THERMISTOR
#endif

#if TEMP_SENSOR_CHAMBER <= -2
#error "MAX6675 / MAX31855 Thermocouples not supported for TEMP_SENSOR_CHAMBER"
#if TEMP_SENSOR_CHAMBER == -4
#define CHAMBER_USES_AD8495
#elif TEMP_SENSOR_CHAMBER == -3
#error "MAX31855 Thermocouples not supported for TEMP_SENSOR_CHAMBER"
#elif TEMP_SENSOR_CHAMBER == -2
#error "MAX6675 Thermocouples not supported for TEMP_SENSOR_CHAMBER"
#elif TEMP_SENSOR_CHAMBER == -1
#define CHAMBER_USES_AD595
#elif TEMP_SENSOR_CHAMBER > 0
#define THERMISTORCHAMBER TEMP_SENSOR_CHAMBER
#define CHAMBER_USES_THERMISTOR
#endif

/**
* Flags for PID handling
*/
#define HAS_PID_HEATING (ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED))
#define HAS_PID_FOR_BOTH (ENABLED(PIDTEMP) && ENABLED(PIDTEMPBED))
#define HEATER_USES_AD8495 (ENABLED(HEATER_0_USES_AD8495) || ENABLED(HEATER_1_USES_AD8495) || ENABLED(HEATER_2_USES_AD8495) || ENABLED(HEATER_3_USES_AD8495) || ENABLED(HEATER_4_USES_AD8495))
#define HEATER_USES_AD595 (ENABLED(HEATER_0_USES_AD595) || ENABLED(HEATER_1_USES_AD595) || ENABLED(HEATER_2_USES_AD595) || ENABLED(HEATER_3_USES_AD595) || ENABLED(HEATER_4_USES_AD595))

/**
* Default hotend offsets, if not defined
Expand Down Expand Up @@ -662,23 +680,24 @@
#define E3_IS_TRINAMIC (ENABLED(E3_IS_TMC2130) || ENABLED(E3_IS_TMC2208))
#define E4_IS_TRINAMIC (ENABLED(E4_IS_TMC2130) || ENABLED(E4_IS_TMC2208))

// Disable Z axis sensorless homing if a probe is used to home the Z axis
#if ENABLED(SENSORLESS_HOMING)
#define X_SENSORLESS (ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY))
#define Y_SENSORLESS (ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY))
#define Z_SENSORLESS (ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY))
// Disable Z axis sensorless homing if a probe is used to home the Z axis
#if HOMING_Z_WITH_PROBE
#undef Z_HOMING_SENSITIVITY
#endif
#define X_SENSORLESS (ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY))
#define Y_SENSORLESS (ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY))
#define Z_SENSORLESS (ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY))
#endif

// Endstops and bed probe
#define HAS_X_MIN (PIN_EXISTS(X_MIN) && !IS_X2_ENDSTOP(X,MIN) && !IS_Y2_ENDSTOP(X,MIN) && !IS_Z2_OR_PROBE(X,MIN))
#define HAS_X_MAX (PIN_EXISTS(X_MAX) && !IS_X2_ENDSTOP(X,MAX) && !IS_Y2_ENDSTOP(X,MAX) && !IS_Z2_OR_PROBE(X,MAX))
#define HAS_Y_MIN (PIN_EXISTS(Y_MIN) && !IS_X2_ENDSTOP(Y,MIN) && !IS_Y2_ENDSTOP(Y,MIN) && !IS_Z2_OR_PROBE(Y,MIN))
#define HAS_Y_MAX (PIN_EXISTS(Y_MAX) && !IS_X2_ENDSTOP(Y,MAX) && !IS_Y2_ENDSTOP(Y,MAX) && !IS_Z2_OR_PROBE(Y,MAX))
#define HAS_Z_MIN (PIN_EXISTS(Z_MIN) && !IS_X2_ENDSTOP(Z,MIN) && !IS_Y2_ENDSTOP(Z,MIN) && !IS_Z2_OR_PROBE(Z,MIN))
#define HAS_Z_MAX (PIN_EXISTS(Z_MAX) && !IS_X2_ENDSTOP(Z,MAX) && !IS_Y2_ENDSTOP(Z,MAX) && !IS_Z2_OR_PROBE(Z,MAX))
#define HAS_STOP_TEST(A,M) (PIN_EXISTS(A##_##M) && !IS_X2_ENDSTOP(A,M) && !IS_Y2_ENDSTOP(A,M) && !IS_Z2_OR_PROBE(A,M))
#define HAS_X_MIN HAS_STOP_TEST(X,MIN)
#define HAS_X_MAX HAS_STOP_TEST(X,MAX)
#define HAS_Y_MIN HAS_STOP_TEST(Y,MIN)
#define HAS_Y_MAX HAS_STOP_TEST(Y,MAX)
#define HAS_Z_MIN HAS_STOP_TEST(Z,MIN)
#define HAS_Z_MAX HAS_STOP_TEST(Z,MAX)
#define HAS_X2_MIN (PIN_EXISTS(X2_MIN))
#define HAS_X2_MAX (PIN_EXISTS(X2_MAX))
#define HAS_Y2_MIN (PIN_EXISTS(Y2_MIN))
Expand All @@ -687,15 +706,19 @@
#define HAS_Z2_MAX (PIN_EXISTS(Z2_MAX))
#define HAS_Z_MIN_PROBE_PIN (PIN_EXISTS(Z_MIN_PROBE))

// Thermistors
#define HAS_TEMP_0 (PIN_EXISTS(TEMP_0) && TEMP_SENSOR_0 != 0 && TEMP_SENSOR_0 > -2)
#define HAS_TEMP_1 (PIN_EXISTS(TEMP_1) && TEMP_SENSOR_1 != 0 && TEMP_SENSOR_1 > -2)
#define HAS_TEMP_2 (PIN_EXISTS(TEMP_2) && TEMP_SENSOR_2 != 0 && TEMP_SENSOR_2 > -2)
#define HAS_TEMP_3 (PIN_EXISTS(TEMP_3) && TEMP_SENSOR_3 != 0 && TEMP_SENSOR_3 > -2)
#define HAS_TEMP_4 (PIN_EXISTS(TEMP_4) && TEMP_SENSOR_4 != 0 && TEMP_SENSOR_4 > -2)
#define HAS_TEMP_HOTEND (HAS_TEMP_0 || ENABLED(HEATER_0_USES_MAX6675))
#define HAS_TEMP_BED (PIN_EXISTS(TEMP_BED) && TEMP_SENSOR_BED != 0 && TEMP_SENSOR_BED > -2)
#define HAS_TEMP_CHAMBER (PIN_EXISTS(TEMP_CHAMBER) && TEMP_SENSOR_CHAMBER != 0 && TEMP_SENSOR_CHAMBER > -2)
// ADC Temp Sensors (Thermistor or Thermocouple with amplifier ADC interface)
#define HAS_ADC_TEST(P) (PIN_EXISTS(TEMP_##P) && TEMP_SENSOR_##P != 0 && TEMP_SENSOR_##P > -2)
#define HAS_TEMP_ADC_0 (HAS_ADC_TEST(0) && DISABLED(HEATER_0_USES_MAX6675))
#define HAS_TEMP_ADC_1 HAS_ADC_TEST(1)
#define HAS_TEMP_ADC_2 HAS_ADC_TEST(2)
#define HAS_TEMP_ADC_3 HAS_ADC_TEST(3)
#define HAS_TEMP_ADC_4 HAS_ADC_TEST(4)
#define HAS_TEMP_ADC_BED HAS_ADC_TEST(BED)
#define HAS_TEMP_ADC_CHAMBER HAS_ADC_TEST(CHAMBER)

#define HAS_TEMP_HOTEND (HAS_TEMP_ADC_0 || ENABLED(HEATER_0_USES_MAX6675))
#define HAS_TEMP_BED HAS_TEMP_ADC_BED
#define HAS_TEMP_CHAMBER HAS_TEMP_ADC_CHAMBER

// Heaters
#define HAS_HEATER_0 (PIN_EXISTS(HEATER_0))
Expand All @@ -705,9 +728,17 @@
#define HAS_HEATER_4 (PIN_EXISTS(HEATER_4))
#define HAS_HEATER_BED (PIN_EXISTS(HEATER_BED))

// Shorthand for common combinations
#define HAS_HEATED_BED (HAS_TEMP_BED && HAS_HEATER_BED)
#define HAS_TEMP_SENSOR (HAS_TEMP_HOTEND || HAS_HEATED_BED || HAS_TEMP_CHAMBER)

// PID heating
#if !HAS_HEATED_BED
#undef PIDTEMPBED
#endif
#define HAS_PID_HEATING (ENABLED(PIDTEMP) || ENABLED(PIDTEMPBED))
#define HAS_PID_FOR_BOTH (ENABLED(PIDTEMP) && ENABLED(PIDTEMPBED))

// Thermal protection
#define HAS_THERMALLY_PROTECTED_BED (HAS_HEATED_BED && ENABLED(THERMAL_PROTECTION_BED))
#define WATCH_HOTENDS (ENABLED(THERMAL_PROTECTION_HOTENDS) && WATCH_TEMP_PERIOD > 0)
Expand Down Expand Up @@ -744,11 +775,15 @@
#define HAS_CONTROLLER_FAN (PIN_EXISTS(CONTROLLER_FAN))

// Servos
#define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0)
#define HAS_SERVO_0 (PIN_EXISTS(SERVO0))
#define HAS_SERVO_1 (PIN_EXISTS(SERVO1))
#define HAS_SERVO_2 (PIN_EXISTS(SERVO2))
#define HAS_SERVO_3 (PIN_EXISTS(SERVO3))
#define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0 && (HAS_SERVO_0 || HAS_SERVO_1 || HAS_SERVO_2 || HAS_SERVO_3))

#if HAS_SERVOS && !defined(Z_PROBE_SERVO_NR)
#define Z_PROBE_SERVO_NR -1
#endif

// Sensors
#define HAS_FILAMENT_WIDTH_SENSOR (PIN_EXISTS(FILWIDTH))
Expand Down Expand Up @@ -846,22 +881,6 @@
*/
#define HAS_FANMUX PIN_EXISTS(FANMUX0)

/**
* Servos and probes
*/

#if HAS_SERVOS
#ifndef Z_PROBE_SERVO_NR
#define Z_PROBE_SERVO_NR -1
#endif
#endif

#define HAS_BED_PROBE (PROBE_SELECTED && DISABLED(PROBE_MANUALLY))

#if ENABLED(Z_PROBE_ALLEN_KEY)
#define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
#endif

/**
* Bed Probe dependencies
*/
Expand Down Expand Up @@ -947,6 +966,7 @@
#define HAS_MESH (ENABLED(AUTO_BED_LEVELING_BILINEAR) || ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(MESH_BED_LEVELING))
#define PLANNER_LEVELING (OLDSCHOOL_ABL || ENABLED(MESH_BED_LEVELING) || UBL_SEGMENTED || ENABLED(SKEW_CORRECTION))
#define HAS_PROBING_PROCEDURE (HAS_ABL || ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST))
#define HAS_UBL_AND_CURVES (ENABLED(AUTO_BED_LEVELING_UBL) && !PLANNER_LEVELING && (ENABLED(ARC_SUPPORT) || ENABLED(BEZIER_CURVE_SUPPORT)))

#if ENABLED(AUTO_BED_LEVELING_UBL)
#undef LCD_BED_LEVELING
Expand All @@ -961,6 +981,10 @@
#define QUIET_PROBING (HAS_BED_PROBE && (ENABLED(PROBING_HEATERS_OFF) || ENABLED(PROBING_FANS_OFF) || DELAY_BEFORE_PROBING > 0))
#define HEATER_IDLE_HANDLER (ENABLED(ADVANCED_PAUSE_FEATURE) || ENABLED(PROBING_HEATERS_OFF))

#if ENABLED(ADVANCED_PAUSE_FEATURE) && !defined(FILAMENT_CHANGE_SLOW_LOAD_LENGTH)
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0
#endif

/**
* Only constrain Z on DELTA / SCARA machines
*/
Expand Down
Loading