25#define LINE_FLAG_OVERFLOW bit(0)
26#define LINE_FLAG_COMMENT_PARENTHESES bit(1)
27#define LINE_FLAG_COMMENT_SEMICOLON bit(2)
41 #ifdef CHECK_LIMITS_AT_INIT
71 uint8_t line_flags = 0;
72 uint8_t char_counter = 0;
79 if ((c ==
'\n') || (c ==
'\r')) {
84 line[char_counter] = 0;
85 #ifdef REPORT_ECHO_LINE_RECEIVED
93 }
else if (
line[0] == 0) {
96 }
else if (
line[0] ==
'$') {
122 }
else if (c ==
'/') {
125 }
else if (c ==
'(') {
131 }
else if (c ==
';') {
144 }
else if (c >=
'a' && c <=
'z') {
145 line[char_counter++] = c-
'a'+
'A';
147 line[char_counter++] = c;
301 #ifdef PARKING_ENABLE
490 if (sys_rt_exec_debug) {
491 report_realtime_debug();
492 sys_rt_exec_debug = 0;
511 #ifdef PARKING_ENABLE
513 float restore_target[
N_AXIS];
514 float parking_target[
N_AXIS];
520 #ifdef USE_LINE_NUMBERS
526 uint8_t restore_condition;
527 #ifdef VARIABLE_SPINDLE
528 float restore_spindle_speed;
534 restore_spindle_speed = block->spindle_speed;
536 #ifdef DISABLE_LASER_DURING_HOLD
563 #ifndef PARKING_ENABLE
573 memcpy(restore_target,parking_target,
sizeof(parking_target));
581 #ifdef ENABLE_PARKING_OVERRIDE_CONTROL
651 #ifdef PARKING_ENABLE
654 #ifdef ENABLE_PARKING_OVERRIDE_CONTROL
691 #ifdef PARKING_ENABLE
693 #ifdef ENABLE_PARKING_OVERRIDE_CONTROL
#define SPINDLE_OVERRIDE_COARSE_INCREMENT
#define DEFAULT_RAPID_OVERRIDE
#define SAFETY_DOOR_COOLANT_DELAY
#define PARKING_PULLOUT_INCREMENT
#define MAX_SPINDLE_SPEED_OVERRIDE
#define FEED_OVERRIDE_FINE_INCREMENT
#define RAPID_OVERRIDE_LOW
#define PARKING_PULLOUT_RATE
#define MIN_FEED_RATE_OVERRIDE
#define MIN_SPINDLE_SPEED_OVERRIDE
#define RAPID_OVERRIDE_MEDIUM
#define FEED_OVERRIDE_COARSE_INCREMENT
#define MAX_FEED_RATE_OVERRIDE
#define DEFAULT_FEED_OVERRIDE
#define DEFAULT_SPINDLE_SPEED_OVERRIDE
#define SPINDLE_OVERRIDE_FINE_INCREMENT
#define SAFETY_DOOR_SPINDLE_DELAY
uint8_t coolant_get_state()
void coolant_set_state(uint8_t mode)
uint8_t gc_execute_line(char *line)
#define COOLANT_FLOOD_ENABLE
#define OVERRIDE_PARKING_MOTION
#define COOLANT_MIST_ENABLE
uint8_t limits_get_state()
int32_t sys_position[N_AXIS]
volatile uint8_t sys_rt_exec_alarm
volatile uint8_t sys_rt_exec_accessory_override
volatile uint8_t sys_rt_exec_motion_override
volatile uint8_t sys_rt_exec_state
void mc_parking_motion(float *parking_target, plan_line_data_t *pl_data)
#define PARKING_MOTION_LINE_NUMBER
void delay_sec(float seconds, uint8_t mode)
#define DELAY_MODE_SYS_SUSPEND
#define bit_isfalse(x, mask)
#define bit_istrue(x, mask)
#define bit_false(x, mask)
#define bit_true(x, mask)
plan_block_t * plan_get_current_block()
void plan_sync_position()
void plan_cycle_reinitialize()
void plan_update_velocity_profile_parameters()
#define PL_COND_FLAG_COOLANT_FLOOD
#define PL_COND_SPINDLE_MASK
#define PL_COND_FLAG_SPINDLE_CCW
#define PL_COND_ACCESSORY_MASK
#define PL_COND_FLAG_SYSTEM_MOTION
#define PL_COND_FLAG_COOLANT_MIST
#define PL_COND_FLAG_NO_FEED_OVERRIDE
#define PL_COND_FLAG_SPINDLE_CW
void protocol_exec_rt_system()
void protocol_auto_cycle_start()
void protocol_main_loop()
#define LINE_FLAG_COMMENT_SEMICOLON
void protocol_execute_realtime()
void protocol_buffer_synchronize()
#define LINE_FLAG_OVERFLOW
#define LINE_FLAG_COMMENT_PARENTHESES
static char line[LINE_BUFFER_SIZE]
static void protocol_exec_rt_suspend()
void report_alarm_message(uint8_t alarm_code)
void report_echo_line_received(char *line)
void report_realtime_status()
void report_feedback_message(uint8_t message_code)
void report_status_message(uint8_t status_code)
#define MESSAGE_SAFETY_DOOR_AJAR
#define MESSAGE_CRITICAL_EVENT
#define MESSAGE_SPINDLE_RESTORE
#define MESSAGE_SLEEP_MODE
#define MESSAGE_ALARM_LOCK
#define STATUS_SYSTEM_GC_LOCK
#define MESSAGE_CHECK_LIMITS
#define BITFLAG_HARD_LIMIT_ENABLE
#define BITFLAG_HOMING_ENABLE
#define BITFLAG_LASER_MODE
#define spindle_set_state(state, rpm)
void st_update_plan_block_parameters()
uint8_t report_ovr_counter
uint8_t spindle_speed_ovr
void system_clear_exec_accessory_overrides()
void system_clear_exec_alarm()
void system_set_exec_state_flag(uint8_t mask)
void system_clear_exec_state_flag(uint8_t mask)
void system_set_exec_accessory_override_flag(uint8_t mask)
uint8_t system_check_safety_door_ajar()
void system_execute_startup(char *line)
uint8_t system_execute_line(char *line)
void system_convert_array_steps_to_mpos(float *position, int32_t *steps)
void system_clear_exec_motion_overrides()
#define EXEC_FEED_OVR_RESET
#define STEP_CONTROL_EXECUTE_HOLD
#define SPINDLE_STOP_OVR_RESTORE
#define EXEC_FEED_OVR_COARSE_MINUS
#define SUSPEND_HOLD_COMPLETE
#define EXEC_SPINDLE_OVR_FINE_MINUS
#define EXEC_SPINDLE_OVR_COARSE_MINUS
#define SUSPEND_MOTION_CANCEL
#define EXEC_FEED_OVR_FINE_PLUS
#define SUSPEND_RETRACT_COMPLETE
#define EXEC_RAPID_OVR_LOW
#define EXEC_FEED_OVR_COARSE_PLUS
#define SPINDLE_STOP_OVR_RESTORE_CYCLE
#define SUSPEND_RESTORE_COMPLETE
#define EXEC_SPINDLE_OVR_COARSE_PLUS
#define EXEC_STATUS_REPORT
#define EXEC_COOLANT_FLOOD_OVR_TOGGLE
#define SPINDLE_STOP_OVR_DISABLED
#define EXEC_ALARM_HARD_LIMIT
#define EXEC_SPINDLE_OVR_STOP
#define STEP_CONTROL_EXECUTE_SYS_MOTION
#define EXEC_ALARM_SOFT_LIMIT
#define EXEC_RAPID_OVR_MEDIUM
#define SUSPEND_JOG_CANCEL
#define SPINDLE_STOP_OVR_ENABLED
#define STEP_CONTROL_UPDATE_SPINDLE_PWM
#define STATE_SAFETY_DOOR
#define EXEC_MOTION_CANCEL
#define EXEC_COOLANT_MIST_OVR_TOGGLE
#define SUSPEND_INITIATE_RESTORE
#define SPINDLE_STOP_OVR_INITIATE
#define EXEC_SPINDLE_OVR_FINE_PLUS
#define EXEC_SPINDLE_OVR_RESET
#define SUSPEND_SAFETY_DOOR_AJAR
#define STEP_CONTROL_NORMAL_OP
#define SUSPEND_RESTART_RETRACT
#define EXEC_RAPID_OVR_RESET
#define EXEC_FEED_OVR_FINE_MINUS