开源改变世界!!

cnc.js技术扩展提案 #75

推推 grbl 2年前 (2023-02-02) 174次浏览
关闭
slimline33 打开了这个问题 2016 年 9 月 12 日 · 16条评论
关闭

cnc.js技术扩展提案#75

slimline33 打开了这个问题 2016 年 9 月 12 日 · 16条评论

注释

cnc.js技术扩展提案 #75

嗨奇顿,

我没有像 mach3 那样使用 cnc.js V.1.3,因为我对你的 cnc.js 的新版本有一些建议。

  • 用于上传 gcode 的实时文件夹监视
  • 可以启动示例/安全 gcode 的宏
  • 通知更新版本何时可用并从菜单中选择更新
  • 重启按钮(sudo reboot)
  • 关机(须藤停止)
  • 一个菜单点链接到自己的 bash 脚本..

这是我的建议,那将是非常好的附加组件或小部件。

我的身上有没有类似的综合耻辱。我还没有找到 already :D

克里斯多夫

cnc.js技术扩展提案 #75
合作者
奇顿 评论了 2016 年 9 月 12 日  

用于上传 gcode 的实时文件夹监视

监视目录将帮助您更快地导入新文件。我可能会在未来的版本中添加此功能。

可以启动示例/安全 gcode 的宏

v1.6 中支持宏。

通知更新版本何时可用并从菜单中选择更新

是的!我计划添加更新通知以通知新的更新。

重启按钮 (sudo reboot)
关机 (sudo halt)
菜单点链接到自己的 bash 脚本..

我认为可以通过选择自定义菜单项从 UI 触发脚本将以上三者合二为一。

cnc.js技术扩展提案 #75 奇顿 添加了 增强 标签 2016 年 9 月 12 日
cnc.js技术扩展提案 #75
作者

是的,听起来真不错!

我使用预合成的覆盆子图像并安装了 cnc.js。我想我做了一个自己的形象。比更新更容易。

自定义菜单是个好主意。我想很多人只在树莓派上为自己的数控机床使用 cnc.js。

我想我添加了一个 kiosk 模式,它只会显示带有 cnc.js 的浏览器,并在带有小型触摸液晶显示器的覆盆子上运行。

cnc.js技术扩展提案 #75 cheton 提到了这个问题 2016 年 10 月 2 日
cnc.js技术扩展提案 #75

真的可以通过 GUI 为我的树莓派使用关机和重启选项。

cnc.js技术扩展提案 #75 cheton 将此 添加到 1.8里程碑 2016 年 10 月 26 日
cnc.js技术扩展提案 #75
合作者
奇顿 评论了 2016 年 11 月 3 日  

随着 1.7.0 版本的发布,当有更新版本(例如 1.7.x、1.8.x)可供下载时,它将开始通知用户。例如,当有新更新可用时,您将看到以下屏幕:

cnc.js技术扩展提案 #75

cnc.js技术扩展提案 #75 cheton 提到了这个问题 2016 年 11 月 6 日
cnc.js技术扩展提案 #75
作者

现在有一条“找到更新”消息。“更新”按钮是怎么回事?是这样的:

cnc.js技术扩展提案 #75

cnc.js技术扩展提案 #75
合作者

到目前为止,Electron 应用程序(即可执行安装程序 .exe、.dmg)应该能够在内部执行更新,但我还没有在应用程序中实现它。它可能会在未来的版本中添加。

对于Node.js的安装,我可以尝试通过npm install -g cncjs@latest在服务器端运行来强制更新,但是这可能会因为某些原因导致更新失败,可能是软件使用不同的帐户安装,或者安装路径不同。

你对此有什么建议吗?触发自定义脚本来更新包可能是一种解决方案。

cnc.js技术扩展提案 #75
作者

嗯…对不起,我对此没有解决方案。我了解安装路径的问题,因为我认为更新脚本可以提供帮助。

这是来自 octoprint 的更新脚本:https ://github.com/foosel/OctoPrint/blob/master/src/octoprint/plugins/softwareupdate/scripts/update-octoprint.py但它的 python 没有节点。它不能帮助。

首先,软件必须检查它的安装路径。在覆盆子上,我使用 npm install -g cncjs@latest 得到了 serialmodule 的错误…我必须执行 sudo npm install -g cncjs –unsafe-perm。

我希望其他用户有解决方案吗?我们应该开一个新的增强问题吗?

cnc.js技术扩展提案 #75
合作者

OctoPrint 的更新脚本使用 git 来更新其源代码,但 cnc 软件并非如此。

如何传递一个命令行选项来指定更新脚本的路径?例如:

$ cnc --update-script="/path/to/update-script.sh"

然后,当更新脚本可用时,Web 界面将能够执行更新。

cnc.js技术扩展提案 #75
作者
细线33 评论了 2016 年 11 月 28 日  

全新安装后,路径为“/usr/lib/node_modules/cncjs/bin”——脚本可以检查可执行文件的路径,如果没有找到,用户可以输入真实路径。

或者在站点的更新页面中,用户可以更改表单中的路径。

cnc.js技术扩展提案 #75
合作者

在 1.8.5 版本中添加了 watch 目录支持。您可以查看以下用法:

用法

 $ cnc --watch-directory /home/pi/watch

您可以创建一个包含以下 JSON 格式配置的文件,而不是为--watch-directory和传递命令行选项:--allow-remote-access~/.cncrc

{
  "watchDirectory": "/path/to/dir",
  "allowRemoteAccess": false
}

然后您可以浏览 watch 目录以选择要加载的 G 代码文件:

cnc.js技术扩展提案 #75

cnc.js技术扩展提案 #75
合作者
奇顿 评论了 2016 年 12 月 30 日  

95698eb中加入了对运行 shell 命令的支持,稍后将在 1.8.10 版本中发布。示例配置(即~/.cncrc文件)如下所示:

{
    "state": {
        "checkForUpdates": true
    },
    "commands": [
        {
            "text": "Reboot",
            "command": "/sbin/reboot"
        },
        {
            "text": "Shutdown",
            "command": "/sbin/shutdown"
        }
    ],
    "macros": [],
    "users": []
}
cnc.js技术扩展提案 #75
合作者

@slimline33,

要执行升级,您可以运行pm2 start cnc以监视 cnc 进程,并添加“更新”命令~/.cncrc以从 UI 触发更新。更新完成后,它将终止 cnc 进程,然后 pm2 将自动再次启动该进程:

{
  "commands": [
    {
      "text": "Update (root user)",
      "command": "sudo npm install -g cncjs@latest --unsafe-perm; pkill -a -f cnc"
    },
    {
      "text": "Update (non-root user)",
      "command": "npm install -g cncjs@latest; pkill -a -f cnc"
    }
  ]
}