//server ip
// fzd debug-lab.xcloudtech.com:9000; fzd-api.xcloudtech.com:9000
// tongxin debug-tcptest.tx.kidxin.com:20500; tongxin-tcp.tx.kidxin.com:20500
-#define MMI_CUSTOMER_IP_ADDRESS "test.iot.socket.thisiot.com"
+#define MMI_CUSTOMER_IP_ADDRESS "iot.socket.thisiot.com" // "api.xcloudtech.com"
#define MMI_CUSTOMER_IP_PORT (9999) // (9000)
// fzd-"bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
-#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "2gJcBatAioDZOmvareIo"
+#define MMI_CUSTOMER_PROTOCOL_MD5_KEY "SZYhyGhroQ3xFKFWZq1g" // "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
// fzd-"SZKW"
-#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "bwuwcChPG1C42ay5"
+#define MMI_CUSTOMER_PROTOCOL_DEVICE_NAME "oxLwDqcwJCtiPSRu" // "SZKW"
//
FR8012HAQ_LOG("fr8012haq_measure_YYL_start :FR8012HAQ_run_mode:%d!!!!!!!!\n",FR8012HAQ_run_mode);
sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START);
}
+
+uint8_t fr8012haq_is_measure_YYL_mode(void)
+{
+ FR8012HAQ_LOG("fr8012haq_measure_mode=%d\n", FR8012HAQ_run_mode);
+ if(YYL_MODE == FR8012HAQ_run_mode)
+ return 1;
+
+ return 0;
+}
+
+uint8_t fr8012haq_is_not_measure_mode(void)
+{
+ FR8012HAQ_LOG("fr8012haq_measure_mode=%d\n", FR8012HAQ_run_mode);
+ if(WEAR_MODE == FR8012HAQ_run_mode
+ || NULL_MODE == FR8012HAQ_run_mode
+ || close_MODE == FR8012HAQ_run_mode
+ )
+ return 1;
+
+ return 0;
+}
+
void fr8012haq_measure_factory_start(void)
{
sys_pm_wakeup_no_lcd();
void fr8012haq_measure_stop(void);
int *fr8012haq_blood_data_get(int *len);
char* fr8012haq_YYL_data_get(int *yyl_data_len);
+uint8_t fr8012haq_is_measure_YYL_mode(void);
+uint8_t fr8012haq_is_not_measure_mode(void);
float fr8012haq_get_body_temperature(void);
void fr8012haq_measure_temp_start(void);
void fr8012haq_measure_OTA_start(void);
#ifdef __MMI_CUSTOM_HENGAI_HEALTH__
#define NV_SECTION_UI_HENGAI_HEALTH_DATA_LEN (sizeof(nv_watch_hengai_health_data_t))
#endif
+#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+#define NV_SECTION_UI_HENGAI_TCMS_SWITCH_LEN (sizeof(nv_watch_switch_t))
+#endif
#endif
#ifdef __MMI_CUSTOM_HENGAI_HEALTH__
#define NV_SECTION_UI_HENGAI_HEALTH_DATA_FILE "ui_hengai_health_data.nv"
#endif
+#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+#define NV_SECTION_UI_HENGAI_TCMS_SWITCH_FILE "ui_hengai_tcms_switch.nv"
+#endif
#endif
case NV_SECTION_UI_HENGAI_HEALTH_DATA:
return (NV_SECTION_LEN(NV_SECTION_UI_HENGAI_HEALTH_DATA));
#endif
+ #ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ case NV_SECTION_UI_HENGAI_TCMS_SWITCH:
+ return (NV_SECTION_LEN(NV_SECTION_UI_HENGAI_TCMS_SWITCH));
+ #endif
#endif
case NV_SECTION_UI_HENGAI_HEALTH_DATA:
return (NV_SECTION_FILE_PATH(NV_SECTION_UI_HENGAI_HEALTH_DATA));
#endif
+ #ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ case NV_SECTION_UI_HENGAI_TCMS_SWITCH:
+ return (NV_SECTION_FILE_PATH(NV_SECTION_UI_HENGAI_TCMS_SWITCH));
+ #endif
#endif
TempData = (char *)hengai_health;
break;
#endif
+ #ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ case NV_SECTION_UI_HENGAI_TCMS_SWITCH:
+ mmi_switch_data = lv_mem_alloc(SectionLen);
+ memset(mmi_switch_data, 0x0, SectionLen);
+ TempData = (char *)mmi_switch_data;
+ break;
+ #endif
#endif
#ifdef __MMI_CUSTOM_HENGAI_HEALTH__
NV_SECTION_UI_HENGAI_HEALTH_DATA, // nv_watch_hengai_health_data_t
#endif
+#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ NV_SECTION_UI_HENGAI_TCMS_SWITCH, // nv_watch_switch_t
+#endif
#endif
// traditional Chinese medical science
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+#if USE_FR8012HAQ
+#include "../../../lv_drivers/indev/FR8012HAQ/fr8012haq.h"
+#endif
+static nv_watch_switch_t s_hengai_tcms_switch = {MMI_HENGAI_TCMS_SWITCH_INIT}; // init value
static uint8_t s_hengai_tcms_counter = 0;
static uint8_t s_hengai_tcms_check_flag = 0;
+uint8_t mmi_hengai_tcms_switch_get(void)
+{
+ if(MMI_HENGAI_TCMS_SWITCH_INIT == s_hengai_tcms_switch.switch_flag)
+ {
+ uint32_t nv_data_length = sizeof(nv_watch_switch_t);
+
+ if(nv_data_length != UI_NV_Read_Req(NV_SECTION_UI_HENGAI_TCMS_SWITCH, 0, nv_data_length, (uint8_t *)&s_hengai_tcms_switch))
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: nv read fail\n", __FUNCTION__, __LINE__);
+ s_hengai_tcms_switch.switch_flag = 0;
+ }
+ }
+
+ return s_hengai_tcms_switch.switch_flag;
+}
+
+void mmi_hengai_tcms_switch_set(uint8_t value)
+{
+ if(0 == value || 1 == value)
+ {
+ s_hengai_tcms_switch.switch_flag = value;
+
+ uint32_t nv_data_length = sizeof(nv_watch_switch_t);
+
+ if(nv_data_length != UI_NV_Write_Req(NV_SECTION_UI_HENGAI_TCMS_SWITCH, 0, nv_data_length, (uint8_t *)&s_hengai_tcms_switch))
+ {
+ printf("[@CHENG_DEBUG][%s][%d]: nv write fail\n", __FUNCTION__, __LINE__);
+ }
+
+ if(0 == value) // close
+ {
+ if(1 == fr8012haq_is_measure_YYL_mode)
+ mmi_hsensor_close();
+ }
+ else // open
+ {
+ if(1 == fr8012haq_is_not_measure_mode)
+ mmi_hengai_tcms_action();
+ }
+ }
+}
+
void mmi_hengai_tcms_data_send(void)
{
char * data_ptr = NULL;
{
HENGAI_TCMS_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ if(1 != mmi_hengai_tcms_switch_get())
+ return;
+
if(false == watch_modem_sim_present_check_req())
return;
#define HENGAI_TCMS_COUNTER_MAX (5) // minutes
+#define MMI_HENGAI_TCMS_SWITCH_INIT (9) // init value
+
+uint8_t mmi_hengai_tcms_switch_get(void);
+void mmi_hengai_tcms_switch_set(uint8_t value);
+
void mmi_hengai_tcms_data_send(void);
void mmi_hengai_tcms_mission_check(void);
#endif
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+bool mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(unsigned char * next_buff, unsigned int next_buff_len)
+{
+ bool result = false;
+ MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH;
+
+ if(NULL == next_buff || 0 == next_buff_len)
+ {
+ PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ return false;
+ }
+
+ result = true;
+ mmi_protocol_fzd_send_without_data(action);
+
+ uint8_t state_value = 0;
+ state_value = atoi(next_buff);
+
+ PROTOCOL_DEBUG_PRINTF("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+
+ mmi_hengai_tcms_switch_set(state_value);
+
+ return result;
+}
+
bool mmi_protocol_fzd_action_hengai_tcms_data(char * data_ptr, uint32_t data_len)
{
bool result = false;
#endif
#endif
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH,
MMI_FZD_ACTION_HENGAI_TCMS_DATA,
#endif
MMI_FZD_ACTION_TCP_HTTP,
bool mmi_protocol_fzd_action_hengai_sleep_data(char * file_buf, uint32_t file_size);
#endif
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+bool mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(unsigned char * next_buff, unsigned int next_buff_len);
bool mmi_protocol_fzd_action_hengai_tcms_data(char * data_ptr, uint32_t data_len);
#endif
#endif
#endif
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ {MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH, "TRIGGER_CNDOCD"},
{MMI_FZD_ACTION_HENGAI_TCMS_DATA, "CNDOCD"},
#endif
{MMI_FZD_ACTION_TCP_HTTP, "TCP_HTTP"},
#endif
#ifdef __MMI_CUSTOM_HENGAI_TCMS__
+ case MMI_FZD_SERVER_SET_HENGAI_TCMS_SWITCH:
+ mmi_protocol_fzd_parse_SERVER_SET_HENGAI_TCMS_SWITCH(next_buff, next_buff_len);
+ break;
+
case MMI_FZD_ACTION_HENGAI_TCMS_DATA:
break;
#endif