41 for (idx=0; idx<
N_AXIS; idx++) {
114 switch(status_code) {
141 switch(message_code) {
177 printPgmString(PSTR(
"[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]\r\n"));
206 #ifdef VARIABLE_SPINDLE
212 uint8_t idx, set_idx;
215 for (idx=0; idx<
N_AXIS; idx++) {
235 float print_position[
N_AXIS];
248 uint8_t coord_select;
255 switch (coord_select) {
330 #ifdef ENABLE_PARKING_OVERRIDE_CONTROL
343 #ifdef VARIABLE_SPINDLE
376 #ifdef VARIABLE_SPINDLE
379 #ifdef USE_LINE_NUMBERS
388 #ifdef PARKING_ENABLE
391 #ifdef HOMING_FORCE_SET_ORIGIN
394 #ifdef HOMING_SINGLE_AXIS_COMMANDS
397 #ifdef LIMITS_TWO_SWITCHES_ON_AXES
400 #ifdef ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES
403 #ifdef USE_SPINDLE_DIR_AS_ENABLE_PIN
406 #ifdef SPINDLE_ENABLE_OFF_WITH_ZERO_SPEED
409 #ifdef ENABLE_SOFTWARE_DEBOUNCE
412 #ifdef ENABLE_PARKING_OVERRIDE_CONTROL
415 #ifndef HOMING_INIT_LOCK
418 #ifdef ENABLE_SAFETY_DOOR_INPUT_PIN
421 #ifndef ENABLE_RESTORE_EEPROM_WIPE_ALL
424 #ifndef ENABLE_RESTORE_EEPROM_DEFAULT_SETTINGS
427 #ifndef ENABLE_RESTORE_EEPROM_CLEAR_PARAMETERS
430 #ifndef ENABLE_BUILD_INFO_WRITE_COMMAND
433 #ifndef FORCE_BUFFER_SYNC_DURING_EEPROM_WRITE
436 #ifndef FORCE_BUFFER_SYNC_DURING_WCO_CHANGE
439 #ifdef ENABLE_DUAL_AXIS
469 int32_t current_position[
N_AXIS];
471 float print_position[
N_AXIS];
512 for (idx=0; idx<
N_AXIS; idx++) {
517 print_position[idx] -= wco[idx];
531 #ifdef REPORT_FIELD_BUFFER_STATE
540 #ifdef USE_LINE_NUMBERS
541 #ifdef REPORT_FIELD_LINE_NUMBERS
544 if (cur_block != NULL) {
545 uint32_t ln = cur_block->line_number;
555 #ifdef REPORT_FIELD_CURRENT_FEED_SPEED
556 #ifdef VARIABLE_SPINDLE
567 #ifdef REPORT_FIELD_PIN_STATE
571 if (lim_pin_state | ctrl_pin_state | prb_pin_state) {
575 #ifdef ENABLE_DUAL_AXIS
576 #if (DUAL_AXIS_SELECT == X_AXIS)
580 #if (DUAL_AXIS_SELECT == Y_AXIS)
591 if (ctrl_pin_state) {
592 #ifdef ENABLE_SAFETY_DOOR_INPUT_PIN
602 #ifdef REPORT_FIELD_WORK_COORD_OFFSET
614 #ifdef REPORT_FIELD_OVERRIDES
629 if (sp_state || cl_state) {
632 #ifdef VARIABLE_SPINDLE
633 #ifdef USE_SPINDLE_DIR_AS_ENABLE_PIN
658 void report_realtime_debug()
#define REPORT_WCO_REFRESH_IDLE_COUNT
#define N_DECIMAL_SETTINGVALUE
#define N_DECIMAL_RPMVALUE
#define TOOL_LENGTH_OFFSET_AXIS
#define REPORT_OVR_REFRESH_BUSY_COUNT
#define REPORT_WCO_REFRESH_BUSY_COUNT
#define REPORT_OVR_REFRESH_IDLE_COUNT
uint8_t coolant_get_state()
#define COOLANT_STATE_FLOOD
#define COOLANT_STATE_MIST
#define SPINDLE_ENABLE_CCW
#define PROGRAM_FLOW_COMPLETED_M30
#define PROGRAM_FLOW_COMPLETED_M2
#define SPINDLE_ENABLE_CW
#define PROGRAM_FLOW_PAUSED
#define OVERRIDE_PARKING_MOTION
#define MOTION_MODE_PROBE_TOWARD
#define GRBL_VERSION_BUILD
uint8_t limits_get_state()
int32_t sys_position[N_AXIS]
int32_t sys_probe_position[N_AXIS]
void delay_ms(uint16_t ms)
#define bit_isfalse(x, mask)
#define bit_istrue(x, mask)
plan_block_t * plan_get_current_block()
uint8_t plan_get_block_buffer_available()
#define PL_COND_FLAG_COOLANT_FLOOD
#define PL_COND_FLAG_COOLANT_MIST
#define BLOCK_BUFFER_SIZE
void print_uint8_base10(uint8_t n)
void printFloat_RateValue(float n)
void printString(const char *s)
void printFloat_CoordValue(float n)
void printInteger(long n)
void printFloat(float n, uint8_t decimal_places)
void printPgmString(const char *s)
uint8_t probe_get_state()
static char line[LINE_BUFFER_SIZE]
void report_ngc_parameters()
void report_util_setting_prefix(uint8_t n)
void report_alarm_message(uint8_t alarm_code)
static void report_util_gcode_modes_M()
void report_echo_line_received(char *line)
static void report_util_gcode_modes_G()
void report_grbl_settings()
void report_realtime_status()
static void report_util_axis_values(float *axis_value)
void report_feedback_message(uint8_t message_code)
void report_gcode_modes()
void report_execute_startup_message(char *line, uint8_t status_code)
static void report_util_line_feed()
static void report_util_uint8_setting(uint8_t n, int val)
void report_startup_line(uint8_t n, char *line)
void report_build_info(char *line)
void report_probe_parameters()
void report_init_message()
static void report_util_float_setting(uint8_t n, float val, uint8_t n_decimal)
void report_status_message(uint8_t status_code)
static void report_util_feedback_line_feed()
#define MESSAGE_SAFETY_DOOR_AJAR
#define MESSAGE_CRITICAL_EVENT
#define MESSAGE_RESTORE_DEFAULTS
#define MESSAGE_SPINDLE_RESTORE
#define MESSAGE_SLEEP_MODE
#define MESSAGE_ALARM_LOCK
#define MESSAGE_ALARM_UNLOCK
#define MESSAGE_CHECK_LIMITS
#define MESSAGE_PROGRAM_END
#define STATUS_SETTING_READ_FAIL
uint8_t serial_get_rx_buffer_available()
void serial_write(uint8_t data)
uint8_t settings_read_coord_data(uint8_t coord_select, float *coord_data)
#define BITFLAG_HARD_LIMIT_ENABLE
#define BITFLAG_HOMING_ENABLE
#define BITFLAG_INVERT_LIMIT_PINS
#define AXIS_SETTINGS_START_VAL
#define BITFLAG_SOFT_LIMIT_ENABLE
#define BITFLAG_INVERT_ST_ENABLE
#define BITFLAG_LASER_MODE
#define AXIS_SETTINGS_INCREMENT
#define BITFLAG_REPORT_INCHES
#define SETTING_INDEX_NCOORD
#define BITFLAG_RT_STATUS_POSITION_TYPE
#define BITFLAG_INVERT_PROBE_PIN
#define BITFLAG_RT_STATUS_BUFFER_STATE
uint8_t spindle_get_state()
float st_get_realtime_rate()
float coord_offset[N_AXIS]
float coord_system[N_AXIS]
float steps_per_mm[N_AXIS]
uint8_t status_report_mask
uint16_t homing_debounce_delay
uint8_t stepper_idle_lock_time
float acceleration[N_AXIS]
uint8_t pulse_microseconds
uint8_t report_ovr_counter
uint8_t spindle_speed_ovr
uint8_t report_wco_counter
uint8_t system_control_get_state()
void system_convert_array_steps_to_mpos(float *position, int32_t *steps)
#define SUSPEND_HOLD_COMPLETE
#define SUSPEND_RETRACT_COMPLETE
#define CONTROL_PIN_INDEX_CYCLE_START
#define CONTROL_PIN_INDEX_RESET
#define SUSPEND_JOG_CANCEL
#define CONTROL_PIN_INDEX_FEED_HOLD
#define STATE_SAFETY_DOOR
#define SUSPEND_INITIATE_RESTORE
#define SUSPEND_SAFETY_DOOR_AJAR