开源改变世界

即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917

推推 grbl 3年前 (2023-01-30) 261次浏览
打开
HuubBuis 打开了这个问题 2021 年 6 月 14 日 · 2 条评论
打开

即使使用 WiFi 连接,GCode 注释也只会发送到串行接口#917

HuubBuis 打开了这个问题 2021 年 6 月 14 日 · 2 条评论

注释

即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917

您使用的是什么版本的固件?
[VER:1.3a.20210424:]
[OPT:PHBW]

问题是否可重复?
是的

什么情况下会出现bug?
发送带有“G91 X10 F100 (MSG,MyComment)”之类注释的 Gcode

我检查了代码,发现Gcode Comments发送到CLIENT_SERIAL接口。
根据Wiki:,它应该发送到所有开放接口。
我将其更改为 CLIENT_ALL,现在它工作正常。

void report_gcode_comment(char* comment) {
    char          msg[80];
    const uint8_t offset = 4;  // ignore "MSG_" part of comment
    uint8_t       index  = offset;
    if (strstr(comment, "MSG")) {
        while (index < strlen(comment)) {
            msg[index - offset] = comment[index];
            index++;
        }
        msg[index - offset] = 0;  // null terminate
        grbl_msg_sendf(CLIENT_ALL, MsgLevel::Info, "GCode Comment...%s", msg);
    }
}

我注意到使用按钮宏时的错误消息也只发送到 CLIENT_SERIAL 接口。我不确定这是不是故意的。
我在fork中将其更改为 CLIENT_ALL,因为我通常使用 BT 或 WiFi 进行连接。

system.cpp
void __attribute__((weak)) user_defined_macro(uint8_t index) {
    // must be in Idle
    if (sys.state != State::Idle) {
        grbl_msg_sendf(CLIENT_ALL, MsgLevel::Info, "Macro button only permitted in idle");
        return;
    }

    String user_macro;
    char   line[255];
    switch (index) {
        case 0:
            user_macro = user_macro0->get();
            break;
        case 1:
            user_macro = user_macro1->get();
            break;
        case 2:
            user_macro = user_macro2->get();
            break;
        case 3:
            user_macro = user_macro3->get();
            break;
        default:
            return;
    }

    if (user_macro == "") {
        grbl_msg_sendf(CLIENT_ALL, MsgLevel::Info, "Macro User/Macro%d empty", index);
        return;
    }

    user_macro.replace('&', '\n');
    user_macro.toCharArray(line, 255, 0);
    strcat(line, "\r");
    WebUI::inputBuffer.push(line);
}
即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917 HuubBuis 添加了 漏洞 有些东西不工作标签 2021 年 6 月 14 日
即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917
所有者

发送到 CLIENT_ALL 是可以接受的。您可以针对 devt 分支提交 PR 吗?

https://github.com/bdring/Grbl_Esp32/wiki/Pull-Request-Guidelines

即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917
作者

我将使用 devt 分支进行更改和测试并提交 PR

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
漏洞有些东西不工作
项目

还没有

发展

没有分支机构或拉取请求

2名参加者
即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917即使使用 WiFi 连接,GCode 注释也只会发送到串行接口 #917

喜欢 (0)