}\r
else if (conn_state==PROFILE_STATE_CONNECTING || conn_state==PROFILE_STATE_CONNECTED)\r
{\r
+#ifdef BR_DISCONNECT\r
+ if(!cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_disconnect();\r
+ return;\r
+ }\r
+\r
+ if(cm_get_HFP_switch() && uapi_hfp_connect_state()==0)\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+#endif\r
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
- if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTING ||\r
- pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
- uapi_pbap_cmd_start_client();\r
+ // if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTING ||\r
+ // pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
+ // uapi_pbap_cmd_start_client();\r
// if(conn_state==PROFILE_STATE_CONNECTED)\r
// {\r
// if(pbap_pce_get_device_connect_state(bd_addr)==PROFILE_STATE_DISCONNECTED)\r
uapi_get_br_address(&bdaddr);\r
\r
int ret = a2dp_snk_disconnect(&bdaddr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %d\n", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %X\n", ret);\r
return ret;\r
}\r
\r
#include "ui_resource_string.h"
#include "cmsis_os2.h"
#include "graphic_service.h"
-
+#include "ConfigModelC.h"
namespace OHOS
{
static BluetoothServiceOptionsView *g_pBluetoothServiceOptionsView{nullptr};
static osTimerId_t MG_TEST_timer=NULL;
static uint8_t button_state=0;
static uint8_t count_num=0;
-
+ static uint8_t connect_state=0;
bool BluetoothServiceOptionsView::get_connectview_Visible(void)
{
return connectingScrollView->IsVisible();
static void connectTimerCallBackProc(int data)
{
- bool connect_state=false;
+
count_num++;
switch (button_state)
{
case BluetoothServiceOptionsView::CONNECT_HFP:
if(uapi_hfp_connect_state())
{
- //BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ if(cm_get_A2DP_switch()&&uapi_a2dp_snk_get_device_connect_state())
+ {
+ connect_state++;
+ }
+ else if(!cm_get_A2DP_switch())
+ {
+ connect_state++;
+ }
+
+
}
break;
case BluetoothServiceOptionsView::DISCONNECT_HFP:
if(!uapi_hfp_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+
+ {
+ connect_state++;
+ }
+
}
break;
case BluetoothServiceOptionsView::CONNECT_A2DP:
if(uapi_a2dp_snk_get_device_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ connect_state++;
}
break;
case BluetoothServiceOptionsView::DISCONNECT_A2DP:
if(!uapi_a2dp_snk_get_device_connect_state())
{
//BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
- connect_state=true;
+ connect_state++;
}
break;
break;
}
- if(count_num==9 || connect_state)
+ if(count_num==9 || connect_state>=2)
{
if( BluetoothServiceOptionsView::GetInstance())
BluetoothServiceOptionsView::GetInstance()->show_connecting_view(false);
}
MG_TEST_timer = osTimerNew((osTimerFunc_t)connectTimerCallBack, osTimerPeriodic, NULL, NULL);
tick =500;
+ connect_state=0;
+
retTimer = osTimerStart(MG_TEST_timer, tick);
if (retTimer != osOK && MG_TEST_timer != NULL) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"StartCallTimer osTimerStart failed, ret = %lx!!", retTimer);
#include "BluetoothModel.h"\r
#include "custom_runtime.h"\r
#include "ConfigModelC.h"\r
+#include "PhoneService.h"\r
namespace OHOS\r
{\r
// 当前Presenter属性实例化的内存指针\r
uapi_get_br_address(&bdaddr);\r
if( uapi_dev_runtime_get_bt_powerstat() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
{\r
- if (false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
+ if ( cm_get_HFP_switch()&& cm_get_A2DP_switch() && false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
&& bdaddr.addr[4]==0 && bdaddr.addr[5]==0))\r
{\r
int ret = gap_reconnect_media_device(&bdaddr);\r
else\r
{\r
\r
- if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
- uapi_a2dp_snk_connect();\r
+ if(cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_connect();\r
+ }\r
+ if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_a2dp_snk_connect!!! \r\n");\r
}\r
\r
#include "ohos_types.h"
#include "PhoneAudio.h"
+#define BR_DISCONNECT
+
#ifdef __cplusplus
extern "C" {
#endif
#include "custom_runtime.h"
#include "vibrator_service.h"
#include "gfx_utils/mem_api.h"
-#include "ConfigModel.h"
+#include "ConfigModelC.h"
#include "cat1_ctl.h"
#ifdef __cplusplus
extern "C" {
switch (state) {
case PROFILE_STATE_CONNECTING: // 蓝牙正在连接
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connecting");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connecting");
+ #ifdef BR_DISCONNECT
+ if(!cm_get_HFP_switch())
+ {
+ uapi_hfp_disconnect();
+ return;
+ }
+ #endif
break;
case PROFILE_STATE_CONNECTED: // 蓝牙连接成功
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connected");
+ #ifdef BR_DISCONNECT
+ if(!cm_get_HFP_switch())
+ {
+ uapi_hfp_disconnect();
+ return;
+ }
+
+ if(cm_get_A2DP_switch() && OHOS::uapi_a2dp_snk_get_device_connect_state()==0)
+ {
+ OHOS::uapi_a2dp_snk_connect();
+ }
+
+ #endif
BtConnectedPro(bdAddr);
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);
uapi_pbap_cmd_start_client();
}
}
+#include "los_base.h"
+
int uapi_hfp_disconnect_(void)
{
int ret;
int uapi_hfp_connect_(void)
{
+ // if(uapi_hfp_connect_state()==1)
+ // {
+ // return;
+ // }
int ret;
bd_addr_t bdaddr={0};
OHOS:: uapi_get_br_address(&bdaddr);
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected is true");
ret = hfp_hf_connect(&bdaddr);
- if(ret!=ERRCODE_SUCC)
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
+ if(ret==0x8000600B)
{
- ret=gap_reconnect_media_device(&bdaddr);
+ gap_disconnect_remote_device(&bdaddr);
+ sleep(1);
+ //if(ret!=ERRCODE_SUCC)
+ {
+ ret=gap_reconnect_media_device(&bdaddr);
+ }
+
+
+ }
+ else
+ {
+ if(ret!=ERRCODE_SUCC)
+ {
+ ret=gap_reconnect_media_device(&bdaddr);
+ }
}
+
+
+
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
}
#include "components/ui_label_ext.h"
#include "components/ui_label_button_ext.h"
#include "cat1_ctl.h"
-
+#include "upg_common_porting.h"
#if USE_THISIOT
#define HTTP_JSON_SERVER_NAME "test.iot.api.thisiot.com"//"test.app.api.thisiot.com"//获取升级服务器
* http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=V1.1_20240316_115535&imei=864430010001091
查看 返回的"UptoDate" == False,即可根据"url"地址下载,文件校验可以后面再加。
{ "UptoDate": false ,
- "url" : "http://icfota.snicker.com.cn:8089/FD230/V1.1_20240316_115535/update.fwpkg",
-"OtaPackageLength" : 177504,
- "OtaPackageName" : "update.fwpkg",
+
"OtaPackageVersion" : "V1.1_20240316_130929",
"SystemVersion" : "V1.1_20240316_115535",
"description" : " update to checkota version 3 ",
#define UPDATAJSONPATH "/user/update/ota_start_.json"//获取升级的得到的json
#define UPDATAREPORT "/user/update/ota_start_reported_.json"//点升级后保存下来的json
-#define UPDATAFWPKGPATH "/user/update/update.fwpkg" //升级包
+#define UPDATAFWPKGPATH UPG_FILE_NAME //升级包
#define UPDATAREPORT_ "/user/update/ota_report_.json"//上报升级得到的json
#else
#define UPDATAJSONPATH "/update/ota_start_.json"//获取升级的得到的json
#define UPDATAREPORT "/update/ota_start_reported_.json"//点升级后保存下来的json
-#define UPDATAFWPKGPATH "/update/update.fwpkg" //升级包
+#define UPDATAFWPKGPATH UPG_FILE_NAME //升级包
#define UPDATAREPORT_ "/update/ota_report_.json"//上报升级得到的json
#endif
char msg_buf[256]={0};
bool falg=false;
- // if(code==IOT_CODE_SUCCESS)
- // {
- // falg=true;
- // cJSON *data=cJSON_GetObjectItem(root, "data");
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "");
-
- // report_jsonString = cJSON_PrintUnformatted(data);
- // //cJSON_Delete(data);
-
- // if(data!=NULL)
- // {
- // cJSON *downloadFileVo=cJSON_GetObjectItem(data, "downloadFileVo");
-
- // if(downloadFileVo!=NULL)
- // {
-
- // //"http://r-oss.thisiot.com/device-ota/2024_04_22/1782329689464958978.fwpkg?Expires=1713780167&OSSAccessKeyId=LTAI5tJa2arDBmqSUsSTQJ1T&Signature=OlbdNsfnz9Zje6ypFgXINQPXVE0%3D"
- // // char *uri = "http://icfota.snicker.com.cn:8089/FD230/V1.1/update.fwpkg";
- // char *uri = cJSON_GetObjectItem(downloadFileVo, "url")->valuestring;
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uri %s",uri);
- // sprintf((char *)uri_ota_package,"%s",uri);
- // }
- // }
- // }
- // else
- // {
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "code!=IOT_CODE_SUCCESS");
- // }
+
sprintf(msg_buf,"%s",msg);
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s",msg);
{
if(is_fwpkg_ready)
{
- // char* Path="/user/data/update.fwpkg";
- // FILE * fp = fopen(Path,"rb");
- // if(fp!=NULL)
- // {
- // fclose(fp);
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "file open succse fwpkg_is_ready");
- // }
//开始升级
//**********
statr_down_fwpkg();
#include <iostream>
#include <fstream>
-
+#include "upg_common_porting.h"
#define USE_THISIOT 1
// http://iot.api.thisiot.com/ota/task/v2?deviceId=28110668A5D4&sourceVersion=1.1.41
#if USE_THISIOT
* http://icfota.snicker.com.cn:8089/fd230ota.jsp?product=FD230&pkgver=V1.1_20240316_115535&imei=864430010001091
查看 返回的"UptoDate" == False,即可根据"url"地址下载,文件校验可以后面再加。
{ "UptoDate": false ,
- "url" : "http://icfota.snicker.com.cn:8089/FD230/V1.1_20240316_115535/update.fwpkg",
-"OtaPackageLength" : 177504,
- "OtaPackageName" : "update.fwpkg",
+
"OtaPackageVersion" : "V1.1_20240316_130929",
"SystemVersion" : "V1.1_20240316_115535",
"description" : " update to checkota version 3 ",
#define UPDATAREPORT "/user/update/ota_start_reported_.json"//点升级后保存下来的json
-#define UPDATAFWPKGPATH "/user/update/update.fwpkg" //升级包
+#define UPDATAFWPKGPATH UPG_FILE_NAME //升级包
#define UPDATAREPORT_ "/user/update/ota_report_.json"//上报升级得到的json
#define UPDATAREPORT "/update/ota_start_reported_.json"//点升级后保存下来的json
-#define UPDATAFWPKGPATH "/update/update.fwpkg" //升级包
+#define UPDATAFWPKGPATH UPG_FILE_NAME//升级包
#define UPDATAREPORT_ "/update/ota_report_.json"//上报升级得到的json
\r
#define MAX_BLE_EVENT_DIAL_NUM (10) //表盘最大数量\r
\r
+#include "upg_common_porting.h"\r
+\r
+\r
uint32_t packdataLen = 0;\r
uint32_t totalDataLen = 0;\r
uint8_t totalpack = 0;\r
ble_read_data* ble_read_timer_p=NULL;\r
\r
#ifdef SINGLE_USER_PARTITION\r
-#define UP_DATE_FWPKG_PATH "/user/update/update.fwpkg" \r
+#define UP_DATE_FWPKG_PATH UPG_FILE_NAME \r
\r
#else\r
-#define UP_DATE_FWPKG_PATH "/update/update.fwpkg"\r
+#define UP_DATE_FWPKG_PATH UPG_FILE_NAME\r
#endif\r
\r
\r
uapi_get_br_address(&bdaddr);\r
if( uapi_dev_runtime_get_bt_powerstat() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
{\r
- if (false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
+ \r
+ if(cm_get_A2DP_switch() && cm_get_A2DP_switch() && false==bt_is_acl_connected(&bdaddr) && !(bdaddr.addr[0]==0 && bdaddr.addr[1]==0 && bdaddr.addr[2]==0 && bdaddr.addr[3]==0 \r
&& bdaddr.addr[4]==0 && bdaddr.addr[5]==0))\r
{\r
- int ret = gap_reconnect_media_device(&bdaddr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " gap_reconnect_media_device ret = %u %02x %02x %02x ", ret,bdaddr.addr[5],bdaddr.addr[4],bdaddr.addr[3]);\r
+ gap_reconnect_media_device(&bdaddr);\r
}\r
- else\r
+ else if(cm_get_A2DP_switch())\r
{\r
- \r
- if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
uapi_a2dp_snk_connect();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_a2dp_snk_connect!!! \r\n");\r
+ }\r
+ else if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
}\r
\r
}\r
#include "custom_runtime.h"\r
#include "custom_utils.h"\r
#include "bletest.h"\r
+#include "ConfigModelC.h"\r
#ifdef SUPPORT_AT_CYWEE\r
#include "cywee_ble_Service.h"\r
#endif\r
\r
if(get_ble_pair()&&( cm_get_A2DP_switch() || cm_get_HFP_switch()))\r
{\r
- int ret=gap_reconnect_media_device(addr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! %X\r\n",ret);\r
+ if(cm_get_A2DP_switch() && cm_get_A2DP_switch())\r
+ {\r
+ int ret=gap_reconnect_media_device(addr);\r
+ }\r
+ else if(cm_get_A2DP_switch())\r
+ {\r
+ uapi_a2dp_snk_connect();\r
+ }\r
+ else if(cm_get_HFP_switch())\r
+ {\r
+ uapi_hfp_connect();\r
+ }\r
+\r
+\r
}\r
else\r
{ \r
} \r
}\r
hand_watch_first_time_Paired();\r
- svr_ble_adv_stop();\r
\r
}\r
}\r
/******************* gap_ble ************************************/\r
void svr_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr, errcode_t status,ble_auth_info_evt_t* evt)\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sendParieSuccess");\r
+\r
+\r
sendParieSuccess(1,addr);\r
uapi_set_br_address(addr);\r
}\r
#include "msg_center_protocol.h"
#include "wearable_log.h"
#include "upg_porting.h"
+
#ifdef SUPPORT_AUTO_OTA
#include "auto_ota_service.h"
#endif
/* 固定升级包文件长度, "/user/update/update.fwpkg"*/
#ifdef SINGLE_USER_PARTITION
-#define UPGRADE_FILE_PATH "/user/update/update.fwpkg"
+#define UPGRADE_FILE_PATH UPG_FILE_NAME
#else
-#define UPGRADE_FILE_PATH "/update/update.fwpkg"
+#define UPGRADE_FILE_PATH UPG_FILE_NAME
#endif
#define UPGRADE_FILE_LEN strlen(UPGRADE_FILE_PATH)