mirror of
https://github.com/grblHAL/core.git
synced 2026-02-06 00:52:35 +08:00
NOTE: this is a relatively large change and may have introduced bugs and/or unintended side-effects. Please report any issues! Added setting $519 for binding spindle encoder to given spindle in multi spindle configurations. Added machine readable spindle enumeration report, $SPINDLESH. Increased default value for setting $398 (number of planner blocs) from 35 to 100 for faster laser engraving. NOTE: the $398 setting value will not change on an upgrade! NOTE: STM32F103 builds for the 128K flash variants does not have enough free RAM and will keep 35 as the default value. Increased allowed number of decimal places from 3 to 5 for $10x stepper step/mm settings. Ref. ioSender issue 346. Added setting $650 for filing system options. Ref. issue 397. Currently the following bits are available (depending on the configuration): 0 - Auto mount SD card on startup (1). 1 - Do not add littlefs files when listing the root directory (2). Added build option for lathe UVW mode. When enabled UVW words can be used to command relative moves for XYZ without switching to relative mode with G91. NOTE: This permanently sets lathe mode and disables the $32 mode setting. There are signature changes to some spindle, ioports enumeration and VFS filing system mount functions. Added events to allow plugin code to handle tool table data, possibly stored on a SD card.
111 lines
3.5 KiB
C
111 lines
3.5 KiB
C
/*
|
|
report.h - reporting and messaging methods
|
|
|
|
Part of grblHAL
|
|
|
|
Copyright (c) 2018-2023 Terje Io
|
|
Copyright (c) 2012-2016 Sungeun K. Jeon for Gnea Research LLC
|
|
|
|
Grbl is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Grbl is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef _REPORT_H_
|
|
#define _REPORT_H_
|
|
|
|
#include "system.h"
|
|
#include "ngc_params.h"
|
|
|
|
typedef enum {
|
|
SettingsFormat_MachineReadable = 0,
|
|
SettingsFormat_HumanReadable,
|
|
SettingsFormat_Grbl,
|
|
SettingsFormat_grblHAL
|
|
} settings_format_t;
|
|
|
|
// Initialize reporting subsystem
|
|
void report_init (void);
|
|
void report_init_fns (void);
|
|
|
|
// Prints feedback message, typically from gcode.
|
|
void report_message (const char *msg, message_type_t type);
|
|
|
|
// Prints Grbl help.
|
|
status_code_t report_help (char *args);
|
|
|
|
// Prints Grbl settings
|
|
void report_grbl_settings (bool all, void *data);
|
|
|
|
// Prints Grbl setting
|
|
status_code_t report_grbl_setting (setting_id_t id, void *data);
|
|
|
|
// Prints an echo of the pre-parsed line received right before execution.
|
|
void report_echo_line_received (char *line);
|
|
|
|
// Prints realtime status report.
|
|
void report_realtime_status (void);
|
|
|
|
// Prints recorded probe position.
|
|
void report_probe_parameters (void);
|
|
|
|
// Prints current tool offsets.
|
|
void report_tool_offsets (void);
|
|
|
|
// Prints NIST/LinuxCNC NGC parameter value
|
|
status_code_t report_ngc_parameter (ngc_param_id_t id);
|
|
|
|
// Prints named LinuxCNC NGC parameter value
|
|
status_code_t report_named_ngc_parameter (char *arg);
|
|
|
|
// Prints Grbl NGC parameters (coordinate offsets, probe).
|
|
void report_ngc_parameters (void);
|
|
|
|
// Prints current g-code parser mode state.
|
|
void report_gcode_modes (void);
|
|
|
|
// Prints startup line when requested and executed.
|
|
void report_startup_line (uint8_t n, char *line);
|
|
void report_execute_startup_message (char *line, status_code_t status_code);
|
|
|
|
// Prints build info and user info.
|
|
void report_build_info (char *line, bool extended);
|
|
|
|
status_code_t report_alarm_details (bool grbl_format);
|
|
status_code_t report_error_details (bool grbl_format);
|
|
status_code_t report_setting_group_details (bool by_id, char *prefix);
|
|
status_code_t report_settings_details (settings_format_t format, setting_id_t setting, setting_group_t group);
|
|
#ifndef NO_SETTINGS_DESCRIPTIONS
|
|
status_code_t report_setting_description (settings_format_t format, setting_id_t id);
|
|
#endif
|
|
|
|
status_code_t report_last_signals_event (sys_state_t state, char *args);
|
|
status_code_t report_current_limit_state (sys_state_t state, char *args);
|
|
status_code_t report_current_home_signal_state (sys_state_t state, char *args);
|
|
|
|
// Prints spindle data (encoder pulse and index count, angular position).
|
|
status_code_t report_spindle_data (sys_state_t state, char *args);
|
|
|
|
// Prints pin assignments.
|
|
status_code_t report_pins (sys_state_t state, char *args);
|
|
|
|
// Prints registered spindles.
|
|
status_code_t report_spindles (bool machine_readable);
|
|
|
|
// Prints current RTC datetime in ISO8601 format (when available)
|
|
status_code_t report_time (void);
|
|
|
|
// Prints current PID log.
|
|
void report_pid_log (void);
|
|
|
|
#endif
|