return watchName;\r
}\r
\r
-void BluetoothModel::InitBluetoothInfo(void)\r
+void InitBluetoothInfo(void)\r
{\r
- errcode_t ret;\r
unsigned char nameLen = BD_NAME_LEN;\r
+ uint8_t ble_name[BD_NAME_LEN] = {0};\r
+ uint8_t ble_name_len = BD_NAME_LEN;\r
+ errcode_t ret = 0;\r
+\r
+ ret = bluetooth_get_local_name(ble_name, &ble_name_len);\r
+ if (ret != 0) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_name fail, name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
+ memset_s(ble_name, BD_NAME_LEN, 0, BD_NAME_LEN);\r
+ ble_name_len = strlen(BLE_DEFAULT_NAME) + 1; \r
+ memcpy_s(ble_name, BD_NAME_LEN,BLE_DEFAULT_NAME,ble_name_len);\r
+ }\r
+ unsigned char addr[6] = {0};\r
+ unsigned int len = sizeof(addr);\r
+ memset(addr,0,6); \r
+ bluetooth_get_local_addr(&addr[0],len);\r
+ //如果蓝牙名称不正确,按照规则重命名 \r
+ char watchName[BD_NAME_LEN]= {0};\r
memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
- ret = bluetooth_get_local_name((unsigned char *)watchName, &nameLen);\r
- // 为了实验室测试需要,客户需要自己修改\r
- if ((nameLen == strlen("WatchDemo") + 1) && (strcmp("WatchDemo", watchName) == 0)) {\r
- uint32_t currentUs = uapi_tcxo_get_us();\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "currentUs 0x%x", currentUs);\r
- // 设置蓝牙名称\r
- (void)sprintf_s(watchName, sizeof(watchName), "Watch%x", (currentUs & 0xFFFF));\r
- ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_name %s ret = %u", watchName, ret);\r
-\r
- // 设置蓝牙地址\r
- bd_addr_t addr = {{0x0, 0x0, 0x33, 0x44, 0x55, 0x66} ,0};\r
- addr.addr[0] = currentUs & 0xFF;\r
- addr.addr[1] = (currentUs & 0XFF00) >> 8;\r
- ret = bluetooth_set_local_addr(addr.addr, BD_ADDR_LEN);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_addr [0x%x:0x%x] ret = %u", addr.addr[0], addr.addr[1], ret);\r
- } else {\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "watchName: %s", watchName);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "nameLen: %u", nameLen);\r
- }\r
+ (void)sprintf_s(watchName, sizeof(watchName), "%s %02X%02X",BLE_DEFAULT_NAME,addr[1],addr[0]);\r
+ int watch_name_len = strlen(watchName);\r
+ /**表名长度不对,或者内容不对,都要重命名*/\r
+ if (watch_name_len != strlen((char*)ble_name) || strncmp((char*)ble_name,watchName,watch_name_len) != 0 )\r
+ {\r
+ ret = bluetooth_set_local_name((unsigned char*)watchName, watch_name_len+1);\r
+ if (ret == ERRCODE_SUCC) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt SetLocalName %s ", watchName);\r
+ }else{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt SetLocalName %s ret = 0x%x", watchName,ret);\r
+ } \r
+ } \r
}\r
\r
static int g_bluetooth_initialled=0;\r
// ret = gap_ble_set_sec_param(&sec_param);\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt gap_ble_set_sec_param ret = %u", ret);\r
\r
+ InitBluetoothInfo();\r
+\r
BtInitCallBacks();\r
wrapper_ble_register();\r
#ifdef SUPPORT_ALIPAY_SEC\r
#define BLE_SCAN_DATA_LENTH 31 //扫描数据\r
#define BLE_ADV_TYPE_LENTH 3\r
#define BLE_ADV_UUID_LENTH 4\r
-#define BLE_DEFAULT_NAME "WatchSoar"//"KUMI U6"\r
+\r
#define BLE_DEFAULT_NAME_LEN 32\r
#define BLE_MAC_MAX_LEN 6 //蓝牙mac地址最大个数6个\r
\r
unsigned int len = BLE_MAC_MAX_LEN;\r
errcode_t ret = 0;\r
\r
+ memset(addr,0,6); \r
+ bluetooth_get_local_addr(&addr[0],len);\r
ret = bluetooth_get_local_name(ble_name, &ble_name_len);\r
if (ret != 0) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_name fail, name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
memset_s(ble_name, BLE_NAME_LENGTH, 0, BLE_NAME_LENGTH);\r
- memcpy_s(ble_name, BLE_NAME_LENGTH,BLE_DEFAULT_NAME, BLE_DEFAULT_NAME_LEN);\r
- ble_name_len = BLE_DEFAULT_NAME_LEN + 1; \r
+ (void)sprintf_s((char*)ble_name, BLE_NAME_LENGTH, "%s %02X%02X",BLE_DEFAULT_NAME,addr[1],addr[0]);\r
+ ble_name_len = strlen((char*)ble_name) + 1; \r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_get_local_name fail,rename name:%s,len:%u,ret:%u.", ble_name, ble_name_len, ret);\r
}\r
-\r
- memset(addr,0,6); \r
- bluetooth_get_local_addr(&addr[0],len);\r
-#if 1 //如果蓝牙名称不正确,按照规则重命名 \r
- char watchName[BLE_NAME_LENGTH];\r
- memset_s(watchName, sizeof(watchName), 0, sizeof(watchName));\r
- (void)sprintf_s(watchName, sizeof(watchName), "%s %02X%02X",BLE_DEFAULT_NAME,addr[1],addr[0]);\r
- // (void)sprintf_s(watchName, sizeof(watchName), "%s",BLE_DEFAULT_NAME);\r
- int watch_name_len = strlen(watchName);\r
- int cmp_len = watch_name_len>ble_name_len?ble_name_len:watch_name_len;\r
- if (strncmp((char*)ble_name,watchName,cmp_len) != 0 )\r
- {\r
- ret = bluetooth_set_local_name((unsigned char*)watchName, strlen((char*)watchName) + 1);\r
- if (ret == false) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt SetLocalName ret = 0x%x", ret);\r
- }\r
- memcpy_s(ble_name,BLE_NAME_LENGTH,watchName,BLE_NAME_LENGTH);\r
- } \r
-#endif\r
-\r
int k = BD_ADDR_LEN;\r
for (int i = 0; i < BD_ADDR_LEN; i++) {\r
ble_data_mac_switch[--k] = addr[i];\r