From dbdb4f7fd6931ebe9b4fdaabf5f73953f82f4119 Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Mon, 12 Oct 2020 18:33:18 +0200 Subject: [PATCH] Revert "Optional `M42`/`M226`; Add more features filters (#19664)" This reverts commit 0988af453c567fae1796cc821bbc41e930b45836. --- Marlin/Configuration_adv.h | 5 -- Marlin/src/gcode/control/M226.cpp | 6 --- Marlin/src/gcode/control/M42.cpp | 7 +-- Marlin/src/gcode/gcode.cpp | 9 +--- Marlin/src/gcode/gcode.h | 9 ++-- Marlin/src/inc/MarlinConfig.h | 32 ++++-------- Marlin/src/inc/MarlinConfigPre.h | 14 ++---- Marlin/src/pins/pins.h | 2 +- .../PlatformIO/scripts/common-dependencies.h | 47 ++++++++++++++--- .../PlatformIO/scripts/common-dependencies.py | 8 +-- platformio.ini | 50 +++++-------------- 11 files changed, 78 insertions(+), 111 deletions(-) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index ce1477b577d0c..cfbf5e643c099 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -3580,11 +3580,6 @@ // //#define M100_FREE_MEMORY_WATCHER -// -// M42 - Set pin states -// -//#define DIRECT_PIN_CONTROL - // // M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe // diff --git a/Marlin/src/gcode/control/M226.cpp b/Marlin/src/gcode/control/M226.cpp index ad717e614d8a1..52e0e57a87f07 100644 --- a/Marlin/src/gcode/control/M226.cpp +++ b/Marlin/src/gcode/control/M226.cpp @@ -20,10 +20,6 @@ * */ -#include "../../inc/MarlinConfig.h" - -#if ENABLED(DIRECT_PIN_CONTROL) - #include "../gcode.h" #include "../../MarlinCore.h" // for pin_is_protected and idle() #include "../../module/stepper.h" @@ -54,5 +50,3 @@ void GcodeSuite::M226() { } // pin_state -1 0 1 && pin > -1 } // parser.seen('P') } - -#endif // DIRECT_PIN_CONTROL diff --git a/Marlin/src/gcode/control/M42.cpp b/Marlin/src/gcode/control/M42.cpp index c635c06ec63bd..c88113db49df0 100644 --- a/Marlin/src/gcode/control/M42.cpp +++ b/Marlin/src/gcode/control/M42.cpp @@ -20,12 +20,9 @@ * */ -#include "../../inc/MarlinConfig.h" - -#if ENABLED(DIRECT_PIN_CONTROL) - #include "../gcode.h" #include "../../MarlinCore.h" // for pin_is_protected +#include "../../inc/MarlinConfig.h" #if HAS_FAN #include "../../module/temperature.h" @@ -99,5 +96,3 @@ void GcodeSuite::M42() { extDigitalWrite(pin, pin_status); analogWrite(pin, pin_status); } - -#endif // DIRECT_PIN_CONTROL diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 54f36ce9adcb1..5ca9677897fb7 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -447,10 +447,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { #endif // SDSUPPORT case 31: M31(); break; // M31: Report time since the start of SD print or last M109 - - #if ENABLED(DIRECT_PIN_CONTROL) - case 42: M42(); break; // M42: Change pin state - #endif + case 42: M42(); break; // M42: Change pin state #if ENABLED(PINS_DEBUGGING) case 43: M43(); break; // M43: Read pin state @@ -625,9 +622,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 221: M221(); break; // M221: Set Flow Percentage #endif - #if ENABLED(DIRECT_PIN_CONTROL) - case 226: M226(); break; // M226: Wait until a pin reaches a state - #endif + case 226: M226(); break; // M226: Wait until a pin reaches a state #if HAS_SERVOS case 280: M280(); break; // M280: Set servo position absolute diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index 188c5f8b55ad9..5e21476f8dc75 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -109,7 +109,7 @@ * The '#' is necessary when calling from within sd files, as it stops buffer prereading * M33 - Get the longname version of a path. (Requires LONG_FILENAME_HOST_SUPPORT) * M34 - Set SD Card sorting options. (Requires SDCARD_SORT_ALPHA) - * M42 - Change pin status via gcode: M42 P S. LED pin assumed if P is omitted. (Requires DIRECT_PIN_CONTROL) + * M42 - Change pin status via gcode: M42 P S. LED pin assumed if P is omitted. * M43 - Display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins * M48 - Measure Z Probe repeatability: M48 P X Y V E L S. (Requires Z_MIN_PROBE_REPEATABILITY_TEST) * M73 - Set the progress percentage. (Requires LCD_SET_PROGRESS_MANUALLY) @@ -183,7 +183,7 @@ * M220 - Set Feedrate Percentage: "M220 S" (i.e., "FR" on the LCD) * Use "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it. (Requires PRUSA_MMU2) * M221 - Set Flow Percentage: "M221 S" - * M226 - Wait until a pin is in a given state: "M226 P S" (Requires DIRECT_PIN_CONTROL) + * M226 - Wait until a pin is in a given state: "M226 P S" * M240 - Trigger a camera to take a photograph. (Requires PHOTO_GCODE) * M250 - Set LCD contrast: "M250 C" (0-63). (Requires LCD support) * M260 - i2c Send Data (Requires EXPERIMENTAL_I2CBUS) @@ -545,7 +545,8 @@ class GcodeSuite { #endif #endif - TERN_(DIRECT_PIN_CONTROL, static void M42()); + static void M42(); + TERN_(PINS_DEBUGGING, static void M43()); TERN_(Z_MIN_PROBE_REPEATABILITY_TEST, static void M48()); @@ -673,7 +674,7 @@ class GcodeSuite { static void M221(); #endif - TERN_(DIRECT_PIN_CONTROL, static void M226()); + static void M226(); TERN_(PHOTO_GCODE, static void M240()); diff --git a/Marlin/src/inc/MarlinConfig.h b/Marlin/src/inc/MarlinConfig.h index 2eafa2b4171fd..d1184cff5f253 100644 --- a/Marlin/src/inc/MarlinConfig.h +++ b/Marlin/src/inc/MarlinConfig.h @@ -27,31 +27,21 @@ #include "MarlinConfigPre.h" -#ifndef __MARLIN_DEPS__ - #include "../HAL/HAL.h" -#endif +#include "../HAL/HAL.h" #include "../pins/pins.h" - -#ifndef __MARLIN_DEPS__ - #include HAL_PATH(../HAL, timers.h) - #include HAL_PATH(../HAL, spi_pins.h) -#endif +#include HAL_PATH(../HAL, timers.h) +#include HAL_PATH(../HAL, spi_pins.h) #include "Conditionals_post.h" +#include HAL_PATH(../HAL, inc/Conditionals_post.h) -#ifndef __MARLIN_DEPS__ - - #include HAL_PATH(../HAL, inc/Conditionals_post.h) - - #include "../core/types.h" // Ahead of sanity-checks - - #include "SanityCheck.h" - #include HAL_PATH(../HAL, inc/SanityCheck.h) +#include "../core/types.h" // Ahead of sanity-checks - // Include all core headers - #include "../core/language.h" - #include "../core/utility.h" - #include "../core/serial.h" +#include "SanityCheck.h" +#include HAL_PATH(../HAL, inc/SanityCheck.h) -#endif +// Include all core headers +#include "../core/language.h" +#include "../core/utility.h" +#include "../core/serial.h" diff --git a/Marlin/src/inc/MarlinConfigPre.h b/Marlin/src/inc/MarlinConfigPre.h index dfa0adba1bd72..1b15d4981730e 100644 --- a/Marlin/src/inc/MarlinConfigPre.h +++ b/Marlin/src/inc/MarlinConfigPre.h @@ -30,9 +30,7 @@ // #include -#ifndef __MARLIN_DEPS__ - #include "../HAL/platforms.h" -#endif +#include "../HAL/platforms.h" #include "../core/boards.h" #include "../core/macros.h" @@ -47,16 +45,10 @@ #include "Version.h" #include "Conditionals_LCD.h" - -#ifndef __MARLIN_DEPS__ - #include HAL_PATH(../HAL, inc/Conditionals_LCD.h) -#endif +#include HAL_PATH(../HAL, inc/Conditionals_LCD.h) #include "../core/drivers.h" #include "../../Configuration_adv.h" #include "Conditionals_adv.h" - -#ifndef __MARLIN_DEPS__ - #include HAL_PATH(../HAL, inc/Conditionals_adv.h) -#endif +#include HAL_PATH(../HAL, inc/Conditionals_adv.h) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index a7888e54d4a61..82364cc54a5c7 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -52,7 +52,7 @@ #define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)) // Test the target within the included pins file -#ifdef __MARLIN_DEPS__ +#ifdef __MARLIN_PREBUILD__ #define NOT_TARGET(V...) 0 #else #define NOT_TARGET(V...) NONE(V) diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index c96907bb3ff1c..02a4502e3fae3 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -19,6 +19,7 @@ * along with this program. If not, see . * */ +#pragma once /** * The purpose of this file is just include Marlin Configuration files, @@ -26,9 +27,44 @@ * Used by common-dependencies.py */ -#define NUM_SERIAL 1 // Normally provided by HAL/HAL.h +#include -#include "../../../../Marlin/src/inc/MarlinConfig.h" +// Include platform headers +//#include "../../../../Marlin/src/HAL/platforms.h" + +#include "../../../../Marlin/src/core/boards.h" +#include "../../../../Marlin/src/core/macros.h" +#include "../../../../Marlin/Configuration.h" + +#include "../../../../Marlin/Version.h" + +#include "../../../../Marlin/src/inc/Conditionals_LCD.h" + +#ifdef HAL_PATH + #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_LCD.h) +#endif + +#include "../../../../Marlin/src/core/drivers.h" +#include "../../../../Marlin/Configuration_adv.h" + +#include "../../../../Marlin/src/inc/Conditionals_adv.h" + +#ifdef HAL_PATH + #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_adv.h) +#endif + +//#include "../../../../Marlin/src/pins/pins.h" + +#ifdef HAL_PATH + #include HAL_PATH(../../../../Marlin/src/HAL, timers.h) + #include HAL_PATH(../../../../Marlin/src/HAL, spi_pins.h) +#endif + +#include "../../../../Marlin/src/inc/Conditionals_post.h" + +#ifdef HAL_PATH + #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_post.h) +#endif // // Conditionals only used for [features] @@ -53,10 +89,6 @@ #define HAS_EXTRUDERS #endif -#if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) - #define HAS_SMART_EFF_MOD -#endif - #if HAS_LCD_MENU #if ENABLED(BACKLASH_GCODE) #define HAS_MENU_BACKLASH @@ -113,3 +145,6 @@ #define HAS_MENU_UBL #endif #endif + +// Include pins for the current board. Platform tests will be skipped. No HAL-defined pins. +#include "../../../../Marlin/src/pins/pins.h" diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.py b/buildroot/share/PlatformIO/scripts/common-dependencies.py index 4b4bba625874c..6005855156a81 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.py +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.py @@ -39,12 +39,6 @@ def parse_pkg_uri(spec): FEATURE_CONFIG = {} def add_to_feat_cnf(feature, flines): - - try: - feat = FEATURE_CONFIG[feature] - except: - FEATURE_CONFIG[feature] = {} - feat = FEATURE_CONFIG[feature] atoms = re.sub(',\\s*', '\n', flines).strip().split('\n') for dep in atoms: @@ -244,7 +238,7 @@ def load_marlin_features(): else: cmd += ['-D' + s] - cmd += ['-D__MARLIN_DEPS__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] + cmd += ['-D__MARLIN_PREBUILD__ -w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] cmd = ' '.join(cmd) blab(cmd) define_list = subprocess.check_output(cmd, shell=True).splitlines() diff --git a/platformio.ini b/platformio.ini index 41b82d2bc1486..ce978e5f056ff 100644 --- a/platformio.ini +++ b/platformio.ini @@ -27,7 +27,6 @@ include_dir = Marlin [common] default_src_filter = + - - + - - - - - - - - - - - - - - @@ -54,13 +53,10 @@ default_src_filter = + - - + - - - - - - + - - - - - - - - - - - - - - - - @@ -69,7 +65,7 @@ default_src_filter = + - - + - - - - - - - - + - - - - - - - @@ -84,7 +80,6 @@ default_src_filter = + - - + - - - - - - - - @@ -100,7 +95,7 @@ default_src_filter = + - - + - - - - - - - + - - - - - - @@ -112,7 +107,7 @@ default_src_filter = + - - + - - - - - + - - - - @@ -120,19 +115,14 @@ default_src_filter = + - - + - - - - - - - - - - - - - - - - - - - - - - - - - @@ -180,10 +170,8 @@ default_src_filter = + - - + - - - - - - - - - - - - - - @@ -230,13 +218,9 @@ HAS_WIRED_LCD = src_filter=+ HAS_MARLINUI_HD44780 = src_filter=+ HAS_MARLINUI_U8GLIB = U8glib-HAL@~0.4.1 src_filter=+ -HAS_(FSMC|SPI)_TFT = src_filter=+ + -HAS_FSMC_TFT = src_filter=+ + -HAS_SPI_TFT = src_filter=+ + HAS_GRAPHICAL_TFT = src_filter=+ DWIN_CREALITY_LCD = src_filter=+ IS_TFTGLCD_PANEL = src_filter=+ -HAS_TOUCH_XPT2046 = src_filter=+ HAS_LCD_MENU = src_filter=+ HAS_GAMES = src_filter=+ MARLIN_BRICKOUT = src_filter=+ @@ -262,7 +246,7 @@ HAS_MENU_TEMPERATURE = src_filter=+ HAS_MENU_TMC = src_filter=+ HAS_MENU_TOUCH_SCREEN = src_filter=+ HAS_MENU_UBL = src_filter=+ -ANYCUBIC_LCD_CHIRON = src_filter=+ + +ANYCUBIC_LCD_CHIRON = src_filter=+ ANYCUBIC_LCD_I3MEGA = src_filter=+ + HAS_DGUS_LCD = src_filter=+ + TOUCH_UI_FTDI_EVE = src_filter=+ @@ -278,15 +262,13 @@ BARICUDA = src_filter=+ + + BLTOUCH = src_filter=+ CANCEL_OBJECTS = src_filter=+ + -CASE_LIGHT_ENABLE = src_filter=+ + +CASE_LIGHT_ENABLE = src_filter=+ + EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+ + USE_CONTROLLER_FAN = src_filter=+ HAS_MOTOR_CURRENT_DAC = src_filter=+ DIRECT_STEPPING = src_filter=+ + EMERGENCY_PARSER = src_filter=+ - I2C_POSITION_ENCODERS = src_filter=+ -IIC_BL24CXX_EEPROM = src_filter=+ -HAS_SPI_FLASH = src_filter=+ HAS_FANMUX = src_filter=+ FILAMENT_WIDTH_SENSOR = src_filter=+ + FWRETRACT = src_filter=+ + @@ -307,10 +289,10 @@ ADVANCED_PAUSE_FEATURE = src_filter=+ + HAS_POWER_MONITOR = src_filter=+ + POWER_LOSS_RECOVERY = src_filter=+ + -PROBE_TEMP_COMPENSATION = src_filter=+ + +PROBE_TEMP_COMPENSATION = src_filter=+ + HAS_FILAMENT_SENSOR = src_filter=+ + MK2_MULTIPLEXER = src_filter=+ -EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ + +EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ HAS_CUTTER = src_filter=+ + EXPERIMENTAL_I2CBUS = src_filter=+ + MECHANICAL_GANTRY_CAL.+ = src_filter=+ @@ -327,19 +309,14 @@ BACKLASH_GCODE = src_filter=+ IS_KINEMATIC = src_filter=+ HAS_EXTRA_ENDSTOPS = src_filter=+ SKEW_CORRECTION_GCODE = src_filter=+ -DIRECT_PIN_CONTROL = src_filter=+ + -PINS_DEBUGGING = src_filter=+ +PINS_DEBUGGING = src_filter=- NO_VOLUMETRICS = src_filter=- HAS_MULTI_EXTRUDER = src_filter=+ HAS_HOTEND_OFFSET = src_filter=+ EDITABLE_SERVO_ANGLES = src_filter=+ -PIDTEMP = src_filter=+ PREVENT_COLD_EXTRUSION = src_filter=+ -PIDTEMPBED = src_filter=+ HAS_USER_THERMISTORS = src_filter=+ SD_ABORT_ON_ENDSTOP_HIT = src_filter=+ -BAUD_RATE_GCODE = src_filter=+ -HAS_SMART_EFF_MOD = src_filter=+ COOLANT_CONTROL = src_filter=+ HAS_SOFTWARE_ENDSTOPS = src_filter=+ HAS_DUPLICATION_MODE = src_filter=+ @@ -364,13 +341,12 @@ LCD_SET_PROGRESS_MANUALLY = src_filter=+ TOUCH_SCREEN_CALIBRATION = src_filter=+ ARC_SUPPORT = src_filter=+ GCODE_MOTION_MODES = src_filter=+ -BABYSTEPPING = src_filter=+ + +BABYSTEPPING = src_filter=+ Z_PROBE_SLED = src_filter=+ G38_PROBE_TARGET = src_filter=+ MAGNETIC_PARKING_EXTRUDER = src_filter=+ SDSUPPORT = src_filter=+ HAS_EXTRUDERS = src_filter=+ + -AUTO_REPORT_TEMPERATURES = src_filter=+ INCH_MODE_SUPPORT = src_filter=+ TEMPERATURE_UNITS_SUPPORT = src_filter=+ NEED_HEX_PRINT = src_filter=+ @@ -589,7 +565,7 @@ extends = env:at90usb1286_cdc [env:DUE] platform = atmelsam board = due -src_filter = ${common.default_src_filter} + + +src_filter = ${common.default_src_filter} + [env:DUE_USB] platform = atmelsam @@ -665,7 +641,7 @@ lib_ldf_mode = off lib_compat_mode = strict extra_scripts = ${common.extra_scripts} Marlin/src/HAL/LPC1768/upload_extra_script.py -src_filter = ${common.default_src_filter} + + +src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} Servo custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0 @@ -704,7 +680,7 @@ build_flags = ${common.build_flags} -DUSBCON -DUSBD_USE_CDC -DTIM_IRQ_PRIO=13 build_unflags = -std=gnu++11 -src_filter = ${common.default_src_filter} + + +src_filter = ${common.default_src_filter} + # # HAL/STM32F1 Common Environment values