static void get_avg_voltage(float *vol)
{
uint32_t current_time = 0;
+ float max_vol = 0;
+ float min_vol = 0;
uapi_get_timestampe_ss(¤t_time);
if(history_time == 0)
history_time = current_time;
if(sample_time >= 10)
{
sample_time = 0;
- if(vol_num == 5)
+ if(vol_num == 7)
{
sum_vol -= history_data[left];
history_data[left] = 0;
left++;
- left = left % 5;
+ left = left % 7;
vol_num--;
}
vol_num++;
right++;
- right = right % 5;
+ right = right % 7;
history_data[right] = *vol;
sum_vol += history_data[right];
}
- if(vol_num != 0)
- *vol = sum_vol / vol_num;
-
+ if(vol_num > 0)
+ {
+ if(vol_num > 2)
+ {
+ min_vol = history_data[0];
+ max_vol = history_data[0];
+ for (int i = 0;i < vol_num; i++)
+ {
+ if (history_data[i] < min_vol)
+ min_vol = history_data[i];
+ if (history_data[i] > max_vol)
+ max_vol = history_data[i];
+ }
+ *vol = (sum_vol - max_vol - min_vol) / (vol_num - 2);
+ }
+ else
+ *vol = sum_vol / vol_num;
+ }
}
+/*\r
+ * @Author: penglei 1624952103@qq.com\r
+ * @Date: 2024-06-07 11:18:25\r
+ * @LastEditors: penglei 1624952103@qq.com\r
+ * @LastEditTime: 2024-06-29 14:34:23\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/alarmclocktimerconfig/include/AlarmClockTimerConfig.h\r
+ * @Description: \r
+ * \r
+ * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved. \r
+ */\r
/*\r
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
* Description: AlarmClockTimer\r
int32_t SetZeroAlarm(void);\r
int32_t SetAlarm(AlarmType type, uint8_t week, uint8_t hour, uint8_t minute);\r
int32_t AlarmGetCurrentTimeInfo(struct tm *timeInfo);\r
-\r
+void set_sleep_and_wake_time(void);\r
#ifdef __cplusplus\r
}\r
#endif\r
static AlarmCtrl g_alarmCtrB;\r
static osTimerId_t g_AlarmHandle = nullptr;\r
\r
+static int sleep_time = 0;\r
+static int wake_up_time = 0;\r
+\r
+void set_sleep_and_wake_time(void)\r
+{\r
+ sleep_time = get_sleep_time_from_config_model();\r
+ wake_up_time = get_wake_up_time_from_config_model();\r
+}\r
+\r
void AlarmTimerEventPublish(uint16 topic, AlarmClockEventData data)\r
{\r
int32 ret;\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time: %d : %d",curTime.tm_hour,curTime.tm_min);\r
on_time_CallBackProc();\r
- if(curTime.tm_hour == get_sleep_time_from_config_model())\r
- {\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE,NULL);\r
- }\r
- else if(curTime.tm_hour == get_wake_up_time_from_config_model())\r
- {\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE,NULL);\r
- }\r
+ }\r
+ else if(curTime.tm_hour == ( ( sleep_time & 0XFF00) >> 16 ) && curTime.tm_min == ( sleep_time & 0X00FF ))\r
+ {\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_SLEEPING_MODE,NULL);\r
+ }\r
+ else if(curTime.tm_hour == ( ( wake_up_time & 0XFF00) >> 16 ) && curTime.tm_min == ( wake_up_time & 0X00FF ))\r
+ {\r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_NAP_SEDENTARY_MODE,NULL);\r
}\r
}\r
\r
if (ret != ERRCODE_SUCC) {\r
return ERRCODE_FAIL;\r
}\r
+ set_sleep_and_wake_time();\r
return ERRCODE_SUCC;\r
}\r
\r