注释
听起来我用于 Serial (jssc) 和 OpenGL (jogl) 的库 arduino IDE(也使用 jssc)是否连接到您的 arduino? 在 2016 年 11 月 1 日星期二,jobongo notifications@github.com写道:
|
Arduino 已连接,我可以很好地发送 GRBL 命令。似乎 UGS 为 TTYACM0 创建了一个锁定文件,因为我得到一个锁定文件已经存在的错误…. |
您使用的是什么版本的 UGS?如果您还没有,可以尝试 在 2016 年 11 月 1 日星期二,jobongo notifications@github.com写道:
|
我正在使用 2.0 版(平台构建)。老实说,我还没有尝试过以前的版本(0.9、0.8 等)。我已经尝试过 v2.0 的夜间构建和稳定版(我假设它是稳定版)。两者都给我同样的错误。我喜欢 v2.0 的外观和设计。我将尝试刚刚发布的最新一晚。 |
我想我找到了一个可能的原因。Pine64 CPU 架构是 arm64 而 RPi 是 ARM-HF。在 jssc SerialNativeInterface 类中,它不检查 arm64 体系结构,只有 armhf 和 armsf(soft-float 和 hard-float)和或 x86/64 然后加载正确的共享对象(.so)(我对 Java 知之甚少,但据我所知,这就是发生的事情)。 我找到了一个支持 arm64 的 JSSC 版本,但是由于 UGS 不是用它编译的,有没有办法用 jssc arm64 中的 Java 类替换 Java 类?我搜索了被调用的 jssc 类,但似乎找不到正确的类。我唯一能找到它们的地方是位于 jssc.jar 中
但改变这些课程似乎没有影响。我什至删除了这个 jar 并得到了同样的错误。这些类是否可以放在不同的 jar 或其他地方?谢谢。 |
我在https://launchpad.net/ubuntu/+source/jssc/2.8.0-1/+build/9880902找到了 jssc arm64 的 deb 包 我试过像你提到的那样更新类文件和库,但我得到了同样的错误。即使删除 jssc.jar,也会出现同样的错误。这让我觉得我找错地方了。 |
我发现它确实使用了那个罐子。当 UGS 打开时,它会在主目录中创建 .ugs 和 .ugsplatform 目录。那里必须有一些缓存文件定义了以前的状态。当我清除这些目录时,我得到一个与上面不同的 undefinedclasserror。 我找不到包含 arm64 架构的 deb 文件的源代码。我将看看我是否可以修改 SerialNativeInterface 类以包含此体系结构并包含正确的库。 |
我设法解决了这个问题。我之前使用了 deb 包(libjssc-2.8.so)中的共享对象并将其复制到 我认为修改 SerialNativeInterface 类将不难包含 arm64/aarch64。我开始但真的只是想找到更简单的方法……在 deb arm64 回购中,使用的是版本 2.6,而不是 v 2.8,所以你必须将它包含在你的 jssc.jar 中。 |
我正在尝试在基于 arm 的板(运行 Debian Mate 的 Pine 64)上安装 UGS 平台,并继续运行并发布 jssc。我已经在 RPi 3 上安装了平台并且它可以工作(某种程度上,可视化工具没有问题)。在 Pine64 上出现以下错误
java.lang.UnsatisfiedLinkError: jssc.SerialNativeInterface.openPort(Ljava/lang/String;Z)J at jssc.SerialNativeInterface.openPort(Native Method) at jssc.SerialPortList.getUnixBasedPortNames(SerialPortList.java:333) at jssc.SerialPortList.getPortNames(SerialPortList.java:296) at jssc.SerialPortList.getPortNames(SerialPortList.java:178) at com.willwinder.universalgcodesender.utils.CommUtils.getSerialPortList(CommUtils.java:45) at com.willwinder.ugs.nbp.core.connection.PortComboBox.initComboBox(PortComboBox.java:53) at com.willwinder.ugs.nbp.core.connection.ComboWithPreferences.<init>(ComboWithPreferences.java:87) at com.willwinder.ugs.nbp.core.connection.PortComboBox.<init>(PortComboBox.java:45) at com.willwinder.ugs.nbp.core.toolbars.SerialPortToolbarBox$MyToolbarPresenter.initComponents(SerialPortToolbarBox.java:103) at com.willwinder.ugs.nbp.core.toolbars.SerialPortToolbarBox$MyToolbarPresenter.<init>(SerialPortToolbarBox.java:83) at com.willwinder.ugs.nbp.core.toolbars.SerialPortToolbarBox.getToolbarPresenter(SerialPortToolbarBox.java:66) at org.openide.awt.Toolbar$Folder.createInstance(Toolbar.java:443) at org.openide.loaders.FolderInstance.defaultProcessObjectsFinal(FolderInstance.java:888) at org.openide.loaders.FolderInstance$1R.run(FolderInstance.java:730) at org.openide.util.Task.run(Task.java:257) [catch] at org.netbeans.modules.openide.loaders.AWTTask.run(AWTTask.java:79) at org.netbeans.modules.openide.loaders.AWTTask$Processor.run(AWTTask.java:172) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
我感觉我在 Pine64 上使用的发行版中缺少一些依赖项。UGS 打开,但串行端口选择和可视化工具不可见。
UGSPlatform 在桌面 Ubunutu 和 Ubuntumate for RPi 上运行良好,但我似乎无法让它在 Pine64 上与 Ubuntu Mate 一起工作。我正在使用 openjdk 1.8。我有串口权限。我缺少一些东西。
顺便说一句,在 Windows 和 Ubuntu GRBL CNC 机器上运行良好。我正在尝试创建一个“独立的”CNC,这个软件似乎是最好的解决方案。谢谢。