Browse Source

Allow USE_GCODE_SUBCODES for debugging

pull/1/head
Scott Lahteine 5 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; bool sync_E = false, sync_XYZ = false;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
const uint8_t subcode_G92 = parser.subcode; const uint8_t subcode_G92 = parser.subcode;
#else #else
constexpr uint8_t subcode_G92 = 0; constexpr uint8_t subcode_G92 = 0;

22
Marlin/src/gcode/parser.cpp

@ -51,13 +51,13 @@ char *GCodeParser::command_ptr,
char GCodeParser::command_letter; char GCodeParser::command_letter;
int GCodeParser::codenum; int GCodeParser::codenum;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
uint8_t GCodeParser::subcode; uint8_t GCodeParser::subcode;
#endif #endif
#if ENABLED(GCODE_MOTION_MODES) #if ENABLED(GCODE_MOTION_MODES)
int16_t GCodeParser::motion_mode_codenum = -1; int16_t GCodeParser::motion_mode_codenum = -1;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
uint8_t GCodeParser::motion_mode_subcode; uint8_t GCodeParser::motion_mode_subcode;
#endif #endif
#endif #endif
@ -83,7 +83,7 @@ void GCodeParser::reset() {
string_arg = nullptr; // No whole line argument string_arg = nullptr; // No whole line argument
command_letter = '?'; // No command letter command_letter = '?'; // No command letter
codenum = 0; // No command code codenum = 0; // No command code
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
subcode = 0; // No command sub-code subcode = 0; // No command sub-code
#endif #endif
#if ENABLED(FASTER_GCODE_PARSER) #if ENABLED(FASTER_GCODE_PARSER)
@ -187,12 +187,12 @@ void GCodeParser::parse(char *p) {
do { codenum *= 10, codenum += *p++ - '0'; } while (NUMERIC(*p)); do { codenum *= 10, codenum += *p++ - '0'; } while (NUMERIC(*p));
// Allow for decimal point in command // Allow for decimal point in command
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
if (*p == '.') { if (*p == '.') {
p++; p++;
while (NUMERIC(*p)) while (NUMERIC(*p))
subcode *= 10, subcode += *p++ - '0'; subcode *= 10, subcode += *p++ - '0';
} }
#endif #endif
// Skip all spaces to get to the first argument, or nul // Skip all spaces to get to the first argument, or nul
@ -206,7 +206,7 @@ void GCodeParser::parse(char *p) {
) )
) { ) {
motion_mode_codenum = codenum; motion_mode_codenum = codenum;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
motion_mode_subcode = subcode; motion_mode_subcode = subcode;
#endif #endif
} }
@ -225,7 +225,7 @@ void GCodeParser::parse(char *p) {
if (motion_mode_codenum < 0) return; if (motion_mode_codenum < 0) return;
command_letter = 'G'; command_letter = 'G';
codenum = motion_mode_codenum; codenum = motion_mode_codenum;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
subcode = motion_mode_subcode; subcode = motion_mode_subcode;
#endif #endif
p--; // Back up one character to use the current parameter 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 *string_arg, // string of command line
command_letter; // G, M, or T command_letter; // G, M, or T
static int codenum; // 123 static int codenum; // 123
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
static uint8_t subcode; // .1 static uint8_t subcode; // .1
#endif #endif
#if ENABLED(GCODE_MOTION_MODES) #if ENABLED(GCODE_MOTION_MODES)
static int16_t motion_mode_codenum; static int16_t motion_mode_codenum;
#if USE_GCODE_SUBCODES #if ENABLED(USE_GCODE_SUBCODES)
static uint8_t motion_mode_subcode; static uint8_t motion_mode_subcode;
#endif #endif
FORCE_INLINE static void cancel_motion_mode() { motion_mode_codenum = -1; } FORCE_INLINE static void cancel_motion_mode() { motion_mode_codenum = -1; }

4
Marlin/src/inc/Conditionals_post.h

@ -2110,7 +2110,9 @@
#endif #endif
// Add commands that need sub-codes to this list // 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 // Parking Extruder
#if ENABLED(PARKING_EXTRUDER) #if ENABLED(PARKING_EXTRUDER)

Loading…
Cancel
Save