在 Linux/Mono 上运行 #5
注释
|
LaserGRBL 的所有代码都是 C#,所以我认为它可以使用 MonoDevelop 在 Mono 中为 Linux 编译。 |
|
它在 Arch Linux (xbuild) 上用最新的 mono 5.0.0 编译得很好。但是当我尝试运行时,
这能解决吗? |
|
嗨 Jackeler,我很高兴有人试图在 Linux 中移植 LaserGRBL。 TimingBase 是一个用于精确和高分辨率计时的类。它基于 您可以尝试用这段代码替换整个 HiResTimer 类:
|
|
感谢您的快速回复。这样可行! 然后我得到了这个:
所以我只是把它注释掉,像这样:
这会破坏什么吗? 无论如何,我现在可以在 Linux 上启动它而不会出现直接错误/崩溃!一个视觉问题是菜单栏没有字体,但功能似乎没问题。我现在将测试与我的机器的连接是否有效!:) |
|
SetTimerResolution 将 Windows 中大约 66Hz(15 毫秒)的任务切换频率更改为更高的频率,这使得 LaserGRBL 在将 g 代码流式传输到 arduino 时响应更快、速度更快。 注释掉就好了 |
|
好的好的,这是有道理的。 试验结果:
|
|
做得好@Jakeler 在 PlaceholderTextBox 类中注释 DrawWaterMark。 protected override void OnPaint(PaintEventArgs e) |
|
必须对其进行评论 所以我现在能够成功地用 LaserGRBL 雕刻一些东西。更多测试结果: |
|
你好@Jakeler 使用 Arch Linux (xbuild) 和 mono 5.0.0 我希望你能取得比我更好的结果。但是我记得最大的问题是光栅导入表单。不是因为我的矢量化/line2line 代码,而是因为我正在使用的 WinForm 布局。 我看到一些问题应该与您现在遇到的问题相同。即连接按钮、停止-继续按钮等的错位。LaserGRBL 的整个界面是使用“TableLayoutPanel”设计的,这使我能够使其在不同的分辨率、调整大小、不同的字符串翻译中使用的不同空间等情况下工作得很好. 也许应该重新设计某种形式以使用更简单和固定的布局模式在单声道中工作。 |
|
我应该有一台旧笔记本电脑,我可以牺牲它来安装 linux。我很乐意帮助你完成这项工作。 |
|
根据 Mono 文档,对 Windows Forms 2.0 的支持已经完成,但似乎与 Windows 上的不一样。我还注意到,将窗口大小调整得更小不会将停止-继续按钮移回,导致它们在某个时候消失。总体而言,大多数元素看起来不太正确。我也更喜欢更现代的风格,而不是 Linux 上的 Windows 2000 主题。 我对 C# 和 Windows GUI 的东西没有任何经验,所以我不确定我是否可以做到这一点或帮助你很多。现在看代码,我开始有点理解了,但仍然……此外,一些代码用意大利语注释,我不明白。 你不一定需要额外的硬件,如果你有一个半像样的 PC,你可以像使用 VirtualBox 的虚拟机来宾一样运行它。因此,您可以让 Windows 主机保持运行状态,并可以快速启动另一个虚拟操作系统。(我经常以相反的方式这样做,在我的 Linux PC 上使用 Windows 作为来宾,特别是对于开发非常有用) |
|
我可以在物理机或虚拟机上安装 linux,这对我来说不是问题。唯一的问题是找时间:-) 无论如何,我会利用您的空闲时间来获取一些可以加快此步骤的信息。
更多:当我做我以前的尝试时,我记得我不能直接从 monodevelop 图形化编辑我的 winform UI,因为它们只支持编辑 GTK Form。情况还是一样吗?我的意思是,您是否能够打开一个表单,如 mainform,并从 monodevelop 以图形方式编辑它? |
|
更新:已解决(切换到.net 4.5) |
|
很高兴看到你在上面!我今天没有太多时间回答,反正现在一切都解决了吗?让我知道进展如何以及您是否需要帮助。;) |
|
您可以在 Linux 分支下的https://github.com/arkypita/LaserGRBL上找到我的结果https://github.com/arkypita/LaserGRBL/tree/Linux 我上次尝试做一个 linux 版本时发现的所有问题仍然存在。最大的问题是在 tablelayout 面板上,没有得到很好的支持。这打破了我所有的布局。图像处理功能也存在一些问题。 现在光栅图像形式打开,但由于布局问题无法使用。 |



我可以在 Linux 上运行 LaserGRBL 吗?Raspberry Pi 3。我的电脑太强大了(i7 内存 16GB),无法在车间使用。或者最好为它买一台便宜的旧电脑。