From: p15692025051 <846603105@qq.com> Date: Sat, 23 Dec 2023 06:23:38 +0000 (+0800) Subject: 跌倒报警算法优化 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=fb384d1dedd916600fc390b994a97c8b5003ca42;p=mirrors%2FASR3603_Z5.git 跌倒报警算法优化 --- diff --git a/2.sdk/sdk/gui/lv_drivers/indev/my_xMotion.c b/2.sdk/sdk/gui/lv_drivers/indev/my_xMotion.c index 9ec4ceee..d98bef1b 100644 --- a/2.sdk/sdk/gui/lv_drivers/indev/my_xMotion.c +++ b/2.sdk/sdk/gui/lv_drivers/indev/my_xMotion.c @@ -299,11 +299,11 @@ short Gsensor_x[32]; short Gsensor_y[32]; short Gsensor_z[32]; int Gsensor_xyz_len = 0; -#define ACC_0G_X 8192 //4096 -#define ACC_0G_Y 8192 -#define ACC_0G_Z 8192 -#define FALL_DETECH_LOW_THRESHOLD 45 -#define FALL_COUNTER_THRESHOLD 5 +#define ACC_0G_X 4096//8192 //4096 +#define ACC_0G_Y 4096//8192 +#define ACC_0G_Z 4096//8192 +#define FALL_DETECH_LOW_THRESHOLD 35 +#define FALL_COUNTER_THRESHOLD 7 typedef struct { float x; @@ -319,7 +319,7 @@ uint8_t gsensor_sc7a20_fall_detect(acc_g_data_t * acc) // { // memcpy(&s_sc7a20_test_info, acc, sizeof(acc_g_data_t)); // } - + //cplog_printf("acc_square:%f,%f,%f,%f\n",acc_square,acc->x,acc->y,acc->z); if(acc_square < FALL_DETECH_LOW_THRESHOLD ) { fall_counter++; @@ -390,11 +390,19 @@ static void My_Motion_Main(VOID * argv) // s_acc.x= Gsensor_x[i]; // s_acc.y= Gsensor_y[i]; // s_acc.z= Gsensor_z[i]; - s_acc.x = (float)((Gsensor_x[i]*9.8f)/((uint16_t)ACC_0G_X)); - s_acc.y = (float)((Gsensor_y[i]*9.8f)/((uint16_t)ACC_0G_Y)); - s_acc.z = (float)((Gsensor_z[i]*9.8f)/((uint16_t)ACC_0G_Z)); + // s_acc.x = (float)((Gsensor_x[i]*9.8f)/((uint16_t)ACC_0G_X)); + // s_acc.y = (float)((Gsensor_y[i]*9.8f)/((uint16_t)ACC_0G_Y)); + // s_acc.z = (float)((Gsensor_z[i]*9.8f)/((uint16_t)ACC_0G_Z)); + s_acc.x = ((float)Gsensor_x[i]/100); + s_acc.y = ((float)Gsensor_y[i]/100); + s_acc.z = ((float)Gsensor_z[i]/100); + //cplog_printf("x:%d,y:%d,z:%d!!!\n",Gsensor_x[i],Gsensor_y[i],Gsensor_z[i]); if(gsensor_sc7a20_fall_detect(&s_acc) == 1)//跌倒报警 - mmi_gsensor_sensor_fall_alarm(); + { + //cplog_printf("mmi_gsensor_sensor_fall_alarm x:%d,y:%d,z:%d!!!\n",Gsensor_x[i],Gsensor_y[i],Gsensor_z[i]); + mmi_gsensor_sensor_fall_alarm(); + } + } #if USE_HX3918 hx3918_set_gsen_fifo(Gsensor_x,Gsensor_y,Gsensor_z,Gsensor_xyz_len);