24 #define RX_RING_BUFFER (RX_BUFFER_SIZE+1)
25 #define TX_RING_BUFFER (TX_BUFFER_SIZE+1)
68 uint16_t UBRR0_value = ((F_CPU / (8L *
BAUD_RATE)) - 1)/2 ;
69 UCSR0A &= ~(1 << U2X0);
71 uint16_t UBRR0_value = ((F_CPU / (4L *
BAUD_RATE)) - 1)/2;
72 UCSR0A |= (1 << U2X0);
74 UBRR0H = UBRR0_value >> 8;
78 UCSR0B |= (1<<RXEN0 | 1<<TXEN0 | 1<<RXCIE0);
100 UCSR0B |= (1 << UDRIE0);
161 case CMD_DEBUG_REPORT: {uint8_t sreg = SREG; cli();
bit_true(sys_rt_exec_debug,EXEC_DEBUG_REPORT); SREG = sreg;}
break;
uint8_t serial_tx_buffer_head
#define CMD_SPINDLE_OVR_COARSE_MINUS
#define CMD_DEBUG_REPORT
Only when DEBUG enabled, sends debug report in '{}' braces.
#define EXEC_RAPID_OVR_RESET
uint8_t serial_get_tx_buffer_count()
Returns the number of bytes used in the TX serial buffer.
#define EXEC_FEED_OVR_COARSE_PLUS
uint8_t serial_read()
Fetches the first byte in the serial read buffer. Called by main program.
#define EXEC_RAPID_OVR_MEDIUM
#define CMD_RESET
Define realtime command special characters. These characters are 'picked-off' directly from the...
#define bit_true(x, mask)
void system_set_exec_state_flag(uint8_t mask)
Special handlers for setting and clearing Grbl's real-time execution flags.
#define CMD_FEED_OVR_FINE_MINUS
void serial_reset_read_buffer()
Reset and empty data in read buffer. Used by e-stop and reset.
#define CMD_FEED_OVR_FINE_PLUS
uint8_t state
Tracks the current system state of Grbl.
void system_set_exec_motion_override_flag(uint8_t mask)
#define EXEC_RESET
bitmask 00010000
#define CMD_SPINDLE_OVR_COARSE_PLUS
#define CMD_FEED_OVR_RESET
Restores feed override value to 100%.
#define CMD_SPINDLE_OVR_FINE_PLUS
#define EXEC_FEED_OVR_COARSE_MINUS
#define EXEC_SPINDLE_OVR_STOP
#define EXEC_SAFETY_DOOR
bitmask 00100000
#define CMD_FEED_OVR_COARSE_PLUS
#define CMD_SAFETY_DOOR
NOTE: All override realtime commands must be in the extended ASCII character set, starting...
void serial_write(uint8_t data)
Writes one byte to the TX serial buffer. Called by main program.
#define CMD_SPINDLE_OVR_FINE_MINUS
volatile uint8_t serial_tx_buffer_tail
#define EXEC_CYCLE_START
bitmask 00000010
system_t sys
Declare system global variable structure.
#define EXEC_COOLANT_MIST_OVR_TOGGLE
#define EXEC_SPINDLE_OVR_FINE_PLUS
#define EXEC_SPINDLE_OVR_RESET
#define EXEC_FEED_OVR_FINE_PLUS
#define CMD_SPINDLE_OVR_RESET
Restores spindle override value to 100%.
#define EXEC_COOLANT_FLOOD_OVR_TOGGLE
#define EXEC_MOTION_CANCEL
bitmask 01000000
uint8_t serial_get_rx_buffer_count()
Returns the number of bytes used in the RX serial buffer.
#define EXEC_SPINDLE_OVR_COARSE_MINUS
volatile uint8_t sys_rt_exec_state
Global realtime executor bitflag variable for state management. See EXEC bitmasks.
volatile uint8_t serial_rx_buffer_tail
#define EXEC_FEED_HOLD
bitmask 00001000
uint8_t serial_get_rx_buffer_available()
Returns the number of bytes available in the RX serial buffer.
#define CMD_RAPID_OVR_MEDIUM
void system_set_exec_accessory_override_flag(uint8_t mask)
#define EXEC_SPINDLE_OVR_FINE_MINUS
uint8_t serial_tx_buffer[TX_RING_BUFFER]
#define EXEC_RAPID_OVR_LOW
#define CMD_STATUS_REPORT
#define CMD_COOLANT_FLOOD_OVR_TOGGLE
#define CMD_RAPID_OVR_LOW
#define CMD_RAPID_OVR_RESET
Restores rapid override value to 100%.
#define STATE_JOG
Jogging mode.
void mc_reset()
Method to ready the system to reset by setting the realtime reset command and killing any...
#define CMD_COOLANT_MIST_OVR_TOGGLE
#define CMD_SPINDLE_OVR_STOP
#define CMD_FEED_OVR_COARSE_MINUS
#define EXEC_STATUS_REPORT
Define system executor bit map. Used internally by realtime protocol as realtime command flags...
#define EXEC_FEED_OVR_RESET
Override bit maps. Realtime bitflags to control feed, rapid, spindle, and coolant overrides...
uint8_t serial_rx_buffer[RX_RING_BUFFER]
#define EXEC_FEED_OVR_FINE_MINUS
#define BAUD_RATE
Serial baud rate.
ISR(SERIAL_UDRE)
Data Register Empty Interrupt handler.
uint8_t serial_rx_buffer_head
#define EXEC_SPINDLE_OVR_COARSE_PLUS