关闭 c031917 打开了这个问题 2020 年 4 月 23 日 · 1条评论 关闭 当 DEFAULT_HOMING_DIR_MASK 不为 0 时,反冲设置部分被忽略#37 c031917 打开了这个问题 2020 年 4 月 23 日 · 1条评论 评论 c031917 评论了 2020 年 4 月 23 日 你好, 谢谢你的工作——它终于可以给我真正需要的反弹补偿。我什至为此从 Arduino2560 切换到 STM32.. 我遇到了一个效果,即我为 X 设置了反冲设置,但没有为 Y 设置。 通过调试器,我发现这是在 MotionControl.c 中的 MC_Init 中引起的 void MC_Init(void) { for(uint8_t i = 0; i < N_AXIS; i++) { dir_negative[i] = DIR_NEGATIV ^ (settings.homing_dir_mask & (1<<i)); } 当 settings.homing_dir_mask 不为零时,我的工厂就是这种情况(“3”表示 X 和 Y 倒转,而不是 Z),初始化完成后 dir_negative[] 为 {0;3;1;1;1}。但它应该是 {1;1;0;0;0} 这导致总是跳过 Y 反向间隙计算进一步向下,因为与 3 比较时这个表达式永远不会变为真: 如果(dir_negative[i] == DIR_NEGATIV) 我将 MC_Init 中的行替换为 dir_negative[i] = 1 & (settings.home_dir_mask >> i); 现在我在 dir_negative[] 中得到 {1;1;0;0;0},因此也在 Y 上进行反冲补偿! 该行尚未完成,因为我删除了“DIR_NEGATIV ^”部分 此致 彼得 ?1个Schildkroet 用竖起大拇指的表情符号回应 所有者 希尔德克鲁特 评论了 2020 年 4 月 23 日 谢谢,我稍后再看。 Schildkroet 添加了 漏洞 标签 2020 年 4 月 23 日 Schildkroet 添加了引用此问题的提交 2020 年 7 月 21 日 Minor fixes …… b7a1d30 Schildkroet已完成 关闭 2021 年 2 月 7 日 喜欢 (0) 名单板 #36 波特率 #38 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭 无法在 gsender 1.2.0 中打开 .gcode 文件 #367 RaspberryPi 运行 gsender 时出现问题 #89 向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭无法在 gsender 1.2.0 中打开 .gcode 文件 #367RaspberryPi 运行 gsender 时出现问题 #89向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473功能请求:抑制发送到机器的 gcode 中的 gcode 注释。 #444 关闭通过网络连接进行连接 #171操纵杆运动的剩余问题 #204 关闭新版本认为我的机器一直处于锁定状态 #474 关闭
你好,
谢谢你的工作——它终于可以给我真正需要的反弹补偿。我什至为此从 Arduino2560 切换到 STM32..
我遇到了一个效果,即我为 X 设置了反冲设置,但没有为 Y 设置。
通过调试器,我发现这是在 MotionControl.c 中的 MC_Init 中引起的
void MC_Init(void)
{
for(uint8_t i = 0; i < N_AXIS; i++)
{
dir_negative[i] = DIR_NEGATIV ^ (settings.homing_dir_mask & (1<<i));
}
当 settings.homing_dir_mask 不为零时,我的工厂就是这种情况(“3”表示 X 和 Y 倒转,而不是 Z),初始化完成后 dir_negative[] 为 {0;3;1;1;1}。但它应该是 {1;1;0;0;0}
这导致总是跳过 Y 反向间隙计算进一步向下,因为与 3 比较时这个表达式永远不会变为真:
如果(dir_negative[i] == DIR_NEGATIV)
我将 MC_Init 中的行替换为
dir_negative[i] = 1 & (settings.home_dir_mask >> i);
现在我在 dir_negative[] 中得到 {1;1;0;0;0},因此也在 Y 上进行反冲补偿!
该行尚未完成,因为我删除了“DIR_NEGATIV ^”部分
此致
彼得