|
|
|
@ -108,7 +108,7 @@ public:
|
|
|
|
|
static void set(const char c, char * const ptr) {
|
|
|
|
|
const uint8_t ind = LETTER_BIT(c);
|
|
|
|
|
if (ind >= COUNT(param)) return; // Only A-Z
|
|
|
|
|
SBI(codebits, ind); // parameter exists
|
|
|
|
|
SBI32(codebits, ind); // parameter exists
|
|
|
|
|
param[ind] = ptr ? ptr - command_ptr : 0; // parameter offset or 0
|
|
|
|
|
#if ENABLED(DEBUG_GCODE_PARSER)
|
|
|
|
|
if (codenum == 800) {
|
|
|
|
@ -125,7 +125,7 @@ public:
|
|
|
|
|
static bool seen(const char c) {
|
|
|
|
|
const uint8_t ind = LETTER_BIT(c);
|
|
|
|
|
if (ind >= COUNT(param)) return false; // Only A-Z
|
|
|
|
|
const bool b = TEST(codebits, ind);
|
|
|
|
|
const bool b = TEST32(codebits, ind);
|
|
|
|
|
if (b) {
|
|
|
|
|
char * const ptr = command_ptr + param[ind];
|
|
|
|
|
value_ptr = param[ind] && valid_float(ptr) ? ptr : (char*)NULL;
|
|
|
|
@ -135,7 +135,7 @@ public:
|
|
|
|
|
|
|
|
|
|
static bool seen_any() { return !!codebits; }
|
|
|
|
|
|
|
|
|
|
#define SEEN_TEST(L) TEST(codebits, LETTER_BIT(L))
|
|
|
|
|
#define SEEN_TEST(L) TEST32(codebits, LETTER_BIT(L))
|
|
|
|
|
|
|
|
|
|
#else // !FASTER_GCODE_PARSER
|
|
|
|
|
|
|
|
|
|