Browse Source

Allow USE_GCODE_SUBCODES for debugging

pull/1/head
Scott Lahteine 4 years ago
parent
commit
0ba18848af
  1. 2
      Marlin/src/gcode/geometry/G92.cpp
  2. 22
      Marlin/src/gcode/parser.cpp
  3. 4
      Marlin/src/gcode/parser.h
  4. 4
      Marlin/src/inc/Conditionals_post.h

2
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;

22
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

4
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; }

4
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)

Loading…
Cancel
Save