Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c')
-rw-r--r--Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c289
1 files changed, 204 insertions, 85 deletions
diff --git a/Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c b/Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
index 639b678b9..4e8a83ce5 100644
--- a/Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
+++ b/Projects/P-NUCLEO-WB55.USBDongle/Applications/BLE/BLE_p2pClient/STM32_WPAN/App/app_ble.c
@@ -1,3 +1,4 @@
+/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file app_ble.c
@@ -16,7 +17,7 @@
*
******************************************************************************
*/
-
+/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
@@ -36,6 +37,10 @@
#include "p2p_client_app.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+/* USER CODE END Includes */
+
/* Private typedef -----------------------------------------------------------*/
/**
@@ -161,17 +166,27 @@ typedef struct
uint16_t Slave_Latency;
uint16_t Timeout_Multiplier;
} APP_BLE_p2p_Conn_Update_req_t;
-#endif
+#endif
+
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
/* Private defines -----------------------------------------------------------*/
#define APPBLE_GAP_DEVICE_NAME_LENGTH 7
+#define BD_ADDR_SIZE_LOCAL 6
+
+/* USER CODE BEGIN PD */
#if OOB_DEMO != 0
#define LED_ON_TIMEOUT (0.005*1000*1000/CFG_TS_TICK_VAL) /**< 5ms */
#endif
-
-#define BD_ADDR_SIZE_LOCAL 6
+/* USER CODE END PD */
/* Private macros ------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
/* Private variables ---------------------------------------------------------*/
PLACE_IN_SECTION("MB_MEM1") ALIGN(4) static TL_CmdPacket_t BleCmdBuffer;
@@ -188,7 +203,7 @@ static const uint8_t M_bd_addr[BD_ADDR_SIZE_LOCAL] =
static uint8_t bd_addr_udn[BD_ADDR_SIZE_LOCAL];
/**
-* Identity root key used to derive LTK and CSRK
+* Identity root key used to derive LTK and CSRK
*/
static const uint8_t BLE_CFG_IR_VALUE[16] = CFG_BLE_IRK;
@@ -201,19 +216,16 @@ tBDAddr SERVER_REMOTE_BDADDR;
P2PC_APP_ConnHandle_Not_evt_t handleNotification;
-
PLACE_IN_SECTION("BLE_APP_CONTEXT") static BleApplicationContext_t BleApplicationContext;
-
-
#if OOB_DEMO != 0
APP_BLE_p2p_Conn_Update_req_t APP_BLE_p2p_Conn_Update_req;
#endif
+/* USER CODE BEGIN PV */
+/* USER CODE END PV */
-
-/* Global variables ----------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
static void BLE_UserEvtRx( void * pPayload );
static void BLE_StatusNot( HCI_TL_CmdStatus_t status );
@@ -223,11 +235,22 @@ static const uint8_t* BleGetBdAddress( void );
static void Scan_Request( void );
static void Connect_Request( void );
static void Switch_OFF_GPIO( void );
-
+
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
/* Functions Definition ------------------------------------------------------*/
void APP_BLE_Init( void )
{
+/* USER CODE BEGIN APP_BLE_Init_1 */
+
+/* USER CODE END APP_BLE_Init_1 */
SHCI_C2_Ble_Init_Cmd_Packet_t ble_init_cmd_packet =
{
{{0,0,0}}, /**< Header unused */
@@ -264,7 +287,7 @@ void APP_BLE_Init( void )
*/
UTIL_LPM_SetOffMode(1 << CFG_LPM_APP_BLE, UTIL_LPM_DISABLE);
- /**
+/**
* Register the hci transport layer to handle BLE User Asynchronous Events
*/
UTIL_SEQ_RegTask( 1<<CFG_TASK_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, hci_user_evt_proc);
@@ -300,9 +323,9 @@ void APP_BLE_Init( void )
BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
/*Radio mask Activity*/
-#if (OOB_DEMO != 0)
+#if (OOB_DEMO != 0)
aci_hal_set_radio_activity_mask(0x0020);
-#endif
+#endif
/**
* Initialize P2P Client Application
*/
@@ -317,8 +340,10 @@ void APP_BLE_Init( void )
* Start scanning
*/
UTIL_SEQ_SetTask(1 << CFG_TASK_START_SCAN_ID, CFG_SCH_PRIO_0);
-#endif
-
+#endif
+/* USER CODE BEGIN APP_BLE_Init_2 */
+
+/* USER CODE END APP_BLE_Init_2 */
return;
}
@@ -335,27 +360,39 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
uint8_t event_type, event_data_size;
int k = 0;
uint8_t adtype, adlength;
- uint8_t *adv_report_data;
switch (event_pckt->evt)
{
+ /* USER CODE BEGIN evt */
+
+ /* USER CODE END evt */
case HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE:
{
handleNotification.P2P_Evt_Opcode = PEER_DISCON_HANDLE_EVT;
blecore_evt = (evt_blecore_aci*) event_pckt->data;
+ /* USER CODE BEGIN EVT_VENDOR */
+ /* USER CODE END EVT_VENDOR */
switch (blecore_evt->ecode)
{
+ /* USER CODE BEGIN ecode */
+
+ /* USER CODE END ecode */
+
case ACI_GAP_PROC_COMPLETE_VSEVT_CODE:
{
+ /* USER CODE BEGIN EVT_BLUE_GAP_PROCEDURE_COMPLETE */
+
+ /* USER CODE END EVT_BLUE_GAP_PROCEDURE_COMPLETE */
aci_gap_proc_complete_event_rp0 *gap_evt_proc_complete = (void*) blecore_evt->data;
/* CHECK GAP GENERAL DISCOVERY PROCEDURE COMPLETED & SUCCEED */
if (gap_evt_proc_complete->Procedure_Code == GAP_GENERAL_DISCOVERY_PROC
&& gap_evt_proc_complete->Status == 0x00)
{
+ /* USER CODE BEGIN GAP_GENERAL_DISCOVERY_PROC */
BSP_LED_Off(LED_BLUE);
+ /* USER CODE END GAP_GENERAL_DISCOVERY_PROC */
APP_DBG_MSG("-- GAP GENERAL DISCOVERY PROCEDURE_COMPLETED\n");
-
/*if a device found, connect to it, device 1 being chosen first if both found*/
if (BleApplicationContext.DeviceServerFound == 0x01 && BleApplicationContext.Device_Connection_Status != APP_BLE_CONNECTED_CLIENT)
{
@@ -365,8 +402,11 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
}
break;
#if (OOB_DEMO != 0)
- case ACI_L2CAP_CONNECTION_UPDATE_REQ_VSEVT_CODE:
+ case ACI_L2CAP_CONNECTION_UPDATE_REQ_VSEVT_CODE:
{
+ /* USER CODE BEGIN EVT_BLUE_L2CAP_CONNECTION_UPDATE_REQ */
+
+ /* USER CODE END EVT_BLUE_L2CAP_CONNECTION_UPDATE_REQ */
aci_l2cap_connection_update_req_event_rp0 *pr = (aci_l2cap_connection_update_req_event_rp0 *) blecore_evt->data;
aci_hal_set_radio_activity_mask(0x0000);
APP_BLE_p2p_Conn_Update_req.Identifier = pr->Identifier;
@@ -375,7 +415,7 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
APP_BLE_p2p_Conn_Update_req.Interval_Max = pr->Interval_Max;
APP_BLE_p2p_Conn_Update_req.Slave_Latency = pr->Slave_Latency;
APP_BLE_p2p_Conn_Update_req.Timeout_Multiplier = pr->Timeout_Multiplier;
-
+
result = aci_l2cap_connection_parameter_update_resp(BleApplicationContext.BleApplicationContext_legacy.connectionHandle,
APP_BLE_p2p_Conn_Update_req.Interval_Min,
APP_BLE_p2p_Conn_Update_req.Interval_Max,
@@ -386,55 +426,79 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
APP_BLE_p2p_Conn_Update_req.Identifier,
0x01);
if(result != BLE_STATUS_SUCCESS) {
- BSP_LED_On(LED_RED);
+ /* USER CODE BEGIN BLE_STATUS_SUCCESS */
+ BSP_LED_On(LED_RED);
+ /* USER CODE END BLE_STATUS_SUCCESS */
}
aci_hal_set_radio_activity_mask(0x0020);
-
- }
-
+
+ }
+
break;
-
+
case 0x0004:
{
+ /* USER CODE BEGIN RADIO_ACTIVITY_EVENT */
BSP_LED_On(LED_GREEN);
HW_TS_Start(BleApplicationContext.SwitchOffGPIO_timer_Id, (uint32_t)LED_ON_TIMEOUT);
+ /* USER CODE END RADIO_ACTIVITY_EVENT */
}
- break;
-#endif
+ break;
+#endif
+
+ /* USER CODE BEGIN BLUE_EVT */
+
+ /* USER CODE END BLUE_EVT */
+
default:
+ /* USER CODE BEGIN ecode_default */
+
+ /* USER CODE END ecode_default */
break;
-
+
}
}
- break;
+ break;
case HCI_DISCONNECTION_COMPLETE_EVT_CODE:
+ {
+ /* USER CODE BEGIN EVT_DISCONN_COMPLETE */
+ /* USER CODE END EVT_DISCONN_COMPLETE */
if (cc->Connection_Handle == BleApplicationContext.BleApplicationContext_legacy.connectionHandle)
- {
- BleApplicationContext.BleApplicationContext_legacy.connectionHandle = 0;
- BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
- APP_DBG_MSG("\r\n\r** DISCONNECTION EVENT WITH SERVER \n");
- handleNotification.P2P_Evt_Opcode = PEER_DISCON_HANDLE_EVT;
- handleNotification.ConnectionHandle = BleApplicationContext.BleApplicationContext_legacy.connectionHandle;
- P2PC_APP_Notification(&handleNotification);
- }
+ {
+ BleApplicationContext.BleApplicationContext_legacy.connectionHandle = 0;
+ BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
+ APP_DBG_MSG("\r\n\r** DISCONNECTION EVENT WITH SERVER \n");
+ handleNotification.P2P_Evt_Opcode = PEER_DISCON_HANDLE_EVT;
+ handleNotification.ConnectionHandle = BleApplicationContext.BleApplicationContext_legacy.connectionHandle;
+ P2PC_APP_Notification(&handleNotification);
+ }
+ }
break; /* HCI_DISCONNECTION_COMPLETE_EVT_CODE */
case HCI_LE_META_EVT_CODE:
{
+ /* USER CODE BEGIN EVT_LE_META_EVENT */
+
+ /* USER CODE END EVT_LE_META_EVENT */
meta_evt = (evt_le_meta_event*) event_pckt->data;
-
switch (meta_evt->subevent)
{
- case HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE:
+ /* USER CODE BEGIN subevent */
+
+ /* USER CODE END subevent */
+ case HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE:
+ /* USER CODE BEGIN EVT_LE_CONN_COMPLETE */
+
+ /* USER CODE END EVT_LE_CONN_COMPLETE */
/**
- * The connection is done,
+ * The connection is done,
*/
connection_complete_event = (hci_le_connection_complete_event_rp0 *) meta_evt->data;
BleApplicationContext.BleApplicationContext_legacy.connectionHandle = connection_complete_event->Connection_Handle;
- BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_CLIENT;
+ BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_CLIENT;
/* CONNECTION WITH CLIENT */
APP_DBG_MSG("\r\n\r** CONNECTION EVENT WITH SERVER \n");
@@ -453,17 +517,21 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
APP_DBG_MSG("BLE_CTRL_App_Notification(), All services discovery Failed \r\n\r");
}
- break; /* HCI_HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE */
+ break; /* HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE */
case HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE:
+ {
+ uint8_t *adv_report_data;
+ /* USER CODE BEGIN EVT_LE_ADVERTISING_REPORT */
+ /* USER CODE END EVT_LE_ADVERTISING_REPORT */
le_advertising_event = (hci_le_advertising_report_event_rp0 *) meta_evt->data;
event_type = le_advertising_event->Advertising_Report[0].Event_Type;
event_data_size = le_advertising_event->Advertising_Report[0].Length_Data;
-
- /* WARNING: be careful when decoding advertising report as its raw format cannot be mapped on a C structure.
+
+ /* WARNING: be careful when decoding advertising report as its raw format cannot be mapped on a C structure.
The data and RSSI values could not be directly decoded from the RAM using the data and RSSI field from hci_le_advertising_report_event_rp0 structure.
Instead they must be read by using offsets (please refer to BLE specification).
RSSI = (int8_t)*(uint8_t*) (adv_report_data + le_advertising_event->Advertising_Report[0].Length_Data);
@@ -476,9 +544,8 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
if (event_type == ADV_IND)
{
- /*ISOLATION OF BD ADDRESS AND LOCAL NAME*/
+ /* ISOLATION OF BD ADDRESS AND LOCAL NAME */
-
while(k < event_data_size)
{
adlength = adv_report_data[k];
@@ -486,17 +553,26 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
switch (adtype)
{
case AD_TYPE_FLAGS: /* now get flags */
+ /* USER CODE BEGIN AD_TYPE_FLAGS */
+
+ /* USER CODE END AD_TYPE_FLAGS */
break;
case AD_TYPE_TX_POWER_LEVEL: /* Tx power level */
- break;
- case AD_TYPE_MANUFACTURER_SPECIFIC_DATA: /* Manufactureur Specific */
+ /* USER CODE BEGIN AD_TYPE_TX_POWER_LEVEL */
+
+ /* USER CODE END AD_TYPE_TX_POWER_LEVEL */
+ break;
+ case AD_TYPE_MANUFACTURER_SPECIFIC_DATA: /* Manufacturer Specific */
+ /* USER CODE BEGIN AD_TYPE_MANUFACTURER_SPECIFIC_DATA */
+
+ /* USER CODE END AD_TYPE_MANUFACTURER_SPECIFIC_DATA */
if (adlength >= 7 && adv_report_data[k + 2] == 0x01)
{ /* ST VERSION ID 01 */
APP_DBG_MSG("--- ST MANUFACTURER ID --- \n");
switch (adv_report_data[k + 3])
{ /* Demo ID */
- case CFG_DEV_ID_P2P_SERVER1: /* (0End Device 1) */
+ case CFG_DEV_ID_P2P_SERVER1: /* End Device 1 */
APP_DBG_MSG("-- SERVER DETECTED -- VIA MAN ID\n");
BleApplicationContext.DeviceServerFound = 0x01;
SERVER_REMOTE_BDADDR[0] = le_advertising_event->Advertising_Report[0].Address[0];
@@ -514,25 +590,46 @@ SVCCTL_UserEvtFlowStatus_t SVCCTL_App_Notification( void *pckt )
}
break;
case AD_TYPE_SERVICE_DATA: /* service data 16 bits */
+ /* USER CODE BEGIN AD_TYPE_SERVICE_DATA */
+
+ /* USER CODE END AD_TYPE_SERVICE_DATA */
break;
default:
+ /* USER CODE BEGIN adtype_default */
+
+ /* USER CODE END adtype_default */
break;
} /* end switch Data[k+adlength] */
k += adlength + 1;
} /* end while */
} /* end if ADV_IND */
+ }
break;
+ /* USER CODE BEGIN META_EVT */
+
+ /* USER CODE END META_EVT */
+
default:
+ /* USER CODE BEGIN subevent_default */
+
+ /* USER CODE END subevent_default */
break;
}
}
- break; /* HCI_HCI_LE_META_EVT_CODE */
+ break; /* HCI_LE_META_EVT_CODE */
+
+ /* USER CODE BEGIN EVENT_PCKT */
+
+ /* USER CODE END EVENT_PCKT */
default:
+ /* USER CODE BEGIN evt_default */
+
+ /* USER CODE END evt_default */
break;
}
@@ -548,7 +645,7 @@ APP_BLE_ConnStatus_t APP_BLE_Get_Client_Connection_Status( uint16_t Connection_H
}
return APP_BLE_IDLE;
}
-
+/* USER CODE BEGIN FD */
void APP_BLE_Key_Button1_Action(void)
{
#if OOB_DEMO == 0
@@ -565,14 +662,7 @@ void APP_BLE_Key_Button1_Action(void)
#endif
}
-void APP_BLE_Key_Button2_Action(void)
-{
-}
-
-void APP_BLE_Key_Button3_Action(void)
-{
-}
-
+/* USER CODE END FD */
/*************************************************************
*
* LOCAL FUNCTIONS
@@ -589,30 +679,29 @@ 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;
uint16_t gap_service_handle, gap_dev_name_char_handle, gap_appearance_char_handle;
const uint8_t *bd_addr;
uint32_t srd_bd_addr[2];
- uint16_t appearance[1] = { BLE_CFG_GAP_APPEARANCE };
-
+ uint16_t appearance[1] = { BLE_CFG_GAP_APPEARANCE };
+
/**
* Initialize HCI layer
*/
/*HCI Reset to synchronise BLE Stack*/
hci_reset();
-
+
/**
* Write the BD Address
*/
-
+
bd_addr = BleGetBdAddress();
aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET,
- CONFIG_DATA_PUBADDR_LEN,
+ CONFIG_DATA_PUBADDR_LEN,
(uint8_t*) bd_addr);
-
/**
* Static random Address
* The two upper bits shall be set to 1
@@ -624,20 +713,20 @@ static void Ble_Hci_Gap_Gatt_Init(void){
aci_hal_write_config_data( CONFIG_DATA_RANDOM_ADDRESS_OFFSET, CONFIG_DATA_RANDOM_ADDRESS_LEN, (uint8_t*)srd_bd_addr );
/**
- * Write Identity root key used to derive LTK and CSRK
+ * Write Identity root key used to derive LTK and CSRK
*/
aci_hal_write_config_data( CONFIG_DATA_IR_OFFSET, CONFIG_DATA_IR_LEN, (uint8_t*)BLE_CFG_IR_VALUE );
-
+
/**
* Write Encryption root key used to derive LTK and CSRK
*/
aci_hal_write_config_data( CONFIG_DATA_ER_OFFSET, CONFIG_DATA_ER_LEN, (uint8_t*)BLE_CFG_ER_VALUE );
-
+
/**
* Set TX Power to 0dBm.
*/
aci_hal_set_tx_power_level(1, CFG_TX_POWER);
-
+
/**
* Initialize GATT interface
*/
@@ -658,10 +747,10 @@ static void Ble_Hci_Gap_Gatt_Init(void){
if (role > 0)
{
- const char *name = "STM32WB";
+ const char *name = "P2P_C";
aci_gap_init(role, 0,
- APPBLE_GAP_DEVICE_NAME_LENGTH,
+ APPBLE_GAP_DEVICE_NAME_LENGTH,
&gap_service_handle, &gap_dev_name_char_handle, &gap_appearance_char_handle);
if (aci_gatt_update_char_value(gap_service_handle, gap_dev_name_char_handle, 0, strlen(name), (uint8_t *) name))
@@ -671,15 +760,13 @@ static void Ble_Hci_Gap_Gatt_Init(void){
}
if(aci_gatt_update_char_value(gap_service_handle,
- gap_appearance_char_handle,
- 0,
- 2,
- (uint8_t *)&appearance))
+ gap_appearance_char_handle,
+ 0,
+ 2,
+ (uint8_t *)&appearance))
{
BLE_DBG_SVCCTL_MSG("Appearance aci_gatt_update_char_value failed.\n");
}
-
-
/**
* Initialize IO capability
@@ -715,38 +802,55 @@ static void Ble_Hci_Gap_Gatt_Init(void){
{
aci_gap_configure_whitelist();
}
-
+
}
static void Scan_Request( void )
{
+ /* USER CODE BEGIN Scan_Request_1 */
+
+ /* USER CODE END Scan_Request_1 */
tBleStatus result;
if (BleApplicationContext.Device_Connection_Status != APP_BLE_CONNECTED_CLIENT)
{
+ /* USER CODE BEGIN APP_BLE_CONNECTED_CLIENT */
BSP_LED_On(LED_BLUE);
+ /* USER CODE END APP_BLE_CONNECTED_CLIENT */
result = aci_gap_start_general_discovery_proc(SCAN_P, SCAN_L, PUBLIC_ADDR, 1);
if (result == BLE_STATUS_SUCCESS)
{
+ /* USER CODE BEGIN BLE_SCAN_SUCCESS */
+
+ /* USER CODE END BLE_SCAN_SUCCESS */
APP_DBG_MSG(" \r\n\r** START GENERAL DISCOVERY (SCAN) ** \r\n\r");
}
else
{
- APP_DBG_MSG("-- BLE_App_Start_Limited_Disc_Req, Failed \r\n\r");
+ /* USER CODE BEGIN BLE_SCAN_FAILED */
BSP_LED_On(LED_RED);
+ /* USER CODE END BLE_SCAN_FAILED */
+ APP_DBG_MSG("-- BLE_App_Start_Limited_Disc_Req, Failed \r\n\r");
}
}
+ /* USER CODE BEGIN Scan_Request_2 */
+
+ /* USER CODE END Scan_Request_2 */
return;
}
static void Connect_Request( void )
{
+ /* USER CODE BEGIN Connect_Request_1 */
+
+ /* USER CODE END Connect_Request_1 */
tBleStatus result;
+
APP_DBG_MSG("\r\n\r** CREATE CONNECTION TO SERVER ** \r\n\r");
if (BleApplicationContext.Device_Connection_Status != APP_BLE_CONNECTED_CLIENT)
{
result = aci_gap_create_connection(SCAN_P,
- SCAN_L,
+ SCAN_L,
PUBLIC_ADDR, SERVER_REMOTE_BDADDR,
PUBLIC_ADDR,
CONN_P1,
@@ -758,22 +862,31 @@ static void Connect_Request( void )
if (result == BLE_STATUS_SUCCESS)
{
- BleApplicationContext.Device_Connection_Status = APP_BLE_LP_CONNECTING;
+ /* USER CODE BEGIN BLE_CONNECT_SUCCESS */
+
+ /* USER CODE END BLE_CONNECT_SUCCESS */
+ BleApplicationContext.Device_Connection_Status = APP_BLE_LP_CONNECTING;
}
else
{
+ /* USER CODE BEGIN BLE_CONNECT_FAILED */
BSP_LED_On(LED_RED);
+ /* USER CODE END BLE_CONNECT_FAILED */
BleApplicationContext.Device_Connection_Status = APP_BLE_IDLE;
}
}
+ /* USER CODE BEGIN Connect_Request_2 */
+ /* USER CODE END Connect_Request_2 */
return;
}
static void Switch_OFF_GPIO(){
+/* USER CODE BEGIN Switch_OFF_GPIO */
BSP_LED_Off(LED_GREEN);
+/* USER CODE END Switch_OFF_GPIO */
}
const uint8_t* BleGetBdAddress( void )
@@ -823,7 +936,9 @@ const uint8_t* BleGetBdAddress( void )
return bd_addr;
}
+/* USER CODE BEGIN FD_LOCAL_FUNCTIONS */
+/* USER CODE END FD_LOCAL_FUNCTIONS */
/*************************************************************
*
* WRAP FUNCTIONS
@@ -852,8 +967,8 @@ static void BLE_UserEvtRx( void * pPayload )
SVCCTL_UserEvtFlowStatus_t svctl_return_status;
tHCI_UserEvtRxParam *pParam;
- pParam = (tHCI_UserEvtRxParam *)pPayload;
-
+ pParam = (tHCI_UserEvtRxParam *)pPayload;
+
svctl_return_status = SVCCTL_UserEvtRx((void *)&(pParam->pckt->evtserial));
if (svctl_return_status != SVCCTL_UserEvtFlowDisable)
{
@@ -902,4 +1017,8 @@ void SVCCTL_ResumeUserEventFlow( void )
return;
}
+/* USER CODE BEGIN FD_WRAP_FUNCTIONS */
+
+/* USER CODE END FD_WRAP_FUNCTIONS */
+
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/