开源改变世界

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666

推推 grbl 3年前 (2023-01-29) 108次浏览
关闭
3 个任务中的第 1 个
simonkuehling 打开了这个问题 2019 年 12 月 11 日 · 4条评论
关闭
3 个任务中的第 1 个

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19#666

simonkuehling 打开了这个问题 2019 年 12 月 11 日 · 4条评论

注释

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666

以下是我重现该问题所遵循的步骤:

  1. LinuxCNC 2.9.0~pre0(使用 Raspberry Pi 3B+ 从 Raspbian 源代码编译)
  2. 在 raspi 上通过 SPI 使用 Mesa 7C81 AnythingIO FPGA 板
  3. 通过配置 HostMot2
[HOSTMOT2]
DRIVER=hm2_rpspi
BOARD=7c81

这是我期望发生的事情:

从关于 HostMot 配置的报告57 I/O Pins used来看,7C81 确实为每个 IO 端口设置了 19 个引脚——尽管 HostMot2 似乎期望 24、17 或 32,根据

开关(hm2- > idrom.port_width {

这是 LinuxCNC 中的错误还是 Mesa 卡在此处报告了错误信息? 

这是发生了什么:

LinuxCNC ist 在启动期间抛出许多重复错误(完整日志作为文件附加):

hm2/hm2_7c81.0: hm2_read_pin_descriptors: invalid port width 19
hm2/hm2_7c81.0: hm2_read_pin_descriptors: invalid port width 19
hm2/hm2_7c81.0: hm2_read_pin_descriptors: invalid port width 19
[...]

linuxcnc_terminal_log.txt

有关我的硬件和软件的信息:

  • 我正在使用这个 Linux 发行版和版本:Raspbian GNU/Linux 10 (buster)
  • 我正在使用这个内核版本:Linux raspberrypi 4.19.75-v7+ Smallish changes to help Debian build experience  #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
  • 我在跑步 …
    • 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • 我自己构建的二进制文件
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本:v2.9.0-pre0-872-g2118e13fa
  • 我正在使用此用户界面 (GUI):AXIS
  • 我正在使用此接口硬件供应商和芯片组:Mesa 7C81 FPGA board via SPI on Raspberry Pi 3B+
hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666

似乎 Mesa 7C81 配置确实每个端口集都有 19 个引脚 – 17 个 I/O 引脚和两个串行引脚(来自两个用于 RS-422/RS-485 接口的 RJ-45 连接器)

从 FPGA 固件报告的虚拟端口被命名为P1+Serial,P2+SerialP7+Serial相应地命名。
mesaflash –readhmid 列出:

$ mesaflash --device 7C81 --spi --addr /dev/spidev0.0 --readhmid
Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA7C81
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 3
  Width of one I/O port: 19
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

[...]

Configuration pin-out:

IO Connections for P1+Serial
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 0      0   IOPort       PWM              0        PWM             (Out)
 0      1   IOPort       None           
 0      2   IOPort       StepGen          0        Step/Table1     (Out)
 0      3   IOPort       None           
 0      4   IOPort       StepGen          0        Dir/Table2      (Out)
 0      5   IOPort       None           
 0      6   IOPort       StepGen          1        Step/Table1     (Out)
 0      7   IOPort       None           
 0      8   IOPort       StepGen          1        Dir/Table2      (Out)
 0      9   IOPort       StepGen          2        Step/Table1     (Out)
 0     10   IOPort       StepGen          2        Dir/Table2      (Out)
 0     11   IOPort       StepGen          3        Step/Table1     (Out)
 0     12   IOPort       StepGen          3        Dir/Table2      (Out)
 0     13   IOPort       None           
 0     14   IOPort       QCount           0        Quad-A          (In)
 0     15   IOPort       QCount           0        Quad-B          (In)
 0     16   IOPort       QCount           0        Quad-IDX        (In)
 0     17   IOPort       SSerial          0        TXData0         (Out)
 0     18   IOPort       SSerial          0        TXData1         (Out)

IO Connections for P2+Serial
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 0     19   IOPort       PWM              1        PWM             (Out)
 0     20   IOPort       None           
 0     21   IOPort       StepGen          4        Step/Table1     (Out)
 0     22   IOPort       None           
 0     23   IOPort       StepGen          4        Dir/Table2      (Out)
 0     24   IOPort       None           
 0     25   IOPort       StepGen          5        Step/Table1     (Out)
 0     26   IOPort       None           
 0     27   IOPort       StepGen          5        Dir/Table2      (Out)
 0     28   IOPort       StepGen          6        Step/Table1     (Out)
 0     29   IOPort       StepGen          6        Dir/Table2      (Out)
 0     30   IOPort       None           
 0     31   IOPort       None           
 0     32   IOPort       None           
 0     33   IOPort       None           
 0     34   IOPort       None           
 0     35   IOPort       None           
 0     36   IOPort       SSerial          0        TXEn0           (Out)
 0     37   IOPort       SSerial          0        TXEn1           (Out)

IO Connections for P7+Serial
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 0     38   IOPort       PWM              2        PWM             (Out)
 0     39   IOPort       None           
 0     40   IOPort       StepGen          7        Step/Table1     (Out)
 0     41   IOPort       None           
 0     42   IOPort       StepGen          7        Dir/Table2      (Out)
 0     43   IOPort       None           
 0     44   IOPort       StepGen          8        Step/Table1     (Out)
 0     45   IOPort       None           
 0     46   IOPort       StepGen          8        Dir/Table2      (Out)
 0     47   IOPort       StepGen          9        Step/Table1     (Out)
 0     48   IOPort       StepGen          9        Dir/Table2      (Out)
 0     49   IOPort       None           
 0     50   IOPort       None           
 0     51   IOPort       None           
 0     52   IOPort       None           
 0     53   IOPort       None           
 0     54   IOPort       None           
 0     55   IOPort       SSerial          0        RXData0         (In)
 0     56   IOPort       SSerial          0        RXData1         (In)

所以这需要在 hostmot2 代码中说明,我猜?

rene-dev 添加了引用此问题的提交 2019 年 12 月 12 日

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666
合作者

你能再试一次吗?

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666

@rene-dev哇,真快!
我当前的设置在 master 分支上运行 – 但我从那里挑选了你的提交,重新编译并且错误消失了。
谢谢!

hm2/hm2_7c81.0: hm2_read_pin_descriptors: 无效端口宽度 19 #666

进一步测试证明该板现在运行良好,有信心关闭此问题?