From f34019163dbca24f2ab49eb890c34d84c8c71e6c Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 28 Aug 2024 17:32:55 +0800 Subject: [PATCH] update --- .vscode/settings.json | 3 ++- app/src/main.c | 8 ++++++-- app/src/service/sdk_initer.c | 16 ++++++++-------- app/src/service/sdk_initer.h | 1 - 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index a61c940..acd5b07 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -241,7 +241,8 @@ "app_protocols.h": "c", "sdk_initer.h": "c", "nrf_bootloader_dfu_timers.h": "c", - "nrf_mbr.h": "c" + "nrf_mbr.h": "c", + "nrf_log_internal.h": "c" }, "files.encoding": "gbk", "search.exclude": { diff --git a/app/src/main.c b/app/src/main.c index a3dd718..707c8f1 100644 --- a/app/src/main.c +++ b/app/src/main.c @@ -83,14 +83,18 @@ static void on_sdk_event_cb(sdk_event_t* event) { nrf_gpio_pin_write(CONNECTED_STATE_GPIO, 0); send_report_zble_disconnect_event(); break; - case kevent_scanResult: + case kevent_onScanResult: NRF_LOG_INFO("on scan result...."); { - zble_scan_result_t revent; + static zble_scan_result_t revent = {0}; STRUCT_SET(revent.blename, &event->data.on_scan_result.blename); STRUCT_SET(revent.peeradd, &event->data.on_scan_result.peeradd); STRUCT_SET(revent.rssi, &event->data.on_scan_result.rssi); STRUCT_SET(revent.tx_power, &event->data.on_scan_result.tx_power); + NRF_LOG_INFO(" bleName :%s", revent.blename); + NRF_LOG_INFO(" peeradd :%s", zhex2str(revent.peeradd, 6)); + NRF_LOG_INFO(" rssi :%d", revent.rssi); + NRF_LOG_INFO(" tx_power:%d", revent.tx_power); send_report_zble_scan_result(&revent); } break; diff --git a/app/src/service/sdk_initer.c b/app/src/service/sdk_initer.c index 1190404..edeb1b2 100644 --- a/app/src/service/sdk_initer.c +++ b/app/src/service/sdk_initer.c @@ -94,6 +94,13 @@ static void onScanEvent(scan_evt_t const* p_scan_evt) { } break; case NRF_BLE_SCAN_EVT_FILTER_MATCH: { + reportEvent.event = kevent_onScanResult; + strcpy(reportEvent.data.on_scan_result.blename, ble_find_name(p_adv->data.p_data, p_adv->data.len)); + reportEvent.data.on_scan_result.rssi = p_adv->rssi; + reportEvent.data.on_scan_result.tx_power = p_adv->tx_power; + memcpy(reportEvent.data.on_scan_result.peeradd, p_adv->peer_addr.addr, BLE_GAP_ADDR_LEN); + m_onSdkEvent(&reportEvent); + if (m_autoConnect) { if (strcmp(ble_find_name(p_adv->data.p_data, p_adv->data.len), m_slaveName) == 0) { NRF_LOG_INFO("Device \"%s\" found, sending a connection request.", ble_find_name(p_adv->data.p_data, p_adv->data.len)); @@ -102,14 +109,7 @@ static void onScanEvent(scan_evt_t const* p_scan_evt) { NRF_LOG_ERROR("sd_ble_gap_connect() failed: 0x%x.", err_code); } } - } else { - reportEvent.event = kevent_onScanResult; - strcpy(reportEvent.data.on_scan_result.blename, ble_find_name(p_adv->data.p_data, p_adv->data.len)); - reportEvent.data.on_scan_result.rssi = p_adv->rssi; - reportEvent.data.on_scan_result.tx_power = p_adv->tx_power; - memcpy(reportEvent.data.on_scan_result.peeradd, p_adv->peer_addr.addr, BLE_GAP_ADDR_LEN); - m_onSdkEvent(&reportEvent); - } + } } break; default: break; diff --git a/app/src/service/sdk_initer.h b/app/src/service/sdk_initer.h index 661a024..b97d531 100644 --- a/app/src/service/sdk_initer.h +++ b/app/src/service/sdk_initer.h @@ -29,7 +29,6 @@ typedef enum { kevent_onScanResult, kevent_connected, kevent_disConnected, - kevent_scanResult, kevent_onRxData, } sdk_event_type_t;