关闭 dresco 打开了这个问题 2022 年 2 月 28 日 · 3条评论 关闭 支持从插件代码解锁#121 dresco 打开了这个问题 2022 年 2 月 28 日 · 3条评论 评论 贡献者 德雷斯科 评论了 2022 年 2 月 28 日 当处于警报状态时,系统可以由发送者($X)解锁,但不能由插件解锁——因为 protocol_enqueue_gcode() 目前在 STATE_ALARM 中删除命令——有人反对允许这样做吗? (我希望能够从我的控制面板插件解锁,因为 VFD 的启动速度比控制器慢,因此当第一个 modbus 消息未被确认时 GRBL 会发出警报)。 核心/协议.c 第 67 至 72 行 4ff8f1c //添加 gcode 以执行不是源自普通输入流 bool protocol_enqueue_gcode ( char *gcode) { bool ok = xcommand[ 0 ] == ‘ \0 ‘ && ( state_get () == STATE_IDLE || ( state_get () & (STATE_JOG|STATE_TOOL_CHANGE))) && bit_isfalse ( sys.rt_exec_state , EXEC_MOTION_CANCEL); 贡献者 terjeio 评论了 2022 年 3 月 1 日 有反对意见吗? 不确定要回答什么 – 最好保持现在的状态?在警报状态下,您可以$X直接向系统命令解析器发送: 核心/系统.c 第 299 至 300 行 4ff8f1c //注意:调用 system_execute_line() 的代码需要提供至少 LINE_BUFFER_SIZE 的行缓冲区 status_code_t system_execute_line ( char *line) 我自己在 HPGL 插件中直接调用了这个函数: static void go_home (void) { char cmd[LINE_BUFFER_SIZE] = "$H"; plan_line_data_t plan_data = {0}; process = wait; hal.stream.write = hal.stream.write_all = stream_write_null; system_execute_line(cmd); plan_data.feed_rate = 4000.0f; target.values[X_AXIS] = settings.axis[X_AXIS].max_travel; // target.values[Y_AXIS] = 0.0f; process = mc_line(target.values, &plan_data) ? await_homed : NULL; } 贡献者作者 德雷斯科 评论了 2022 年 3 月 1 日 在报警状态下可以$X直接发送给系统命令解析器 哦,太棒了,不知道那个功能 – 会尝试那样做……谢谢! 贡献者作者 德雷斯科 评论了 2022 年 3 月 1 日 谢谢,那很好用.. dresco已完成 关闭 2022 年 3 月 1 日 喜欢 (0) Arduino Due CNC Protoneer v3 #120 警报 6 #122 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭 无法在 gsender 1.2.0 中打开 .gcode 文件 #367 RaspberryPi 运行 gsender 时出现问题 #89 向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭无法在 gsender 1.2.0 中打开 .gcode 文件 #367RaspberryPi 运行 gsender 时出现问题 #89向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473功能请求:抑制发送到机器的 gcode 中的 gcode 注释。 #444 关闭通过网络连接进行连接 #171操纵杆运动的剩余问题 #204 关闭新版本认为我的机器一直处于锁定状态 #474 关闭
当处于警报状态时,系统可以由发送者($X)解锁,但不能由插件解锁——因为 protocol_enqueue_gcode() 目前在 STATE_ALARM 中删除命令——有人反对允许这样做吗?
(我希望能够从我的控制面板插件解锁,因为 VFD 的启动速度比控制器慢,因此当第一个 modbus 消息未被确认时 GRBL 会发出警报)。
核心/协议.c
第 67 至 72 行 4ff8f1c