#define CMD_RESET 0x18 // ctrl-x //系统命令复位
#define CMD_STATUS_REPORT '?' //系统命令状态打印
#define CMD_CYCLE_START '~' //系统命令循环启动
#define CMD_FEED_HOLD '!' //系统命令进给保持
#define CMD_SAFETY_DOOR 0x84 //系统命令门开
#define CMD_JOG_CANCEL 0x85 //系统命令JOG取消
#define CMD_DEBUG_REPORT 0x86 // 当 DEBUG使能, 打印debug信息
#define CMD_FEED_OVR_RESET 0x90 // 恢复进给倍率100%.
#define CMD_FEED_OVR_COARSE_PLUS 0x91 //进给倍率增加10%
#define CMD_FEED_OVR_COARSE_MINUS 0x92//进给倍率减少10%
#define CMD_FEED_OVR_FINE_PLUS 0x93//进给倍率增加1%
#define CMD_FEED_OVR_FINE_MINUS 0x94//进给倍率减少1%
#define CMD_RAPID_OVR_RESET 0x95 // 恢复快进倍率100%
#define CMD_RAPID_OVR_MEDIUM 0x96 // 设置快进倍率50%
#define CMD_RAPID_OVR_LOW 0x97 // 设置快进倍率25%
#define CMD_SPINDLE_OVR_RESET 0x99 // 恢复主轴倍率 100%.
#define CMD_SPINDLE_OVR_COARSE_PLUS 0x9A //设置主轴倍率增加10%
#define CMD_SPINDLE_OVR_COARSE_MINUS 0x9B //设置主轴倍率减少10%
#define CMD_SPINDLE_OVR_FINE_PLUS 0x9C //设置主轴倍率增加1%
#define CMD_SPINDLE_OVR_FINE_MINUS 0x9D //设置主轴倍率减少1%
#define CMD_SPINDLE_OVR_STOP 0x9E //设置主轴倍率无效
#define CMD_COOLANT_FLOOD_OVR_TOGGLE 0xA0 //设置冷却状态切换
#define CMD_COOLANT_MIST_OVR_TOGGLE 0xA1 //设置雾化状态切换
// 如果启用了回零功能,回零初始锁定会使Grbl在上电时进入报警状态。这迫使用户在做//其他事情之前执行回零
#define HOMING_INIT_LOCK
// 用比特掩码定义回零模式。回零首先执行一个搜索模式以快速接合限位开关,然后是一个较慢的定位模式,最后是一个短暂的拉开运动以脱离限位开关。HOMING_CYCLE_x定义从后缀0开始依次执行,只完成指定轴的归位程序。如果定义中省略了某个轴,它将不会归位,系统也不会更新其位置。这意味着这允许用户使用非标准的笛卡尔机器,例如车床(先是x然后是z,没有y),根据他们的需要配置归位循环行为。注意:如果轴不在同一周期内,归位循环被设计为允许共享极限引脚,但这需要在cpu_map.h文件中改变一些引脚设置。例如,默认的归位循环可以与X或Y限位引脚共享Z限位引脚,因为它们处于不同的周期。通过共享一个引脚,这就释放了一个宝贵的IO引脚用于其他用途。理论上,如果所有的轴都以独立的周期归位,那么所有的轴限位引脚可以减少到一个引脚,反之亦然,所有的三轴都在不同的引脚上,但在一个周期内归位。另外,需要注意的是,硬限位的功能不会受到引脚共享的影响。
// 注意:默认值是为传统的三轴数控机床设置的。Z轴首先被清除,其次是X和Y轴。
#define HOMING_CYCLE_0 (1<<Z_AXIS) // Z 首先回零
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // XY同时回零
#define N_HOMING_LOCATE_CYCLE 1 // Integer (1-128) //找零点次数
/*归位后,Grbl将默认把整个机床空间设置为负空间,这是专业数控机床的典型做法,无论限位开关位于何处。取消对这个定义,以迫使Grbl总是将机器原点设置在归位位置,无论开关的方向如何。*/
// #define HOMING_FORCE_SET_ORIGIN // Uncomment to enable.
/*Grbl在启动时执行的脚本行数。这些块被存储在EEPROM中,其大小和地址在settings.h中定义。被存储并按顺序执行。这些启动块通常用于设置g代码解析器的状态,取决于用户的偏好。*/
#define N_STARTUP_LINE 2 // Integer (1-2)
// 设置打印输出浮动小数点的数量。
#define N_DECIMAL_COORDVALUE_INCH 4 //坐标为英寸单位
#define N_DECIMAL_COORDVALUE_MM 3 // 坐标为mm单位
#define N_DECIMAL_RATEVALUE_INCH 1 // 速度 in/min
#define N_DECIMAL_RATEVALUE_MM 0 //速度 mm/min
#define N_DECIMAL_SETTINGVALUE 3 // 3位有效数字
#define N_DECIMAL_RPMVALUE 0 // 转速单位r/ min.
// #define LIMITS_TWO_SWITCHES_ON_AXES //两个限位开关并联在一个轴上
//允许GRBL跟踪和报告gcode行数。 启用这个功能意味着规划缓冲区从 16 变为 15,以//便为 plan_block_t 结构中的额外行号数据腾出空间。
// #define USE_LINE_NUMBERS // Disabled by default. Uncomment