feat: 推送编码器双边采样更改

This commit is contained in:
bmy
2024-08-03 12:33:23 +08:00
parent c9da340c46
commit cb5e6f848c
6 changed files with 83 additions and 18 deletions

View File

@@ -37,7 +37,7 @@ int16_t by_motion_get_speed_m1(void)
#define alpha (0.1f)
static float last_speed = 0.0f;
param_m1.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(-1 * (int16_t)tmr_counter_value_get(TMR2));
last_speed = param_m1.real_speed;
last_speed = param_m1.real_speed;
tmr_counter_value_set(TMR2, 0);
return (int16_t)param_m1.real_speed;
#undef alpha
@@ -48,7 +48,7 @@ int16_t by_motion_get_speed_m2(void)
#define alpha (0.1f)
static float last_speed = 0.0f;
param_m2.real_speed = alpha * last_speed + (1.0f - alpha) * (float)(-1 * (int16_t)tmr_counter_value_get(TMR3));
last_speed = param_m2.real_speed;
last_speed = param_m2.real_speed;
tmr_counter_value_set(TMR3, 0);
return (int16_t)param_m2.real_speed;
#undef alpha
@@ -118,13 +118,13 @@ void by_motion_can_handle(uint16_t stdd_id, const uint8_t *data, uint8_t len)
#if defined(BC2D_MODEL1)
int16_t speed_m1_temp = (int16_t)(data[0] | (data[1] << 8));
int16_t speed_m2_temp = (int16_t)(data[2] | (data[3] << 8));
by_motion_set_speed_m1(speed_m1_temp);
by_motion_set_speed_m2(speed_m2_temp);
by_motion_set_speed_m1(speed_m1_temp * 2);
by_motion_set_speed_m2(speed_m2_temp * 2);
#elif defined(BC2D_MODEL2)
int16_t speed_m1_temp = (int16_t)(data[4] | (data[5] << 8));
int16_t speed_m2_temp = (int16_t)(data[6] | (data[7] << 8));
by_motion_set_speed_m1(speed_m1_temp);
by_motion_set_speed_m2(speed_m2_temp);
by_motion_set_speed_m1(speed_m1_temp * 2);
by_motion_set_speed_m2(speed_m2_temp * 2);
#endif
}