开源改变世界

迎合不一致的限位开关 #1525

推推 grbl 3年前 (2023-01-24) 179次浏览

打开
J-Dunn 打开了这个问题 2019 年 5 月 12 日 · 1条评论
打开

迎合不一致的限位开关#1525

J-Dunn 打开了这个问题 2019 年 5 月 12 日 · 1条评论

注释

迎合不一致的限位开关 #1525

我只需要更换一个限位开关,所有这些开关通常都被拉低并在触发时进入高状态。这是用 BITFLAG_INVERT_LIMIT_PINS true ($5=y) 配置的

我不得不用我所拥有的解决这个问题,结果导致开关操作不一致,所以我需要修改 GRBL 中开关极性的全有或全无二进制选择。我做了一个简单的扩展来解决这个问题,放弃了 5 美元的功能。

//  if (bit_isfalse(settings.flags,BITFLAG_INVERT_LIMIT_PINS))  // if invert pin is #FALSE# we invert the limit states !
//	  limit_state ^= LIMIT_MASK;  
#define LIMIT_SW_POLARITY 0b011 // xyz=012;  x,y=N.C. trigger HI ; z=N.O; trigger LO
    limit_state ^= LIMIT_SW_POLARITY;  // only used bits are tested.

#define 应该与其他限制#defines 一起在cpu_map 文件中。
为了简洁起见,我把它留在这里。

大多数制造的机器可能会在所有开关上使用相同的极性约定,但我认为这可能在某些地方有用,即使只是像我今天所做的那样快速修复。

可能值得扩展简单的二进制选项以启用单独的交换机配置。

迎合不一致的限位开关 #1525

您是否意识到 config.h 中已经有一个掩码可用于混合使用 NO 和 NC 开关?

// 根据以下掩码反转选择限制引脚状态。这会影响所有限制引脚功能,
//例如硬限制和归位。但是,这与总体反转限制设置不同。
//此构建选项将仅反转此处定义的限制引脚,然后反转限制设置
//将应用于所有这些。当用户
在他们的机器上安装了一组混合的限位销时,这很有用 // 常开(NO)和常闭(NC)开关。
// 注意:请不要使用它,除非你有需要它的情况。
// #define INVERT_LIMIT_PIN_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)) // 默认禁用。取消注释以启用。

喜欢 (0)