From ff25c6847bcaaaf45773d813a8a7dc732248b1ab Mon Sep 17 00:00:00 2001 From: Markus Hitter Date: Sat, 3 Jul 2010 00:40:47 +0200 Subject: [PATCH] If line numbers aren't required, don't bother about their actual value either. Failing case was RepRap host software, sending N0 T8 *18 N0 G21 *58 on each build start. Also saves a whopping 124 bytes of memory on ignoring line numbers. next_target.N_expected is never used and it's handling should be optimized out. --- mendel/gcode.c | 10 +++++----- mendel/gcode.h | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mendel/gcode.c b/mendel/gcode.c index c6fc621..3ee122d 100644 --- a/mendel/gcode.c +++ b/mendel/gcode.c @@ -297,11 +297,11 @@ void scan_char(uint8_t c) { // process if (next_target.seen_G || next_target.seen_M) { if ( - #ifdef REQUIRE_LINENUMBER - ((next_target.N_expected == next_target.N) && (next_target.seen_N == 1)) - #else - ((next_target.N_expected == next_target.N) || (next_target.seen_N == 0)) - #endif + #ifdef REQUIRE_LINENUMBER + ((next_target.N_expected == next_target.N) && (next_target.seen_N == 1)) + #else + 1 + #endif ) { if ( #ifdef REQUIRE_CHECKSUM diff --git a/mendel/gcode.h b/mendel/gcode.h index bc5a8b0..c250a7b 100644 --- a/mendel/gcode.h +++ b/mendel/gcode.h @@ -6,6 +6,7 @@ #include "dda.h" // wether to insist on N line numbers +// if not defined, N's are completely ignored //#define REQUIRE_LINENUMBER // wether to insist on a checksum