将一个方向的换能器通道坏掉时,处理逻辑由该通道风速风向归零改为整体风速风向归零
This commit is contained in:
parent
30a4ed6d76
commit
eb69ce74d0
|
@ -519,7 +519,7 @@ void wind_task(void const * argument)
|
||||||
speedy[speedi] = weather_info.wind_velocity_y;
|
speedy[speedi] = weather_info.wind_velocity_y;
|
||||||
speed[speedi] = weather_info.wind_velocity;
|
speed[speedi] = weather_info.wind_velocity;
|
||||||
angle[speedi++] = weather_info.wind_angle*180/PI;
|
angle[speedi++] = weather_info.wind_angle*180/PI;
|
||||||
|
|
||||||
if(speedi>=AV_SPEED_LEN)
|
if(speedi>=AV_SPEED_LEN)
|
||||||
{
|
{
|
||||||
speedi=0;
|
speedi=0;
|
||||||
|
@ -531,8 +531,17 @@ void wind_task(void const * argument)
|
||||||
/* 一阶低通滤波器 */
|
/* 一阶低通滤波器 */
|
||||||
av_speed = sqrtf(av_speedx*av_speedx + av_speedy*av_speedy);
|
av_speed = sqrtf(av_speedx*av_speedx + av_speedy*av_speedy);
|
||||||
av_angle = acosf(av_speedx/(av_speed+0.00000001))/2/PI*360;
|
av_angle = acosf(av_speedx/(av_speed+0.00000001))/2/PI*360;
|
||||||
|
|
||||||
|
// 有错时风速风向归零
|
||||||
|
if(g_error_log.tof_error_NS || g_error_log.tof_error_WE)
|
||||||
|
{
|
||||||
|
av_speed = 0;
|
||||||
|
av_angle = 0;
|
||||||
|
}
|
||||||
|
// 360一圈
|
||||||
if(av_speedy<0)
|
if(av_speedy<0)
|
||||||
av_angle = 360-av_angle;
|
av_angle = 360-av_angle;
|
||||||
|
// 速度太小视为0风速
|
||||||
if(fabs(av_speed)<0.1)
|
if(fabs(av_speed)<0.1)
|
||||||
{
|
{
|
||||||
av_speed = 0;
|
av_speed = 0;
|
||||||
|
@ -540,7 +549,6 @@ void wind_task(void const * argument)
|
||||||
}
|
}
|
||||||
/// term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle);
|
/// term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
///term_printf("win_speed %.2f \r\n",weather_info.wind_velocity);
|
///term_printf("win_speed %.2f \r\n",weather_info.wind_velocity);
|
||||||
//HAL_Delay(1);
|
//HAL_Delay(1);
|
||||||
//osDelay(3//
|
//osDelay(3//
|
||||||
|
|
Loading…
Reference in New Issue