Isolate atomic bit flag for execution.
- Denoted bit_true_atomic only for sys.execute bit settings. All other bit_true type calls are for local variables only and don’t need atomic access. Still looking into other ways of setting these flags without requiring atomic access, but this is a patch for now.
This commit is contained in:
4
gcode.c
4
gcode.c
@ -264,7 +264,7 @@ uint8_t gc_execute_line(char *line)
|
||||
// Check for more than one command per modal group violations in the current block
|
||||
// NOTE: Variable 'word_bit' is always assigned, if the command is valid.
|
||||
if ( bit_istrue(command_words,bit(word_bit)) ) { FAIL(STATUS_GCODE_MODAL_GROUP_VIOLATION); }
|
||||
bit_true(command_words,bit(word_bit));
|
||||
command_words |= bit(word_bit);
|
||||
break;
|
||||
|
||||
case 'M':
|
||||
@ -307,7 +307,7 @@ uint8_t gc_execute_line(char *line)
|
||||
// Check for more than one command per modal group violations in the current block
|
||||
// NOTE: Variable 'word_bit' is always assigned, if the command is valid.
|
||||
if ( bit_istrue(command_words,bit(word_bit)) ) { FAIL(STATUS_GCODE_MODAL_GROUP_VIOLATION); }
|
||||
bit_true(command_words,bit(word_bit));
|
||||
command_words |= bit(word_bit);
|
||||
break;
|
||||
|
||||
// NOTE: All remaining letters assign values.
|
||||
|
Reference in New Issue
Block a user