开源改变世界

PNCconf – 添加 Mesa – 指定“逻辑号” #1832

推推 grbl 3年前 (2023-01-31) 202次浏览
关闭
zz912 开了这个issue 2022 年 7 月 13 日 · 21条评论
关闭

PNCconf – 添加 Mesa – 指定“逻辑号”#1832

zz912 开了这个issue 2022 年 7 月 13 日 · 21条评论

注释

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者

我正在尝试向 PNCconf 添加另一个选项卡。

  1. 我在任何地方都找不到“逻辑数”的定义。
    文件/home/zdenek/linuxcnc/linuxcnc-2.8/src/emc/usr_intf/pncconf/private_data.py: 我不知道如何正确使用逻辑数。
    PNCconf - 添加 Mesa - 指定“逻辑号” #1832

  2. 可能是 7i96 卡的参数定义不正确。我真的不明白PCW想告诉我什么。
    https://forum.linuxcnc.org/27-driver-boards/46356-can-i-use-7i96s-with-lcnc-2-8?start=10#247126
    https://forum.linuxcnc.org/27 -driver-boards/46356-can-i-use-7i96s-with-lcnc-2-8?start=10#247183
    我不知道什么是 SB 编号

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者
筒仓 评论了 2022 年 7 月 14 日 通过电子邮件
PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者

我正在尝试将 7i96s 添加到 LCNC 2.8。如果我设法做到了,只有 InM 输入模块的扩展输入选项不起作用。

JT Configurator 不是 LCNC 2.8 的一部分,不能为 7i96s+LCNC 2.8 配置

PNCconf - 添加 Mesa - 指定“逻辑号” #1832 zz912 提到了这个问题 2022 年 7 月 15 日
PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

该数字表示 GPIOI 是否可以在运行时更改。0 = 允许运行时更改,100 表示无运行时更改。

这是代码中使用的数字示例:
https ://github.com/LinuxCNC/linuxcnc/blob/2.8/src/emc/usr_intf/pncconf/pncconf.py#L2960

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者
zz912 评论了 2022 年 7 月 16 日  

“运行时间”是什么意思?

我认为:
number<100
意味着一些自动模式
如果它是自动模式。这个 mod 与 -“max GPIOI” 参数有关吗?

number>100
表示一些手动 mod

我发现当GPIOI为0号时,我无法将其更改为GPIOO或S.STEPB。如果我将数字更改为 100,则更改会出现在 PNCconf 中。

但是,我不喜欢做一些我不知道问题本质的事情。这就是我问这个问题的原因。

但我的理论与示例不符:
["7i64", "7i64", 0,[_("7i64-Input\nP3 and P4"),_("7i64-Output\nP2 and P5"),_("7i64-Analog In")], 0,0,0,0,0,0,0,0, [S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100], [S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100], [S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100], [S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100],[S.GPIOI,100], [S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100], [S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100], [S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100], [S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100],[S.GPIOO,100], [S.ANALOGIN,0],[S.ANALOGIN,1],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0] ],
当很多数字 = 100 时,什么意思?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

在某些卡上,当您启动 linuxcnc(运行时)时,GPIO 可以更改为输入或输出。
其他人根本无法改变——总是输入或总是输出。
0 = 可以改变
100 = 不能改变

在您的示例中,100s 以上意味着所有 GPIOI 只能通过输入,所有 GPIOO 只能作为输出)

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者

为什么有时使用数字 100 和 0,有时数字代表 PIN 号?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

GPIO 是特殊的——它们只使用 0 或 100
对于其他组件,数字代表逻辑数

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

它从不代表物理引脚编号,如果那是你的意思。

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者

我想我已经知道“逻辑数”是如何工作的了。我可以问一下“max GPIO”参数吗?可以使用例如 GPIOI 124 吗?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

max GPIO 只是卡上可用的 GPIO 的最大数量。
在某些卡上,您可以“关闭”其他组件(例如步进发生器)以获得 GPIO。
这个数字是如果所有可选组件都关闭,有多少 GPIO 可用。

GPIOI 124 将被接受,但与 GPIOI 100 相同,无需更多代码更改。

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者
phillc54 评论了 2022 年 7 月 16 日 通过电子邮件
PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

Phill – 7i96 上的所有 GPIO 都不能在运行时更改?

对于 completenes,我看到 SSR0 将 0,100 与逻辑数结合在一起。
即 100 将是一个不可更改的逻辑 0 SSR
101 将是一个不可更改的逻辑 1 SSR

这可能是 GPIO 应该做的

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者
phillc54 评论了 2022 年 7 月 16 日 通过电子邮件
PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者

在某些卡上,当您启动 linuxcnc(运行时)时,GPIO 可以更改为输入或输出。

它有什么实际用途吗?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者
zz912 评论了 2022 年 7 月 16 日  

我写了逻辑数的规则:

# logical number (shortly number)
# If number < 100 => GPIO can be changed to GPIOO or GPIOD after start LinuxCNC (run time)
# If number > 100 => GPIO can NOT be changed to GPIOO or GPIOD after start LinuxCNC (always input or always output)
# Value of number or number-100 corresponds with HAL Pin of Hostmot2 component
# The number 0 or 100 can be repeated only for GPIO and the numbering is done automatically

这些规则是否正确?
我可以将它添加到 private_data.py 和 ADDING_A_MESA_CARD.md 吗?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

在某些卡上,当您启动 linuxcnc(运行时)时,GPIO 可以更改为输入或输出。

它有什么实际用途吗?

是的,您可以根据需要修改输入或输出的数量,而无需修改固件。

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者
  • 启动 LinuxCNC 后的 GPIOD(运行时)-> linuxcnc 启动时,如果您愿意,可以加载时间
PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者

是其他规则吗?
如何定义加载时间?

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

您可以在启动时更改 GPIO 而不是启动 linuxcnc 之后(在某些板上)
旧板用于每次启动时加载固件,因此您可以更好地控制它的自我设置方式。
较新的电路板将固件保存在 eeprom 中,并且电路板上有额外的硬件,因此灵活性不高。

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
贡献者作者
zz912 评论了 2022 年 7 月 17 日  

好的我明白了。我改变了规则:
# logical number (shortly number)
# If number < 100 => GPIO can be changed to GPIOO or GPIOD at the start of linuxcnc, load time if you prefer (run time)
# If number > 100 => GPIO can NOT be changed to GPIOO or GPIOD at the start of linuxcnc, load time (always input or always output)
# Value of number or number-100 corresponds with HAL Pin of Hostmot2 component
# The number 0 or 100 can be repeated only for GPIO and the numbering is done automatically

PNCconf - 添加 Mesa - 指定“逻辑号” #1832
合作者

拉取请求已合并 – 我正在关闭这张票。谢谢你。