MFP_EOC /*End of configuration, must have */
};
static uint32_t fr8012haq_mfp_cfgs[] = {
- MFP_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_HIGH | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
+ //MFP_REG(GPIO_32) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_NONE | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
MFP_REG(GPIO_18) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
MFP_REG(GPIO_81) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
MFP_REG(GPIO_84) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
MFP_REG(GPIO_16) | MFP_AF0 | MFP_DRIVE_MEDIUM | MFP_PULL_LOW | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
+ MFP_REG(CLK_REQ) | MFP_AF1 | MFP_DRIVE_MEDIUM | MFP_PULL_NONE | MFP_SLEEP_DIR | MFP_LPM_EDGE_NONE,
MFP_EOC
};
int fr8012haq_int_gpio_d2_ent_callback(void)
gpio_set_direction(GPIO81, GPIO_OUT);
gpio_set_direction(GPIO84, GPIO_OUT);
gpio_set_direction(GPIO16, GPIO_OUT);
+
+ gpio_set_direction(GPIO123, GPIO_OUT);
+ //gpio_set_direction(GPIO32, GPIO_OUT);
+ // gpio_set_value(GPIO123, GPIO_HIGH);
+ // gpio_set_value(GPIO32, GPIO_HIGH);
+
}
void fr8012haq_delay(uint32_t ms)
{
gpio_set_value(GPIO84, GPIO_HIGH);
}
}
+//gps_ui_delay_us(1400);//1ms
+extern void gps_ui_delay_us(unsigned int us);
+//发送数据到蓝牙
+void fr8012haq_write_data(char *buf,int len)
+{
+
+ gpio_set_value(GPIO123, GPIO_LOW);
+ gps_ui_delay_us(500);
+ gpio_set_value(GPIO123, GPIO_HIGH);
+ gps_ui_delay_us(1400*3);
+ //UOS_SleepMs(1);
+ // gpio_set_value(GPIO32, GPIO_LOW);
+ // gps_ui_delay_us(1400);
+ // gpio_set_value(GPIO32, GPIO_HIGH);
+ uart4_send_data(buf,len);
+}
+
static char * response_data = NULL;
static int response_len = 0;
// FR8012HAQ_LOG("fr8012haq_task_callback7!!!!\n");
// //FR8012HAQ_LOG("[http_client_test]http_client_shutdown(client)\n");
UOS_SleepMs(2000);
- //uart4_send_data("UART4:1111!!!!!!!\n",sizeof("UART4:1111!!!!!!!\n"));
+ //fr8012haq_write_data("UART4:1111!!!!!!!\n",sizeof("UART4:1111!!!!!!!\n"));
// len =uart4_recv_data(data,sizeof(data),64);
// if(len)
// FR8012HAQ_LOG("UART4:len:%d str:%s\n",len,data);
- //uart4_send_data("UART4:1111!!!!!!!\n",sizeof("UART4:1111!!!!!!!\n"));
+ //fr8012haq_write_data("UART4:1111!!!!!!!\n",sizeof("UART4:1111!!!!!!!\n"));
}
}
static void fr8012haq_hisr_callback(void)
{
case HRS_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"hrs\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"hrs\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"hrs\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"hrs\"}\n"));
break;
case SPO2_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"spo2\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"spo2\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"spo2\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"spo2\"}\n"));
break;
case BP_MODE:
/* code */
}
s_FR8012HAQ_blood_data_len =0;
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"bp\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"bp\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"bp\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"bp\"}\n"));
break;
case EMO_MODE:
/* code */
}
s_FR8012HAQ_emo_data_len =0;
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"emo\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"emo\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"emo\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"emo\"}\n"));
break;
case FACTORY_MODE:
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"factory\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"factory\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"factory\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"factory\"}\n"));
break;
case TEMP_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"temp\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"temp\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"temp\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"temp\"}\n"));
break;
case WEAR_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}\n"));
break;
case HRV_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"hrv\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"hrv\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"hrv\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"hrv\"}\n"));
break;
case YYL_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"yyl\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"yyl\"}"));
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"yyl\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"yyl\"}\n"));
+ break;
+ case OTA_MODE:
+ /* code */
+ fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"OTA\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"OTA\"}\n"));
break;
+
default:
break;
}
while(count--)
{
send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_time\":\"%d\"}\n",time);//发送时间戳
- uart4_send_data(send_data,send_data_len);
+ fr8012haq_write_data(send_data,send_data_len);
if(fr8012haq_parse_returned_data(100) == 3)//必须解析到执行成功
break;
UOS_SleepMs(100);
{
case HRS_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrs\"}\n"));
break;
case SPO2_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"spo2\"}\n"));
break;
case BP_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"bp\"}\n"));
break;
case WEAR_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"wear\"}\n"));
break;
case HRV_MODE:
/* code */
- //uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"hrv\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrv\"}"));
+ //fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"hrv\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"hrv\"}"));
break;
case YYL_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"yyl\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"yyl\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"yyl\"}\n"));
UOS_SleepMs(30);
break;
case TEMP_MODE:
/* code */
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"temp\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"temp\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"temp\"}\n"));
break;
default:
// float tmp = 0x3FE2E147;
// FR8012HAQ_LOG("float:%f\n",tmp);
fr8012haq_parse_returned_data(150);
- //uart4_send_data("{\"cmd\":\"0\"}",sizeof("{\"cmd\":\"0\"}"));//保活用
+ //fr8012haq_write_data("{\"cmd\":\"0\"}",sizeof("{\"cmd\":\"0\"}"));//保活用
// gpio_enable_edge_detect(GPIO32, EDGE_FLAG_RISE);
// fr8012haq_sleep_resume();
fr8012haq_hisr_ref_flag=0;
//返回是否激活返回0未激活,联网后判断一次是否激活,没激活需要执行激活参数
char get_is_HA_activate(void)
{
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"is_HA_activate\"}\n"));
fr8012haq_parse_returned_data(100);
return is_HA_activate;
}
while(count -- )
{
send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_HA_key_code\":\"%s\"}\n",HA_key_code);
- uart4_send_data(send_data,send_data_len);
+ fr8012haq_write_data(send_data,send_data_len);
if(fr8012haq_parse_returned_data(100)==3)
{
if(get_is_HA_activate() == 1)//查询一次
u_get_imei(imei);
FR8012HAQ_LOG("HA_lib_init:IMEI:%s\n",imei);
send_data_len = snprintf(send_data,sizeof(send_data),"{\"cmd\":\"3\",\"set_IMEI\":\"%s\"}\n",imei);
- uart4_send_data(send_data,send_data_len);
+ fr8012haq_write_data(send_data,send_data_len);
fr8012haq_parse_returned_data(500);
//获取HA_req_code
while(count--)
{
- uart4_send_data("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}",sizeof("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}\n"));
+ fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"HA_req_code\"}\n"));
if(fr8012haq_parse_returned_data(500)==2)
break;
}
uint8_t fr8012haq_chip_id = 0;
fr8012haq_en_gpio_enable(true);
fr8012haq_delay(50);
- //fr8012haq_write_reg(0x01, 0x00);
fr8012haq_delay(5);
//fr8012haq_chip_id = fr8012haq_read_reg(0x00);
fr8012haq_en_gpio_enable(false);
sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START);
#endif
}
+void fr8012haq_measure_OTA_start(void)
+{
+ sys_pm_wakeup_no_lcd();
+ FR8012HAQ_run_mode = OTA_MODE ;
+ FR8012HAQ_LOG("fr8012haq_measure_OTA_start :FR8012HAQ_run_mode:%d!!!!!!!!\n",FR8012HAQ_run_mode);
+ sensor_task_send_message(FR8012HAQ_ID,SENSOR_MSG_START);
+}
void FR8012HAQ_restart(void)
{
fr8012haq_en_gpio_enable(false);
free(s_FR8012HAQ_emo_data);
s_FR8012HAQ_emo_data = NULL;
}
- //uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"close\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"close\"}"));
+ //fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"close\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"close\"}\n"));
fr8012haq_timer_cfg(false);
//fr8012haq_measure_wear_start();//开始佩戴模式
//打开佩戴检测
- //uart4_send_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}"));
+ //fr8012haq_write_data("{\"cmd\":\"1\",\"work_mode\":\"wear\"}\n",sizeof("{\"cmd\":\"1\",\"work_mode\":\"wear\"}\n"));
}
}
void FR8012HAQ_result_set_wear_status(unsigned char wear_status)
{
- if(BP_MODE == FR8012HAQ_run_mode) // bp_mode not check wear
- {
- //printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
- return;
- }
+ // if(BP_MODE == FR8012HAQ_run_mode) // bp_mode not check wear
+ // {
+ // //printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ // return;
+ // }
//static char wear_tmp = 0;
if(wear_status == 0 && s_FR8012HAQ_wear_status == 1)//佩戴变未佩戴
mmi_hengai_tcms_action();
//printf("[@CHENG_DEBUG][%s][%d]: \n", __FUNCTION__, __LINE__);
+ }else
+ {
+ if(wear_status == 0)
+ s_FR8012HAQ_wear_status = 0 ;
+ else
+ s_FR8012HAQ_wear_status = 1 ;
}
+
//printf("[@CHENG_DEBUG][%s][%d]: wear=%d,s_wear=%d\n", __FUNCTION__, __LINE__, wear_status, s_FR8012HAQ_wear_status);
FR8012HAQ_LOG("s_FR8012HAQ_wear_status:%d !!!!!!!!!!!!!!!!!\n\n\n",s_FR8012HAQ_wear_status);
}