uint8_t batteryservice_get_pcb_temp(float *temp)
{
battery_info_t *current_battery_info = get_current_battery_info();
+ batteryservice_get_voltage_by_channel(¤t_battery_info->pcb_ntc_temp,ADC_CHANNEL_PCB_TEMP);
+ uapi_tcxo_delay_ms(20);
+ // battery_info_t *current_battery_info = get_current_battery_info();
*temp = current_battery_info->pcb_ntc_temp;
return 0;
}
uapi_tcxo_delay_ms(20);
batteryservice_get_voltage_by_channel(¤t_battery_info->battery_ntc_temp,ADC_CHANNEL_BAT_TEMP);
uapi_tcxo_delay_ms(20);
- batteryservice_get_voltage_by_channel(¤t_battery_info->pcb_ntc_temp,ADC_CHANNEL_PCB_TEMP);
- uapi_tcxo_delay_ms(20);
+ // batteryservice_get_voltage_by_channel(¤t_battery_info->pcb_ntc_temp,ADC_CHANNEL_PCB_TEMP);
+ // uapi_tcxo_delay_ms(20);
}
static int g_chargestatus =0;
return;\r
}\r
\r
+ checkstate = check;\r
+ //被动\r
+ if (checkstate == HeartCheck::PASSIVITY) {\r
+ uapi_dev_runtime_set_hrs_passivity(1);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
+ "uapi_dev_runtime_set_hrs_passivity(1)");\r
+ }\r
+ else\r
+ {\r
+ uapi_dev_runtime_set_hrs_passivity(0);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "uapi_dev_runtime_set_hrs_passivity(0)");\r
+ }\r
+\r
+\r
if (state == HeartState::End && heartstate == true) {\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartState End");\r
//状态数全部清空\r
uint8_t md = PPG_SERVICE_CMD_TYPE_DO_PPG_TEST;\r
send_ppg_cmd_msg(md);\r
heartstate = true;\r
- checkstate = check;\r
- //被动\r
- if (checkstate == HeartCheck::PASSIVITY) {\r
- uapi_dev_runtime_set_hrs_passivity(1);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
- "uapi_dev_runtime_set_hrs_passivity(1)");\r
- }\r
}\r
}\r
// 开始检测\r
* @Author: penglei 1624952103@qq.com
* @Date: 2024-08-23 10:50:37
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-09-07 18:04:07
+ * @LastEditTime: 2024-11-19 16:16:46
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testmicrophone.h
* @Description:
*
#include "record/include/RecordingModel.h"
//#include "cmsis_os.h"
#include <iostream>
+
+// #define AUDIO_ECHO_TEST
namespace OHOS
{
class testmicrohoneView
bool testphoneScrollViewcrollViewinit(uint8_t);
UIScrollView *testmakephoneScrollView{nullptr};
UILabelButtonExt* labelButton_next = nullptr;
+#ifdef AUDIO_ECHO_TEST
UILabelButtonExt* button[2]{NULL};
+#else
+ UILabelButtonExt* button{NULL};
+#endif
bool initViewStatus{false};
UILabel *Title{nullptr}; // 标题
};
#endif
int32_t microhone_switch(bool isopen);
void check_spk(bool isopen);
+ void check_mic(bool isopen);
#ifdef __cplusplus
#if __cplusplus
}
* @Author: penglei 1624952103@qq.com
* @Date: 2024-09-18 17:17:23
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-11-14 11:30:28
+ * @LastEditTime: 2024-11-18 21:51:50
* @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/producttest/include/testold.h
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
UILabelButtonExt* labelButton_exit = nullptr;
UILabelButtonExt* labelButton_start = nullptr;
UILabelButtonExt* labelButton_stop = nullptr;
+ UILabelButtonExt* labelButton_deep = nullptr;
+ UILabelButtonExt* labelButton_shut = nullptr;
+
UILabel *label_flag{nullptr};
UILabel *label_target_time{nullptr};
{ \r
NativeAbility::GetInstance().ChangeSlice(VIEW_TEST);\r
}\r
+ if(strcmp(view.GetViewId(),"deep") == 0)\r
+ { \r
+ do_cywee_service_check_msg(CYWEE_SERVICE_CMD_STOP_ACC,NULL);\r
+ stop_custom_ble_service();\r
+ LOS_Msleep(50);\r
+ uapi_set4GCapability(false);\r
+ LOS_Msleep(50);\r
+ mcu_pm_lcd_off(NULL,NULL);\r
+ return true;\r
+ }\r
#ifdef SUPPORT_A5133_SERVICE\r
if(strcmp(view.GetViewId(),"receive") == 0)\r
{ \r
SystemScrollView[TESTVIEW]->SetScrollBlankSize(35);\r
SystemScrollView[TESTVIEW]->SetReboundSize(50);\r
SystemScrollView[TESTVIEW]->SetDirection(1);\r
+ SystemScrollView[TESTVIEW]->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。\r
+ SystemScrollView[TESTVIEW]->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
+ SystemScrollView[TESTVIEW]->SetSwipeACCLevel(200); /*设置手指抬起屏幕后的补偿距离。*/\r
//UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new SystemViewOnDragListener());\r
// if (draglistener == nullptr)\r
// {\r
{
testmakephoneScrollView->RemoveAll();
+#ifdef AUDIO_ECHO_TEST
+
if(button[0]!=NULL)
{
delete button[0];
delete button[1];
button[1]=nullptr;
}
+
+#else
+ if(button!=NULL)
+ {
+ delete button;
+ button=nullptr;
+ }
+#endif
+
if(labelButton_next)
{
delete labelButton_next;
static char *Path= "/user/userdata/microphone.mp3";
void testmicrohoneView::buttoncallback()
{
+#ifdef AUDIO_ECHO_TEST
if(button[0]!=NULL)
+#else
+ if(button !=NULL)
+#endif
{
errcode_t ret = 0;
if(makphone_falg==0)
{
- // char *args[6] = {0};
- // const char *defaultArgs[6] = {"01", "mp3", "16000", "1", "16","/user/userdata/microphone.mp3"}; // 默认参数数组
-
- // for (int i = 0; i < 6; ++i)
- // {
- // args[i] = (char *)malloc(64);
- // sprintf(args[i], "%s", defaultArgs[i]);
- // }
- // /* ---------------------------------- 开始录音 ---------------------------------- */
- // AudioCaptureSample(6, (const char **)args);
+#ifndef AUDIO_ECHO_TEST
+ uapi_delete_files("/user/userdata/microphone.mp3");
+ char *args[6] = {0};
+ const char *defaultArgs[6] = {"01", "mp3", "16000", "1", "16","/user/userdata/microphone.mp3"}; // 默认参数数组
+
+ for (int i = 0; i < 6; ++i)
+ {
+ args[i] = (char *)malloc(64);
+ sprintf(args[i], "%s", defaultArgs[i]);
+ }
+ /* ---------------------------------- 开始录音 ---------------------------------- */
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " AudioCaptureSample(6, (const char **)args); ");
+ AudioCaptureSample(6, (const char **)args);
+ button->SetText("stop mic");
+#else
ret = uapi_start_audio_test(volume);
if(ret != ERRCODE_SUCC)
{
uapi_stop_audio_test();
}
else
- {
button[0]->SetText("stop");
- makphone_falg = 1;
- }
-
+#endif
+ makphone_falg = 1;
}
else if(makphone_falg==1)
{
- // int32_t argc = 1;
- // uint8_t *argv = (uint8_t*)"stop";
- // AudioCaptureSample(argc, (const char **)&argv);
- // button[0]->SetText("play");
- // makphone_falg++;
-
- // FILE *file =fopen("/user/userdata/microphone.mp3","rb");
- // if(file==NULL)
- // {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ffffffffffffffffsssssss");
- // }
- // fclose(file);
+#ifndef AUDIO_ECHO_TEST
+ int32_t argc = 1;
+ uint8_t *argv = (uint8_t*)"stop";
+ AudioCaptureSample(argc, (const char **)&argv);
+ button->SetText("play mic");
+ makphone_falg = 2;
+
+ FILE *file =fopen("/user/userdata/microphone.mp3","rb");
+ if(file==NULL)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ffffffffffffffffsssssss");
+ }
+ fclose(file);
+#else
uapi_stop_audio_test();
button[0]->SetText("start");
makphone_falg = 0;
+#endif
+ }
+#ifndef AUDIO_ECHO_TEST
+ else if(makphone_falg==2)
+ {
+ button->SetText("stop play");
+ FindWatchViewEventListener::GetInstance().PopInterPlayMusic(Path);
+ makphone_falg = 3;
+ }
+ else if(makphone_falg==3)
+ {
+ button->SetText("start mic");
+ FindWatchViewEventListener::GetInstance().PopInterCancelMusic();
+ makphone_falg = 0;
}
- // else if(makphone_falg==2)
- // {
-
- // AlarmClockModel::GetInstance()->testPlayerStart(Path);
-
- // }
-
-
-
+#endif
}
RootView::GetInstance()->Invalidate();
testmakephoneScrollView->SetStyle(STYLE_BORDER_COLOR, Color::Yellow().blue);
-
+#ifdef AUDIO_ECHO_TEST
/* -------------------------------------------------------------------------- */
ButtonConfig_ext_t buttonconfig;
buttonconfig.x = 200;
buttonconfig.label_y=0;
buttonconfig.Fontsize=30;
buttonconfig.ViewId="testmicrohoneView";
- buttonconfig.str="statr";
+ buttonconfig.str="start";
buttonconfig.ALIGN=TEXT_ALIGNMENT_LEFT;
button[0]=SetTheButton_ext(buttonconfig);
testmakephoneScrollView->Add(button[0]);
button[1]=SetTheButton_ext(buttonconfig);
testmakephoneScrollView->Add(button[1]);
+#else
+
+ ButtonConfig_ext_t buttonconfig;
+ buttonconfig.x = 200;
+ buttonconfig.y = 100;
+ buttonconfig.w = 250;
+ buttonconfig.h = 116;
+ buttonconfig.label_x=40;
+ buttonconfig.label_y=0;
+ buttonconfig.Fontsize=30;
+ buttonconfig.ViewId="testmicrohoneView";
+ buttonconfig.str="start mic";
+ buttonconfig.ALIGN=TEXT_ALIGNMENT_LEFT;
+ button=SetTheButton_ext(buttonconfig);
+ testmakephoneScrollView->Add(button);
+ makphone_falg=0;
+#endif
+
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(testPresenter::GetInstance());
if (draglistener == nullptr)
{
}
+ void check_mic(bool isopen)
+ {
+ if(isopen)
+ {
+ // AlarmClockModel::GetInstance()->testPlayerStart("/user/userdata/microphone.mp3");
+ FindWatchViewEventListener::GetInstance().PopInterPlayMusic("/user/userdata/microphone.mp3");
+ // AlarmClockModel::GetInstance()->AlarmPlayerStart();
+ }
+ else
+ {
+ // AlarmClockModel::GetInstance()->AlarmPlayerStop();
+ FindWatchViewEventListener::GetInstance().PopInterCancelMusic();
+ // AlarmClockModel::GetInstance()->AlarmPlayerStop();
+ }
+
+ }
+
#ifdef __cplusplus
#if __cplusplus
}
g_aging_timer = NULL;
}
+
+
+ if(labelButton_shut)
+ {
+ delete labelButton_shut;
+ labelButton_shut=nullptr;
+ }
+
+ if(labelButton_deep)
+ {
+ delete labelButton_deep;
+ labelButton_deep=nullptr;
+ }
if(labelButton_exit)
}
testoldScrollView->Add(label_charge_error);
+
+
+ labelButton_shut= testAboutView::GetInstance()->init_button_next(300,500,Test_ViewMapper_t[id].viewid_str_next);
+ labelButton_shut->SetText("shut");
+ labelButton_shut->SetViewId("shut");
+ testoldScrollView->Add(labelButton_shut);
+
+ labelButton_deep= testAboutView::GetInstance()->init_button_next(300,400,Test_ViewMapper_t[id].viewid_str_next);
+ labelButton_deep->SetText("deep");
+ labelButton_deep->SetViewId("deep");
+ testoldScrollView->Add(labelButton_deep);
+
labelButton_exit= testAboutView::GetInstance()->init_button_next(300,300,Test_ViewMapper_t[id].viewid_str_next);
labelButton_exit->SetText("exit");
labelButton_exit->SetViewId("exit");
* @Author: penglei 1624952103@qq.com\r
* @Date: 2024-06-17 14:31:08\r
* @LastEditors: penglei 1624952103@qq.com\r
- * @LastEditTime: 2024-11-14 16:27:45\r
+ * @LastEditTime: 2024-11-19 17:06:28\r
* @FilePath: /FD230/code/sdk/application/wearable/service/factorytest_service/factorytest_protocol.c\r
* @Description: \r
* \r
{\r
//开始录音\r
uint8_t send_data= 0;\r
- uapi_start_audio_test(30);\r
+ // uapi_start_audio_test(30);\r
+ uapi_microhone_switch(1);\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
0x01,\r
{\r
//停止录音\r
uint8_t send_data= 0;\r
- uapi_stop_audio_test();\r
+ // uapi_stop_audio_test();\r
+ uapi_microhone_switch(0);\r
factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
0x02,\r
&send_data,\r
1);\r
} \r
- if (testitem == 0x03)\r
+ else if(testitem == 0x03)\r
+ {\r
+ //播放录音\r
+ uint8_t send_data= 0;\r
+ uapi_check_mic(1);\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
+ 0x03,\r
+ &send_data,\r
+ 1);\r
+ } else if(testitem == 0x04)\r
+ {\r
+ //停止播放\r
+ uint8_t send_data= 0;\r
+ uapi_check_mic(0);\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
+ 0x04,\r
+ &send_data,\r
+ 1);\r
+ } else if(testitem == 0x05)\r
+ {\r
+ //删除录音\r
+ uint8_t send_data = uapi_delete_files("/user/userdata/microphone.mp3");\r
+ factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
+ BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
+ 0x05,\r
+ &send_data,\r
+ 1);\r
+ }\r
+\r
+ if (testitem == 0x06)\r
{\r
uint8_t send_data = 0x00;\r
uapi_hfp_connect_();\r
1);\r
}\r
\r
- //else if(testitem == 0x03)\r
- // {\r
- // //播放录音\r
- // uint8_t send_data= 0;\r
- // uapi_check_spk(1);\r
- // factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- // BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- // 0x03,\r
- // &send_data,\r
- // 1);\r
- // } else if(testitem == 0x04)\r
- // {\r
- // //停止播放\r
- // uint8_t send_data= 0;\r
- // uapi_check_spk(0);\r
- // factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- // BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- // 0x04,\r
- // &send_data,\r
- // 1);\r
- // } else if(testitem == 0x05)\r
- // {\r
- // //删除录音\r
- // uint8_t send_data = uapi_delete_files("/user/userdata/microphone.mp3");\r
- // factorytest_protocol_replymsg(BLE_TEST_CMD_MODE_SOFT_TEST,\r
- // BLE_TEST_CMD_SOFT_TEST_SUB_MODE_SPEAKER,\r
- // 0x05,\r
- // &send_data,\r
- // 1);\r
- //}\r
break;\r
\r
default:\r
//设置睡眠
memset(&scl, 0, sizeof(scl));
scl.iData[0] = 1;
+ scl.iData[1] = 30; //优化睡眠误判出睡情况
scl.iData[3] = 4;
scl.iData[4] = 4;
scl.iData[6] = 4;
//hrv agc\r
const uint8_t hx3695_hrv_agc_idac = HR_GREEN_AGC_OFFSET;\r
\r
-const uint8_t green_led_max_init = 128;\r
+const uint8_t green_led_max_init = 255;\r
const uint8_t red_led_max_init = 255;\r
-const uint8_t ir_led_max_init = 128;\r
+const uint8_t ir_led_max_init = 255;\r
\r
uint8_t low_vbat_flag =0;\r
WORK_MODE_T work_mode_flag = HRS_MODE;\r
case HRS_MODE:\r
//TYHX_LOG(" hx3695_init mode : HRS_MODE \n");\r
#ifdef HRS_ALG_LIB\r
- tyhx_hrs_set_living(1, 10, 30);\r
+ tyhx_hrs_set_living(1, 20, 30);\r
if(hx3695_hrs_enable()== SENSOR_OP_FAILED)\r
{\r
return false;\r
hx3695_wear_msg_code_t hx3695_wear_status;\r
\r
hx3695_check_touch_read(&ppg_s_data);\r
- hx3695_wear_status = hx3695_check_touch_send_data(ir_buf,*count);\r
- // PRINT("hx3695_wear_status : %d \r\n",hx3695_wear_status);\r
- if(history_wear_status != hx3695_wear_status)\r
- {\r
- history_wear_status = hx3695_wear_status;\r
- cywee_data = history_wear_status;\r
- do_cywee_service_check_msg(CYWEE_SERVICE_CMD_WEAR_STATUS_CHANGE,&cywee_data);\r
- }\r
-\r
+ cywee_wear_status = hx3695_check_touch_send_data(ir_buf,*count);\r
+ hx3695_wearstatus_update();\r
extern uint8_t notouch_cnt;\r
extern uint8_t touch_cnt;\r
\r
* @Author: penglei 1624952103@qq.com
* @Date: 2024-03-13 15:08:38
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2024-11-18 18:04:37
+ * @LastEditTime: 2024-11-19 19:40:35
* @FilePath: /FD230/code/sdk/drivers/peripheral/ppg/hx3695/hx3695_hal.c
* @Description:
*
{
#ifdef HRS_ALG_LIB
hx3695_hrs_disable();
+ // PRINT("uapi_dev_runtime_get_sleep_monitoring_status : %d \n",uapi_dev_runtime_get_sleep_monitoring_status());
+ // PRINT("uapi_dev_runtime_get_hrs_passivity_flag : %d \n",uapi_dev_runtime_get_hrs_passivity_flag());
if(uapi_dev_runtime_get_sleep_monitoring_status() && uapi_dev_runtime_get_hrs_passivity_flag())//处于睡眠监测 且在心率周期检测期间 上报活体佩戴
{
hx3695_wearstatus_update();
#endif
}
+void uapi_check_mic(bool isopen)
+{
+ #ifdef FD230
+ check_mic(isopen);
+ #endif
+}
+
void uapi_factorytest_set_lcd_color(int color)
{
#ifdef FD230
int32_t uapi_microhone_switch(bool isopen);
void uapi_check_spk(bool isopen);
+void uapi_check_mic(bool isopen);
void uapi_factorytest_set_lcd_color(int color);
void uapi_factorytest_enter_test_view(int cmd);
void uapi_factorytest_enter_test_tp_view(void);