Contact me: hankecnc@gmail.com

我如何在代码中手动设置设置? #988

推推 grbl 3年前 (2023-01-30) 270次浏览
打开
Rezaasghariir 打开了这个问题 2021 年 10 月 31 日 · 7条评论
打开

我如何在代码中手动设置设置?#988

Rezaasghariir 打开了这个问题 2021 年 10 月 31 日 · 7条评论

注释

我如何在代码中手动设置设置? #988


,我有这个设置
table_feed_rate = new IntSetting(EXTENDED, WG, NULL, “SandTable/TableFeedRate”, DEFAULT_TABLE_FEED_RATE, DEFAULT_TABLE_MIN_FEED_RATE, DEFAULT_TABLE_MAX_FEED_RATE,tablefeedrateChange);
我如何在代码中更改此设置?

我如何在代码中手动设置设置? #988
所有者

我不知道你的意思。为什么要设置和更改代码?

请具体说明这是如何使用的?设置有什么作用?进给率通常来自 gcode。

我如何在代码中手动设置设置? #988
作者

我的进给率是恒定的,不会从 gcode 改变,但我想用 WebUI 和 Web 服务器处理程序的滑块改变它。
在以前的版本中,我使用了这样的代码 settings_store_global_setting(37, value); 但在上一个版本中我该怎么做呢?

我如何在代码中手动设置设置? #988
所有者

我建议:在 gcode 中放置一个平均进给率并使用现有的进给率覆盖功能。它已经在 WebUI 中

您可以通过发送美元命令来更改任何设置

$SandTable/TableFeedRate=XXX.XX

我如何在代码中手动设置设置? #988
作者

我有我的 WebUI 和新设计。
当 SDCARD 正在打印并且不能使用 $ 命令时,我需要更改进给率。
有什么方法可以设置设置而不是 $ 命令?

我如何在代码中手动设置设置? #988
合作者
米奇布拉德利 评论了 2021 年 11 月 1 日  

在文件运行期间更改某些内容的唯一方法是发送实时命令字符。

在运行期间更改设置值是一个非常非常糟糕的主意。设置存储在闪存中,以便它们在重新启动后仍然存在。由于ESP32的设计方式,写入FLASH非常慢,并且会导致其他代码执行暂停。

做你想做的事情的方法是从设置值初始化一个变量,然后用实时命令字符调整变量,就像调整进给率和主轴速度一样。

我如何在代码中手动设置设置? #988
作者
礼拜堂 评论了 2021 年 11 月 1 日  

坦克为您解答。
我正在编辑此功能 ConnectSTA2AP。那是改进连接到站我怎样才能发送给你?
这是我的代码:

bool WiFiConfig::ConnectSTA2AP() {
    String      msg, msg_out;
    uint8_t     count  = 0;
    uint8_t     dot    = 0;
    uint8_t reconnect = 0;
    wl_status_t status = WiFi.status();

    while (status != WL_CONNECTED && count < 40) {
        if(reconnect>7){

                String password = wifi_sta_password->get();
                String SSID     = wifi_sta_ssid->get();
                WiFi.begin(SSID.c_str(), (password.length() > 0) ? password.c_str() : NULL);
                reconnect = 0;
        }
        switch (status) {
            case WL_NO_SSID_AVAIL:
                msg = "No SSID";
                break;
            case WL_CONNECT_FAILED:
                msg = "Connection failed";
                break;
            case WL_CONNECTED:
                break;
            default:
                if ((dot > 3) || (dot == 0)) {
                    dot     = 0;
                    msg_out = "Connecting";
                }
                msg_out += ".";
                msg = msg_out;
                dot++;
                break;
        }
        grbl_sendf(CLIENT_ALL, "[MSG:%s]\r\n", msg.c_str());
        COMMANDS::wait(500);
        count++;
        reconnect++;
        status = WiFi.status();
    }
    return status == WL_CONNECTED;
}
我如何在代码中手动设置设置? #988

提交代码的正确方法是创建一个 github Pull Request。Internet 上有很多关于拉取请求的文档。我们在https://github.com/bdring/Grbl_Esp32/wiki/Pull-Request-Guidelines上有一些额外的指南。

请注意,对 Grbl_Esp32 的更改可能会被忽略,因为我们已转而使用 FluidNC,它基于 Grbl_Esp32,但几乎在所有方面都优于它。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

3人参加
我如何在代码中手动设置设置? #988我如何在代码中手动设置设置? #988我如何在代码中手动设置设置? #988

喜欢 (0)