注释
这似乎不正确。我无法重现它,但看起来它没有发现所有动作类别。 “死人开关”是个好主意,我会考虑一下。 |
谢谢乔阿西姆。我以前从未深入研究过 Java,所以我想我应该下载 IDE,看看它是否是 Windows 10 特定的东西……据我所知,没有这样的运气! 问题似乎出在函数 recursiveAddCategoryActions 中。 C:\ugs\Universal-G-Code-Sender-master\ugs-platform\application\target\userdir\config\Actions 该目录包含三个子目录(Machine、Macro 和 Overrides)。 当 recursiveAddCategoryActions 第一次调用 getChildren() 时,我期待看到提到的三个子目录,但它返回的是这三个目录加上 13 个其他目录。我对 getChildren() 进行了一些研究,它似乎正在使用一个覆盖的虚拟文件系统……我不知道这是否是预期的行为?!!?! 我会继续看,但不是 Java 程序员可能会导致我得出错误的结论 |
感谢您调试这个! 我现在没有时间研究这个,但这些都是很好的线索。=) |
嗨 Joacim,我相信我已经找到了答案,尽管我不知道修复它的“正确”方法。 “ActionRegistrationService”类创建一个名为“actionCache”的操作引用缓存。这个缓存是在许多动作类被实例化之前创建的,这意味着它们从缓存中被省略(尝试将它们添加到缓存会抛出异常)。操纵杆配置屏幕调用返回不完整的 actionCache 的类别动作信息(函数 getCategoryActions)。我已经通过更改 getCategoryActions 以引用仅在第一次调用 getCategoryActions 时创建的新缓存来证明这一点。菜单选项现在看起来符合预期。 上面显然不是一个完整的修复,因为在类的另一个函数中使用了 actionCache,这可能会产生我没有见过的问题。我对 Java 了解不够,无法在创建 actionCache 之前强制类实例化,或者对应用程序结构了解不够,无法将 actionCache 创建移至更好的位置。 我会测试看看我的解决方法是否能在短期内为我解决问题,并希望我的 Java 学习经验对您有所帮助,或者将为我们的 Windows 用户提供修复。 再次感谢出色的操纵杆功能! 一切顺利, |
优秀作品! 此行将尝试在加载类时加载操作,而不是在使用和实例化操作服务时加载操作。该类很可能在所有操作之前加载。 初始化应移至可以解决问题的构造函数:
|
不幸的是,我已经尝试过了,但没有解决问题:( 缓存构建仍然会为大多数操作类抛出“NoSuchMethodException”,导致缓存中缺少许多项目。 |
Hi, loving the joystick implementation…all worked great on first try, but when selecting a new action to assign to a button, the list of available options seems strangely limited.
例如,有编辑宏的选项,但没有运行任何预定义宏的选项。
我想使用标有按钮的字母来更改步长,以便可以使用方向键对位置进行非常精细的调整,但选项似乎不存在,这是一个错误吗?
除非按下另一个按钮,否则最好防止任何操作(例如,除非当前按下特定的肩部按钮,否则操纵杆不会执行任何操作)。如果控制器掉落,这将是防止出现问题的理想选择!不过,我可以理解这是否更像是一个功能请求:)
感谢提供如此出色的功能,我只是想知道是否错误地列出了按钮配置选项。希望选项的图像可以上传……
UGS 平台 2.0 – 每晚构建 2020 年 4 月 25 日
Windows 10
GRBL 1.1f