{ 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_DISABLE }, // S_AGPIO_L11 G_INT1
+ { 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_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_DEDGE, 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 500
+#define CYWEE_CHECK_MS 40
osTimerId_t g_cywee_service_timer = NULL;
static bool g_batter_service_initialled = false;
{
continue;
}
-
- if (mail.cmd == CYWEE_SERVICE_CMD_TIMER_CHECK)
- {
- cywee_int_handler();
- // lis2doc_read_data();
- // printf("CYWEE_SERVICE_CMD_TIMER_CHECK\r\n");
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_TEST)
- {
- test_api();
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_START_CHECK)
- {
- cywee_service_running_stat = true;
- cywee_main_dml();
- cywee_service_timer_start_check(CYWEE_CHECK_MS);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_STOP_CHECK)
- {
- cywee_service_running_stat = false;
- if (g_cywee_service_timer != NULL)
- osTimerStop(g_cywee_service_timer);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_NORMAL_MODE)
- {
- PRINT("普通运动模式\r\n");
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_TREADMILL_MODE)
- {
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_TREADMILL);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_OUTDOOR_RUNNING_MODE)
- {
- PRINT("室外跑步模式\r\n");
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE)
- {
- PRINT("室内跑步模式\r\n");
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_INDOOR_RUNNING);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_FITNESS_PEDOMETER_MODE)
- {
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_FREE_TRAINING_MODE)
- {
- PRINT("自由训练模式\r\n");
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_FREE_TRAINING);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_AR_ALERT_MODE)
- {
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_AR_ALERT);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_PAUSE)
- {
- activity_mode_setstatus(1);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_RESUME)
- {
- activity_mode_setstatus(0);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_ONCHARGING_CHANGE)
- {
- cywee_oncharging_update(mail.data[0]);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE)
- {
- cywee_wearstatus_update(mail.data[0]);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_HRS_WEARSTATUS_CHANGE)
- {
- cywee_hrs_wearstatus_update(mail.data[0], mail.data[1]);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_SEDENTARY_MODE)
- {
- cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_NAP_MODE)
- {
- cyw_inactivity_mode_change(INACTIVITY_MODE_NAP);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_SLEEPING_MODE)
- {
- cyw_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_OPEN_HAND_UPDOWN)
+ switch(mail.cmd)
{
- cywee_hand_updown_switch(1);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_CLOSE_HAND_UPDOWN)
- {
- cywee_hand_updown_switch(0);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_OPEN_AR_ALERT)
- {
- cywee_ar_alert_switch(1);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_CLOSE_AR_ALERT)
- {
- cywee_ar_alert_switch(0);
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_TIME_SYNC)
- {
- cywee_time_sync();
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_GET_SLEEP_DATA)
- {
- cywee_get_sleep_data();
- }
- else if (mail.cmd == CYWEE_SERVICE_CMD_RESET_DAILY_DATA)
- {
- cywee_reset_daily_data();
+ case CYWEE_SERVICE_CMD_TIMER_CHECK:
+ cywee_int_handler();
+ // lis2doc_read_data();
+ // printf("CYWEE_SERVICE_CMD_TIMER_CHECK\r\n");
+ break;
+
+ case CYWEE_SERVICE_CMD_TEST:
+ test_api();
+ break;
+
+ case CYWEE_SERVICE_CMD_START_CHECK:
+ //cywee_service_running_stat = true;
+ cywee_main_dml();
+ //cywee_service_timer_start_check(CYWEE_CHECK_MS);
+ break;
+
+ case CYWEE_SERVICE_CMD_STOP_CHECK:
+ cywee_service_running_stat = false;
+ if (g_cywee_service_timer != NULL)
+ osTimerStop(g_cywee_service_timer);
+ break;
+
+ case CYWEE_SERVICE_CMD_NORMAL_MODE:
+ PRINT("普通运动模式\r\n");
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
+ break;
+
+ case CYWEE_SERVICE_CMD_TREADMILL_MODE:
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_TREADMILL);
+ break;
+
+ case CYWEE_SERVICE_CMD_OUTDOOR_RUNNING_MODE:
+ PRINT("室外跑步模式\r\n");
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_OUTDOOR_RUNNING);
+ break;
+
+ case CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE:
+ PRINT("室内跑步模式\r\n");
+ cywee_activity_mode_change(CYWEE_SERVICE_CMD_INDOOR_RUNNING_MODE);
+ break;
+
+ case CYWEE_SERVICE_CMD_FITNESS_PEDOMETER_MODE:
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_FITNESS_PEDOMETERR);
+ break;
+
+ case CYWEE_SERVICE_CMD_FREE_TRAINING_MODE:
+ PRINT("自由训练模式\r\n");
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_FREE_TRAINING);
+ break;
+
+ case CYWEE_SERVICE_CMD_AR_ALERT_MODE:
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_AR_ALERT);
+ break;
+
+ case CYWEE_SERVICE_CMD_PAUSE:
+ activity_mode_setstatus(1);
+ break;
+
+ case CYWEE_SERVICE_CMD_RESUME:
+ activity_mode_setstatus(0);
+ break;
+
+ case CYWEE_SERVICE_CMD_ONCHARGING_CHANGE:
+ cywee_oncharging_update(mail.data[0]);
+ break;
+
+ case CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE:
+ cywee_wearstatus_update(mail.data[0]);
+ break;
+
+ case CYWEE_SERVICE_CMD_HRS_WEARSTATUS_CHANGE:
+ cywee_hrs_wearstatus_update(mail.data[0], mail.data[1]);
+ break;
+
+ case CYWEE_SERVICE_CMD_SEDENTARY_MODE:
+ cywee_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
+ break;
+
+ case CYWEE_SERVICE_CMD_NAP_MODE:
+ cywee_inactivity_mode_change(INACTIVITY_MODE_NAP);
+ break;
+
+ case CYWEE_SERVICE_CMD_SLEEPING_MODE:
+ cywee_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
+ break;
+
+ case CYWEE_SERVICE_CMD_OPEN_HAND_UPDOWN:
+ cywee_hand_updown_switch(1);
+ break;
+
+ case CYWEE_SERVICE_CMD_CLOSE_HAND_UPDOWN:
+ cywee_hand_updown_switch(0);
+ break;
+
+ case CYWEE_SERVICE_CMD_OPEN_AR_ALERT:
+ cywee_ar_alert_switch(1);
+ break;
+
+ case CYWEE_SERVICE_CMD_CLOSE_AR_ALERT:
+ cywee_ar_alert_switch(0);
+ break;
+
+ case CYWEE_SERVICE_CMD_TIME_SYNC:
+ cywee_time_sync();
+ break;
+
+ case CYWEE_SERVICE_CMD_GET_SLEEP_DATA:
+ cywee_get_sleep_data();
+ break;
+
+ case CYWEE_SERVICE_CMD_RESET_DAILY_DATA:
+ cywee_reset_daily_data();
+ break;
+
+ default:
+ PRINT("unkonw cmd \r\n");
+ break;
+
}
-
}
}
#define CYWEE_APP_BOARD_MSG_COUNT 50
app_task_definition_t taskcfg = {0};
taskcfg.create_queue_handle = create_cywee_queue;
taskcfg.attr.name = "cywee_service";
- taskcfg.attr.priority = osPriorityNormal;
+ taskcfg.attr.priority = osPriorityNormal2;
taskcfg.attr.stack_size = CYWEE_APP_BOARD_TASK_SIZE;
taskcfg.func = cywee_service_check_task;
taskcfg.use_mem = USE_DTCM_MEM;
void cywee_int_callback(pin_t pin, uintptr_t param)
{
- // PRINT("cywee_int1_callback %d 0x%X\n",pin,param);
+ //PRINT("cywee_int1_callback %d 0x%X\n",pin,param);
uapi_gpio_clear_interrupt(pin);
do_cywee_service_check_msg(CYWEE_SERVICE_CMD_TIMER_CHECK, NULL);
}
struct tm* timeinfo;
time(&rawtime);
timeinfo = localtime(&rawtime);
- PRINT("year[%d], mon[%d], day[%d], hour[%d], min[%d], msc[%d] \r\n",
+ CWM_OS_dbgPrintf("year[%d], mon[%d], day[%d], hour[%d], min[%d], msc[%d] \r\n",
timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,
timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
CWM_SettingControl(SCL_ACTIVITY_PAUSE, &scl);
}
-void cyw_inactivity_mode_change(int mode)
+void cywee_inactivity_mode_change(int mode)
{
cywee_time_sync();
switch (mode)
}
}
-void cyw_activity_mode_change(int mode)
+void cywee_activity_mode_change(int mode)
{
switch (mode)
{
void gsensor_get_n_data(uint8_t cnt,gsenson_t t[])
{
- for(int i=0;i<cnt;i++)
+ for(int i=0;i<cnt;i++)
{
// if(osal_mutex_trylock(&mutex_gsenson_queue)==0)
// {
memset(&scl, 0, sizeof(scl));
scl.iData[0] = 1;
scl.iData[7] = 5; //轴向配置
-#if 1
+#if 0
scl.iData[3] = 2;
scl.iData[4] = 2; //1 anytime 2 fifo
scl.iData[6] = 25; //先設定5
//CWM_Sensor_Enable(IDX_ALGO_ABSOLUTE_STATIC);
//CWM_OS_dbgPrintf("[DBG] %s %d\n", __func__,__LINE__);
- cyw_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
+ cywee_activity_mode_change(SPORT_ACTIVE_MODE_NORMAL);
- cyw_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
+ cywee_inactivity_mode_change(INACTIVITY_MODE_SEDENTARY);
- //cyw_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
+ //cywee_inactivity_mode_change(INACTIVITY_MODE_SLEEPING);
return 0;
}