feat: 增加复位动作
This commit is contained in:
@@ -16,6 +16,7 @@ PID_TypeDef pid_m1;
|
||||
PID_TypeDef pid_m2;
|
||||
uint8_t motion_enable_flag;
|
||||
uint8_t motion_busy_flag;
|
||||
uint8_t motion_reset_flag;
|
||||
int16_t time_via;
|
||||
float position_abs;
|
||||
|
||||
@@ -113,6 +114,15 @@ void by_motion_set_distance2(float distance, int16_t speed)
|
||||
distance = distance - position_abs;
|
||||
position_abs += distance;
|
||||
|
||||
if (5.0 >= position_abs) {
|
||||
position_abs = 0;
|
||||
by_motion_set_speed_m1(-4);
|
||||
motion_busy_flag = 1;
|
||||
motion_reset_flag = 1;
|
||||
LOGD("RESET position_abs = %f\r\n", position_abs);
|
||||
return;
|
||||
}
|
||||
|
||||
if (distance < 0.0f) {
|
||||
distance = -distance;
|
||||
by_motion_set_speed_m1(-1 * speed);
|
||||
@@ -225,6 +235,15 @@ void by_motion_tmr_handle(void)
|
||||
return;
|
||||
}
|
||||
|
||||
if (motion_reset_flag) {
|
||||
if (!gpio_input_data_bit_read(GPIOB, GPIO_PINS_3)) {
|
||||
motion_reset_flag = 0;
|
||||
motion_busy_flag = 0;
|
||||
by_motion_set_speed_m1(0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (time_via > 0) {
|
||||
time_via--;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user