|
typedef void(* | init_message_ptr) (void) |
|
typedef void(* | help_message_ptr) (void) |
|
typedef status_code_t(* | status_message_ptr) (status_code_t status_code) |
|
typedef message_code_t(* | feedback_message_ptr) (message_code_t message_code) |
|
typedef alarm_code_t(* | alarm_message_ptr) (alarm_code_t alarm_code) |
|
typedef bool(* | enqueue_gcode_ptr) (char *data) |
|
typedef bool(* | protocol_enqueue_realtime_command_ptr) (char c) |
|
typedef bool(* | travel_limits_ptr) (float *target, axes_signals_t axes, bool is_cartesian) |
|
typedef bool(* | arc_limits_ptr) (coord_data_t *target, coord_data_t *position, point_2d_t center, float radius, plane_t plane, int32_t turns) |
|
typedef void(* | jog_limits_ptr) (float *target, float *position) |
|
typedef bool(* | home_machine_ptr) (axes_signals_t cycle, axes_signals_t auto_square) |
|
typedef void(* | on_parser_init_ptr) (parser_state_t *gc_state) |
|
typedef void(* | on_state_change_ptr) (sys_state_t state) |
|
typedef void(* | on_override_changed_ptr) (override_changed_t override) |
|
typedef void(* | on_spindle_programmed_ptr) (spindle_ptrs_t *spindle, spindle_state_t state, float rpm, spindle_rpm_mode_t mode) |
|
typedef void(* | on_wco_changed_ptr) (void) |
|
typedef void(* | on_program_completed_ptr) (program_flow_t program_flow, bool check_mode) |
|
typedef void(* | on_execute_realtime_ptr) (sys_state_t state) |
|
typedef void(* | on_unknown_accessory_override_ptr) (uint8_t cmd) |
|
typedef bool(* | on_unknown_realtime_cmd_ptr) (char c) |
|
typedef void(* | on_report_handlers_init_ptr) (void) |
|
typedef void(* | on_report_options_ptr) (bool newopt) |
|
typedef void(* | on_report_ngc_parameters_ptr) (void) |
|
typedef void(* | on_report_command_help_ptr) (void) |
|
typedef const char *(* | on_setting_get_description_ptr) (setting_id_t id) |
|
typedef void(* | on_global_settings_restore_ptr) (void) |
|
typedef void(* | on_realtime_report_ptr) (stream_write_ptr stream_write, report_tracking_flags_t report) |
|
typedef void(* | on_unknown_feedback_message_ptr) (stream_write_ptr stream_write) |
|
typedef void(* | on_stream_changed_ptr) (stream_type_t type) |
|
typedef bool(* | on_laser_ppi_enable_ptr) (uint_fast16_t ppi, uint_fast16_t pulse_length) |
|
typedef void(* | on_homing_rate_set_ptr) (axes_signals_t axes, float rate, homing_mode_t mode) |
|
typedef void(* | on_homing_completed_ptr) (axes_signals_t cycle, bool success) |
|
typedef bool(* | on_probe_toolsetter_ptr) (tool_data_t *tool, coord_data_t *position, bool at_g59_3, bool on) |
|
typedef bool(* | on_probe_start_ptr) (axes_signals_t axes, float *target, plan_line_data_t *pl_data) |
|
typedef void(* | on_probe_completed_ptr) (void) |
|
typedef void(* | on_tool_selected_ptr) (tool_data_t *tool) |
|
typedef void(* | on_tool_changed_ptr) (tool_data_t *tool) |
|
typedef void(* | on_toolchange_ack_ptr) (void) |
|
typedef void(* | on_reset_ptr) (void) |
|
typedef void(* | on_jog_cancel_ptr) (sys_state_t state) |
|
typedef bool(* | on_spindle_select_ptr) (spindle_ptrs_t *spindle) |
|
typedef void(* | on_spindle_selected_ptr) (spindle_ptrs_t *spindle) |
|
typedef status_code_t(* | on_gcode_message_ptr) (char *msg) |
|
typedef void(* | on_rt_reports_added_ptr) (report_tracking_flags_t report) |
|
typedef const char *(* | on_set_axis_setting_unit_ptr) (setting_id_t setting_id, uint_fast8_t axis_idx) |
|
typedef status_code_t(* | on_file_open_ptr) (const char *fname, vfs_file_t *handle, bool stream) |
|
typedef status_code_t(* | on_file_end_ptr) (vfs_file_t *handle, status_code_t status) |
|
typedef status_code_t(* | on_unknown_sys_command_ptr) (sys_state_t state, char *line) |
|
typedef status_code_t(* | on_user_command_ptr) (char *line) |
|
typedef sys_commands_t *(* | on_get_commands_ptr) (void) |
|
typedef status_code_t(* | on_macro_execute_ptr) (macro_id_t macro) |
|
typedef void(* | on_macro_return_ptr) (void) |
|
typedef bool(* | write_tool_data_ptr) (tool_data_t *tool_data) |
|
typedef bool(* | read_tool_data_ptr) (tool_id_t tool_id, tool_data_t *tool_data) |
|
typedef bool(* | clear_tool_data_ptr) (void) |
|
typedef user_mcode_type_t(* | user_mcode_check_ptr) (user_mcode_t mcode) |
| Pointer to function for checking if user defined M-code is supported. More...
|
|
typedef status_code_t(* | user_mcode_validate_ptr) (parser_block_t *gc_block) |
| Pointer to function for validating parameters for a user defined M-code. More...
|
|
typedef void(* | user_mcode_execute_ptr) (sys_state_t state, parser_block_t *gc_block) |
| Pointer to function for executing a user defined M-code. More...
|
|
core function pointers and data structures definitions.
typedef status_code_t(* user_mcode_validate_ptr) (parser_block_t *gc_block) |
Pointer to function for validating parameters for a user defined M-code.
The M-code to validate is found in gc_block->user_mcode, parameter values in gc_block->values and corresponding parameter letters in the gc_block->words bitfield union.
Parameter values claimed by the M-code must be flagged in the gc_block->words bitfield union by setting the respective parameter letters to false or the parser will raise the Status_GcodeUnusedWords error.
The validation function may set gc_block->user_mcode_sync to true if it is to be executed after all buffered motions are completed, otherwise it will be executed immediately.
NOTE: Valueless parameter letters are allowed for floats if the check function returns UserMCode_NoValueWords for the M-code. The corresponding values are set to NAN (not a number) if no value is given. The validation function should always test all parameter values by using the isnan() function in addition to any range checks when the check function returns UserMCode_NoValueWords for the M-code.
- Parameters
-
- Returns
- Status_OK enum value if validated ok, appropriate status_code_t enum value if not or Status_Unhandled if the M-code is not recognized.