From 0ba18848af83d66aa14ca8f5d387ab9f630d450e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 10 Feb 2020 16:22:38 -0600 Subject: [PATCH] Allow USE_GCODE_SUBCODES for debugging --- Marlin/src/gcode/geometry/G92.cpp | 2 +- Marlin/src/gcode/parser.cpp | 22 +++++++++++----------- Marlin/src/gcode/parser.h | 4 ++-- Marlin/src/inc/Conditionals_post.h | 4 +++- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Marlin/src/gcode/geometry/G92.cpp b/Marlin/src/gcode/geometry/G92.cpp index dd87349976..0ed10beb54 100644 --- a/Marlin/src/gcode/geometry/G92.cpp +++ b/Marlin/src/gcode/geometry/G92.cpp @@ -35,7 +35,7 @@ void GcodeSuite::G92() { bool sync_E = false, sync_XYZ = false; - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) const uint8_t subcode_G92 = parser.subcode; #else constexpr uint8_t subcode_G92 = 0; diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index 8218ee53d8..a49b8b216e 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -51,13 +51,13 @@ char *GCodeParser::command_ptr, char GCodeParser::command_letter; int GCodeParser::codenum; -#if USE_GCODE_SUBCODES +#if ENABLED(USE_GCODE_SUBCODES) uint8_t GCodeParser::subcode; #endif #if ENABLED(GCODE_MOTION_MODES) int16_t GCodeParser::motion_mode_codenum = -1; - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) uint8_t GCodeParser::motion_mode_subcode; #endif #endif @@ -83,7 +83,7 @@ void GCodeParser::reset() { string_arg = nullptr; // No whole line argument command_letter = '?'; // No command letter codenum = 0; // No command code - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) subcode = 0; // No command sub-code #endif #if ENABLED(FASTER_GCODE_PARSER) @@ -187,12 +187,12 @@ void GCodeParser::parse(char *p) { do { codenum *= 10, codenum += *p++ - '0'; } while (NUMERIC(*p)); // Allow for decimal point in command - #if USE_GCODE_SUBCODES - if (*p == '.') { - p++; - while (NUMERIC(*p)) - subcode *= 10, subcode += *p++ - '0'; - } + #if ENABLED(USE_GCODE_SUBCODES) + if (*p == '.') { + p++; + while (NUMERIC(*p)) + subcode *= 10, subcode += *p++ - '0'; + } #endif // Skip all spaces to get to the first argument, or nul @@ -206,7 +206,7 @@ void GCodeParser::parse(char *p) { ) ) { motion_mode_codenum = codenum; - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) motion_mode_subcode = subcode; #endif } @@ -225,7 +225,7 @@ void GCodeParser::parse(char *p) { if (motion_mode_codenum < 0) return; command_letter = 'G'; codenum = motion_mode_codenum; - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) subcode = motion_mode_subcode; #endif p--; // Back up one character to use the current parameter diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index 08f8613c17..70eb85e31e 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -85,13 +85,13 @@ public: *string_arg, // string of command line command_letter; // G, M, or T static int codenum; // 123 - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) static uint8_t subcode; // .1 #endif #if ENABLED(GCODE_MOTION_MODES) static int16_t motion_mode_codenum; - #if USE_GCODE_SUBCODES + #if ENABLED(USE_GCODE_SUBCODES) static uint8_t motion_mode_subcode; #endif FORCE_INLINE static void cancel_motion_mode() { motion_mode_codenum = -1; } diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 624de26a0b..6785ea01e8 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -2110,7 +2110,9 @@ #endif // Add commands that need sub-codes to this list -#define USE_GCODE_SUBCODES ANY(G38_PROBE_TARGET, CNC_COORDINATE_SYSTEMS, POWER_LOSS_RECOVERY) +#if ANY(G38_PROBE_TARGET, CNC_COORDINATE_SYSTEMS, POWER_LOSS_RECOVERY) + #define USE_GCODE_SUBCODES +#endif // Parking Extruder #if ENABLED(PARKING_EXTRUDER)