开源改变世界

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598

推推 grbl 3年前 (2023-01-29) 407次浏览
关闭
pcw-mesa 打开了这个问题 2019 年 5 月 25 日 · 9条评论
关闭

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c#598

pcw-mesa 打开了这个问题 2019 年 5 月 25 日 · 9条评论

注释

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者

BISS 的 MPregs 是 7 但驱动程序检查 3

case HM2_GTAG_BISS:
    if ( ! hm2_md_is_consistent_or_complain(hm2, md_index, 0, 3, 4, 0x03)) {
        HM2_ERR("inconsistent absenc Module Descriptor!\n");
        return -EINVAL;
    }

应该是
HM2_GTAG_BISS
的情况

返回-EINVAL;
}

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者

这是一个简单的修复。你认为它需要做 2.7 还是我应该将它限制为 2.8?

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

可能两者都有,我想发生的事情是我很久以前(几年)在固件中修复了 MPregs 编号,但只有非 LinuxCNC 用户使用 BISS 接口,所以 没有注意到不
匹配

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

确认它并不像我想象的那么简单,您设计的 BISS 接口寄存器
在 2014 年左右进行了修改,以修复一些非 linuxCNC 客户问题,因此驱动程序需要更改
(控制/设置寄存器被分成 2 个寄存器以便为数字滤波时间设置字段)

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者

你能用简单的话告诉我该怎么做吗:-)

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

这是当前的固件寄存器映射: http:
//freeby.mesanet.com/biss
看起来(从驱动程序源)原始映射是:

数据
控制/设置 reg
global start/status

新映射是

数据
controi/setup reg 0
control/setup reg 1
global start/status

我认为控制/设置寄存器数据位和基本上在相同的地方
,但分散到 2 个寄存器以为新添加的数字滤波器寄存器腾出空间

我在 Ebay 上找到了一个价格合理的 BISS 编码器,我将购买它来测试
接口。

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598 andypugh 自己分配了这个 2019 年 5 月 29 日
Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

我现在已经修复了这个问题(虽然只在一个 BISS 编码器上测试过)
只需要合并

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者

我不知何故失去了这个。我确实开始研究它。也许我在某处的虚拟机上丢失了它。
有拉取请求吗?

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

还没有,我仍然看到位置精度的问题,我认为(可能是错误的)位置是由双精度浮点数表示的,但它似乎是单精度的。我的测试 BISS 编码器是每圈 19 位和 11 位的圈数,所以从 0 开始移动 10 圈显示精度损失(好像只有 ~ 6 位精度)

Hostmot2 BISS MPRegs number check is wrong in abs_encoder.c #598
合作者作者

好的,抱歉误报,BISS 编码器的精度很好,我被“watch”和 halmeter 误导了,它们格式化显示数字以适应可用的显示空间。python hal 接口
prinst 完整数字(感谢 Jepler)