From 34b66f400e35757e7fc42e0004e88c8d1c090d88 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Mon, 6 May 2024 21:14:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B9=BF=E6=92=AD=E7=AD=96?= =?UTF-8?q?=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/znordic.h | 1 - src/zble_module.c | 30 +++++++++++++++++++----------- src/znordic.c | 6 ------ 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/include/znordic.h b/include/znordic.h index 243efea..0c3ba2a 100644 --- a/include/znordic.h +++ b/include/znordic.h @@ -53,7 +53,6 @@ void znordic_loop(); void znrf_gpio_cfg_output(uint32_t pin_number, nrf_gpio_pin_pull_t pull); int16_t znrf_adc_channel_read_val(uint16_t channel); -void znordic_set_uart_log_pin(uint32_t pin_number); bool znordic_rtc_has_setted(); diff --git a/src/zble_module.c b/src/zble_module.c index edf786f..245af37 100644 --- a/src/zble_module.c +++ b/src/zble_module.c @@ -21,8 +21,6 @@ #define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */ #define NUS_SERVICE_UUID_TYPE BLE_UUID_TYPE_VENDOR_BEGIN /**< UUID type for the Nordic UART Service (vendor specific). */ -#define APP_ADV_INTERVAL 64 /**< The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */ -#define APP_ADV_DURATION 18000 /**< The advertising duration (180 seconds) in units of 10 milliseconds. */ BLE_ADVERTISING_DEF(m_advertising); /**< Advertising module instance. */ /******************************************************************************* @@ -129,14 +127,18 @@ static void on_conn_params_evt(ble_conn_params_evt_t *p_evt) static void conn_params_error_handler(uint32_t nrf_error) { APP_ERROR_HANDLER(nrf_error); } static void on_adv_evt(ble_adv_evt_t ble_adv_evt) { + switch (ble_adv_evt) { case BLE_ADV_EVT_FAST: - // err_code = bsp_indication_set(BSP_INDICATE_ADVERTISING); - // ZERROR_CHECK(err_code); + ZLOGI("Fast advertising"); + break; + case BLE_ADV_EVT_SLOW: + ZLOGI("Slow advertising"); break; + case BLE_ADV_EVT_IDLE: - // sleep_mode_enter(); + ZLOGI("Advertising stopped"); break; default: break; @@ -236,13 +238,13 @@ NRF_SDH_STATE_OBSERVER(m_buttonless_dfu_state_obs, 0) = { .handler = buttonless_dfu_sdh_state_observer, }; -static void advertising_config_get(ble_adv_modes_config_t *p_config) +static void dfu_advertising_config_get(ble_adv_modes_config_t *p_config) { memset(p_config, 0, sizeof(ble_adv_modes_config_t)); p_config->ble_adv_fast_enabled = true; - p_config->ble_adv_fast_interval = APP_ADV_INTERVAL; - p_config->ble_adv_fast_timeout = APP_ADV_DURATION; + p_config->ble_adv_fast_interval = 64; + p_config->ble_adv_fast_timeout = 3000;//30s } static void disconnect(uint16_t conn_handle, void *p_context) @@ -275,7 +277,7 @@ static void ble_dfu_evt_handler(ble_dfu_buttonless_evt_type_t event) // Prevent device from advertising on disconnect. ble_adv_modes_config_t config; - advertising_config_get(&config); + dfu_advertising_config_get(&config); config.ble_adv_on_disconnect_disabled = true; ble_advertising_modes_config_set(&m_advertising, &config); @@ -399,9 +401,15 @@ void zble_module_init(zble_module_cfg_t *cfg) init.srdata.uuids_complete.uuid_cnt = 0; init.srdata.uuids_complete.p_uuids = NULL; + init.config.ble_adv_fast_enabled = true; - init.config.ble_adv_fast_interval = APP_ADV_INTERVAL; - init.config.ble_adv_fast_timeout = 0; + init.config.ble_adv_fast_interval = 64; //*0.625ms + init.config.ble_adv_fast_timeout = 500; //*10ms + + init.config.ble_adv_slow_enabled = true; + init.config.ble_adv_slow_interval = 32*100;//*0.625ms + init.config.ble_adv_slow_timeout =0 ;//*10ms + init.evt_handler = on_adv_evt; err_code = ble_advertising_init(&m_advertising, &init); diff --git a/src/znordic.c b/src/znordic.c index 8445f4b..c582a0a 100644 --- a/src/znordic.c +++ b/src/znordic.c @@ -250,9 +250,3 @@ static DWORD get_fattime_0(uint32_t year, uint32_t month, uint32_t day, uint32_t DWORD get_fattime(void) { return get_fattime_0(2024, 1, 23, 23, 29, 31); } -extern uint32_t g_nrf_log_tx_pin; -void znordic_set_uart_log_pin(uint32_t pin_number) { -#if NRF_LOG_BACKEND_UART_ENABLED - g_nrf_log_tx_pin = pin_number; -#endif -} \ No newline at end of file