TOPIC_EVENT_HFP_FINISHED,
TOPIC_EVENT_HFP_PHONE_TO_WATCH,
TOPIC_EVENT_HFP_WATCH_TO_PHONE,
+ //TOPIC_EVENT_GRAYCARD_UPDATA,
#ifdef SUPPORT_CHARGER_PLUG_DETECTION_NOTIFICATION
TOPIC_EVENT_CHARGE_PLUG,
TOPIC_EVENT_CHARGE_UNPLUG,
TOPIC_EVENT_STOP_HRS_MONITORING,
TOPIC_EVENT_START_SPO2_MONITORING,
TOPIC_EVENT_STOP_SPO2_MONITORING,
+ TOPIC_EVENT_GRAYCARD_UPDATA,
#endif
#ifdef SUPPORT_CAT1_MODEM
TOPIC_EVENT_CAT1_INCOMMING,
{TOPIC_EVENT_STOP_HRS_MONITORING, A_CORE_MASK, 1},
{TOPIC_EVENT_START_SPO2_MONITORING, A_CORE_MASK, 1},
{TOPIC_EVENT_STOP_SPO2_MONITORING, A_CORE_MASK, 1},
+ {TOPIC_EVENT_GRAYCARD_UPDATA, A_CORE_MASK, 1},
#endif
{TOPIC_EVENT_HFP_INCOMMING, A_CORE_MASK, 1},
{TOPIC_EVENT_HFP_PHONE_ACTIVE, A_CORE_MASK, 1},
{TOPIC_EVENT_STOP_HRS_MONITORING, PRIORITY_TWO},
{TOPIC_EVENT_START_SPO2_MONITORING, PRIORITY_TWO},
{TOPIC_EVENT_STOP_SPO2_MONITORING, PRIORITY_TWO},
+ {TOPIC_EVENT_GRAYCARD_UPDATA, PRIORITY_TWO},
#endif
};
MsgCenterSubscribeTopic(TOPIC_EVENT_STOP_HRS_MONITORING);
MsgCenterSubscribeTopic(TOPIC_EVENT_START_SPO2_MONITORING);
MsgCenterSubscribeTopic(TOPIC_EVENT_STOP_SPO2_MONITORING);
+ MsgCenterSubscribeTopic(TOPIC_EVENT_GRAYCARD_UPDATA);
#endif
#ifdef SUPPORT_CAT1_MODEM
MsgCenterSubscribeTopic(TOPIC_EVENT_CAT1_INCOMMING);
BloodOxygenModel::GetInstance()->UpSPO2data(sp02);
}
}
+
+
+void MsgCenterNotifyCardhProc(const Topic topic, Request* req)
+{
+ unused(topic);
+ unused(req);
+ // if (topic == TOPIC_EVENT_SPO2_UPDATE && req != nullptr && req->data != nullptr)
+ // {
+ // u_int8_t sp02 = *((u_int8_t*)(req->data)); // 进行类型转换
+ // DialModelSPO2::GetInstance()->UpdateSPO2(sp02);
+ // BloodOxygenModel::GetInstance()->UpSPO2data(sp02);
+ // }
+}
//穿戴状态
void MsgCenterNotifyWearStateProc(const Topic topic, Request* req)
{
}
}
+
#endif
#ifdef SUPPORT_CAT1_MODEM
void MsgCenterNotifyCatIncomingCallProc(const Topic topic, Request* req)
{TOPIC_EVENT_STOP_HRS_MONITORING, MsgCenterNotifyStopHRMonitoringProc},
{TOPIC_EVENT_START_SPO2_MONITORING, MsgCenterNotifyStartSPO2MonitoringProc},
{TOPIC_EVENT_STOP_SPO2_MONITORING, MsgCenterNotifyStopSPO2MonitoringProc},
+ {TOPIC_EVENT_GRAYCARD_UPDATA, MsgCenterNotifyCardhProc},
#endif
#ifdef SUPPORT_CAT1_MODEM
{TOPIC_EVENT_CAT1_INCOMMING, MsgCenterNotifyCatIncomingCallProc},
// 初始化调用入口函数\r
bool hx3695_init(WORK_MODE_T mode)\r
{\r
+\r
TYHX_LOG(" hx3695_init mode : %d \n", mode);\r
\r
work_mode_flag = mode;\r
AGC_LOG("hx3695 check id failed!\r\n");\r
return false;\r
}\r
+ TYHX_LOG(" hx3695_init mode : GRAY_CARD_MODE \n");\r
hx3695_factroy_test(GRAY_CARD_TEST);\r
+\r
+ hx3695_msg_callback_t func = hx3695_get_send_msg_callback_func();\r
+ if(func != NULL)\r
+ {\r
+ func(HX3695_MSG_TYPE_GRAYCARD_UPDATE,&hrsresult,sizeof(FT_CUSTOM_RESULTS_t));\r
+ }\r
break;\r
\r
case FT_INT_TEST_MODE:\r
FT_RESULTS_t ft_result = hx3695_factroy_test(GRAY_CARD_TEST);\r
uint8_t data[12] = {0};\r
memcpy(data, (void *)&ft_result.gr_data_final, 12);\r
+ \r
// hx3695_factory_test_process(NULL, APP_FACTORY_TEST_GRAY_CARD, data);\r
}\r
break;\r
hrsresult.leak_green = ft_result.gr_data_final;\r
hrsresult.leak_red = ft_result.red_data_final;\r
hrsresult.leak_ir = ft_result.ir_data_final;\r
- TYHX_LOG("leak g=%d\r\n",hrsresult.leak_green);\r
+ TYHX_LOG("leak_green =%d\r\n",hrsresult.leak_green);\r
+ TYHX_LOG("leak_red =%d\r\n",hrsresult.leak_red);\r
+ TYHX_LOG("leak_ir =%d\r\n",hrsresult.leak_ir);\r
break;\r
case GRAY_CARD_TEST:\r
hx3695_factory_ft_card_test_config();\r
hrsresult.card_green = ft_result.gr_data_final;\r
hrsresult.card_red = ft_result.red_data_final;\r
hrsresult.card_ir = ft_result.ir_data_final;\r
+ TYHX_LOG("card_green =%d\r\n",hrsresult.card_green);\r
+ TYHX_LOG("card_red =%d\r\n",hrsresult.card_red);\r
+ TYHX_LOG("card_ir =%d\r\n",hrsresult.card_ir);\r
break;\r
case FT_INT_TEST:\r
hx3695_factory_ft_int_test_config();\r
return ERRCODE_SUCC;
}
+static uint32_t ppg_my_test(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+ UNUSED(strCommonCmd);
+ printf("PPG MY TEST\n");
+ return ERRCODE_SUCC;
+}
+
+
static const at_cmd_table_t g_ppg_cmd[] = {
{ (char *)"AT^PPGTEST", ppg_do_test, (char *)"hrs enable" },
+ { (char *)"AT^PPGTEST", ppg_do_test, (char *)"graycard enable"},
+ { (char *)"AT^LEAKLGIHTTEST", ppg_do_test, (char *)"leaklight enable"},
};
at_cmd_table_t *get_ppg_cmd_table(uint32_t *cmd_count)
return;
}
+errcode_t update_graycard_event_notify(uint8_t *data)
+{
+ CustomEventPublish(TOPIC_EVENT_GRAYCARD_UPDATA,(uint8_t*)&data,sizeof(data));
+ return 0;
+}
+errcode_t update_graycard_event_sendmsg_toUI(uint8_t *data)
+{
+ /**通过UI事件发送Notify*/
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(update_graycard_event_notify, data));
+ return ERRCODE_SUCC;
+}
+
//血氧
errcode_t update_spo2_event_notify(uint8_t spo2)
void hx3695_msg_callback(uint8_t msg_type, uint8_t *msg_data, int32_t msg_datalen)
{
+ uint8_t databuf[64] = {0};
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "hx3695_msg_callback");
FT_CUSTOM_RESULTS_t sensor_data; // 使用更通用的名称 sensor_data
#if 1
update_spo2_event_sendmsg_toUI(sensor_data.lastestspo2);
break;
case HX3695_MSG_TYPE_LEAKLIGHT_UPDATE:
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_leak_green_UPDATE = %d", sensor_data.leak_green);
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_leak_green_UPDATE = %d", sensor_data.leak_red);
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_leak_green_UPDATE = %d", sensor_data.leak_ir);
+ // update_spo2_event_sendmsg_toUI(sensor_data.leak_green);
+ // update_spo2_event_sendmsg_toUI(sensor_data.leak_red);
+ // update_spo2_event_sendmsg_toUI(sensor_data.leak_ir);
break;
case HX3695_MSG_TYPE_GRAYCARD_UPDATE:
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GRAYCARD_UPDATE");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_card_green_UPDATE = %d", sensor_data.card_green);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_card_red_UPDATE = %d", sensor_data.card_red);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_card_ir_UPDATE = %d", sensor_data.card_ir);
+ sprintf((char *)databuf,"%d,%d,%d",sensor_data.card_green,sensor_data.card_red,sensor_data.card_ir);
+ update_graycard_event_sendmsg_toUI(databuf);
break;
case HX3695_MSG_TYPE_WEARSTAT_UPDATE:
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HX3695_MSG_TYPE_WEARSTATUS_UPDATE = %d", sensor_data.wearstatus);