Code review from 彭磊
* refs/changes/1126/head: (13 commits squashed)
- 修改小睡数据合并成一个文件
- 修改小睡数据存入一个文件(默认关闭 待协议调通)
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- debug界面添加睡眠数据以及睡眠状态runtime,更新cywee算法库修复配速BUG,优化睡眠模式alarm逻辑
- 修改gsensor FIFO笔数为15笔 并同步运动心率修改
- Merge branch 'sdk602patch0626' of https://codeup.aliyun.com/
64191456b9581d62e8f81ac0/FD230 into sdk602patch0626
- 回退alarm 睡眠闹钟修改
Signed-off-by: aliyun6865282430 <1624952103@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1126
* @Author: penglei 1624952103@qq.com
* @Date: 2024-06-26 19:36:48
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-10-05 16:14:11
+ * @LastEditTime: 2024-10-05 18:30:44
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/sleep/include/SleepModel.h
* @Description:
*
bool read_nap_data(NAP_T *data);
void clean_sleep_data(void);
bool create_sleep_folder(void);
+ std::string get_sleep_asleep_time_str(void);
+ std::string get_sleep_wake_time_str(void);
//void clean_sleep_file(void);
// 睡眠状态
enum class SLEEPSTATE
* @Author: penglei 1624952103@qq.com
* @Date: SLEPPNOTIFY24-06-26 19:36:48
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-10-05 16:10:03
+ * @LastEditTime: 2024-10-08 17:50:46
* @FilePath:
* /FD230/code/sdk/application/wearable/fd230app/nativeui/sleep/src/SleepModel.cpp
* @Description:
return S_ISREG(file_stat.st_mode); // 检查文件是否为普通文件
}
+ std::string get_sleep_asleep_time_str(void)
+ {
+ std::string timestr;
+ char labelTime[20] = {0};
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sleep_data.fall_asleep_timestamp : %d",sleep_data.fall_asleep_timestamp);
+ if (uapi_get_TIME_STR(sleep_data.fall_asleep_timestamp, labelTime, '.', ':', DATE_Y_M_D_H_M) != ERRCODE_SUCC || !sleep_data.fall_asleep_timestamp)
+ {
+ timestr = "--";
+ }
+ else
+ {
+ timestr = labelTime;
+ }
+ return timestr;
+ }
+
+ std::string get_sleep_wake_time_str(void)
+ {
+ std::string timestr;
+ char labelTime[20] = {0};
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sleep_data.wake_up_timestamp : %d",sleep_data.wake_up_timestamp);
+ if (uapi_get_TIME_STR(sleep_data.wake_up_timestamp, labelTime, '.', ':', DATE_Y_M_D_H_M) != ERRCODE_SUCC || !sleep_data.wake_up_timestamp)
+ {
+ timestr = "--";
+ }
+ else
+ {
+ timestr = labelTime;
+ }
+ return timestr;
+ }
+
bool read_sleep_data(SLEEP_T *data)
{
// errcode_t ret;
/*
* @Author: luozheng 1732036298@qq.com
* @Date: 2024-10-02 14:12:12
- * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-03 13:29:50
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2024-10-08 16:29:19
* @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/include/notify/debug_output_notification.h
*/
#ifndef DEBUG_OUTPUT_NOTIFICATION_H
std::string get_system_log(void);
std::string get_battery_info(void);
std::string get_shutdown_info(void);
+ std::string get_sleep_time(void);
private:
DebugOutputViewEventListener();
#include <deque>
#include <cerrno>
#include "bleService.h"
+#include "sleep/include/SleepModel.h"
+
namespace OHOS
{
debugOutputItemInfo[index++] = {5, "battery_service"};
//死机文件列表
debugOutputItemInfo[index++] = {6, "shutdown_file_list"};
+ //睡眠数据
+ debugOutputItemInfo[index++] = {7, "sleep_time"};
usedLen = index;
/* -------------------------------- Add data -------------------------------- */
for (uint8_t i = 0; i < usedLen; i++)
result += "lock_flag_training:" + std::to_string(uapi_dev_runtime_get_train_storage_status()) + " ";
result += "lock_flag_heartrate:" + std::to_string(uapi_dev_runtime_get_heartrate_storage_status()) + " ";
result += "lock_flag_blood:" + std::to_string(uapi_dev_runtime_get_bloodoxygen_storage_status()) + " ";
- result += "lock_flag_sleep:" + std::to_string(uapi_dev_runtime_get_sleep_storage_status());
-
+ result += "lock_flag_sleep:" + std::to_string(uapi_dev_runtime_get_sleep_storage_status()) + " ";;
+ result += "nap_monitoring_status:" + std::to_string(uapi_dev_runtime_get_nap_monitoring_status()) + " ";;
+ result += "nap_status:" + std::to_string(uapi_dev_runtime_get_nap_status()) + " ";;
+ result += "sleep_monitoring_status:" + std::to_string(uapi_dev_runtime_get_sleep_monitoring_status()) + " ";;
+ result += "sleep_status:" + std::to_string(uapi_dev_runtime_get_sleep_status()) + " ";;
return result;
}
return oss.str(); // 返回以换行符分隔的文件名字符串
}
+ //获取睡眠时间戳
+ std::string DebugOutputViewEventListener::get_sleep_time(void)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DebugOutputViewEventListener::get_sleep_time");
+ do_custom_fileoperate_service_check_msg(
+ CUSTOM_FILEOPERATE_MSG_TYPE_SLEEPDATA_READ, nullptr, 0);
+ LOS_Msleep(100);
+ std::string result = "asleep_time:" + get_sleep_asleep_time_str() + " ";
+ result += "wake_time:" + get_sleep_wake_time_str() + " ";
+ return result;
+ }
+
bool DebugOutputViewEventListener::OnClick(OHOS::UIView &view, const OHOS::ClickEvent &event)
{
std::string viewId = view.GetViewId();
case 6:
str = get_shutdown_info();
break;
+ case 7:
+ str = get_sleep_time();
+ break;
default:
str = "--";
break;
#define AP_ENABLE_DML_SDO_LISTEN
-#define GSENSON_MSG_COUNT 25
+#define GSENSON_MSG_COUNT 15
static gsenson_t gxyz_t;
static uint8_t gsenson_falg=0;
static uint16 num_falg=0;
-static gsenson_t gxyz_t_queue[25]={0};
+static gsenson_t gxyz_t_queue[GSENSON_MSG_COUNT]={0};
static int16 left_falg=0;
static int16 right_falg=-1;
if(num_falg)
{
left_falg++;
- left_falg=left_falg%25;
+ left_falg=left_falg%GSENSON_MSG_COUNT;
num_falg--;
}
void CWM_AP_dmlSensorDataOutput_listen(const dml_sensorData_t * pSdo)
{
- if(AccdataCount < 25)
+ if(AccdataCount < GSENSON_MSG_COUNT)
{
if (pSdo->validData & DML_SENSOR_DATA_VALID_DT)
{
#else
scl.iData[3] = 2;
scl.iData[4] = 1; //1 anytime 2 fifo
- scl.iData[6] = GSENSON_MSG_COUNT; //fifocount 先設定5 [1~25]
+ scl.iData[6] = 25; //fifocount 先設定5 [1~25]
scl.iData[8] = 26; // for st sensor(52Hz)
scl.iData[11] = 4; // G_INT_1
}\r
memset(gsensordata,0.0f,sizeof(gsenson_t) * 8);\r
\r
- gsensor_get_n_data(8,gsensordata); \r
+ // gsensor_get_n_data(8,gsensordata); \r
\r
+ // for(ii=0; ii<*count; ii++)\r
+ // {\r
+ // if(gsensordata[ii].x == 0.0f && gsensordata[ii].y == 0.0f && gsensordata[ii].z == 0.0f)\r
+ // {\r
+ // timeout++;\r
+ // if(timeout > 20)\r
+ // {\r
+ // do_cywee_service_check_msg(CYWEE_SERVICE_CMD_RESTART_ACC,NULL);\r
+ // }\r
+ // }\r
+ // else\r
+ // {\r
+ // timeout = 0;\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].x * 4096 / 10;\r
+ // gsen_fifo_y_send[ii] = gsensordata[ii].y * 4096 / 10;\r
+ // gsen_fifo_z_send[ii] = gsensordata[ii].z * 4096 / 10;\r
+ // }\r
+\r
+ gsensor_get_n_data(5,gsensordata); \r
for(ii=0; ii<*count; ii++)\r
{\r
if(gsensordata[ii].x == 0.0f && gsensordata[ii].y == 0.0f && gsensordata[ii].z == 0.0f)\r
{\r
timeout = 0;\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
+ // 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
+ if(ii < 9)\r
{\r
- gsen_fifo_x_send[ii] = gsensordata[ii].x * 4096 / 10;\r
- gsen_fifo_y_send[ii] = gsensordata[ii].y * 4096 / 10;\r
- gsen_fifo_z_send[ii] = gsensordata[ii].z * 4096 / 10;\r
+ gsen_fifo_x_send[ii] = gsensordata[ii/2].x * 4096 / 10;\r
+ gsen_fifo_y_send[ii] = gsensordata[ii/2].y * 4096 / 10;\r
+ gsen_fifo_z_send[ii] = gsensordata[ii/2].z * 4096 / 10;\r
}\r
+\r
+ // }\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
//PRINT("hxdata:%d/%d %d %d %.3f %.3f %.3f %d\r\n" ,1+ii,*count,PPG_buf[ii],ir_buf[0],gsensordata[ii].x,gsensordata[ii].y,gsensordata[ii].z,ppg_s_data.green_cur);\r