v1.1添加按键功能的中文日志说明,改进了零点逻辑,之前回零成功后再次下发回零还会移动然后撞到限位开关,现在会正确保持在零点
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "app_key.h"
|
||||
#include "app_key.h"
|
||||
#include <stddef.h>
|
||||
|
||||
/* 按键行为说明:
|
||||
@@ -123,15 +123,15 @@ static void key_guard_check(Stepper_t *stepper)
|
||||
est_pos_mm = key_estimate_pos_mm(stepper);
|
||||
current_absolute_pos_mm = est_pos_mm;
|
||||
xzero_active = key_home_switch_active();
|
||||
if ((stepper->x_zero == 1u) && (xzero_active == 0u))
|
||||
if (xzero_active == 1u)
|
||||
{
|
||||
/* 若引脚当前未触发,清除可能因抖动造成的 EXTI 残留置位。 */
|
||||
stepper->x_zero = 0u;
|
||||
/* 引脚有效即锁存命中,避免短脉冲漏检。 */
|
||||
stepper->x_zero = 1u;
|
||||
}
|
||||
|
||||
if (s_home_active)
|
||||
{
|
||||
if ((stepper->x_zero == 1u) && (xzero_active == 1u))
|
||||
if (stepper->x_zero == 1u)
|
||||
{
|
||||
local_motion_estop(stepper);
|
||||
stepper->x_zero = 0u;
|
||||
@@ -147,7 +147,7 @@ static void key_guard_check(Stepper_t *stepper)
|
||||
debug_printf("[KEY] JOG+ reach soft limit %.1f mm", SOFT_LIMIT_MAX_MM);
|
||||
}
|
||||
else if ((s_jog_key == KEY_3) &&
|
||||
((stepper->x_zero == 1u) && (xzero_active == 1u)))
|
||||
(stepper->x_zero == 1u))
|
||||
{
|
||||
local_motion_stop_decel(stepper);
|
||||
stepper->x_zero = 0u;
|
||||
|
||||
Reference in New Issue
Block a user