// 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.
我只需要更换一个限位开关,所有这些开关通常都被拉低并在触发时进入高状态。这是用 BITFLAG_INVERT_LIMIT_PINS true ($5=y) 配置的
我不得不用我所拥有的解决这个问题,结果导致开关操作不一致,所以我需要修改 GRBL 中开关极性的全有或全无二进制选择。我做了一个简单的扩展来解决这个问题,放弃了 5 美元的功能。
#define 应该与其他限制#defines 一起在cpu_map 文件中。
为了简洁起见,我把它留在这里。
大多数制造的机器可能会在所有开关上使用相同的极性约定,但我认为这可能在某些地方有用,即使只是像我今天所做的那样快速修复。
可能值得扩展简单的二进制选项以启用单独的交换机配置。