I'm trying to port GRBL 1.1 to the STM32F746 chip. Tell me the solution, thanks.

Committer:
Sergunb
Date:
Mon Sep 04 12:05:05 2017 +0000
Revision:
0:9dcf85d9b2f3
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sergunb 0:9dcf85d9b2f3 1 /*
Sergunb 0:9dcf85d9b2f3 2 report.h - reporting and messaging methods
Sergunb 0:9dcf85d9b2f3 3 Part of Grbl
Sergunb 0:9dcf85d9b2f3 4
Sergunb 0:9dcf85d9b2f3 5 Copyright (c) 2012-2016 Sungeun K. Jeon for Gnea Research LLC
Sergunb 0:9dcf85d9b2f3 6
Sergunb 0:9dcf85d9b2f3 7 Grbl is free software: you can redistribute it and/or modify
Sergunb 0:9dcf85d9b2f3 8 it under the terms of the GNU General Public License as published by
Sergunb 0:9dcf85d9b2f3 9 the Free Software Foundation, either version 3 of the License, or
Sergunb 0:9dcf85d9b2f3 10 (at your option) any later version.
Sergunb 0:9dcf85d9b2f3 11
Sergunb 0:9dcf85d9b2f3 12 Grbl is distributed in the hope that it will be useful,
Sergunb 0:9dcf85d9b2f3 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
Sergunb 0:9dcf85d9b2f3 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Sergunb 0:9dcf85d9b2f3 15 GNU General Public License for more details.
Sergunb 0:9dcf85d9b2f3 16
Sergunb 0:9dcf85d9b2f3 17 You should have received a copy of the GNU General Public License
Sergunb 0:9dcf85d9b2f3 18 along with Grbl. If not, see <http://www.gnu.org/licenses/>.
Sergunb 0:9dcf85d9b2f3 19 */
Sergunb 0:9dcf85d9b2f3 20 #ifndef report_h
Sergunb 0:9dcf85d9b2f3 21 #define report_h
Sergunb 0:9dcf85d9b2f3 22
Sergunb 0:9dcf85d9b2f3 23 // Define Grbl status codes. Valid values (0-255)
Sergunb 0:9dcf85d9b2f3 24 #define STATUS_OK 0
Sergunb 0:9dcf85d9b2f3 25 #define STATUS_EXPECTED_COMMAND_LETTER 1
Sergunb 0:9dcf85d9b2f3 26 #define STATUS_BAD_NUMBER_FORMAT 2
Sergunb 0:9dcf85d9b2f3 27 #define STATUS_INVALID_STATEMENT 3
Sergunb 0:9dcf85d9b2f3 28 #define STATUS_NEGATIVE_VALUE 4
Sergunb 0:9dcf85d9b2f3 29 #define STATUS_SETTING_DISABLED 5
Sergunb 0:9dcf85d9b2f3 30 #define STATUS_SETTING_STEP_PULSE_MIN 6
Sergunb 0:9dcf85d9b2f3 31 #define STATUS_SETTING_READ_FAIL 7
Sergunb 0:9dcf85d9b2f3 32 #define STATUS_IDLE_ERROR 8
Sergunb 0:9dcf85d9b2f3 33 #define STATUS_SYSTEM_GC_LOCK 9
Sergunb 0:9dcf85d9b2f3 34 #define STATUS_SOFT_LIMIT_ERROR 10
Sergunb 0:9dcf85d9b2f3 35 #define STATUS_OVERFLOW 11
Sergunb 0:9dcf85d9b2f3 36 #define STATUS_MAX_STEP_RATE_EXCEEDED 12
Sergunb 0:9dcf85d9b2f3 37 #define STATUS_CHECK_DOOR 13
Sergunb 0:9dcf85d9b2f3 38 #define STATUS_LINE_LENGTH_EXCEEDED 14
Sergunb 0:9dcf85d9b2f3 39 #define STATUS_TRAVEL_EXCEEDED 15
Sergunb 0:9dcf85d9b2f3 40 #define STATUS_INVALID_JOG_COMMAND 16
Sergunb 0:9dcf85d9b2f3 41 #define STATUS_SETTING_DISABLED_LASER 17
Sergunb 0:9dcf85d9b2f3 42
Sergunb 0:9dcf85d9b2f3 43 #define STATUS_GCODE_UNSUPPORTED_COMMAND 20
Sergunb 0:9dcf85d9b2f3 44 #define STATUS_GCODE_MODAL_GROUP_VIOLATION 21
Sergunb 0:9dcf85d9b2f3 45 #define STATUS_GCODE_UNDEFINED_FEED_RATE 22
Sergunb 0:9dcf85d9b2f3 46 #define STATUS_GCODE_COMMAND_VALUE_NOT_INTEGER 23
Sergunb 0:9dcf85d9b2f3 47 #define STATUS_GCODE_AXIS_COMMAND_CONFLICT 24
Sergunb 0:9dcf85d9b2f3 48 #define STATUS_GCODE_WORD_REPEATED 25
Sergunb 0:9dcf85d9b2f3 49 #define STATUS_GCODE_NO_AXIS_WORDS 26
Sergunb 0:9dcf85d9b2f3 50 #define STATUS_GCODE_INVALID_LINE_NUMBER 27
Sergunb 0:9dcf85d9b2f3 51 #define STATUS_GCODE_VALUE_WORD_MISSING 28
Sergunb 0:9dcf85d9b2f3 52 #define STATUS_GCODE_UNSUPPORTED_COORD_SYS 29
Sergunb 0:9dcf85d9b2f3 53 #define STATUS_GCODE_G53_INVALID_MOTION_MODE 30
Sergunb 0:9dcf85d9b2f3 54 #define STATUS_GCODE_AXIS_WORDS_EXIST 31
Sergunb 0:9dcf85d9b2f3 55 #define STATUS_GCODE_NO_AXIS_WORDS_IN_PLANE 32
Sergunb 0:9dcf85d9b2f3 56 #define STATUS_GCODE_INVALID_TARGET 33
Sergunb 0:9dcf85d9b2f3 57 #define STATUS_GCODE_ARC_RADIUS_ERROR 34
Sergunb 0:9dcf85d9b2f3 58 #define STATUS_GCODE_NO_OFFSETS_IN_PLANE 35
Sergunb 0:9dcf85d9b2f3 59 #define STATUS_GCODE_UNUSED_WORDS 36
Sergunb 0:9dcf85d9b2f3 60 #define STATUS_GCODE_G43_DYNAMIC_AXIS_ERROR 37
Sergunb 0:9dcf85d9b2f3 61 #define STATUS_GCODE_MAX_VALUE_EXCEEDED 38
Sergunb 0:9dcf85d9b2f3 62
Sergunb 0:9dcf85d9b2f3 63 // Define Grbl alarm codes. Valid values (1-255). 0 is reserved.
Sergunb 0:9dcf85d9b2f3 64 #define ALARM_HARD_LIMIT_ERROR EXEC_ALARM_HARD_LIMIT
Sergunb 0:9dcf85d9b2f3 65 #define ALARM_SOFT_LIMIT_ERROR EXEC_ALARM_SOFT_LIMIT
Sergunb 0:9dcf85d9b2f3 66 #define ALARM_ABORT_CYCLE EXEC_ALARM_ABORT_CYCLE
Sergunb 0:9dcf85d9b2f3 67 #define ALARM_PROBE_FAIL_INITIAL EXEC_ALARM_PROBE_FAIL_INITIAL
Sergunb 0:9dcf85d9b2f3 68 #define ALARM_PROBE_FAIL_CONTACT EXEC_ALARM_PROBE_FAIL_CONTACT
Sergunb 0:9dcf85d9b2f3 69 #define ALARM_HOMING_FAIL_RESET EXEC_ALARM_HOMING_FAIL_RESET
Sergunb 0:9dcf85d9b2f3 70 #define ALARM_HOMING_FAIL_DOOR EXEC_ALARM_HOMING_FAIL_DOOR
Sergunb 0:9dcf85d9b2f3 71 #define ALARM_HOMING_FAIL_PULLOFF EXEC_ALARM_HOMING_FAIL_PULLOFF
Sergunb 0:9dcf85d9b2f3 72 #define ALARM_HOMING_FAIL_APPROACH EXEC_ALARM_HOMING_FAIL_APPROACH
Sergunb 0:9dcf85d9b2f3 73
Sergunb 0:9dcf85d9b2f3 74 // Define Grbl feedback message codes. Valid values (0-255).
Sergunb 0:9dcf85d9b2f3 75 #define MESSAGE_CRITICAL_EVENT 1
Sergunb 0:9dcf85d9b2f3 76 #define MESSAGE_ALARM_LOCK 2
Sergunb 0:9dcf85d9b2f3 77 #define MESSAGE_ALARM_UNLOCK 3
Sergunb 0:9dcf85d9b2f3 78 #define MESSAGE_ENABLED 4
Sergunb 0:9dcf85d9b2f3 79 #define MESSAGE_DISABLED 5
Sergunb 0:9dcf85d9b2f3 80 #define MESSAGE_SAFETY_DOOR_AJAR 6
Sergunb 0:9dcf85d9b2f3 81 #define MESSAGE_CHECK_LIMITS 7
Sergunb 0:9dcf85d9b2f3 82 #define MESSAGE_PROGRAM_END 8
Sergunb 0:9dcf85d9b2f3 83 #define MESSAGE_RESTORE_DEFAULTS 9
Sergunb 0:9dcf85d9b2f3 84 #define MESSAGE_SPINDLE_RESTORE 10
Sergunb 0:9dcf85d9b2f3 85 #define MESSAGE_SLEEP_MODE 11
Sergunb 0:9dcf85d9b2f3 86
Sergunb 0:9dcf85d9b2f3 87 // Prints system status messages.
Sergunb 0:9dcf85d9b2f3 88 void report_status_message(uint8_t status_code);
Sergunb 0:9dcf85d9b2f3 89
Sergunb 0:9dcf85d9b2f3 90 // Prints system alarm messages.
Sergunb 0:9dcf85d9b2f3 91 void report_alarm_message(uint8_t alarm_code);
Sergunb 0:9dcf85d9b2f3 92
Sergunb 0:9dcf85d9b2f3 93 // Prints miscellaneous feedback messages.
Sergunb 0:9dcf85d9b2f3 94 void report_feedback_message(uint8_t message_code);
Sergunb 0:9dcf85d9b2f3 95
Sergunb 0:9dcf85d9b2f3 96 // Prints welcome message
Sergunb 0:9dcf85d9b2f3 97 void report_init_message();
Sergunb 0:9dcf85d9b2f3 98
Sergunb 0:9dcf85d9b2f3 99 // Prints Grbl help and current global settings
Sergunb 0:9dcf85d9b2f3 100 void report_grbl_help();
Sergunb 0:9dcf85d9b2f3 101
Sergunb 0:9dcf85d9b2f3 102 // Prints Grbl global settings
Sergunb 0:9dcf85d9b2f3 103 void report_grbl_settings();
Sergunb 0:9dcf85d9b2f3 104
Sergunb 0:9dcf85d9b2f3 105 // Prints an echo of the pre-parsed line received right before execution.
Sergunb 0:9dcf85d9b2f3 106 void report_echo_line_received(char *line);
Sergunb 0:9dcf85d9b2f3 107
Sergunb 0:9dcf85d9b2f3 108 // Prints realtime status report
Sergunb 0:9dcf85d9b2f3 109 void report_realtime_status();
Sergunb 0:9dcf85d9b2f3 110
Sergunb 0:9dcf85d9b2f3 111 // Prints recorded probe position
Sergunb 0:9dcf85d9b2f3 112 void report_probe_parameters();
Sergunb 0:9dcf85d9b2f3 113
Sergunb 0:9dcf85d9b2f3 114 // Prints Grbl NGC parameters (coordinate offsets, probe)
Sergunb 0:9dcf85d9b2f3 115 void report_ngc_parameters();
Sergunb 0:9dcf85d9b2f3 116
Sergunb 0:9dcf85d9b2f3 117 // Prints current g-code parser mode state
Sergunb 0:9dcf85d9b2f3 118 void report_gcode_modes();
Sergunb 0:9dcf85d9b2f3 119
Sergunb 0:9dcf85d9b2f3 120 // Prints startup line when requested and executed.
Sergunb 0:9dcf85d9b2f3 121 void report_startup_line(uint8_t n, char *line);
Sergunb 0:9dcf85d9b2f3 122 void report_execute_startup_message(char *line, uint8_t status_code);
Sergunb 0:9dcf85d9b2f3 123
Sergunb 0:9dcf85d9b2f3 124 // Prints build info and user info
Sergunb 0:9dcf85d9b2f3 125 void report_build_info(char *line);
Sergunb 0:9dcf85d9b2f3 126
Sergunb 0:9dcf85d9b2f3 127 #ifdef DEBUG
Sergunb 0:9dcf85d9b2f3 128 void report_realtime_debug();
Sergunb 0:9dcf85d9b2f3 129 #endif
Sergunb 0:9dcf85d9b2f3 130
Sergunb 0:9dcf85d9b2f3 131 #endif