From 13e0fafc140c16539691d26afafaca417e7e2fbc Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 16 一月 2025 09:43:45 +0800 Subject: [PATCH] 更新为sdk0.7.0版本 --- 01_SDK/nimble/samples/bluetooth/ble_central/src/misc.c | 138 ++++++++++++--------------------------------- 1 files changed, 37 insertions(+), 101 deletions(-) diff --git a/01_SDK/nimble/samples/bluetooth/ble_central/src/misc.c b/01_SDK/nimble/samples/bluetooth/ble_central/src/misc.c index f8f1b9c..c872a3d 100644 --- a/01_SDK/nimble/samples/bluetooth/ble_central/src/misc.c +++ b/01_SDK/nimble/samples/bluetooth/ble_central/src/misc.c @@ -98,6 +98,7 @@ desc->sec_state.authenticated, desc->sec_state.bonded); } + struct queue //结构体类型 { uint8_t totalnum;//基站总数 @@ -109,32 +110,55 @@ uint8_t uwb_tongxun_flag[anchor_max_num];//与uwb通讯成功失败的标志位 uint16_t u16id[anchor_max_num]; /*u16ID*/ }blequeue; -static char ble_anchor_name[20]="BeeLinker"; -uint16_t u16ble_id_fen[2]; +static char ble_anchor_name[20]="HFGD_XB"; +uint16_t u16ble_id_fen[30]; +uint8_t u16ble_id_fen1[50]; +uint16_t rssidata; +uint8_t a; void print_adv_fields(const struct ble_hs_adv_fields *fields,const struct ble_gap_disc_desc *disc) { char s[BLE_HS_ADV_MAX_SZ]; + char mac[100]; const uint8_t *u8p; int i; uint16_t ble_id=0; uint16_t rssi=0; uint8_t repeat_flag=0; uint8_t ble_id_fen[2]; - if (fields->name != NULL) { + + if (fields->name != NULL) + { assert(fields->name_len < sizeof s - 1); memcpy(s, fields->name, fields->name_len); + if(!memcmp(s,ble_anchor_name,fields->name_len)) { - s[fields->name_len] = '\0'; - printf(" name(complete)=%s\n", +// memcpy(mac, fields->public_tgt_addr, fields->num_public_tgt_addrs); +// s[fields->name_len] = '\0'; +// printf(" name(complete)=%s\n", +// s); + /*测试模式 + rssidata=rssidata+abs(disc->rssi); + a++; + if(a==10) + { + printf(" name(complete)=%s\n", s); - printf("RSSI:%d\r\n",disc->rssi); - ble_id_fen[0]=fields->svc_data_uuid16[1]; - ble_id_fen[1]=fields->svc_data_uuid16[0]; - u16ble_id_fen[0]=fields->svc_data_uuid16[1]; - u16ble_id_fen[1]=fields->svc_data_uuid16[0]; + printf("RSSI:%d\r\n",rssidata/10); + a=0; + rssidata=0; + } + */ +// printf("\n"); +// uart_data_send(&UART0_OBJ, mac,fields->num_public_tgt_addrs); +// printf("\n"); +// memset(mac,0,100); +// ble_id_fen[0]=fields->svc_data_uuid16[1]; +// ble_id_fen[1]=fields->svc_data_uuid16[0]; +// u16ble_id_fen[0]=fields->svc_data_uuid16[1]; +// u16ble_id_fen[1]=fields->svc_data_uuid16[0]; - memcpy(&ble_id,ble_id_fen,2);//从扫描的数据中拿出id + memcpy(&ble_id,&disc->addr.val[0],2);//从扫描的数据中拿出id rssi=abs(disc->rssi); for(i=0;i<anchor_max_num;i++) //校验结构体中是否已经有id信息 { @@ -159,95 +183,7 @@ blequeue.rssi[blequeue.totalnum]=rssi;//把rssi信息写入队列 blequeue.totalnum++; } -// if (fields->uuids16 != NULL) { -// printf(" uuids16(%scomplete)=", -// fields->uuids16_is_complete ? "" : "in"); -// for (i = 0; i < fields->num_uuids16; i++) { -// print_uuid(&fields->uuids16[i].u); -// printf(" "); -// } -// printf("\n"); -// } - -// if (fields->uuids32 != NULL) { -// printf(" uuids32(%scomplete)=", -// fields->uuids32_is_complete ? "" : "in"); -// for (i = 0; i < fields->num_uuids32; i++) { -// print_uuid(&fields->uuids32[i].u); -// printf(" "); -// } -// printf("\n"); -// } - -// if (fields->uuids128 != NULL) { -// printf(" uuids128(%scomplete)=", -// fields->uuids128_is_complete ? "" : "in"); -// for (i = 0; i < fields->num_uuids128; i++) { -// print_uuid(&fields->uuids128[i].u); -// printf(" "); -// } -// printf("\n"); -// } - - -// if (fields->tx_pwr_lvl_is_present) { -// printf(" tx_pwr_lvl=%d\n", fields->tx_pwr_lvl); -// } - -// if (fields->slave_itvl_range != NULL) { -// printf(" slave_itvl_range="); -// print_bytes(fields->slave_itvl_range, BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN); -// printf("\n"); -// } - - if (fields->svc_data_uuid16 != NULL) { - printf(" svc_data_uuid16="); - print_bytes(fields->svc_data_uuid16, fields->svc_data_uuid16_len); - printf("\n"); - } - -// if (fields->public_tgt_addr != NULL) { -// printf(" public_tgt_addr="); -// u8p = fields->public_tgt_addr; -// for (i = 0; i < fields->num_public_tgt_addrs; i++) { -// printf("public_tgt_addr=%s ", addr_str(u8p)); -// u8p += BLE_HS_ADV_PUBLIC_TGT_ADDR_ENTRY_LEN; -// } -// printf("\n"); -// } - -// if (fields->appearance_is_present) { -// printf(" appearance=0x%04x\n", fields->appearance); -// } - -// if (fields->adv_itvl_is_present) { -// printf(" adv_itvl=0x%04x\n", fields->adv_itvl); -// } - -// if (fields->svc_data_uuid32 != NULL) { -// printf(" svc_data_uuid32="); -// print_bytes(fields->svc_data_uuid32, fields->svc_data_uuid32_len); -// printf("\n"); -// } - -// if (fields->svc_data_uuid128 != NULL) { -// printf(" svc_data_uuid128="); -// print_bytes(fields->svc_data_uuid128, fields->svc_data_uuid128_len); -// printf("\n"); -// } - -// if (fields->uri != NULL) { -// printf(" uri="); -// print_bytes(fields->uri, fields->uri_len); -// printf("\n"); -// } - -// if (fields->mfg_data != NULL) { -// printf(" mfg_data="); -// print_bytes(fields->mfg_data, fields->mfg_data_len); -// printf("\n"); -// } - } + } + } - } } -- Gitblit v1.9.3