{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L9 dsp uart TP35
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L10 dsp uart TP36
#endif
- { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_ENBALE }, // S_AGPIO_L11 G_INT1
+ { HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_DOWN, HAL_PIO_IE_DISABLE }, // S_AGPIO_L11 G_INT1
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_ENBALE }, // S_AGPIO_L12 i2c data HX3507_SDIO
{ HAL_PIO_FUNC_GPIO, HAL_PIO_DRIVE_MAX, HAL_PIO_PULL_MAX, HAL_PIO_IE_DISABLE }, // S_AGPIO_L13 i2c CLK HX3507_SCLK
#ifdef ENABLE_CYWEE
/**G sensor G_INT1 S_AGPIO_L11 G_INT2 S_AGPIO_L19 采用timer 时这些中断要屏蔽*/
- { S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback },
+ //{ S_AGPIO_L11, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_RISING_EDGE, cywee_int_callback },
//{ S_AGPIO_L19, HAL_GPIO_DIRECTION_INPUT, NULL, GPIO_INTERRUPT_DEDGE, cywee_int_callback },
#endif
/**S_AGPIO_R1 GPO alipay默认resetpin*/
* 其他cmd在Header里定义,对外开放
*/
-#define CYWEE_CHECK_MS 40
+#define CYWEE_CHECK_MS 200
osTimerId_t g_cywee_service_timer = NULL;
static bool g_batter_service_initialled = false;
case SPORT_ACTIVE_MODE_FREE_TRAINING:
PRINT("CYWEE_MSG_TYPE_FREE_TRAINING_UPDATE\r\n");
memcpy(&c_activity_result_t, msg_data, sizeof(cywee_activity_result_t));
- PRINT("activit_mode[%d], calories[%d], duration[%d], MHR_zone[%d],hrs[%d]\n",
+ PRINT("activit_mode[%d], calories[%d],hrs[%d]\n",
c_activity_result_t.activity_mode, c_activity_result_t.calories, c_activity_result_t.hrs);
CustomEventPublish(TOPIC_EVENT_ACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
break;
memcpy(&c_inactivity_result_t, msg_data, sizeof(cywee_inactivity_result_t));
PRINT("sedentary status[%d], stand freq[%d]\n",
c_inactivity_result_t.sedentary_status,c_inactivity_result_t.stand_freq);
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_inactivity_result_t, sizeof(cywee_inactivity_result_t));
break;
// 睡眠
c_inactivity_result_t.month, c_inactivity_result_t.day,
c_inactivity_result_t.hour, c_inactivity_result_t.minute,
sizeof(cywee_inactivity_result_t));
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_inactivity_result_t, sizeof(cywee_inactivity_result_t));
break;
// 睡眠累计
c_inactivity_result_t.total_sleep_time, c_inactivity_result_t.total_mild_sleep_time,
c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time,
c_inactivity_result_t.total_rem_sleep_time,c_inactivity_result_t.stand_freq);
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_inactivity_result_t, sizeof(cywee_inactivity_result_t));
break;
// 小睡
PRINT("nap status[%d], month[%d], day[%d], hour[%d], min[%d]\n",
c_inactivity_result_t.nap_status, c_inactivity_result_t.month,
c_inactivity_result_t.day, c_inactivity_result_t.hour, c_inactivity_result_t.minute);
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_inactivity_result_t, sizeof(cywee_inactivity_result_t));
break;
// 小睡累计
c_inactivity_result_t.total_nap_time, c_inactivity_result_t.total_mild_sleep_time,
c_inactivity_result_t.total_deep_sleep_time, c_inactivity_result_t.total_wake_time,
c_inactivity_result_t.total_rem_sleep_time,c_inactivity_result_t.stand_freq);
- CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_activity_result_t, sizeof(cywee_activity_result_t));
+ CustomEventPublish(TOPIC_EVENT_INACTIVITY_UPDATE, &c_inactivity_result_t, sizeof(cywee_inactivity_result_t));
break;
}
}
break;
case CYWEE_SERVICE_CMD_START_CHECK:
- //cywee_service_running_stat = true;
+ cywee_service_running_stat = true;
cywee_main_dml();
- //cywee_service_timer_start_check(CYWEE_CHECK_MS);
+ cywee_service_timer_start_check(CYWEE_CHECK_MS);
break;
case CYWEE_SERVICE_CMD_STOP_CHECK:
// sensorEVT->fData[1],
// sensorEVT->fData[2]
// );
+
if(num_falg==25)
{
left_falg++;
memset(&scl, 0, sizeof(scl));
scl.iData[0] = 1;
scl.iData[7] = 5; //轴向配置
-#if 0
+#if 1
scl.iData[3] = 2;
scl.iData[4] = 2; //1 anytime 2 fifo
- scl.iData[6] = 25; //先設定5
- scl.iData[8] = 26; // for st sensor(52Hz)
+ scl.iData[6] = 15; //先設定5
+ scl.iData[8] = 13; // for st sensor(52Hz)
#else
scl.iData[3] = 2;
scl.iData[4] = 1; //1 anytime 2 fifo
int16_t gsen_fifo_y[64]={0};\r
int16_t gsen_fifo_z[64]={0};\r
\r
-gsenson_t gsensordata[8];\r
+gsenson_t gsensordata[5];\r
\r
#ifdef SPO2_VECTOR\r
#include "spo2_vec.h"\r
PRINT("*count : %d \r\n",*count);\r
if(*count < 10)\r
{\r
- gsensor_get_n_data(8,gsensordata);\r
+ gsensor_get_n_data(5,gsensordata);\r
for(ii=0; ii<*count; ii++)\r
{\r
- if(ii == 8)\r
- {\r
- gsen_fifo_x_send[ii] = gsen_fifo_x_send[ii - 1];\r
- gsen_fifo_y_send[ii] = gsen_fifo_y_send[ii - 1];\r
- gsen_fifo_z_send[ii] = gsen_fifo_z_send[ii - 1];\r
- }\r
- else\r
- {\r
// gsen_fifo_x_send[ii] = (gsensordata[ii*2].x + gsensordata[2*ii + 1].x)/2;\r
// gsen_fifo_y_send[ii] = (gsensordata[ii*2].y + gsensordata[2*ii + 1].y)/2;\r
// gsen_fifo_z_send[ii] = (gsensordata[ii*2].z + gsensordata[2*ii + 1].z)/2;\r
- gsen_fifo_x_send[ii] = gsensordata[ii].x * 2048;\r
- gsen_fifo_y_send[ii] = gsensordata[ii].y * 2048;\r
- gsen_fifo_z_send[ii] = gsensordata[ii].z * 2048;\r
- }\r
+ gsen_fifo_x_send[ii] = gsensordata[ii/2].x * 2048;\r
+ gsen_fifo_y_send[ii] = gsensordata[ii/2].y * 2048;\r
+ gsen_fifo_z_send[ii] = gsensordata[ii/2].z * 2048;\r
+\r
//PRINT("hxdata:%d/%d %d %d %.3f %.3f %.3f %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii],ppg_s_data.green_cur);\r
PRINT("hxdata:%d/%d %d %d %d %d %d %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii],ppg_s_data.green_cur);\r
+ \r
}\r
-\r
hrs_wear_status = hx3695_hrs_get_wear_status();\r
PRINT("hrs_wear_status: %d !!\r\n", hrs_wear_status);\r
\r
PRINT("*count[%d] \r\n",*count);\r
if(*count < 10)\r
{\r
- gsensor_get_n_data(8,gsensordata);\r
+ gsensor_get_n_data(5,gsensordata);\r
for(ii=0; ii<*count; ii++)\r
{\r
- if(ii == 8)\r
- {\r
- gsen_fifo_x_send[ii] = gsen_fifo_x_send[ii - 1];\r
- gsen_fifo_y_send[ii] = gsen_fifo_y_send[ii - 1];\r
- gsen_fifo_z_send[ii] = gsen_fifo_z_send[ii - 1];\r
- }\r
- else\r
- {\r
- // gsen_fifo_x_send[ii] = (gsensordata[ii*2].x + gsensordata[2*ii + 1].x)/2;\r
- // gsen_fifo_y_send[ii] = (gsensordata[ii*2].y + gsensordata[2*ii + 1].y)/2;\r
- // gsen_fifo_z_send[ii] = (gsensordata[ii*2].z + gsensordata[2*ii + 1].z)/2;\r
- gsen_fifo_x_send[ii] = gsensordata[ii].x * 2048;\r
- gsen_fifo_y_send[ii] = gsensordata[ii].y * 2048;\r
- gsen_fifo_z_send[ii] = gsensordata[ii].z * 2048;\r
- }\r
+ \r
+ // gsen_fifo_x_send[ii] = (gsensordata[ii*2].x + gsensordata[2*ii + 1].x)/2;\r
+ // gsen_fifo_y_send[ii] = (gsensordata[ii*2].y + gsensordata[2*ii + 1].y)/2;\r
+ // gsen_fifo_z_send[ii] = (gsensordata[ii*2].z + gsensordata[2*ii + 1].z)/2;\r
+ gsen_fifo_x_send[ii] = gsensordata[ii/2].x * 2048;\r
+ gsen_fifo_y_send[ii] = gsensordata[ii/2].y * 2048;\r
+ gsen_fifo_z_send[ii] = gsensordata[ii/2].z * 2048;\r
+\r
PRINT("hxdata:%d/%d %d %d %d %d %d %d\r\n",\r
1+ii,*count,red_buf[ii],ir_buf[ii],green_buf[ii],gsen_fifo_x_send[ii],gsen_fifo_y_send[ii],gsen_fifo_z_send[ii]);\r
//printf("FFF==>spo2 red_buf : %d, %d, %d, %d \n", 1+ii, *count, red_buf[ii], ir_buf[0]);\r