Extended condition macros (#13419)
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add: - Alias `ANY(...)` for `!DISABLED(...)` - Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...` - Alias `EITHER(A,B)` for `ANY(...)` - Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)` - `NONE(...)` for `DISABLED(...)`
This commit is contained in:
@ -36,7 +36,7 @@
|
||||
#include "../../../module/probe.h"
|
||||
#include "../../queue.h"
|
||||
|
||||
#if ENABLED(LCD_BED_LEVELING) && ENABLED(PROBE_MANUALLY)
|
||||
#if BOTH(LCD_BED_LEVELING, PROBE_MANUALLY)
|
||||
#include "../../../lcd/ultralcd.h"
|
||||
#endif
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
*/
|
||||
G29_TYPE GcodeSuite::G29() {
|
||||
|
||||
#if ENABLED(DEBUG_LEVELING_FEATURE) || ENABLED(PROBE_MANUALLY)
|
||||
#if EITHER(DEBUG_LEVELING_FEATURE, PROBE_MANUALLY)
|
||||
const bool seenQ = parser.seen('Q');
|
||||
#else
|
||||
constexpr bool seenQ = false;
|
||||
@ -205,7 +205,7 @@ G29_TYPE GcodeSuite::G29() {
|
||||
ABL_VAR float xProbe, yProbe, measured_z;
|
||||
ABL_VAR bool dryrun, abl_should_enable;
|
||||
|
||||
#if ENABLED(PROBE_MANUALLY) || ENABLED(AUTO_BED_LEVELING_LINEAR)
|
||||
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
ABL_VAR int abl_probe_index;
|
||||
#endif
|
||||
|
||||
@ -280,7 +280,7 @@ G29_TYPE GcodeSuite::G29() {
|
||||
if (active_extruder != 0) tool_change(0);
|
||||
#endif
|
||||
|
||||
#if ENABLED(PROBE_MANUALLY) || ENABLED(AUTO_BED_LEVELING_LINEAR)
|
||||
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
||||
abl_probe_index = -1;
|
||||
#endif
|
||||
|
||||
@ -522,7 +522,7 @@ G29_TYPE GcodeSuite::G29() {
|
||||
}
|
||||
else {
|
||||
|
||||
#if ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT)
|
||||
const uint16_t index = abl_probe_index - 1;
|
||||
#endif
|
||||
|
||||
|
@ -400,7 +400,7 @@ void GcodeSuite::G28(const bool always_home_all) {
|
||||
|
||||
endstops.not_homing();
|
||||
|
||||
#if ENABLED(DELTA) && ENABLED(DELTA_HOME_TO_SAFE_ZONE)
|
||||
#if BOTH(DELTA, DELTA_HOME_TO_SAFE_ZONE)
|
||||
// move to a height where we can use the full xy-area
|
||||
do_blocking_move_to_z(delta_clip_start_height);
|
||||
#endif
|
||||
|
@ -52,8 +52,8 @@
|
||||
#define CALIBRATION_MEASUREMENT_CERTAIN 0.5 // mm
|
||||
#endif
|
||||
|
||||
#define HAS_X_CENTER (ENABLED(CALIBRATION_MEASURE_LEFT) && ENABLED(CALIBRATION_MEASURE_RIGHT))
|
||||
#define HAS_Y_CENTER (ENABLED(CALIBRATION_MEASURE_FRONT) && ENABLED(CALIBRATION_MEASURE_BACK))
|
||||
#define HAS_X_CENTER BOTH(CALIBRATION_MEASURE_LEFT, CALIBRATION_MEASURE_RIGHT)
|
||||
#define HAS_Y_CENTER BOTH(CALIBRATION_MEASURE_FRONT, CALIBRATION_MEASURE_BACK)
|
||||
|
||||
#if ENABLED(BACKLASH_GCODE)
|
||||
extern float backlash_distance_mm[], backlash_correction, backlash_smoothing_mm;
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include "../../lcd/ultralcd.h"
|
||||
#include "../../module/stepper.h"
|
||||
|
||||
#if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(ULTRA_LCD)
|
||||
#if BOTH(AUTO_BED_LEVELING_UBL, ULTRA_LCD)
|
||||
#include "../../feature/bedlevel/bedlevel.h"
|
||||
#endif
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
|
||||
#include "../gcode.h"
|
||||
#include "../../feature/solenoid.h"
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "../../../inc/MarlinConfig.h"
|
||||
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || ENABLED(DIGIPOT_I2C) || ENABLED(DAC_STEPPER_CURRENT)
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || EITHER(DIGIPOT_I2C, DAC_STEPPER_CURRENT)
|
||||
|
||||
#include "../../gcode.h"
|
||||
|
||||
@ -50,7 +50,7 @@ void GcodeSuite::M907() {
|
||||
|
||||
#elif HAS_MOTOR_CURRENT_PWM
|
||||
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_X) || PIN_EXISTS(MOTOR_CURRENT_PWM_Y) || PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
|
||||
#if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY)
|
||||
if (parser.seenval('X') || parser.seenval('Y')) stepper.digipot_current(0, parser.value_int());
|
||||
#endif
|
||||
#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
|
||||
|
@ -117,7 +117,7 @@ void GcodeSuite::get_destination_from_command() {
|
||||
#endif
|
||||
|
||||
// Get ABCDHI mixing factors
|
||||
#if ENABLED(MIXING_EXTRUDER) && ENABLED(DIRECT_MIXING_IN_G1)
|
||||
#if BOTH(MIXING_EXTRUDER, DIRECT_MIXING_IN_G1)
|
||||
M165();
|
||||
#endif
|
||||
}
|
||||
@ -330,7 +330,7 @@ void GcodeSuite::process_parsed_command(
|
||||
case 33: M33(); break; // M33: Get the long full path to a file or folder
|
||||
#endif
|
||||
|
||||
#if ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE)
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
case 34: M34(); break; // M34: Set SD card sorting options
|
||||
#endif
|
||||
|
||||
@ -494,7 +494,7 @@ void GcodeSuite::process_parsed_command(
|
||||
case 665: M665(); break; // M665: Set delta configurations
|
||||
#endif
|
||||
|
||||
#if ENABLED(DELTA) || ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS)
|
||||
#if ANY(DELTA, X_DUAL_ENDSTOPS, Y_DUAL_ENDSTOPS, Z_DUAL_ENDSTOPS)
|
||||
case 666: M666(); break; // M666: Set delta or dual endstop adjustment
|
||||
#endif
|
||||
|
||||
@ -576,7 +576,7 @@ void GcodeSuite::process_parsed_command(
|
||||
case 364: if (M364()) return; break; // M364: SCARA Psi pos3 (90 deg to Theta)
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
case 380: M380(); break; // M380: Activate solenoid on active (or specified) extruder
|
||||
case 381: M381(); break; // M381: Disable all solenoids or, if MANUAL_SOLENOID_CONTROL, active (or specified) solenoid
|
||||
#endif
|
||||
@ -673,7 +673,7 @@ void GcodeSuite::process_parsed_command(
|
||||
case 900: M900(); break; // M900: Set advance K factor.
|
||||
#endif
|
||||
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || ENABLED(DIGIPOT_I2C) || ENABLED(DAC_STEPPER_CURRENT)
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || EITHER(DIGIPOT_I2C, DAC_STEPPER_CURRENT)
|
||||
case 907: M907(); break; // M907: Set digital trimpot motor current using axis codes.
|
||||
#if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT)
|
||||
case 908: M908(); break; // M908: Control digital trimpot directly.
|
||||
|
@ -144,7 +144,7 @@
|
||||
* M140 - Set bed target temp. S<temp>
|
||||
* M145 - Set heatup values for materials on the LCD. H<hotend> B<bed> F<fan speed> for S<material> (0=PLA, 1=ABS)
|
||||
* M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT)
|
||||
* M150 - Set Status LED Color as R<red> U<green> B<blue> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, or PCA9632).
|
||||
* M150 - Set Status LED Color as R<red> U<green> B<blue> P<bright>. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632).
|
||||
* M155 - Auto-report temperatures with interval of S<seconds>. (Requires AUTO_REPORT_TEMPERATURES)
|
||||
* M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER)
|
||||
* M164 - Commit the mix and save to a virtual tool (current, or as specified by 'S'). (Requires MIXING_EXTRUDER)
|
||||
@ -480,7 +480,7 @@ private:
|
||||
#if ENABLED(LONG_FILENAME_HOST_SUPPORT)
|
||||
static void M33();
|
||||
#endif
|
||||
#if ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE)
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
static void M34();
|
||||
#endif
|
||||
#endif
|
||||
@ -706,7 +706,7 @@ private:
|
||||
static bool M364();
|
||||
#endif
|
||||
|
||||
#if ENABLED(EXT_SOLENOID) || ENABLED(MANUAL_SOLENOID_CONTROL)
|
||||
#if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
|
||||
static void M380();
|
||||
static void M381();
|
||||
#endif
|
||||
@ -845,7 +845,7 @@ private:
|
||||
static void M918();
|
||||
#endif
|
||||
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || ENABLED(DIGIPOT_I2C) || ENABLED(DAC_STEPPER_CURRENT)
|
||||
#if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || EITHER(DIGIPOT_I2C, DAC_STEPPER_CURRENT)
|
||||
static void M907();
|
||||
#if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT)
|
||||
static void M908();
|
||||
|
@ -152,7 +152,7 @@ void GcodeSuite::M115() {
|
||||
|
||||
// THERMAL_PROTECTION
|
||||
cap_line(PSTR("THERMAL_PROTECTION")
|
||||
#if ENABLED(THERMAL_PROTECTION_HOTENDS) && ENABLED(THERMAL_PROTECTION_BED)
|
||||
#if BOTH(THERMAL_PROTECTION_HOTENDS, THERMAL_PROTECTION_BED)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(LCD_SET_PROGRESS_MANUALLY) && (ENABLED(EXTENSIBLE_UI) || ENABLED(ULTRA_LCD))
|
||||
#if ENABLED(LCD_SET_PROGRESS_MANUALLY) && EITHER(EXTENSIBLE_UI, ULTRA_LCD)
|
||||
|
||||
#include "../gcode.h"
|
||||
#include "../../lcd/ultralcd.h"
|
||||
@ -42,4 +42,4 @@ void GcodeSuite::M73() {
|
||||
ui.set_progress(parser.value_byte());
|
||||
}
|
||||
|
||||
#endif // LCD_SET_PROGRESS_MANUALLY && (ENABLED(EXTENSIBLE_UI) || ENABLED(ULTRA_LCD))
|
||||
#endif // LCD_SET_PROGRESS_MANUALLY && (EXTENSIBLE_UI || ULTRA_LCD)
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
#include "../../Marlin.h"
|
||||
|
||||
#if ENABLED(FWRETRACT) && ENABLED(FWRETRACT_AUTORETRACT)
|
||||
#if BOTH(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
#include "../../feature/fwretract.h"
|
||||
#endif
|
||||
|
||||
@ -79,7 +79,7 @@ void GcodeSuite::G0_G1(
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(FWRETRACT) && ENABLED(FWRETRACT_AUTORETRACT)
|
||||
#if BOTH(FWRETRACT, FWRETRACT_AUTORETRACT)
|
||||
|
||||
if (MIN_AUTORETRACT <= MAX_AUTORETRACT) {
|
||||
// When M209 Autoretract is enabled, convert E-only moves to firmware retract/recover moves
|
||||
|
@ -95,7 +95,7 @@ void enqueue_and_echo_commands_P(PGM_P const pgcode);
|
||||
*/
|
||||
bool enqueue_and_echo_command(const char* cmd);
|
||||
|
||||
#define HAS_LCD_QUEUE_NOW (ENABLED(MALYAN_LCD) || (HAS_LCD_MENU && (ENABLED(AUTO_BED_LEVELING_UBL) || ENABLED(PID_AUTOTUNE_MENU) || ENABLED(ADVANCED_PAUSE_FEATURE))))
|
||||
#define HAS_LCD_QUEUE_NOW (ENABLED(MALYAN_LCD) || (HAS_LCD_MENU && ANY(AUTO_BED_LEVELING_UBL, PID_AUTOTUNE_MENU, ADVANCED_PAUSE_FEATURE)))
|
||||
#define HAS_QUEUE_NOW (ENABLED(SDSUPPORT) || HAS_LCD_QUEUE_NOW)
|
||||
|
||||
#if HAS_QUEUE_NOW
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(SDCARD_SORT_ALPHA) && ENABLED(SDSORT_GCODE)
|
||||
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
|
||||
|
||||
#include "../gcode.h"
|
||||
#include "../../sd/cardreader.h"
|
||||
|
@ -125,7 +125,7 @@ void GcodeSuite::M109() {
|
||||
print_job_timer.start();
|
||||
#endif
|
||||
|
||||
#if ENABLED(ULTRA_LCD) || ENABLED(EXTENSIBLE_UI)
|
||||
#if EITHER(ULTRA_LCD, EXTENSIBLE_UI)
|
||||
if (thermalManager.isHeatingHotend(target_extruder) || !no_wait_for_cooling)
|
||||
thermalManager.set_heating_message(target_extruder);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user