diff options
Diffstat (limited to 'Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c')
-rw-r--r-- | Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c index 85a925fc2..64baa2f22 100644 --- a/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c +++ b/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/app_ble.c @@ -335,7 +335,7 @@ void APP_BLE_Init( void ) * Initialization of ADV - Ad Manufacturer Element - Support OTA Bit Mask */ #if(BLE_CFG_OTA_REBOOT_CHAR != 0) - manuf_data[sizeof(manuf_data)-8] = CFG_FEATURE_OTA_REBOOT; + manuf_data[sizeof(manuf_data)-8] = CFG_FEATURE_OTA_REBOOT; #endif /** * Initialize DIS Application @@ -426,7 +426,6 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt ) break; case EVT_LE_PHY_UPDATE_COMPLETE: APP_DBG_MSG("EVT_UPDATE_PHY_COMPLETE \n"); - evt_le_phy_update_complete = (hci_le_phy_update_complete_event_rp0*)meta_evt->data; if (evt_le_phy_update_complete->Status == 0) { @@ -436,11 +435,12 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt ) { APP_DBG_MSG("EVT_UPDATE_PHY_COMPLETE, status nok \n"); } + ret = hci_le_read_phy(BleApplicationContext.BleApplicationContext_legacy.connectionHandle,&TX_PHY,&RX_PHY); if (ret == BLE_STATUS_SUCCESS) { APP_DBG_MSG("Read_PHY success \n"); - + if ((TX_PHY == TX_2M) && (RX_PHY == RX_2M)) { APP_DBG_MSG("PHY Param TX= %d, RX= %d \n", TX_PHY, RX_PHY); @@ -459,35 +459,32 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt ) /* USER CODE END EVT_LE_PHY_UPDATE_COMPLETE */ break; case EVT_LE_CONN_COMPLETE: - { + { hci_le_connection_complete_event_rp0 *connection_complete_event; /** * The connection is done, there is no need anymore to schedule the LP ADV */ connection_complete_event = (hci_le_connection_complete_event_rp0 *) meta_evt->data; - - HW_TS_Stop(BleApplicationContext.Advertising_mgr_timer_Id); - APP_DBG_MSG("EVT_LE_CONN_COMPLETE for connection handle 0x%x\n", - connection_complete_event->Connection_Handle); + HW_TS_Stop(BleApplicationContext.Advertising_mgr_timer_Id); - if (BleApplicationContext.Device_Connection_Status == APP_BLE_LP_CONNECTING) - { - /* Connection as client */ - BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_CLIENT; - } - else - { - /* Connection as server */ - BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_SERVER; - } - BleApplicationContext.BleApplicationContext_legacy.connectionHandle = - connection_complete_event->Connection_Handle; + APP_DBG_MSG("EVT_LE_CONN_COMPLETE for connection handle 0x%x\n", connection_complete_event->Connection_Handle); + if (BleApplicationContext.Device_Connection_Status == APP_BLE_LP_CONNECTING) + { + /* Connection as client */ + BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_CLIENT; + } + else + { + /* Connection as server */ + BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_SERVER; + } + BleApplicationContext.BleApplicationContext_legacy.connectionHandle = connection_complete_event->Connection_Handle; /* USER CODE BEGIN HCI_EVT_LE_CONN_COMPLETE */ /* USER CODE END HCI_EVT_LE_CONN_COMPLETE */ - } + } break; /* HCI_EVT_LE_CONN_COMPLETE */ default: @@ -581,15 +578,15 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt ) /* USER CODE BEGIN EVT_BLUE_GAP_PROCEDURE_COMPLETE */ /* USER CODE END EVT_BLUE_GAP_PROCEDURE_COMPLETE */ - break; /* EVT_BLUE_GAP_PROCEDURE_COMPLETE */ + break; /* EVT_BLUE_GAP_PROCEDURE_COMPLETE */ } break; /* EVT_VENDOR */ - default: - /* USER CODE BEGIN ECODE_DEFAULT*/ + default: + /* USER CODE BEGIN ECODE_DEFAULT*/ - /* USER CODE END ECODE_DEFAULT*/ - break; + /* USER CODE END ECODE_DEFAULT*/ + break; } return (SVCCTL_UserEvtFlowEnable); @@ -681,7 +678,7 @@ static void Ble_Tl_Init( void ) return; } - static void Ble_Hci_Gap_Gatt_Init(void){ +static void Ble_Hci_Gap_Gatt_Init(void){ uint8_t role; uint8_t index; @@ -781,7 +778,7 @@ static void Ble_Tl_Init( void ) if (role > 0) { - const char *name = "STM32WB"; + const char *name = "HRSTM"; aci_gap_init(role, 0, APPBLE_GAP_DEVICE_NAME_LENGTH, &gap_service_handle, &gap_dev_name_char_handle, &gap_appearance_char_handle); @@ -850,7 +847,7 @@ static void Adv_Request(APP_BLE_ConnStatus_t New_Status) { tBleStatus ret = BLE_STATUS_INVALID_PARAMS; uint16_t Min_Inter, Max_Inter; - + if (New_Status == APP_BLE_FAST_ADV) { Min_Inter = AdvIntervalMin; @@ -903,7 +900,7 @@ static void Adv_Request(APP_BLE_ConnStatus_t New_Status) /* Update Advertising data */ ret = aci_gap_update_adv_data(sizeof(manuf_data), (uint8_t*) manuf_data); - if (ret == BLE_STATUS_SUCCESS) + if (ret == BLE_STATUS_SUCCESS) { if (New_Status == APP_BLE_FAST_ADV) { @@ -1000,7 +997,7 @@ static void Adv_Mgr( void ) * The background is the only place where the application can make sure a new aci command * is not sent if there is a pending one */ - UTIL_SEQ_SetTask(1 << CFG_TASK_ADV_UPDATE_ID, CFG_SCH_PRIO_0); + UTIL_SEQ_SetTask(1 << CFG_TASK_ADV_UPDATE_ID, CFG_SCH_PRIO_0); return; } |